4位共陽(yáng)數(shù)碼管動(dòng)態(tài)掃描顯示匯編程序
本程序是用51單片機(jī)實(shí)現(xiàn)4位共陽(yáng)數(shù)碼管動(dòng)態(tài)掃描顯示程序,采用74HC573做驅(qū)動(dòng),定時(shí)器T0定時(shí)16ms,用來(lái)刷新數(shù)碼管顯示屏,軟件延時(shí)1ms實(shí)現(xiàn)數(shù)碼管亮滅延時(shí),相當(dāng)穩(wěn)定,沒(méi)有一點(diǎn)閃爍的感覺(jué),很不錯(cuò)!如果要調(diào)整亮度可適當(dāng)調(diào)整數(shù)碼管亮的時(shí)間?,F(xiàn)把程序上傳,與大家一起共享?。?!哈哈哈?。。?/P>
由于電路圖很簡(jiǎn)單我就不畫了大家從程序中都可看出來(lái)p2.0-2.3 是接4個(gè)位選 由于是共陽(yáng)所以是接的數(shù)碼管的正極,p2.5是74hc573的鎖存端,段的數(shù)據(jù)口是p0.我是從51hei單片機(jī)開(kāi)發(fā)板上的電路圖仿制過(guò)來(lái)的 只是用4個(gè)io口做位選 節(jié)約了一片573芯片.
D0 BIT P2.0D1 BIT P2.1D2 BIT P2.2D3 BIT P2.3SUBF0 EQU 30HSUBF1 EQU 31HSUBF2 EQU 32HSUBF3 EQU 33HCOUT EQU 34HORG 0000HSJMP MIANORG 000BHLJMP INTER0ORG 0040HMIAN:MOV SP,#60HMOV IE,#00HMOV SUBF0,#80HMOV SUBF1,#80HMOV SUBF2,#80HMOV SUBF3,#80HMOV TH0,#0C1HMOV TL0,#80HMOV TMOD,#01HMOV R2,#00HMOV R1,#SUBF0MOV COUT,#04HLCALL DISPLAYLCALL SHUTSETB EASETB ET0MOV DPTR,#TABLELOOP:MOV A,R2MOVC A,@A+DPTRLOOP0:MOV @R1,AINC R1INC R2DJNZ COUT,LOOPSETB TR0SJMP $INTER0:CLR ET0CLR TR0PUSH ACCPUSH PSWMOV TH0,#0C1HMOV TL0,#80HLCALL DISPLAYSETB ET0SETB TR0POP PSWPOP ACCRETIDISPLAY:SETB D1SETB D2SETB D3CLR D0CLR P2.5MOV P0,SUBF0SETB P2.5LCALL DELAYSETB D0SETB D2SETB D3CLR D1CLR P2.5MOV P0,SUBF1SETB P2.5LCALL DELAYSETB D0SETB D1SETB D3CLR D2CLR P2.5MOV P0,SUBF2SETB P2.5LCALL DELAYSETB D0 SETB D1SETB D2CLR D3CLR P2.5MOV P0,SUBF3SETB P2.5LCALL DELAYLCALL SHUTRETSHUT:SETB D0SETB D1SETB D2SETB D3RETDELAY:MOV R7,#02HDL:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DLRETTABLE:DB 99H,92H,82H,0F8HEND
51單片機(jī)相關(guān)文章:51單片機(jī)教程
評(píng)論