久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2389|回復: 0
打印 上一主題 下一主題
收起左側

滾動顯示程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-26 23:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. 顯示字用查表法,不占內存,用四個16*16共陽LED點陣顯示,

  2. ;效果:向上滾動顯示字,每次四個,重復循環。

  3. ;R2:行掃描地址(從00-0FH)。

  4. ;R3:滾動顯示時控制移動速度,也可控制靜止顯示的時間。

  5. ;************;

  6. ;中斷入口程序;

  7. ;************;

  8. ;

  9. ORG    0000H

  10. LJMP    START

  11. ORG    0003H

  12. RETI

  13. ORG    000BH

  14. LJMP    INTT0

  15. ORG    0013H

  16. RETI

  17. ORG    001BH

  18. RETI

  19. ORG    0023H

  20. RETI

  21. ORG    002BH

  22. RETI

  23. ;

  24. ;************;

  25. ; 初始化程序 ;

  26. ;************;

  27. ;

  28. ;

  29. ;************;

  30. ;  主程序  ;

  31. ;************;

  32. ;

  33. START:          MOV    20H,#00H            ;清標志,00H為1幀掃描結束標志

  34.                 MOV    A,#0FFH              ;端口初始化

  35.                 MOV    P1,A

  36.                 MOV    P2,A

  37.                 MOV    P3,A

  38.                 MOV    P0,A

  39.                 CLR    P1.6            ;串行寄存器打入輸出端控制位

  40.                 MOV    TMOD,#01H      ;使用T0作16位定時器,行掃描用。

  41.                 MOV    TH0,#0FCH      ;1ms初值(12MHZ)

  42.                 MOV    TL0,#18H

  43.                 MOV    SCON,#00H      ;串口0方式傳送顯示字節

  44.                 MOV    IE,#82H        ;T0中斷允許,總中斷允許

  45.                 MOV    SP,#70H

  46.                 LCALL  DIS1            ;顯示準備,黑屏,1.5秒

  47. MAIN:          MOV    DPTR,#TAB

  48.                 LCALL  MOVDISP        ;逐排顯示,每次四字)

  49.                 MOV    DPTR,#TAB

  50.                 LCALL  MOVDISP1        ;滾動顯示,每排四字)

  51.                 AJMP    MAIN

  52. ;

  53. ;

  54. ;********************;

  55. ; 四字逐排顯示子程序 ;

  56. ;********************;

  57. ;每次四字移入移出顯示方式,入口時定義好DPTR值

  58. ;

  59. MOVDISP:        MOV    R1,#6          ;顯示6排字,每排四字(R1=排數)

  60. DISLOOP:        MOV    R3,#100        ;每排顯示時間1.6*100=1.6S

  61. DISMOV:        MOV    R2,#00H        ;第0行開始

  62.                 SETB    TR0            ;開掃描(每次一幀)

  63. WAITMOV:        JBC    00H,DISMOV1    ;標志為1掃描一幀結束(16毫秒為1幀,每行1毫秒)

  64.                 AJMP    WAITMOV

  65. DISMOV1:        DJNZ    R3,DISMOV      ;1幀重復顯示(控制顯示時間)

  66.                 MOV    A,#128          ;顯示字指針移一排(每排4字*32=128)

  67.                 ADD    A,DPL          ;

  68.                 MOV    DPL,A

  69.                 MOV    A,#0

  70.                 ADDC    A,DPH

  71.                 MOV    DPH,A

  72.                 DEC    R1              ;R1為0,顯示完

  73.                 MOV    A,R1

  74.                 JZ      MOVOUT          ;

  75.                 AJMP    DISLOOP        ;

  76. MOVOUT:        RET                    ;移動顯示結束

  77. ;

  78. ;********************;

  79. ; 四字滾動顯示子程序 ;

  80. ;********************;

  81. ;每排四字向上移出顯示方式,入口時定義好DPTR值

  82. ;

  83. MOVDISP1:        MOV    R1,#255          ;向上移動顯示6排字,每排四字(R1=排數*16)

  84. DISLOOP1:        MOV    R3,#10          ;移動速度1.6*10=0.16S

  85. DISMOV2:        MOV    R2,#00H        ;第0行開始

  86.                 SETB    TR0            ;開掃描(每次一幀)

  87. WAITMOV1:        JBC    00H,DISMOV3    ;標志為1掃描一幀結束(16毫秒為1幀,每行1毫秒)

  88.                 AJMP    WAITMOV1

  89. DISMOV3:        DJNZ    R3,DISMOV2      ;1幀重復顯示(控制移動速度)

  90.                 INC    DPTR            ;顯示字指針移一行(二字節位置)

  91.                 INC    DPTR

  92.                 DEC    R1              ;R1為0,顯示完

  93.                 MOV    A,R1

  94.                 JZ      MOVOUT1        ;

  95.                 AJMP    DISLOOP1        ;

  96. MOVOUT1:        RET                    ;移動顯示結束

  97. ;

  98. ;

  99. ;*****************;

  100. ; 四個字顯示子程序  ;

  101. ;*****************;

  102. ;靜止顯示表中某四個字

  103. DIS1:          MOV    R3,#5AH        ;靜止顯示時間控制(16MS*#=1.6秒)

  104. DIS11:          MOV    R2,#00H        ;一幀掃描初始值(行地址從00-0FH)

  105.                 MOV    DPTR,#TAB      ;取表首址

  106.                 SETB    TR0            ;開掃描(每次一幀)

  107. WAIT11:        JBC    00H,DIS111      ;為1,掃描一幀結束

  108.                 AJMP    WAIT11

  109. DIS111:        DJNZ    R3,DIS11

  110.                 RET

  111. ;

  112. ;

  113. ;************;

  114. ;  掃描程序  ;

  115. ;************;

  116. ;1MS傳送一行,每行顯示1毫秒,一次傳送四個字的某行共8個字節.

  117. ;

  118. INTT0:          PUSH    ACC

  119.                 MOV    TH0,#0FCH      ;1ms初值重裝

  120.                 MOV    TL0,#18H

  121.                 MOV    A,#97          ;指向第四個字行右字節

  122.                 ADD    A,DPL

  123.                 MOV    DPL,A

  124.                 MOV    A,#0

  125.                 ADDC    A,DPH

  126.                 MOV    DPH,A

  127.                 MOV    A,#0

  128.                 MOVC    A,@A+DPTR      ;查表

  129.                 MOV    SBUF,A          ;串口0方式發送

  130. WAIT:          JBC    TI,GO          ;等待發送完畢

  131.                 AJMP    WAIT            ;

  132. GO:            MOV    A,DPL          ;指向第四個字行左字節

  133.                 SUBB    A,#1

  134.                 MOV    DPL,A

  135.                 MOV    A,DPH

  136.                 SUBB    A,#0

  137.                 MOV    DPH,A

  138.                 MOV    A,#0

  139.                 MOVC    A,@A+DPTR

  140.                 MOV    SBUF,A

  141. WAIT1:          JBC    TI,GO1

  142.                 AJMP    WAIT1

  143. ;

  144. GO1:            MOV    R0,#03H

  145. MLOOP:          MOV    A,DPL          ;指向前三個字行右字節

  146.                 SUBB    A,#31

  147.                 MOV    DPL,A

  148.                 MOV    A,DPH

  149.                 SUBB    A,#0

  150.                 MOV    DPH,A

  151.                 MOV    A,#0

  152.                 MOVC    A,@A+DPTR      ;查表

  153.                 MOV    SBUF,A          ;串口0方式發送

  154. WAIT2:          JBC    TI,GO2          ;等待發送完畢

  155.                 AJMP    WAIT2            ;

  156. GO2:            MOV    A,DPL          ;指向前三個字行左字節

  157.                 SUBB    A,#1

  158.                 MOV    DPL,A

  159.                 MOV    A,DPH

  160.                 SUBB    A,#0

  161.                 MOV    DPH,A

  162.                 MOV    A,#0

  163.                 MOVC    A,@A+DPTR

  164.                 MOV    SBUF,A

  165. WAIT3:          JBC    TI,GO3

  166.                 AJMP    WAIT3

  167. GO3:            DJNZ    R0,MLOOP        ;執行三次

  168. ;

  169. ;

  170.                 SETB    P1.7            ;關行顯示,準備涮新

  171.                 NOP                    ;串口寄存器數據穩定

  172.                 SETB    P1.6            ;產生上升沿,行數據打入輸出端

  173.                 NOP                    ;

  174.                 NOP                    ;

  175.                 CLR    P1.6            ;恢復低電平

  176.                 MOV    A,R2            ;修改顯示行地址

  177.                 ORL    A,#0F0H        ;修改顯示行地址

  178.                 MOV    R2,A            ;修改顯示行地址

  179.                 MOV    A,P1            ;修改顯示行地址

  180.                 ORL    A,#0FH          ;修改顯示行地址

  181.                 ANL    A,R2            ;修改顯示行地址

  182.                 MOV    P1,A            ;修改完成

  183.                 CLR    P1.7            ;開行顯示

  184.                 INC    R2              ;下一行掃描地址值

  185.                 INC    DPTR            ;

  186.                 INC    DPTR            ;下一行數據地址

  187.                 MOV    A,R2

  188.                 ANL    A,#0FH

  189.                 JNZ    GO4

  190.                 SETB    00H            ;R2為10H,現為末行掃描,置1幀結束標志

  191.                 MOV    A,DPL          ;指針修正為原幀初值

  192.                 SUBB    A,#32

  193.                 MOV    DPL,A

  194.                 MOV    A,DPH

  195.                 SUBB    A,#0

  196.                 MOV    DPH,A

  197.                 CLR    TR0            ;一幀掃描完,關掃描

  198. GO4:            POP    ACC

  199.                 RETI                    ;退出

  200. ;

  201. ;

  202. ;***************;

  203. ;  掃描文字表  ;

  204. ;***************;

  205. ; 共五排字,每排四個字,前后為黑屏

  206. TAB:    DB  ;黑屏

  207.               ;黑屏

  208.               ;黑屏
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 麻豆久久久9性大片 | 免费看啪啪网站 | 国产成人精品久久二区二区91 | 精品一二区 | 成人免费视频 | 户外露出一区二区三区 | 91精品国产91久久久久游泳池 | 日日操夜夜操天天操 | 日韩欧美在线播放 | 成人三级网址 | 国产亚洲精品美女久久久久久久久久 | 亚洲欧洲小视频 | 亚洲一一在线 | 亚洲在线一区二区三区 | 国产91丝袜在线播放 | 91精品欧美久久久久久久 | 亚洲视频在线观看 | 日本精品裸体写真集在线观看 | 欧美黑人国产人伦爽爽爽 | 欧美一区二区三区在线 | 国产免费一区 | 国产在线一区二 | 91精品国产欧美一区二区成人 | www.五月天婷婷.com | 狠狠的操 | 色婷婷综合久久久中字幕精品久久 | 国产成人黄色 | 成人在线免费视频 | 亚洲九九 | 久久久天天 | 亚洲精品一区中文字幕乱码 | 成人激情视频 | 久久久久久综合 | 欧美一区二区三区在线观看 | 国产综合精品一区二区三区 | 亚洲一区国产精品 | www.日韩| 久久成| 国产一级影片 | 国产亚洲www | 成人av网站在线观看 |