新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機動態掃描接口及程序設計

        單片機動態掃描接口及程序設計

        作者: 時間:2011-04-24 來源:網絡 收藏

          MOV A,#DISPBUFF ;顯示緩沖區首地址

          ADD A,Counter

          MOV R0,A

          MOV A,@R0 ;根據計數器的值取對應的顯示緩沖區的值

          MOV DPTR,#DISPTAB ;字形表首地址

          MOVC A,@A+DPTR ;取字形碼

          MOV P0,A ;將字形碼送P0位(段口)

          MOV A,Counter ;取計數器的值

          JZ DISPFIRST ;如果是0則顯示第一位

          CLR SECOND ;不然顯示第二位

          AJMP DISPNEXT

          DISPFIRST:

          CLR FIRST ;顯示第一位

          DISPNEXT:

          INC Counter ;計數器加1

          MOV A,Counter

          DEC A ;如果計數器計到2,則讓它回0

          DEC A

          JZ RSTCOUNT

          AJMP DISPEXIT

          RSTCOUNT:

          MOV Counter,#0 ;計數器的值只能是0或1

          DISPEXIT:

          POP PSW

          POP ACC

          RETI

          DELAY: ;延時130毫秒

          PUSH PSW

          SETB RS0

          MOV R7,#255

          D1: MOV R6,#255

          D2: NOP

          NOP

          NOP

          NOP

          DJNZ R6,D2

          DJNZ R7,D1

          POP PSW

          RET

          DISPTAB:DB 28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H

          END

          從上面的程序能看出,顯示和靜態顯示相比,程序稍有點復雜,不過,這是值得的。這個程序有一定的通用性,只要改變端口的值及計數器的值就能顯示更多位數了。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 四平市| 翁源县| 临沭县| 黑水县| 定日县| 宁武县| 来凤县| 富蕴县| 延川县| 福贡县| 楚雄市| 拜城县| 米林县| 锡林浩特市| 札达县| 江津市| 辰溪县| 西藏| 丰县| 岗巴县| 汶上县| 凌海市| 个旧市| 潍坊市| 体育| 治县。| 克拉玛依市| 滦平县| 通海县| 永修县| 康乐县| 福鼎市| 德格县| 绥中县| 德兴市| 孝感市| 泸州市| 定结县| 融水| 瓮安县| 永德县|