您的位置 首页 测评

根据PIC12C508单片机对灯火体系的操控

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

以下程序运用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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/346779.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部