4位共陽數(shù)碼管動態(tài)掃描顯示匯編程序
本程序是用51單片機(jī)實(shí)現(xiàn)4位共陽數(shù)碼管動態(tài)掃描顯示程序,采用74HC573做驅(qū)動,定時器T0定時16ms,用來刷新數(shù)碼管顯示屏,軟件延時1ms實(shí)現(xiàn)數(shù)碼管亮滅延時,相當(dāng)穩(wěn)定,沒有一點(diǎn)閃爍的感覺,很不錯!如果要調(diào)整亮度可適當(dāng)調(diào)整數(shù)碼管亮的時間。現(xiàn)把程序上傳,與大家一起共享!?。」。?!
由于電路圖很簡單我就不畫了大家從程序中都可看出來p2.0-2.3 是接4個位選 由于是共陽所以是接的數(shù)碼管的正極,p2.5是74hc573的鎖存端,段的數(shù)據(jù)口是p0.我是從51hei單片機(jī)開發(fā)板上的電路圖仿制過來的 只是用4個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ī)教程
評論