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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5622|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩视频一区二区 | 国产欧美精品一区二区 | 欧美在线一区二区三区四区 | 欧美xxxx在线 | 性做久久久久久免费观看欧美 | 国产日韩欧美精品一区二区三区 | 精品欧美一区二区三区久久久 | 中文在线一区二区 | 亚洲成人自拍 | 自拍视频国产 | 91视在线国内在线播放酒店 | 国产精品国产精品国产专区不片 | 国产精品久久久久久久久久了 | 亚洲高清一区二区三区 | 成人免费激情视频 | 亚洲欧美中文字幕在线观看 | 亚洲成人蜜桃 | 一区二区三区四区不卡 | av天天看| 天天操天天干天天曰 | 狠狠色综合欧美激情 | 日本天天操 | 久久成人一区 | 天天爽夜夜操 | 91一区二区| 特级毛片 | 日韩影院一区 | 国产色网站 | 国产免费一区二区 | 日日淫 | 久久久久久久一区二区三区 | 天天爽夜夜爽精品视频婷婷 | 日韩精品激情 | 国产精品一区二区三区久久 | 免费视频成人国产精品网站 | 国产伦一区二区三区四区 | 久久狠狠| 亚洲一区二区在线电影 | 天天插天天搞 | 久久日韩粉嫩一区二区三区 | 天天操夜夜艹 |