pic12c508单片机灯光控制系统源程序
;以上程序使用pic12c508单片机,内部4mhz时钟,4脚输入50hz脉冲信号,7,6,3脚(gp0,gp1,gp4端口)为输出口。其中渐变部分是让灯慢慢的变亮(或灭)。不知道单片机灯光控制系统程序有没错误,有错误之处请大家多多给意见。谢谢
;程序如下:
gpi0 equ 6
count1 equ 11
count2 equ 12
count3 equ 13
count4 equ 14
count5 equ 15
pointer equ 16
pointer1 equ 17
org 00h
movlw 07h ;设定时钟参数1:256分频
option
movlw 2ch ;输出端口设定 0,1,4输出,3输入50hz
tris 6
;-------------------------------
start:
;对3端口扫描 扫描0低电位
movf gpi0,w
movwf count1
btfsc count1,3
goto start
next: ;对3端口扫描 扫描1高电位
movf gpi0,w
movwf count1
btfss count1,3
goto next
incf count2
movlw 100
decfsz count2,1
goto start ;------外接50hz信号,扫描100次,延时2秒
;-------------------单片机灯光控制系统----------------------------------------
jb:
clrf tmr0
movlw 250
movwf count4
movwf count5
incf pointer,f
movf pointer,0
movwf pointer1
movlw table
addwf pointer,0
call aa
movwf 6 ;返回,输出-----亮
change:
movf tmr0,0
movwf count3
subwf count4,1
btfss status,z ;tmr0=250? ‘n’空循环tmr0次 ‘y’跳出重新开始渐变
goto nopdelay1
goto out
nopdelay1:
nop
decfsz count3,1
goto nopdelay1
decf pointer1,f ; 《---单片机灯光控制系统-------|
movlw table ; |
addwf pointer1,0 ; |
call aa ; |
movwf 6 ;返回上一次显示数据,输出到gp端口---灭 《--|
nopdelay2:
nop
decfsz count4,1
goto nopdelay2
goto change
;-----渐-----变------------单片机灯光控制系统-----------------------------------
out:
movlw 9 ;取表9次
subwf pointer,0
btfss status,z
goto jb
goto start
aa: movwf 2
table:retlw 2ch
retlw 3ch
retlw 2dh
retlw 2eh
retlw 2fh
retlw 3dh
retlw 3eh
retlw 2ch
retlw 3fh
org 1ffh
movwf osccal
end
台媒宣称美国发射了两颗台湾卫星,升空至今两天仍失联
英特尔公司推出新版Atom平台 适用于智能手机
部分LM系列音频功放块参数
半导体原材料上市公司汇总
新一代锐龙7/5/3系列现身 将会全线升级
使用单片机实现一个灯光控制系统的源代码
express card插槽与PCMCIA插槽的区别
浅析SiP封装产品植球工艺
工程师和数学家的区别在哪
人工智能将会是未来人类发展的核心技术
莱姆开环数字输出传感器的原理解析
专家传真-中国半导体业上演本土配套和进口替代黄金交叉
AT32 MCU USB HID应用,带来无缝连接「芯」体验
如何测试DC-DC的SW信号?
德州仪器进驻成都天府软件园
一分钟带你了解京东启动区块链加速器项目
滤波器的种类有哪些下篇
YDQ(C)-SF6充气式高压试验变压器电气原理说明
了解无线数据手册规格
基于单片机的I2C接口SHT20传感器采样设计