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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

八路電壓測量顯示電路程序ADC0809+單片機小工具

[復制鏈接]
跳轉到指定樓層
樓主

單片機小工具:

單片機源程序如下:
  1. ;************************;
  2. ;                        ;
  3. ; 八路電壓測量顯示電路   ;
  4. ;                        ;
  5. ;************************;
  6. ;測量電壓最大為5V,顯示最大值為5.00V
  7. ;70H—77H存放采樣值,78H—7BH存放顯示數據,依次為個位、十位、百位、通道標志
  8. ;P3.5作單路顯示-循環顯示轉換用,P3.6作單路顯示時選擇通道用。?
  9. ;
  10. ;*************************************
  11. ;*                                   *
  12. ;*      主程序和中斷程序入口         *
  13. ;*                                   *
  14. ;*************************************
  15.                 ORG     0000H
  16.                 LJMP    START
  17.                 ORG     0003H
  18.                 RETI
  19.                 ORG     000BH
  20.                 RETI
  21.                 ORG     0013H
  22.                 RETI
  23.                 ORG     001BH
  24.                 RETI
  25.                 ORG     0023H
  26.                 RETI
  27.                 ORG     002BH
  28.                 RETI
  29. ;
  30. ;*************************************
  31. ;*                                   *
  32. ;*       初始化程序中的各變量        *
  33. ;*                                   *
  34. ;*************************************
  35. CLEARMEMIO:   
  36.                 CLR     A
  37.                 MOV     P2,A
  38.                 MOV     R0,#70H
  39.                 MOV     R2,#0DH
  40. LOOPMEM:        MOV     @R0,A
  41.                 INC     R0
  42.                 DJNZ    R2,LOOPMEM
  43.                 MOV     20H,#00H
  44.                 MOV     A,#0FFH
  45.                 MOV     P0,A
  46.                 MOV     P1,A
  47.                 MOV     P3,A
  48.                 RET
  49. ;
  50. ;*************************************
  51. ;*                                   *
  52. ;*            主 程 序                 *
  53. ;*                                   *
  54. ;*************************************
  55. START:         
  56.                 clr        p3.3
  57.                 mov        p1,#01h
  58.                 mov        p1,#02h
  59.                 mov        p1,#04h
  60.                 mov        p1,#08h
  61.                 mov        p1,#10h
  62.                 mov        p1,#20h
  63.                 mov        p1,#40h
  64.                 mov        p1,#80h


  65. LCALL   CLEARMEMIO      ;初始化
  66. MAIN:           LCALL   TEST            ;測量一次
  67.                 LCALL   DISPLAY         ;顯示數據一次
  68.                 AJMP        MAIN
  69.                 NOP                        ;PC值出錯處理
  70.                 NOP
  71.                 NOP
  72.                 LJMP        START
  73. ;
  74. ;*************************************
  75. ;*           顯 示 控 制 程 序            *
  76. ;*************************************
  77. ;
  78. DISPLAY:        JB      00H,DISP11    ;
  79.                 MOV     R3,#08H       ;8路信號循環顯示控制
  80.                 MOV     R0,#70H       ;顯示數據初址70H~77H
  81.                 MOV     7BH,#00H      ;顯示通道路數初值
  82. DISLOOP1:       LCALL   TUNBCD        ;顯示數據轉為三位BCD碼存入7AH、79H、78H(最大5.00v)
  83.                 MOV     R2,#0FFH      ;每路顯示時間控制 4MS*255
  84. DISLOOP2:       LCALL   DISP          ;調四位顯示程序
  85.                 LCALL   KEYWORK1      ;
  86.                 DJNZ    R2,DISLOOP2   ;
  87.                 INC     R0            ;顯示下一路
  88.                 INC     7BH           ;通道顯示數加一
  89.                 DJNZ    R3,DISLOOP1
  90.                 RET
  91. ;
  92. DISP11:         MOV     A,7BH         ;
  93.                 SUBB    A,#01H        ;
  94.                 MOV     7BH,A         ;
  95.                 ADD     A,#70H        ;
  96.                 MOV     R0,A          ;
  97. DISLOOP11:      LCALL   TUNBCD        ;顯示數據轉為三位BCD碼存入7AH、79H、78H(最大5.00v)
  98.                 MOV     R2,#0FFH       ;每路顯示時間控制 4MS*25
  99. DISLOOP22:      LCALL   DISP          ;調四位顯示程序
  100.                 LCALL   KEYWORK2      ;
  101.                 DJNZ    R2,DISLOOP22
  102.                 INC     7BH           ;通道顯示數加一
  103.                 RET
  104. ;
  105. ;*************************************
  106. ;*   顯示數據轉為三位BCD碼程序       *
  107. ;*************************************
  108. ;顯示數據轉為三位BCD碼存入7AH、79H、78H(最大值5.00v)
  109. ;
  110. TUNBCD:         MOV     A,@R0           ;255/51=5.00V運算
  111.                 MOV     B,#51           ;
  112.                 DIV     AB              ;
  113.                 MOV     7AH,A           ;個位數放入7AH
  114.                 MOV     A,B             ;余數大于19H,F0為1,乘法溢出,結果加5
  115.                 CLR     F0
  116.                 SUBB    A,#1AH
  117.                 MOV     F0,C
  118.                 MOV     A,#10           ;
  119.                 MUL     AB              ;
  120.                 MOV     B,#51           ;
  121.                 DIV     AB
  122.                 JB     F0,LOOP2         ;
  123.                 ADD     A,#5
  124. LOOP2:          MOV     79H,A           ;小數后第一位放入79H
  125.                 MOV     A,B
  126.                 CLR     F0
  127.                 SUBB    A,#1AH
  128.                 MOV     F0,C
  129.                 MOV     A,#10           ;
  130.                 MUL     AB              ;
  131.                 MOV     B,#51           ;
  132.                 DIV     AB
  133.                 JB     F0,LOOP3         ;
  134.                 ADD     A,#5
  135. LOOP3:          MOV     78H,A           ;小數后第二位放入78H
  136.                 RET
  137. ;
  138. ;*************************************
  139. ;*    ?  顯?示 程 序               *
  140. ;*************************************
  141. ;共陽顯示子程序,顯示內容在78H—7BH
  142. ;
  143. DISP:           MOV     R1,#78H       ;共陽顯示子程序,顯示內容在78H—7BH
  144.                 MOV     R5,#0FEH      ;數據在P1輸出,列掃描在P3.0-P3.3
  145. PLAY:           MOV     P1,#0FFH
  146.                 MOV     A,R5
  147.                 ANL     P3,A
  148.                 MOV    A,@R1
  149.                 MOV    DPTR,#TAB
  150.                 MOVC   A,@A+DPTR
  151.                 MOV    P1,A
  152.                 JB     P3.2,PLAY1     ;小數點處理
  153.                 CLR    P1.7           ;小數點顯示(顯示格式為XX.XX)
  154. PLAY1:          LCALL  DL1MS
  155.                 INC    R1
  156.                 MOV    A,P3
  157.                 JNB    ACC.3,ENDOUT
  158.                 RL     A
  159.                 MOV    R5,A
  160.                 MOV    P3,#0FFH
  161.                 AJMP   PLAY
  162. ENDOUT:         MOV    P3,#0FFH
  163.                 MOV    P1,#0FFH
  164.                 RET
  165. ;TAB:            DB 030H,0F9H,052H,0d0H,99H,94H,14H,0F1H,10H,090H,0FFH
  166. TAB:            DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
  167. ;
  168. ;*************************************
  169. ;*    ? ?   延時程序               *
  170. ;*************************************
  171. ;
  172. DL10MS:         MOV R6,#0D0H      ;10MS延時子程序
  173. DL1:            MOV R7,#19H
  174. DL2:            DJNZ R7,DL2
  175.                 DJNZ R6,DL1
  176.                 RET
  177. ;
  178. DL1MS:          MOV     R4,#0FFH   ;513+513=1MS
  179. LOOP11:         DJNZ    R4,LOOP11
  180.                 MOV     R4,#0FFH
  181. LOOP22:         DJNZ    R4,LOOP22
  182.                 RET
  183. ;
  184. ;*************************************
  185. ;*    ?  電壓測量(A/D)子程序      *
  186. ;*************************************
  187. ; 一次測量數據8個,依次放入70H-77H單元中
  188. ;
  189. TEST:           CLR     A          ;模數轉換子程序
  190.                 MOV     P2,A
  191.                 MOV     R0,#70H    ;轉換值存放首址
  192.                 MOV     R7,#08H    ;轉換8次控制
  193.                 LCALL  TESTART     ;啟動測試
  194. WAIT:           JB     P3.7,MOVD   ;等A/D轉換結束信號
  195.                 AJMP   WAIT
  196. ;
  197. TESTART:        SETB    P2.3       ;測試啟動
  198.                 NOP
  199.                 NOP
  200.                 CLR     P2.3
  201.                 SETB    P2.4
  202.                 NOP
  203.                 NOP
  204.                 CLR     P2.4
  205.                 NOP
  206.                 NOP
  207.                 NOP
  208.                 NOP
  209.                 RET
  210. ;
  211. MOVD:           SETB    P2.5       ;取A/D轉換數據
  212.                 MOV     A,P0
  213.                 MOV     @R0,A
  214.                 CLR     P2.5
  215.                 INC     R0
  216.                 MOV     A,P2       ;通道地址加1
  217.                 INC     A
  218.                 MOV     P2,A
  219.                 CJNE    A,#08H,TESTEND    ;等8路A/D轉換結束
  220. TESTEND:        JC      TESTCON
  221.                 CLR     A                 ;結束恢復端口
  222.                 MOV     P2,A
  223.                 MOV     A,#0FFH
  224.                 MOV     P0,A
  225.                 MOV     P1,A
  226.                 MOV     P3,A
  227.                 RET
  228. ;
  229. TESTCON:        LCALL   TESTART
  230.                 LJMP    WAIT
  231. ;
  232. ;*************************************
  233. ;*    ?  按鍵檢測子程序             *
  234. ;*************************************
  235. ;
  236. KEYWORK1:       JNB     P3.5,KEY1
  237. KEYOUT:         RET
  238. ;
  239. KEY1:           LCALL   DISP          ;延時消抖
  240. ……………………

  241. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
