找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 38864|回復(fù): 56
打印 上一主題 下一主題
收起左側(cè)

stc單片機(jī)電壓電流表制作 含源程序與原理圖 有實(shí)物

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
分享一個(gè)stc12c5a16s2單片機(jī)電壓電流表,含有原理圖和程序,有需要的自己下載參考。

單片機(jī)電壓電流表的實(shí)物圖:

原理圖:


電壓電流表的匯編語(yǔ)言源程序:
  1.         ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  2.         ;字節(jié)地址分配
  3.         ;0C\0D\0E\4位分別對(duì)應(yīng)電流的3位由高位到底位
  4.         ;10H,11H,12H對(duì)應(yīng)電壓的3個(gè)數(shù)值
  5.         ;13H,14H,15H,16H,17H對(duì)應(yīng)功率的5個(gè)數(shù)值
  6.         ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  7.         P1ASF        EQU        9DH        ;P1口設(shè)置寄存器
  8.         ADC_CONTOR        EQU        BCH        ;ADC控制寄存器
  9.         ADC_RES        EQU        BDH        ;ADC輸出高8位
  10.         ADC_RESL        EQU        BEH        ;ADC低8為輸出
  11.         AUXR1        EQU        A2H        ;設(shè)置寄存器
  12.         IJISHU        EQU        30H        ;電流比較次數(shù)計(jì)數(shù)
  13.         UJISHU        EQU        31H        ;電壓比較次數(shù)計(jì)數(shù)
  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        ;開(kāi)啟P1.0和P1.1作為AD的輸入端口
  25.         MOV        AUXR1,#04H        ;設(shè)置AD輸出方式
  26.         MOV        SP,#5FH        ;設(shè)置棧底
  27.         MOV        IJISHU,#00H
  28.         MOV        UJISHU,#00H
  29.         ;×××××××××××××××××××××××××
  30. LCD:        MOV        P0,#38H        ;設(shè)置功能
  31.         LCALL        XML
  32.         MOV        P0,#38H        ;設(shè)置功能
  33.         LCALL        XML
  34.         MOV        P0,#01H        ;清除屏幕
  35.         LCALL        XML
  36.         MOV        P0,#0CH        ;設(shè)置顯示屏開(kāi),光標(biāo)關(guān)
  37.         LCALL        XML
  38.         MOV        P0,#1CH        ;設(shè)置
  39.         LCALL        XML
  40.         ;×××××××××××××××××××××××××××
  41.         ;主程序
  42.         ;--------------------------------------------------------------------------------------------------
  43. MAIN:        MOV        ADC_CONTOR,#11001001B        ;開(kāi)啟P1.1的AD轉(zhuǎn)換,電流
  44.         LCALL        AD        ;調(diào)用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        ;保存電流數(shù)據(jù)
  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位電流數(shù)據(jù)
  74.         MOV        ADC_CONTOR,#11001000B        ;開(kāi)啟P1.0的AD轉(zhuǎn)換        電壓
  75.         LCALL        AD        ;調(diào)用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        ;保存電壓數(shù)據(jù)
  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位電壓數(shù)據(jù)
  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轉(zhuǎn)換子程序
  148.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  149. AD:        MOV        A,ADC_CONTOR
  150.         JNB        E4H,AD
  151.         CLR        E4H
  152.         MOV        ADC_CONTOR,A
  153.         ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  154.         ;二-十進(jìn)制轉(zhuǎn)換子程序,同時(shí)加便宜量完成1602的0-9字模地址的轉(zhuǎn)換        輸出結(jié)果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.         ;雙字節(jié)除法運(yùn)算子程序
  185.         ;入口條件:        被除數(shù)在R2、R3、除數(shù)在R4、R5中,商在R6、R7中。R1用于計(jì)數(shù)位移量
  186.         ;出口信息:        余數(shù)在R2、R3中,雙字節(jié)商在R4、R5中,OV=1        時(shí)溢出。
  187.         ;影響資源:        PSW、A、R1~R7
  188.         ;××××××××××××××××××××××××××××××××××××××××××××××××××××××××
  189. DIVD:        PUSH        A
  190.         PUSH        PSW
  191.         MOV        R1,#00H        ;計(jì)數(shù)器清零
  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        ;除數(shù)左移一位
  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        ;左移計(jì)數(shù)器計(jì)數(shù)
  206.         LCALL        SUBBD        ;比較左移后夠不夠減
  207.         JNC        DIVD1        ;夠減轉(zhuǎn)移,不夠減繼續(xù)
  208.         LCALL        DIVDR        ;除數(shù)右移一位
  209.         DEC        R1        ;右移了,所以要-1
  210. DIVD3:        CLR        C
  211.         MOV        A,R3        ;開(kāi)始減法
  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        ;除數(shù)右移一位
  221.         

  222. …………余下代碼請(qǐng)下載附件…………

