新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 汇编代码实现键控彩灯系统

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

作者:时间:2012-08-18来源:网络收藏

使用汇编语言编写程序,设计一个用单片机控制的循环彩灯控制系统
要求:
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, #0MOV TL1, #0SETB TR0SETB TR1SETB IT0SETB IT1MOV IE, #10000111BMOV IP, #00000101BMOV R7, #20MOV 30H, #20MOV 31H, #0MOV 32H, #0MOV 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


评论


相关推荐

技术专区

关闭