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

標題: STC12C5A60S2單片機18650充電便攜式電壓電流功率表程序原理圖PCB LCD1602顯示屏 [打印本頁]

作者: shengzhen2007    時間: 2021-2-1 15:53
標題: STC12C5A60S2單片機18650充電便攜式電壓電流功率表程序原理圖PCB LCD1602顯示屏
STc-12C5A60S2-LCD1602顯示屏-18650充電便攜式電壓電流功率表

制作出來的實物圖如下:


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機匯編語言源程序如下:
  1.         ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  2.         ;字節地址分配
  3.         ;0C\0D\0E\4位分別對應電流的3位由高位到底位
  4.         ;10H,11H,12H對應電壓的3個數值
  5.         ;13H,14H,15H,16H,17H對應功率的5個數值
  6.         ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  7.         P1ASF        EQU        9DH        ;P1口設置寄存器
  8.         ADC_CONTOR        EQU        BCH        ;ADC控制寄存器
  9.         ADC_RES        EQU        BDH        ;ADC輸出高8位
  10.         ADC_RESL        EQU        BEH        ;ADC低8為輸出
  11.         AUXR1        EQU        A2H        ;設置寄存器
  12.         IJISHU        EQU        30H        ;電流比較次數計數
  13.         UJISHU        EQU        31H        ;電壓比較次數計數
  14.         IL        EQU        32H        ;電流低位
  15.         IH        EQU        33H        ;電流高位
  16.         UL        EQU        34H        ;電壓低位
  17.         UH        EQU        35H        ;電壓高位
  18.         RS        BIT        P2.5        ;定義RS為P2.5
  19.         RW        BIT        P2.6        ;定義RW為P2.6
  20.         E        BIT        P2.7        ;定義E為P2.7
  21.         ORG        0000H
  22.         LJMP        START
  23.         ORG        002BH
  24. START:        MOV        P1ASF,#00000011B        ;開啟P1.0和P1.1作為AD的輸入端口
  25.         MOV        AUXR1,#04H        ;設置AD輸出方式
  26.         MOV        SP,#5FH        ;設置棧底
  27.         MOV        IJISHU,#00H
  28.         MOV        UJISHU,#00H
  29.         ;×××××××××××××××××××××××××
  30. LCD:        MOV        P0,#38H        ;設置功能
  31.         LCALL        XML
  32.         MOV        P0,#38H        ;設置功能
  33.         LCALL        XML
  34.         MOV        P0,#01H        ;清除屏幕
  35.         LCALL        XML
  36.         MOV        P0,#0CH        ;設置顯示屏開,光標關
  37.         LCALL        XML
  38.         MOV        P0,#1CH        ;設置
  39.         LCALL        XML
  40.         ;×××××××××××××××××××××××××××
  41.         ;主程序
  42.         ;--------------------------------------------------------------------------------------------------
  43. MAIN:        MOV        ADC_CONTOR,#11001001B        ;開啟P1.1的AD轉換,電流
  44.         LCALL        AD        ;調用AD子程序
  45.         MOV        A,ADC_RES
  46.         CJNE        A,IH,MAINI
  47.         MOV        A,ADC_RESL
  48.         CJNE        A,IL,MAINI
  49.         MOV        IJISHU,#00H
  50.         SJMP        MAINI1
  51. MAINI:        INC        IJISHU
  52.         MOV        A,#20
  53.         CJNE        A,IJISHU,MAINI1
  54.         MOV        IJISHU,#00H
  55.         MOV        IH,ADC_RES        ;保存電流數據
  56.         MOV        IL,ADC_RESL
  57. MAINI1:        MOV        0AH,IH
  58.         MOV        0BH,IL
  59.         LCALL        2TO10
  60.         MOV        0CH,18H
  61.         MOV        0DH,19H
  62.         MOV        0EH,1AH
  63.         MOV        A,0AH
  64.         RRC        A
  65.         MOV        0AH,A
  66.         MOV        A,0BH
  67.         RRC        A
  68.         MOV        0BH,A
  69.         MOV        A,0AH
  70.         RRC        A
  71.         MOV        A,0BH
  72.         RRC        A
  73.         MOV        09H,A        ;09H保存8位電流數據
  74.         MOV        ADC_CONTOR,#11001000B        ;開啟P1.0的AD轉換        電壓
  75.         LCALL        AD        ;調用AD子程序
  76.         MOV        A,ADC_RES
  77.         CJNE        A,UH,MAINU
  78.         MOV        A,ADC_RESL
  79.         CJNE        A,UL,MAINU
  80.         MOV        UJISHU,#00H
  81.         SJMP        MAINU1
  82. MAINU:        INC        UJISHU
  83.         MOV        A,#20
  84.         CJNE        A,UJISHU,MAINU1
  85.         MOV        UJISHU,#00H
  86.         MOV        UH,ADC_RES        ;保存電壓數據
  87.         MOV        UL,ADC_RESL
  88. MAINU1:        MOV        0AH,UH
  89.         MOV        0BH,UL
  90.         LCALL        2TO10
  91.         MOV        10H,18H
  92.         MOV        11H,19H
  93.         MOV        12H,1AH
  94.         MOV        A,0AH
  95.         RRC        A
  96.         MOV        0AH,A
  97.         MOV        A,0BH
  98.         RRC        A
  99.         MOV        0BH,A
  100.         MOV        A,0AH
  101.         RRC        A
  102.         MOV        A,0BH
  103.         RRC        A
  104.         MOV        08H,A        ;08H保存8位電壓數據
  105.         MOV        B,09H
  106.         MUL        AB
  107.         MOV        R2,B
  108.         MOV        R3,A
  109.         MOV        R4,#61H        ;/25000
  110.         MOV        R5,#A8H
  111.         LCALL        DIVD
  112.         MOV        A,R7
  113.         ADD        A,#30H
  114.         MOV        13H,A
  115.         MOV        R4,#09H
  116.         MOV        R5,#C4H        ;/2500
  117.         LCALL        DIVD
  118.         MOV        A,R7
  119.         ADD        A,#30H
  120.         MOV        14H,A
  121.         MOV        R4,#00H
  122.         MOV        R5,#250        ;/250
  123.         LCALL        DIVD
  124.         MOV        A,R7
  125.         ADD        A,#30H
  126.         MOV        15H,A
  127.         MOV        R4,#00H
  128.         MOV        R5,#25        ;/25
  129.         LCALL        DIVD
  130.         MOV        A,R7
  131.         ADD        A,#30H
  132.         MOV        16H,A
  133.         MOV        A,R3
  134.         CLR        C
  135.         RLC        A
  136.         CLR        C
  137.         RLC        A
  138.         MOV        R3,A
  139.         MOV        R5,#10
  140.         LCALL        DIVD
  141.         MOV        A,R7
  142.         ADD        A,#30H
  143.         MOV        17H,A
  144.         LCALL        XIANSHI
  145.         LJMP        MAIN
  146.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  147.         ;AD轉換子程序
  148.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  149. AD:        MOV        A,ADC_CONTOR
  150.         JNB        E4H,AD
  151.         CLR        E4H
  152.         MOV        ADC_CONTOR,A
  153.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  154.         ;二-十進制轉換子程序,同時加便宜量完成1602的0-9字模地址的轉換        輸出結果18H        19H        1AH
  155.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  156. 2TO10:        MOV        R2,0AH
  157.         MOV        R3,0BH
  158.         MOV        R4,#0
  159.         MOV        R5,#2
  160.         LCALL        DIVD
  161.         MOV        A,R6
  162.         MOV        R2,A
  163.         MOV        A,R7
  164.         MOV        R3,A
  165.         MOV        R4,#00H
  166.         MOV        R5,#100
  167.         LCALL        DIVD
  168.         MOV        18H,R7
  169.         MOV        A,#30H
  170.         ADD        A,18H
  171.         MOV        18H,A
  172.         MOV        R5,#10
  173.         LCALL        DIVD
  174.         MOV        19H,R7
  175.         MOV        A,#30H
  176.         ADD        A,19H
  177.         MOV        19H,A
  178.         MOV        1AH,R3
  179.         MOV        A,#30H
  180.         ADD        A,1AH
  181.         MOV        1AH,A
  182.         RET
  183.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××
  184.         ;雙字節除法運算子程序
  185.         ;入口條件:        被除數在R2、R3、除數在R4、R5中,商在R6、R7中。R1用于計數位移量
  186.         ;出口信息:        余數在R2、R3中,雙字節商在R4、R5中,OV=1        時溢出。
  187.         ;影響資源:        PSW、A、R1~R7
  188.         ;××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  189. DIVD:        PUSH        A
  190.         PUSH        PSW
  191.         MOV        R1,#00H        ;計數器清零
  192.         MOV        R6,#00H
  193.         MOV        R7,#00H
  194.         LCALL        SUBBD        ;判斷夠不夠減
  195.         JC        DIVDE
  196. DIVD1:        MOV        A,R4
  197.         JB        ACC.7,DIVD3        ;判斷最高位是不是1
  198.         CLR        C        ;除數左移一位
  199.         MOV        A,R5        
  200.         RLC        A
  201.         MOV        R5,A
  202.         MOV        A,R4
  203.         RLC        A
  204.         MOV        R4,A
  205.         INC        R1        ;左移計數器計數
  206.         LCALL        SUBBD        ;比較左移后夠不夠減
  207.         JNC        DIVD1        ;夠減轉移,不夠減繼續
  208.         LCALL        DIVDR        ;除數右移一位
  209.         DEC        R1        ;右移了,所以要-1
  210. DIVD3:        CLR        C
  211.         MOV        A,R3        ;開始減法
  212.         SUBB        A,R5
  213.         MOV        R3,A
  214.         MOV        A,R2
  215.         SUBB        A,R4
  216.         MOV        R2,A
  217.         INC        R7
  218. DIVD4:        CJNE        R1,#00H,DIVD5        ;判斷是不是到最后一位了
  219.         SJMP        DIVDE
  220. DIVD5:        LCALL        DIVDR        ;除數右移一位
  221.         MOV        A,R7
  222.         CLR        C
  223.         RLC        A
  224.         MOV        R7,A
  225.         MOV        A,R6
  226.         RLC        A
  227.         MOV        R6,A
  228.         DEC        R1        ;位置計數器-1
  229.         LCALL        SUBBD        ;比較夠不夠減
  230.         JC        DIVD4
  231.         SJMP        DIVD3
  232. SUBBD:        CLR        C        ;判斷夠不夠減子程序
  233.         MOV        A,R3
  234.         SUBB        A,R5
  235.         MOV        A,R2
  236.         SUBB        A,R4
  237.         RET
  238. DIVDR:        CLR        C
  239.         MOV        A,R4
  240.         RRC        A
  241.         MOV        R4,A
  242.         MOV        A,R5
  243.         RRC        A
  244.         MOV        R5,A
  245.         RET
  246. DIVDE:        SETB        OV
  247.         POP        PSW
  248.         POP        A
  249.         RET
  250.         ;××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  251.         ;顯示驅動
  252.         ;××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  253. XIANSHI:        MOV        P0,#80H        
  254.         LCALL        XML
  255.         MOV        P0,#55H        ;電壓部分(10H,11H,12H為電壓的三位數值)
  256.         LCALL        XSJ
  257.         MOV        P0,#3DH
  258.         LCALL        XSJ
  259.         MOV        A,#30H
  260.         CJNE        A,10H,DYXY
  261.         MOV        P0,#20H
  262.         SJMP        DYXY1
  263. DYXY:        MOV        P0,10H        ;電壓最高位顯示0時消隱
  264. DYXY1:        LCALL        XSJ
  265.         MOV        P0,11H
  266.         LCALL        XSJ
  267.         MOV        P0,#2EH
  268.         LCALL        XSJ
  269.         MOV        P0,12H
  270.         LCALL        XSJ
  271.         MOV        P0,#76H
  272.         LCALL        XSJ
  273.         MOV        P0,#20H        ;電流部分(0CH,0DH,0EH對應電流的3個數值)
  274. ……………………

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

