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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 34798|回復: 95
收起左側

閑時做的一個電流 電壓表頭,用的stc15單片機

  [復制鏈接]
ID:57620 發表于 2017-3-1 12:59 | 顯示全部樓層 |閱讀模式
1488343160889_編輯.jpg 1488343178717_編輯.jpg 電壓表頭.png
做的電壓表頭,受限于單片機的AD轉換精度是10位的,用5V電源,分辨率只有5MV.加了電流取樣電路,也可以作為電流檢測使用。如果需要高精度。設置了2.5V的431取樣電路,可以把電源的變動矯正過來。也可以作為低電壓檢測用

源程序:
  1. /*   采用STC15W401AS單片機。12M晶振。三位數碼管顯示電壓值。*/
  2.                                              
  3. #include "STC15F408.h"
  4. #include <intrins.h>

  5. #define uchar unsigned char  
  6. #define uint  unsigned int   


  7. #define ADC_POWER  0x80                   //AD電源控制位
  8. #define ADC_FLAG 0x10                           //轉換結束標志位。1 結束
  9. #define ADC_START 0x08                           //開始轉換位
  10. #define ADC_SPEEDLL 0x00                  //轉換速度540個時鐘
  11. uchar ADC_POSITION;               //0x00 AD通道位置P1.0, 0x01 AD通道位置P1.1

  12. sbit bai=P1^2;
  13. sbit shi=P1^4;
  14. sbit ge=P1^5;

  15. uchar s1,sec;
  16. uint adval=0;                   //AD轉換值
  17. uint  show;            //電壓值
  18. uint  show1;                     //基準電壓

  19. uchar code table[]={0xF5,0x05,0xD3,0x57,0x27,0x76,0xF6,0x15,0xF7,0x77,0x40};          //P3數碼管數字0-9
  20. uchar code table1[]={0xFD,0x0D,0xDB,0x5F,0x2F,0x7E,0xFE,0x1D,0xFF,0x7F,0x40};          //P3數碼管數字0-9帶小數點

  21. /*****************************************

  22. 系統初始化
  23. *****************************************/
  24. void system_init(void)
  25. {
  26.    
  27.    TMOD=0x01;                        //定時器0工作在方式1,的定時模式
  28.    ET0=1;                            //定時器0中斷允許
  29.    EA=1;                             //系統中斷允許
  30.    TR0=1;                            //定時器1和定時器0開始定時
  31.    TH0=(65536-30000)/256;                       //定時器0的初值30ms
  32.    TL0=(65536-30000)%256;                                 
  33.    sec=59;
  34.    P3M1=0x00;
  35.    P3M0=0xff;
  36.    P5M1=0x00;
  37.    P5M0=0xff;
  38.    P1M1=0x00;
  39.    P1M0=0x1c;
  40. }
  41. /********************************************************
  42. * 函數名稱:delay
  43. * 輸    入:z 延時時間
  44. * 輸    出:無
  45. * 功能描述: 毫秒級延時
  46. ********************************************************/
  47. void delay(uchar n) //延時n ms
  48. {  
  49.     uchar a,b,c;
  50.     for(c=n;c>0;c--)
  51.         for(b=222;b>0;b--)
  52.             for(a=12;a>0;a--);
  53. }

  54. /********************顯示溫度值***************************/

  55. void display()
  56. {  
  57.   uchar c,d,e,f;
  58.   uint         su;
  59.   if(show1>850)
  60.      c=d=e=10;
  61.   else
  62.      {
  63.       su=show;
  64.           c=su/100;                    //分離溫度的各位數值
  65.           f=su%100;
  66.           d=f/10;   
  67.           e=f%10;
  68.          }
  69.   P3=table1[c];                                                  //顯示百位
  70.   P5=table[c];
  71.   bai=1;
  72.   delay(5);
  73.   bai=0;
  74.        
  75.   P3=table[d];                                        //顯示十位
  76.   P5=table[d];
  77.   shi=1;
  78.   delay(5);
  79.   shi=0;
  80.        
  81.   P3=table[e];                                        //顯示個位
  82.   P5=table[e];
  83.   ge=1;
  84.   delay(5);
  85.   ge=0;
  86.           
  87. }

  88. /*****************************************************
  89. ** 函數名稱: void adc_isr() interrupt 5
  90. ** 功能描述: AD中斷,獲取AD數據
  91. ** 輸   入: 無
  92. ** 輸   出: show
  93. ** 全局變量: show
  94. ** 調用模塊: Delay_ms
  95. ********************************************************/
  96. get_ad()
  97. {                   
  98.         ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|ADC_POSITION;     //啟動ADC轉換
  99.         _nop_();
  100.         _nop_();
  101.         _nop_();
  102.         _nop_();
  103.                                                              //默認ADRJ=0; 高8位+低2位
  104.             while(!(ADC_CONTR & ADC_FLAG));                      //等待ADC轉換結束

  105.         ADC_CONTR &= ~ADC_FLAG;                              //必須軟件清0
  106.             adval=ADC_RES;                                       //00000000 00000011  高8位
  107.             adval=ADC_RES<<2|ADC_RESL;                           //00000011 11111111 右對齊 高8位+低2位         // a|b;                                    
  108.                 adval=adval/1.024;        
  109.         return (adval);
  110. }

  111. /******************取20次AD轉換值 求平均值*****************/
  112. AD_work()
  113. {
  114.         uint advalf=0;                    //定義處理后的數值AD_val為浮點數
  115.         uchar i;
  116.         for(i=0;i<50;i++)
  117.            {
  118.                 advalf=advalf+get_ad();   //轉換20次求平均值(提高精度)
  119.                 delay(2);

  120. ………余下程序請下載附件………

復制代碼

0.png
完整代碼下載:
電壓表頭.rar (27.61 KB, 下載次數: 561)

評分

參與人數 1黑幣 +100 收起 理由
admin + 100

查看全部評分

回復

使用道具 舉報

ID:105451 發表于 2017-3-1 22:45 | 顯示全部樓層
留一個記號,備用。
回復

使用道具 舉報

ID:112693 發表于 2017-3-2 08:53 | 顯示全部樓層
牛,樓主威武!!!
回復

使用道具 舉報

ID:73795 發表于 2017-3-2 10:53 | 顯示全部樓層
占個位置,回頭再看
回復

使用道具 舉報

ID:136688 發表于 2017-3-3 12:28 | 顯示全部樓層
謝謝樓主分享!!!
回復

使用道具 舉報

ID:113235 發表于 2017-3-30 11:05 | 顯示全部樓層
謝謝分享,留個記號,準備試試
回復

使用道具 舉報

ID:16695 發表于 2017-4-22 08:49 | 顯示全部樓層
學習中,不錯資料
回復

使用道具 舉報

ID:187675 發表于 2017-4-22 21:05 | 顯示全部樓層
留一個記號,備用。
回復

使用道具 舉報

ID:135361 發表于 2017-6-5 13:45 | 顯示全部樓層
非常好
回復

使用道具 舉報

ID:102702 發表于 2017-6-5 16:46 | 顯示全部樓層
樓主附個電路就好了
回復

使用道具 舉報

ID:138707 發表于 2017-6-6 15:10 | 顯示全部樓層
樓主附個電路就好了
回復

使用道具 舉報

ID:68429 發表于 2017-9-25 19:45 來自觸屏版 | 顯示全部樓層
學習一下 謝謝
回復

使用道具 舉報

ID:90566 發表于 2017-9-28 22:06 來自觸屏版 | 顯示全部樓層
收藏備用
回復

使用道具 舉報

ID:236597 發表于 2017-9-29 16:14 | 顯示全部樓層
....看起來非常不錯·
回復

使用道具 舉報

ID:231936 發表于 2017-9-29 16:31 | 顯示全部樓層
發個電路圖分享。
回復

使用道具 舉報

ID:167337 發表于 2017-9-30 09:19 | 顯示全部樓層
謝謝樓主分享好資源!沒有電路原理圖仿制有難度哦!
回復

使用道具 舉報

ID:90566 發表于 2017-10-17 15:24 | 顯示全部樓層
顯示電流不】
回復

使用道具 舉報

ID:95509 發表于 2017-10-18 13:44 | 顯示全部樓層
謝謝樓主分享!!學習!
回復

使用道具 舉報

ID:124729 發表于 2017-11-3 19:41 | 顯示全部樓層
謝謝樓主分享,值得學習
回復

使用道具 舉報

ID:76133 發表于 2017-11-16 14:52 | 顯示全部樓層

謝謝樓主分享
回復

使用道具 舉報

ID:76133 發表于 2017-11-16 14:53 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:76133 發表于 2017-11-17 11:18 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:250129 發表于 2017-12-2 21:15 | 顯示全部樓層
謝謝,我也留個記號備用
回復

使用道具 舉報

ID:34298 發表于 2017-12-8 16:32 | 顯示全部樓層
測量范圍是多少呢
回復

使用道具 舉報

ID:64913 發表于 2017-12-8 23:29 | 顯示全部樓層
測量范圍是多少呢樓主。。。。。
回復

使用道具 舉報

ID:289512 發表于 2018-3-9 16:22 | 顯示全部樓層
謝謝分享,留個記號,準備試試
回復

使用道具 舉報

ID:120014 發表于 2018-3-16 13:20 | 顯示全部樓層
謝謝樓主分享.
回復

使用道具 舉報

ID:34298 發表于 2018-3-17 10:25 | 顯示全部樓層
范圍多少
回復

使用道具 舉報

ID:286719 發表于 2018-3-22 18:29 | 顯示全部樓層
沒有測試范圍和電路圖嗎?
回復

使用道具 舉報

ID:67356 發表于 2018-4-11 17:08 來自觸屏版 | 顯示全部樓層
謝謝,漲知識了,下載
回復

使用道具 舉報

ID:335063 發表于 2018-10-30 06:46 來自觸屏版 | 顯示全部樓層
看著不錯哦
回復

使用道具 舉報

ID:66287 發表于 2018-10-31 09:51 | 顯示全部樓層
樓主真牛!謝謝分享!
回復

使用道具 舉報

ID:408833 發表于 2018-11-2 10:30 | 顯示全部樓層
樓主可以幫我免費寫個程序嗎
回復

使用道具 舉報

ID:149992 發表于 2018-12-18 20:00 | 顯示全部樓層
謝謝樓主共享,先收藏
回復

使用道具 舉報

ID:149992 發表于 2018-12-22 10:57 | 顯示全部樓層
感謝樓主分享,確實能有個電路圖就好了!!!
回復

使用道具 舉報

ID:436591 發表于 2018-12-22 17:02 | 顯示全部樓層
謝謝樓主分享,空了也整個玩玩。電壓表電流表用的很多
回復

使用道具 舉報

ID:288930 發表于 2019-1-19 13:34 | 顯示全部樓層
謝謝分享!
回復

使用道具 舉報

ID:412814 發表于 2019-2-1 20:32 | 顯示全部樓層
謝謝樓主,學習了。
回復

使用道具 舉報

ID:468209 發表于 2019-2-2 15:39 來自觸屏版 | 顯示全部樓層
支持一下
回復

使用道具 舉報

ID:76133 發表于 2019-2-19 10:30 | 顯示全部樓層
學習一下 謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久精| a级片播放| 亚洲一区二区精品视频在线观看 | 国产精品a久久久久 | 狠狠操天天操 | 久久久久一区 | 欧美一区二区三区一在线观看 | 一级欧美 | 在线中文字幕亚洲 | 国产成人精品免费 | 一级片免费在线观看 | 国产免费一区二区 | 欧美成人一级视频 | 天啪 | 久久精品亚洲精品国产欧美 | 精品日韩一区二区 | 欧美午夜在线 | 91久久综合 | www在线视频 | 久久精品日产第一区二区三区 | 91精品国产乱码久久久久久久久 | 日韩在线免费视频 | 在线视频一区二区三区 | 奇米视频777 | 国产成人99久久亚洲综合精品 | 一区在线视频 | 日日噜噜噜夜夜爽爽狠狠视频97 | 久久精品男人的天堂 | 日日摸天天添天天添破 | 国产在线精品一区二区三区 | 五月婷婷在线播放 | 在线亚洲电影 | 亚洲精品www久久久 www.蜜桃av | 99视频在线播放 | 亚洲一区二区成人 | 别c我啊嗯国产av一毛片 | 天天视频一区二区三区 | 538在线精品 | 一级黄色录像片子 | 久久精品久久综合 | 成人一区二区三区 |