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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3214|回復: 7
收起左側

0-30V電壓表頭 單片機匯編實例

[復制鏈接]
ID:1009425 發表于 2023-1-3 11:21 | 顯示全部樓層 |閱讀模式
0-30V電壓表頭匯編程序,難點:1. 90K的電阻需要多個串并才能達到;2. 四位十六進制轉換成四位BCD碼

電壓表頭接線圖

電壓表頭接線圖

電壓表頭匯編程序

電壓表頭匯編程序

評分

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

查看全部評分

回復

使用道具 舉報

ID:1009425 發表于 2023-1-3 11:24 | 顯示全部樓層
三位表頭,匯編語言程序包含四位轉換(沒有編譯)
  1.        ADC_CONTR   EQU 0BCH            ;ADC控制寄存器       ;;;IC:15L204EA,內部振蕩6M,不分頻,3.26V/256=0.0127V,0v-3.26v;;;;
  2.        ADC_RES     EQU 0BDH            ;ADC高8位結果
  3.        P1ASF       EQU 09DH            ;P1口第2功能控制寄存器
  4.                  JU1         DATA 32H
  5.                  JU2         DATA 33H
  6.                  JU3         DATA 34H
  7.                  JU4         DATA 35H
  8.                  JU5         DATA 36H
  9.        ORG   0000H
  10.        LJMP  MAIN1
  11.        ORG   0040H
  12. MAIN1:  MOV  SP,#7FH
  13.         LCALL INIT_ADC
  14. MAIN2:  LCALL GET_ADC_RESULT        ;讀取高8位結果
  15.        MOV   A,ADC_RES
  16.        MOV   B,#07FH                ;電壓比127,改變測量范圍,修改電壓比
  17.                  MUL   AB
  18.                  MOV   R0,A                  ;低8位結果
  19.                  MOV   R1,B                  ;高8位結果
  20.        ACALL BCD
  21. ;       MOV   A,JU2                 ;四位十進制數轉四位BCD碼顯示
  22. ;       MOV DPTR,#TAB              ;千分位數,P3.4
  23. ;              MOVC A,@A+DPTR
  24. ;                 MOV   P2,A
  25. ;                 MOV   P3,#0EFH
  26. ;                 ACALL YS3
  27.                  MOV   A,JU4               ;百分位數,P3.5
  28.        MOV DPTR,#TAB              
  29.               MOVC A,@A+DPTR
  30.                  MOV   P2,A
  31.                  MOV   P3,#0DFH
  32.                  ACALL YS3
  33.                  MOV   A,JU3              ;十分位數,P3.6
  34.        MOV DPTR,#TAB1              
  35.               MOVC A,@A+DPTR
  36.                  MOV   P2,A
  37.                  MOV   P3,#0BFH
  38.                  ACALL YS3
  39.                  MOV   A,JU5               ;個位數,P3.7
  40.        MOV DPTR,#TAB            ;個位數帶小數點顯示         
  41.               MOVC A,@A+DPTR
  42.                  MOV   P2,A
  43.                  MOV   P3,#7FH
  44.        ACALL YS3
  45.                  LJMP  MAIN2

  46. GET_ADC_RESULT:                 ;讀取ADC結果
  47.     PUSH  ACC
  48.     MOV   ADC_CONTR,#11101011B         ;ADC控制寄存器__開ADC電源1,最高轉換速度11,ADC_FLAG軟件標志位清0,
  49.                                      ;ADC_START啟動1,轉換通道001(P1.3)
  50.     NOP                         ;等待4個NOP
  51.     NOP
  52.     NOP
  53.     NOP
  54. WAIT:MOV   A,#00010000B           ;等待ADC轉換完成,判斷ADC_FLAG是否完成,等于1
  55.     ANL   A,ADC_CONTR
  56.     JZ    WAIT                   ;AD轉換未完成,繼續等待
  57.     ANL   ADC_CONTR,#11101011B  ;結束標志位ADC_FLAG清零,ADC_START位清零,停止A/D等待
  58.     POP   ACC
  59.     RET
  60. INIT_ADC:                       ;初始化ADC
  61.     MOV   P1ASF,#11B            ;設置P1.3口為AD口
  62.     MOV   ADC_RES,#0            ;清除結果寄存器
  63.     MOV   ADC_CONTR,#11101011B  ;ADC控制寄存器--開ADC電源,最高轉換速度11
  64.     MOV   A,#2                  ;ADC上電并延時
  65.     LCALL DELAY
  66.     RET
  67. DELAY:MOV   R2,A                   ;軟件延時
  68.     CLR   A
  69.     MOV   R0,A
  70.     MOV   R1,A
  71. DELAY1:
  72.     DJNZ  R0,DELAY1
  73.     DJNZ  R1,DELAY1
  74.     DJNZ  R2,DELAY1
  75.     RET
  76. YS3:     MOV R4,#40                ;延時程序2
  77. D2:      MOV R5,#250
  78.          DJNZ R5,$
  79.          DJNZ R4,D2
  80.          RET
  81. BCD:   MOV R2,#00h                 ;四位十六進制數轉五位十進制數
  82.        MOV R3,#00h
  83.        MOV R4,#00h
  84.        MOV R5,#16
  85. LOOP:  CLR C
  86.        MOV A,R0
  87.        RLC A
  88.        MOV R0,A
  89.        MOV A,R1
  90.        RLC A
  91.        MOV R1,A
  92.        MOV A,R4
  93.        ADDC A,R4
  94.        DA A
  95.        MOV R4,A
  96.        MOV A,R3
  97.        ADDC A,R3
  98.        DA A
  99.        MOV R3,A
  100.        MOV A,R2
  101.        ADDC A,R2
  102.        MOV R2,A
  103.        DJNZ R5,LOOP
  104.        MOV  A,R4
  105.        MOV  B,#16
  106.        DIV  AB
  107.        MOV  JU1,A
  108.        MOV  JU2,B
  109.        MOV  A,R3
  110.        MOV  B,#16
  111.        DIV  AB
  112.        MOV  JU3,A
  113.        MOV  JU4,B
  114.        MOV  JU5,R2
  115.        RET
  116. TAB:   DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
  117. TAB1:  DB 040H,079H,024H,030H,019H,012H,02H,078H,00H,010H
  118.     END