復(fù)制代碼


所有資料下載:
108_1316154_e5898954f06cb7b.zip (519.24 KB, 下載次數(shù): 441)

評(píng)分

參與人數(shù) 6黑幣 +133 收起 理由
BigWheels + 12
新鄉(xiāng)家電維修 + 5 絕世好帖!
vvv64 + 5
qjzyx + 6 贊一個(gè)!
xichang + 5
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:168529 發(fā)表于 2017-3-6 14:20 | 只看該作者
ZIJIIZz自己占沙發(fā),自己頂一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:151348 發(fā)表于 2017-3-7 09:04 | 只看該作者
板子做得挺漂亮,就是不懂匯編啊。。。。。。
回復(fù)

使用道具 舉報(bào)

地板
ID:198161 發(fā)表于 2017-5-8 15:23 | 只看該作者
匯編不懂~~ 贊一個(gè)~~ 這個(gè)精度可以達(dá)到多少呢?
回復(fù)

使用道具 舉報(bào)

5#
ID:134271 發(fā)表于 2017-5-28 08:43 | 只看該作者
謝謝分享?上菂R編。
回復(fù)

使用道具 舉報(bào)

6#
ID:195950 發(fā)表于 2017-6-2 10:53 來(lái)自手機(jī) | 只看該作者
能改成C么??
回復(fù)

使用道具 舉報(bào)

7#
ID:200118 發(fā)表于 2017-6-9 21:58 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

8#
ID:159139 發(fā)表于 2017-6-10 10:52 來(lái)自手機(jī) | 只看該作者
很喜歡的東東,唉!可惜不懂匯編。
回復(fù)

使用道具 舉報(bào)

9#
ID:215064 發(fā)表于 2017-7-24 15:54 | 只看該作者
貌似有數(shù)控電源的的功能,好像原理圖沒(méi)有給全。希望有高手能完善一下。
回復(fù)

使用道具 舉報(bào)

10#
ID:215064 發(fā)表于 2017-7-24 16:06 | 只看該作者
貌似有數(shù)控電源的的功能,好像原理圖沒(méi)有給全。希望有高手能完善一下。

51AD1.jpg (107.88 KB, 下載次數(shù): 205)

51AD1.jpg
回復(fù)

使用道具 舉報(bào)

11#
ID:227784 發(fā)表于 2017-8-27 17:04 來(lái)自手機(jī) | 只看該作者
怎么沒(méi)ad轉(zhuǎn)換?
回復(fù)

使用道具 舉報(bào)

12#
ID:187478 發(fā)表于 2017-8-28 15:09 | 只看該作者
15393729688 發(fā)表于 2017-8-27 17:04
怎么沒(méi)ad轉(zhuǎn)換?

他是采用單片機(jī)內(nèi)部自帶的AD采集,而且從原理圖可以看出,他只有采集直流電壓的功能
回復(fù)

使用道具 舉報(bào)

13#
ID:187478 發(fā)表于 2017-8-28 15:23 | 只看該作者
請(qǐng)問(wèn):你的被測(cè)直流電壓范圍多少?電壓采集的那個(gè)原理我沒(méi)看太懂,可以講述下嗎?你這個(gè)只能采集直流吧?
回復(fù)

使用道具 舉報(bào)

14#
ID:187478 發(fā)表于 2017-8-28 15:29 | 只看該作者
感覺(jué)這個(gè)是采用電阻分壓形式,只用了個(gè)200K電阻進(jìn)行分壓采集,調(diào)節(jié)電阻可以改變測(cè)量范圍,但是LM358這個(gè)我沒(méi)看太懂,是用來(lái)隔離前后兩級(jí)的?感覺(jué)是測(cè)量精度會(huì)很差,而且只能測(cè)量直流
回復(fù)

使用道具 舉報(bào)

15#
ID:235062 發(fā)表于 2017-9-23 11:26 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

16#
ID:142383 發(fā)表于 2017-9-25 20:46 | 只看該作者
練氏 發(fā)表于 2017-8-28 15:29
感覺(jué)這個(gè)是采用電阻分壓形式,只用了個(gè)200K電阻進(jìn)行分壓采集,調(diào)節(jié)電阻可以改變測(cè)量范圍,但是LM358這個(gè)我 ...

LM358應(yīng)該是放大電流取樣信號(hào)的,然后送到單片機(jī)IO口進(jìn)行AD轉(zhuǎn)換,從而得到電流值。
回復(fù)

使用道具 舉報(bào)

17#
ID:142790 發(fā)表于 2017-9-26 10:36 | 只看該作者
學(xué)習(xí)。學(xué)習(xí) 拿來(lái)學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

