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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機匯編語言的點陣顯示源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:301181 發表于 2018-7-13 16:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
既有動態顯示又有靜態顯示,沒有電原理圖,但是很簡單,行掃描,上下滾動,單片機型號STC15F2K60S2(打開文件后就可以看到)

單片機源程序如下:
  1.             /*         靜態
  2.                 DL    BIT   P1.0;串行輸入列信號(數據信號)(低有效)并行輸出
  3.             DH    BIT   P1.1;串行輸入行信號(行掃描信號)(高有效)并行輸出
  4.             STR   BIT   P1.2;RCLK  三態輸出鎖存器的時鐘輸入
  5.             CLK   BIT   P1.3;SRCLK        移位寄存器的時鐘輸入
  6.             FOE   BIT   P1.4;/OE                輸出允許控制
  7.             ROWH  EQU   40H;字模信號,高位在前
  8.             ROWL  EQU   41H;
  9.             SELH  EQU   42H;行掃描信號
  10.             SELL  EQU   43H;
  11.             ORG   0000H;
  12.             LJMP  MAIN;
  13.             ORG   0100H
  14. MAIN:  
  15.         MOV   SP,#6FH;
  16.         MOV   R1,#01H;配合字模信號
  17.             MOV   R2,#01H;高字節在后,從01開始
  18.             MOV   R3,#10H;循環16次
  19. LOAD:  
  20.         MOV   DPTR,#DATAH;存儲行掃描信號;
  21.         MOV   A,R1;
  22.             MOVC  A,@A+DPTR;
  23.             MOV   SELH,A;存儲高字節
  24.             DEC   R1;     指向低字節
  25.             MOV   A,R1;
  26.             MOVC  A,@A+DPTR;
  27.             MOV   SELL,A;  存儲低字節
  28.             INC   R1;
  29.             INC   R1;
  30.             INC   R1;指向下一個高字節
  31.             MOV   DPTR,#DATAL;        ;存儲字模數據,過程同上
  32.                 MOV            A, R2
  33.                 MOVC    A, @A+DPTR
  34.                 MOV            ROWH, A                               
  35.                 DEC            R2
  36.                 MOV            A, R2
  37.                 MOVC    A, @A+DPTR                       
  38.                 MOV            ROWL, A
  39.                 INC            R2
  40.                 INC            R2
  41.                 INC            R2
  42.                 LCALL        LATCH;運行鎖存自程序
  43.                 LCALL        DELAY;延時
  44.                 DJNZ        R3, LOAD;重復執行16次,顯示所有行
  45.                 LJMP        MAIN;靜態顯示
  46. LATCH:
  47.                 CLR                FOE                                ;允許輸出
  48.                 CLR                STR                                ;為上升沿將移位寄存器數據鎖存入數據寄存器
  49.                 MOV            R4, SELH                                ;        做準備
  50.                 MOV            R5, ROWH                        ;高位行掃描型號和字模信號
  51.                 MOV            R6, #08H                ;高低位分開讀,每次讀8位       
  52. LATCH1:
  53.                 CLR                CLK                                ;為上升沿讀入移位寄存器做準備
  54.                 MOV            A, R4
  55.                 RRC                A                                        ;移出最高位
  56.                 MOV            R4, A
  57.                 MOV            DH, C                        ;由P1.0輸出準備進入移位寄存器
  58.                 MOV            A, R5
  59.                 RRC                A
  60.                 MOV            R5, A
  61.                 MOV            DL, C                        ;由P1.1輸出準備進入移位寄存器
  62.                 SETB    CLK                                ;CLK上升沿,P1.0和P1.1數據進入移位寄存器
  63.                 DJNZ        R6, LATCH1
  64.                 MOV            R4, SELL
  65.                 MOV          R5, ROWL
  66.                 MOV          R6, #08H
  67. LATCH2:                                                                ;同上
  68.                 CLR                CLK
  69.                 MOV           A, R4
  70.                 RRC                A
  71.                 MOV           R4, A
  72.                 MOV            DH, C
  73.                 MOV          A, R5
  74.                 RRC                A
  75.                 MOV            R5, A
  76.                 MOV            DL, C
  77.                 SETB    CLK
  78.                 DJNZ        R6, LATCH2
  79.                 SETB        STR                                        ;STR上升沿移位寄存器數據所存入數據寄存器
  80.                 RET                                                         ;顯示
  81. DELAY:                                                                ;延遲程序
  82.                 MOV            R6, #02H
  83. LOOP1:
  84.                 MOV            R7, #0F8H                ;;估算:1us*2*(1+2*248+2) = 998us ≈ 1ms
  85. LOOP2:
  86.                 DJNZ        R7, LOOP2
  87.                 DJNZ        R6, LOOP1
  88.                 RET
  89. DATAH:                                ;SELECT ROW
  90.         DB        80H, 00H
  91.         DB        40H, 00H
  92.         DB        20H, 00H
  93.         DB        10H, 00H
  94.         DB        08H, 00H
  95.         DB        04H, 00H
  96.         DB        02H, 00H
  97.         DB        01H, 00H
  98.         DB        00H, 80H
  99.         DB        00H, 40H
  100.         DB        00H, 20H
  101.         DB        00H, 10H
  102.         DB        00H, 08H
  103.         DB        00H, 04H
  104.         DB        00H, 02H
  105.         DB        00H, 01H

  106. DATAL:
  107.   /*
  108.    DB; 0B..................,01H;
  109.   DB; 0DDH,6DH,0C1H,6DH,0BFH,6DH,7FH,7DH,00H,01H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;;第一個字
  110.    END;
  111.                 */
  112. /*每一列共陰極顯示器
  113.   /*每一行七段顯示器的筆畫
  114.         /*動態顯示電路,筆畫鎖存器控制行信號,位鎖存器控制列信號
  115.                                                                                   */
  116.         ;        /*滾動
  117.       DH        BIT                P1.0;
  118.       DL        BIT                P1.1
  119.       STR        BIT                P1.2
  120.       CLK        BIT                P1.3
  121.       FOE        BIT                P1.4
  122.       ROWH        EQU                40H
  123.       ROWL        EQU                41H
  124.       SELH        EQU                42H
  125.       SELL        EQU                43H
  126.       WAIT        EQU                44H                                                ;負責控制滾動速度
  127.                 ORG                0000H
  128.                 LJMP        MAIN
  129.                 ORG                0100H
  130. MAIN:
  131.                 MOV        R0, #01H                                        ;每次重新滾動時初始化
  132. NEXT:
  133.                 MOV        WAIT, #0AH                                ;滾動速度設置,數字越大滾動越慢
  134. ROLL:
  135.                 MOV        A, R0                                        ;變換顯示的第一行以完成滾動
  136.                 MOV        R1, #01H                                        ;行掃描信號不變
  137.                 MOV        R2, A
  138.                 MOV        R3, #10H                               
  139. LOAD:
  140.                 MOV        DPTR, #SEL_DATA                ;
  141.                 MOV        A, R1
  142.                 MOVC        A, @A+DPTR
  143.                 MOV        SELH, A                        ;
  144.                 DEC                R1                        ;
  145.                 MOV        A, R1
  146.                 MOVC        A, @A+DPTR
  147.                 MOV        SELL, A                        ;
  148.                 INC                R1                        ;
  149.                 INC                R1
  150.                 INC                R1
  151.                 MOV        DPTR, #ROW_DATA
  152.                 MOV        A, R2
  153.                 MOVC        A, @A+DPTR
  154.                 MOV        ROWH, A
  155.                 DEC                R2
  156.                 MOV        A, R2
  157.                 MOVC        A, @A+DPTR
  158.                 MOV        ROWL, A
  159.                 INC                R2
  160.                 INC                R2
  161.                 INC                R2
  162.                 LCALL        LATCH
  163.                 LCALL        DELAY
  164.                 DJNZ        R3, LOAD
  165.                 ;                                                                        以上與第一部分相同
  166.                 DJNZ        WAIT, ROLL                                        ;循環以延時
  167.                 INC                R0
  168.                 INC                R0                                                        ;R0指向下一行,以實現滾動
  169.                 CJNE                R0, #41H, NEXT                                ;所有字符顯示完畢后開始新的一輪        ;根據字符的個數不同而改變
  170.                 ;                                                                        以下與第一部分相同
  171.                 LJMP        MAIN

  172. LATCH:
  173.                 CLR                FOE
  174.                 CLR                STR
  175.                 MOV            R4, SELH
  176.                 MOV          R5, ROWH
  177.                 MOV            R6, #08H
  178. LATCH1:
  179.                 CLR                CLK
  180.                 MOV            A, R4
  181.                 RRC                A
  182.                 MOV          R4, A
  183.                 MOV            DH, C
  184.                 MOV          A, R5
  185.                 RRC                A
  186.                 MOV            R5, A
  187.                 MOV            DL, C
  188.                 SETB        CLK
  189.                 DJNZ        R6, LATCH1
  190.                 ;
  191.                 MOV        R4, SELL
  192.                 MOV        R5, ROWL
  193.                 MOV        R6, #08H
  194. LATCH2:
  195.                 CLR                CLK
  196.                 MOV            A, R4
  197.                 RRC                A
  198.                 MOV            R4, A
  199.                 MOV            DH, C
  200.                 MOV            A, R5
  201.                 RRC                A
  202.                 MOV            R5, A
  203.                 MOV            DL, C
  204.                 SETB        CLK
  205.                 DJNZ        R6, LATCH2;
  206.                 SETB        STR
  207.                 RET               
  208. DELAY:
  209.                 MOV            R6, #02H
  210. LOOP1:
  211.                 MOV            R7, #0F8H
  212. LOOP2:
  213.                 DJNZ        R7, LOOP2
  214.                 DJNZ        R6, LOOP1
  215.                 RET
  216. SEL_DATA:                                ;SELECT ROW
  217.         DB        80H, 00H
  218.         DB        40H, 00H
  219.         DB        20H, 00H
  220.         DB        10H, 00H
  221.         DB        08H, 00H
  222.         DB        04H, 00H
  223.         DB        02H, 00H
  224.         DB        01H, 00H
  225.         DB        00H, 80H
  226.         DB        00H, 40H
  227.         DB        00H, 20H
  228.         DB        00H, 10H
  229.         DB        00H, 08H
  230.         DB        00H, 04H
  231.         DB        00H, 02H
  232.         DB        00H, 01H

  233. ROW_DATA:
  234.      DB; 0B..................,01H;
  235.   DB; 0DDH,6DH,0C1H,6DH,0BFH,6DH,7FH,7DH,00H,01H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;;第一個字
  236.   DB; 7FH,0FFH,01H,81H,0BFH,0BDH,0C0H,3DH,0EDH,0BDH,0F5H,81H,0FEH,0EFH,80H,0F7H;
  237.   DB ;0BDH,73H,0BDH,0A8H;...................,73H,80H,0FBH,0FDH,0FFH,0FBH,0FFH;第二個字
  238.    DB ;16個;
  239.   DB ;0DDH,6DH,0C1H,6DH,0BFH,6DH,7FH,7DH,00H,01H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;;;第一個字

  240.         END

復制代碼

所有資料51hei提供下載:
dianzhen.zip (33.69 KB, 下載次數: 14)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:301181 發表于 2018-7-13 16:55 | 只看該作者
在學校課堂上試過,確實可用
回復

使用道具 舉報

板凳
ID:301181 發表于 2018-7-13 16:56 | 只看該作者
動態顯示可以是幾個字滾動,也可以使一個字,文件中是兩個字的滾動顯示,具體器件的使用,看單片機型號吧,我忘了
回復

使用道具 舉報

地板
ID:635338 發表于 2020-9-21 23:10 | 只看該作者
有無原理圖?

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99资源 | 精品久久久久久久久久久久 | 日本亚洲精品成人欧美一区 | 91免费版在线观看 | 日韩国产中文字幕 | 91网站在线播放 | 99国产精品视频免费观看一公开 | 毛片一区 | 欧美在线视频不卡 | 日韩成人影院在线观看 | 国产精品美女一区二区 | 五月激情婷婷网 | 亚洲成人免费 | 九九热精品在线视频 | 欧美精品一区二区三区在线播放 | 日韩一区二区在线视频 | 一本岛道一二三不卡区 | 亚洲美女网站 | 日韩精品一区二区三区在线播放 | 午夜免费视频 | 亚洲网站在线观看 | 国产一区免费 | 欧美精品中文 | 久草免费在线视频 | 三级视频网站 | 蜜桃特黄a∨片免费观看 | 国产精品波多野结衣 | 日韩欧美一区二区三区在线播放 | 午夜精品久久久久久久久久久久 | 国产黄色在线观看 | 国产精品视频网站 | 亚洲a在线观看 | 免费天天干 | 亚洲国产精品人人爽夜夜爽 | 一区二区三区欧美在线 | 亚洲欧美日韩精品久久亚洲区 | 欧美一级久久 | 国产一区二区在线免费观看 | 久久久久久久久久久蜜桃 | 欧美性极品xxxx做受 | 国产精品毛片一区二区在线看 |