×
嵌入式开发 > 详情

汇编代码实现键控彩灯系统

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

使用汇编语言编写程序,设计一个用8051单片机控制的循环彩灯控制系统
要求:
1、能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用拨动开关来实现切换,方法不限。
2、循环彩灯的循环速度可调。
3、按键要求:
(1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。
(2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。
(3)速度+。按键一次,速度略加快一点。
(4)速度-。按键一次,速度略减慢一点。
4、在LED显示器上显示相应的花型号。

代码

     ORG 0000HJMP STARTORG 0003HJMP X0_INTORG 000BHJMP T0_INTORG 0013HJMP X1_INT;---------------------------------START:
MOV TMOD, #51H       ;/*01010001 T1计数,T0定时*/
MOV TH0, #HIGH(65536 - 50000) ;50ms@12MHzMOV TL0, #LOW (65536 - 50000)MOV TH1, #0
MOV TL1, #0SETB TR0SETB TR1SETB IT0SETB IT1MOV IE, #10000111BMOV IP, #00000101B
MOV R7, #20MOV 30H, #20MOV 31H, #0
MOV 32H, #0
MOV P2, 31HINC P2SJMP $;---------------------------------T0_INT:          ;50ms执行一次MOV TL0, #LOW (65536 - 50000) ;重新写入初始值MOV TH0, #HIGH(65536 - 50000) ;50ms@12MHz;------------------JIA:JB   P3.0, JIANDEC 30H          ;加速MOV A, 30HJNZ XXX          ;不能让它为0INC 30HXXX:;    JNB P3.0, $;------------------JIAN:JB   P3.1, XIANSHIINC 30HMOV A, 30HSUBB A, #80JC   CCCMOV 30H, #80CCC:;    JNB P3.1, $;------------------XIANSHI:DJNZ R7, T0_ENDMOV R7, 30HINC 32HANL 32H, #7;------------------MOV A, 31HANL A, #3RL   ARL   ARL   AADD A, 32HMOV DPTR, #HUA_YMOVC A, @A+DPTRCPL AMOV P1, A;------------------T0_END:RETI;---------------------------------X0_INT:          ;设置花型INC 31HANL 31H, #3MOV P2, 31HINC P2RETI;---------------------------------X1_INT:          ;启动/停止CPL TR0RETI;---------------------------------HUA_Y:DB 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01DB 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80DB 0x81,0x42,0x24,0x18,0x81,0x42,0x24,0x18DB 0x18,0x24,0x42,0x81,0x18,0x24,0x42,0x81END


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

热门文章 更多
Diodes 推出单闸逻辑设备.助力ADAS 等车用产品应用