18#
ID:266758 發(fā)表于 2017-12-25 20:53 | 只看該作者
不錯(cuò),正是我需要的
回復(fù)

使用道具 舉報(bào)

19#
ID:72624 發(fā)表于 2018-2-21 17:27 | 只看該作者
Zhyy007 發(fā)表于 2017-3-6 14:20
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

電路圖提供不完整呢
回復(fù)

使用道具 舉報(bào)

20#
ID:163501 發(fā)表于 2018-2-23 10:16 | 只看該作者
這種用單片機(jī)內(nèi)的AD轉(zhuǎn)換功能做表頭,思路是好的, 只可惜,只有10位,也就是只能精確到1/1024,做電壓表還可以,做電流表就顯得有點(diǎn)不夠了。
回復(fù)

使用道具 舉報(bào)

21#
ID:250182 發(fā)表于 2018-2-23 14:52 | 只看該作者
正是我需要的,謝謝
回復(fù)

使用道具 舉報(bào)

22#
ID:266116 發(fā)表于 2018-2-23 15:15 | 只看該作者
做得很好看,收藏學(xué)習(xí),謝謝!
回復(fù)

使用道具 舉報(bào)

23#
ID:286600 發(fā)表于 2018-3-6 14:58 | 只看該作者
匯編的[雙字節(jié)除法運(yùn)算子程序] 值得參考
回復(fù)

使用道具 舉報(bào)

24#
ID:7503 發(fā)表于 2018-3-8 08:10 | 只看該作者
學(xué)習(xí)學(xué)習(xí),正需要
回復(fù)

使用道具 舉報(bào)

25#
ID:124995 發(fā)表于 2018-3-27 20:47 | 只看該作者
不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

26#
ID:303099 發(fā)表于 2018-4-8 10:48 | 只看該作者
學(xué)習(xí)了,感謝樓主分享
回復(fù)

使用道具 舉報(bào)

27#
ID:303954 發(fā)表于 2018-4-8 20:32 | 只看該作者
謝謝樓主 學(xué)習(xí)學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

28#
ID:57366 發(fā)表于 2018-4-9 17:54 | 只看該作者
想要增加一個(gè)431基準(zhǔn)。有懂的大神指點(diǎn)一下么。
回復(fù)

使用道具 舉報(bào)

29#
ID:289512 發(fā)表于 2018-4-19 15:56 | 只看該作者
好好學(xué)習(xí),天天向上。。。。
回復(fù)

使用道具 舉報(bào)

30#
ID:58625 發(fā)表于 2018-5-31 11:07 | 只看該作者
學(xué)習(xí)下交流下
回復(fù)

使用道具 舉報(bào)

31#
ID:337280 發(fā)表于 2018-7-20 09:31 | 只看該作者
匯編  看不懂   
回復(fù)

使用道具 舉報(bào)

32#
ID:32574 發(fā)表于 2018-9-28 17:21 | 只看該作者
謝謝樓主無(wú)私分享,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

33#
ID:194903 發(fā)表于 2018-9-28 19:49 | 只看該作者
支持啊~~~。!
回復(fù)

使用道具 舉報(bào)

34#
ID:239055 發(fā)表于 2018-10-8 07:52 來(lái)自手機(jī) | 只看該作者
這電壓電流量程是多少?精度怎么樣?
回復(fù)

使用道具 舉報(bào)

35#
ID:407175 發(fā)表于 2018-10-9 18:56 | 只看該作者
沒(méi)錯(cuò),使用單片機(jī)自帶的AD轉(zhuǎn)換,其精度比較差了。作為參考還是可以的。
回復(fù)

使用道具 舉報(bào)

36#
ID:186637 發(fā)表于 2018-10-19 21:46 | 只看該作者
謝謝分享!學(xué)習(xí)學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

37#
ID:72088 發(fā)表于 2018-10-26 08:36 | 只看該作者
       ;AD轉(zhuǎn)換子程序
AD:    MOV        A,ADC_CONTOR
        JNB        E4H,AD
        CLR        E4H
這里E4H是位操作,到底是哪一位???
轉(zhuǎn)換結(jié)束標(biāo)志位嗎?ADC_FLAG
不懂啊
回復(fù)

使用道具 舉報(bào)

38#
ID:76408 發(fā)表于 2019-3-7 10:57 | 只看該作者
樓主辛苦了我收藏了
回復(fù)

使用道具 舉報(bào)

39#
ID:63317 發(fā)表于 2019-3-8 08:00 | 只看該作者
謝謝分享資料
回復(fù)

使用道具 舉報(bào)

40#
ID:499770 發(fā)表于 2019-3-28 11:47 | 只看該作者
謝謝分享?上菂R編
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表