8路模數轉換STC89C51、ADC0809.zip (9.43 MB, 下載次數: 37)

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

使用道具 舉報

沙發
ID:336076 發表于 2018-5-24 17:43 | 只看該作者
樓主 求教問題啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级在线观看 | 老牛嫩草一区二区三区av | 日韩福利一区 | 欧美日韩亚洲系列 | 在线观看www高清视频 | 天堂一区二区三区 | 不卡的av在线 | 国产精品亚洲一区二区三区在线 | 日本黄色免费片 | 久久久精品一区二区三区 | 一区精品国产欧美在线 | 免费在线观看成人 | 久久午夜视频 | 日韩欧美二区 | 国产精品久久久久久吹潮日韩动画 | 国产精品黄色 | 99久久久无码国产精品 | 欧美一级免费看 | 午夜男人免费视频 | 一级欧美| 国户精品久久久久久久久久久不卡 | 久久精品免费观看 | 欧美成人精品在线 | 狠狠爱一区二区三区 | 放个毛片看看 | 日韩av在线免费 | 亚洲一区二区 | 国产精品美女在线观看 | 精品亚洲国产成av人片传媒 | 免费在线播放黄色 | 欧美video | 亚洲精品一二三区 | 欧美一区二区三区在线视频 | 日韩中文字幕一区二区 | 伊人天堂网 | 欧美在线视频a | 国产精品久久久久久久久久久久冷 | 九九亚洲精品 | 欧美日韩在线播放 | 日本a级大片 | 精品国产不卡一区二区三区 |