×
单片机 > 单片机程序设计 > 详情

PIC12C508单片机控制灯光慢慢的变亮和变灭的程序设计

发布时间:2020-09-01 发布时间:
|

;PIC12C508单片机灯光控制系统源程序

;以上程序使用PIC12C508 单片机 ,内部4MHz时钟,4脚输入50HZ脉冲信号,7,6,3脚(GP0,GP1,GP4端口)为输出口。其中渐变部分是让灯慢慢的变亮(或灭)。

;程序如下:

GPI0EQU6

COUNT1EQU11

COUNT2EQU12

COUNT3EQU13

COUNT4EQU14

COUNT5EQU15

POINTEREQU16

POINTER1EQU17

ORG00H

MOV LW07H;设定时钟参数1:256分频

OPTION

MOV LW2CH;输出端口设定0,1,4输出,3输入50HZ

TRIS6

;-------------------------------

START:

;对3端口扫描扫描0低电位

MOV FGPI0,W

MOV WFCOUNT1

BTFSCCOUNT1,3

GOTOSTART

NEXT:;对3端口扫描扫描1高电位

MOV FGPI0,W

MOV WFCOUNT1

BTFSSCOUNT1,3

GOTONEXT

INCFCOUNT2

MOV LW100

DECFSZCOUNT2,1

GOTOSTART;------外接50HZ信号,扫描100次,延时2秒

;------------------- 单片机 灯光控制系统----------------------------------------

JB:

CLRFTMR0

MOV LW250

MOV WFCOUNT4

MOV WFCOUNT5

INCFPOINTER,F

MOV FPOINTER,0

MOV WFPOINTER1

MOV LWTABLE

ADDWFPOINTER,0

CALLAA

MOV WF6;返回,输出-----亮

CHANGE:

MOV FTMR0,0

MOV WFCOUNT3

SUBWFCOUNT4,1

BTFSSSTATUS,Z;TMR0=250?N空循环TMR0次Y跳出重新开始渐变

GOTONOPDELAY1

GOTOOUT

NOPDELAY1:

NOP

DECFSZCOUNT3,1

GOTONOPDELAY1

DECFPOINTER1,F;《--- 单片机 灯光控制系统-------“

MOV LWTABLE;|

ADDWFPOINTER1,0;|

CALLAA;|

MOV WF6;返回上一次显示数据,输出到GP端口---灭《--|

NOPDELAY2:

NOP

DECFSZCOUNT4,1

GOTONOPDELAY2

GOTOCHANGE

;-----渐-----变------------ 单片机 灯光控制系统-----------------------------------

OUT:

MOV LW9;取表9次

SUBWFPOINTER,0

BTFSSSTATUS,Z

GOTOJB

GOTOSTART

AA: MOV WF2

TABLE:RETLW2CH

RETLW3CH

RETLW2DH

RETLW2EH

RETLW2FH

RETLW3DH

RETLW3EH

RETLW2CH

RETLW3FH

ORG1FFH

MOV WFOSCCAL

END


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项