新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 匯編代碼實(shí)現(xiàn)鍵控彩燈系統(tǒng)

匯編代碼實(shí)現(xiàn)鍵控彩燈系統(tǒng)

作者: 時(shí)間:2012-08-18 來(lái)源:網(wǎng)絡(luò) 收藏

使用匯編語(yǔ)言編寫(xiě)程序,設(shè)計(jì)一個(gè)用單片機(jī)控制的循環(huán)彩燈控制系統(tǒng)
要求:
1、能輸出4種花型,并能由人工進(jìn)行花型的切換。可以使用按鍵,也可以使用撥動(dòng)開(kāi)關(guān)來(lái)實(shí)現(xiàn)切換,方法不限。
2、循環(huán)彩燈的循環(huán)速度可調(diào)。
3、按鍵要求:
(1)啟動(dòng)/暫停。按動(dòng)一次啟動(dòng),再按一次暫停。是一個(gè)雙態(tài)轉(zhuǎn)換鍵。
(2)花型變化。按一次,立即停止當(dāng)前花型的顯示,轉(zhuǎn)換為下一種花型。4種花型可以循環(huán)切換。
(3)速度+。按鍵一次,速度略加快一點(diǎn)。
(4)速度-。按鍵一次,速度略減慢一點(diǎn)。
4、在LED顯示器上顯示相應(yīng)的花型號(hào)。

代碼

     ORG 0000HJMP STARTORG 0003HJMP X0_INTORG 000BHJMP T0_INTORG 0013HJMP X1_INT;---------------------------------START:MOV TMOD, #51H       ;/*01010001 T1計(jì)數(shù),T0定時(shí)*/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執(zhí)行一次MOV TL0, #LOW (65536 - 50000) ;重新寫(xiě)入初始值MOV TH0, #HIGH(65536 - 50000) ;50ms@12MHz;------------------JIA:JB   P3.0, JIANDEC 30H          ;加速M(fèi)OV 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:          ;設(shè)置花型INC 31HANL 31H, #3MOV P2, 31HINC P2RETI;---------------------------------X1_INT:          ;啟動(dòng)/停止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


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