復制代碼

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:1048397 發表于 2023-1-13 08:22 | 顯示全部樓層
匯編寫的很專業,圖沒有看懂,MCU數碼管,信號源在哪接呀?
回復

使用道具 舉報

ID:1009425 發表于 2023-2-1 09:15 | 顯示全部樓層
MOV   ADC_CONTR,#11101011B         ;ADC控制寄存器__開ADC電源1,最高轉換速度11,ADC_FLAG軟件標
                                                         志位清0,
                                                        ;ADC_START啟動1,轉換通道001(P1.3)
回復

使用道具 舉報

ID:963310 發表于 2023-3-2 15:20 | 顯示全部樓層
能做個5位的就厲害了
回復

使用道具 舉報

ID:404454 發表于 2023-4-8 11:59 | 顯示全部樓層
還是用匯編的頭大。
回復

使用道具 舉報

ID:1072518 發表于 2023-4-18 19:40 | 顯示全部樓層
用匯編頭大。
回復

使用道具 舉報

ID:1072518 發表于 2023-4-18 19:41 | 顯示全部樓層
用匯編的高手,牛人呀。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久 | 国产一区二区影院 | 精品视频国产 | 99国产视频| 国产精品久久久久久久久 | 成人福利网站 | 日韩中文在线视频 | 雨宫琴音一区二区在线 | 久久精品色欧美aⅴ一区二区 | 亚洲欧美一区二区三区国产精品 | 中文字幕免费在线观看 | 精品一区二区三区四区 | 亚洲高清视频在线观看 | 婷婷五月色综合 | www.四虎.com| 亚洲精品日本 | 国产精品久久久久久久毛片 | 日韩精品在线免费 | 久久蜜桃资源一区二区老牛 | 国产一区二区在线免费播放 | 一区二区三区视频在线观看 | 天堂av资源 | 精品美女久久久久久免费 | 日韩欧美三级在线 | av大全在线观看 | 天天夜夜操 | 国产乱码久久久久久 | 日韩色在线 | 国产女人与拘做视频免费 | 中文字幕在线观看成人 | 精品无码久久久久久国产 | www.国产| 日本三级视频 | 久久视频精品 | 真人毛片 | av中文字幕在线观看 | 欧美一区二区精品 | 激情久久久久 | 一级黄片一级毛片 | 色爱综合网| 91在线视频网址 |