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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:1009425 發表于 2023-1-3 11:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
0-30V電壓表頭匯編程序,難點:1. 90K的電阻需要多個串并才能達到;2. 四位十六進制轉換成四位BCD碼

1672715579678.png (60.97 KB, 下載次數: 197)

電壓表頭接線圖

電壓表頭接線圖

1672715616391.png (74.72 KB, 下載次數: 158)

電壓表頭匯編程序

電壓表頭匯編程序

評分

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

查看全部評分

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

使用道具 舉報

沙發
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)
回復

使用道具 舉報

5#
ID:963310 發表于 2023-3-2 15:20 | 只看該作者
能做個5位的就厲害了
回復

使用道具 舉報

6#
ID:404454 發表于 2023-4-8 11:59 | 只看該作者
還是用匯編的頭大。
回復

使用道具 舉報

7#
ID:1072518 發表于 2023-4-18 19:40 | 只看該作者
用匯編頭大。
回復

使用道具 舉報

8#
ID:1072518 發表于 2023-4-18 19:41 | 只看該作者
用匯編的高手,牛人呀。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | 久久久一二三区 | 久久av网 | 视频一区二区在线观看 | 久久精品99| 久久精品国产a三级三级三级 | av首页在线| 日韩不卡在线 | 日韩欧美网 | 久久久久久久久久久蜜桃 | 亚洲精选一区二区 | 中国大陆高清aⅴ毛片 | 日韩三区 | 国产午夜精品一区二区三区四区 | 久久久精品国产 | 一本久久a久久精品亚洲 | va精品 | 成人久草 | 欧美日韩精品一区 | 精品一区二区久久 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 亚洲一区二区久久久 | 国产网站久久 | 男女一区二区三区 | 午夜理伦三级理论三级在线观看 | 久久久久久国产精品免费免费狐狸 | 一区二区三区av | 成人美女免费网站视频 | 亚洲在线 | 日韩一区二区在线免费观看 | 在线免费观看毛片 | 91免费观看 | 99精品观看 | 天天av天天好逼 | 精品亚洲一区二区三区四区五区 | 国内av在线 | 免费黄色片在线观看 | 免费在线视频精品 | a级在线 | 在线看一区二区三区 | 欧美黑人狂野猛交老妇 |