新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 4位共陽數碼管動態掃描顯示匯編程序

        4位共陽數碼管動態掃描顯示匯編程序

        作者: 時間:2012-09-14 來源:網絡 收藏

        本程序是用51單片機實現4位顯示程序,采用74HC573做驅動,定時器T0定時16ms,用來刷新數碼管顯示屏,軟件延時1ms實現數碼管亮滅延時,相當穩定,沒有一點閃爍的感覺,很不錯!如果要調整亮度可適當調整數碼管亮的時間。現把程序上傳,與大家一起共享!!!哈哈哈!!!

        由于電路圖很簡單我就不畫了大家從程序中都可看出來p2.0-2.3 是接4個位選 由于是共陽所以是接的數碼管的正極,p2.5是74hc573的鎖存端,段的數據口是p0.我是從51hei單片機開發板上的電路圖仿制過來的 只是用4個io口做位選 節約了一片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單片機相關文章:51單片機教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 中江县| 夏津县| 赤水市| 余江县| 图木舒克市| 友谊县| 诸暨市| 湾仔区| 长岛县| 拉萨市| 龙井市| 涞源县| 镇康县| 遵化市| 香河县| 海淀区| 基隆市| 台北市| 武隆县| 台山市| 东阿县| 长岭县| 乌兰县| 昭觉县| 灌云县| 阿克陶县| 都江堰市| 星子县| 临城县| 平果县| 宝清县| 垫江县| 遵化市| 滕州市| 三穗县| 澎湖县| 辽源市| 临海市| 广德县| 永春县| 焦作市|