IMG_20210201_105716.jpg (1.97 MB, 下載次數: 112)

資料

資料

圖片一張.png (26.66 KB, 下載次數: 108)

資料

資料

原理圖.png (28.52 KB, 下載次數: 78)

資料

資料

P60F[[0H1@8[$OUU3VYT5OK.png (11.1 KB, 下載次數: 93)

資料

資料

STU-12C5A60S2-LCD1602顯示屏-18650充電便攜式電壓電流功率表.zip

5.55 MB, 下載次數: 134, 下載積分: 黑幣 -5

資料


作者: hslcac    時間: 2021-2-1 16:37
制作的很不錯,謝謝樓主分享資料
作者: zkele    時間: 2021-2-1 20:26
又一匯編高手,謝謝分享
作者: ZhOuU1    時間: 2021-2-2 10:32
我去,匯編寫的,大神啊
作者: fhq1087    時間: 2021-2-5 23:15
匯編大佬
作者: catlu    時間: 2021-2-6 09:28
匯編語言看不懂,不過樓主的設計能小型化就離商用不遠了
作者: 1588848    時間: 2022-12-12 21:06

又一匯編高手,謝謝分享




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 97高清国语自产拍 | 中文字幕日韩在线观看 | 韩日精品在线观看 | 久久久久久国产 | 羞羞视频在线免费 | 免费一区二区 | 久久精品色欧美aⅴ一区二区 | 亚洲国产精品久久久久秋霞不卡 | 成人国产精品久久久 | 国产精品久久久久久久久免费 | 日韩精品二区 | 午夜免费观看网站 | 国产欧美三区 | 午夜免费看| 精品影院 | 在线观看第一区 | 欧美日韩一区二区三区四区五区 | 久草视频观看 | 在线久草 | 蜜臀网 | 欧美成ee人免费视频 | 99亚洲| av中文在线 | 一区二区三区免费 | 日韩精品一区二区三区中文字幕 | 国产日韩欧美在线 | 国产在线播放av | jizz亚洲人 | 亚洲一区二区三区在线 | 国产成人jvid在线播放 | 国产欧美视频一区 | 日韩波多野结衣 | 日韩精品区 | 黄色网络在线观看 | 午夜精品一区二区三区在线视频 | 亚洲精品一区中文字幕乱码 | 欧美国产日韩一区二区三区 | 国产ts人妖另类 | 性一交一乱一伦视频免费观看 | 亚洲成人免费电影 | av天天看|