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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ACS712電流檢測報警電路與單片機(jī)控制源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:284341 發(fā)表于 2018-3-2 11:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
ACS712電路原理圖如下:


單片機(jī)ACS712電流采集源程序如下:
  1. /********************************************************************
  2.                             匯誠科技
  3. 實(shí)現(xiàn)功能:檢測電流,數(shù)碼管顯示電流值
  4. 使用芯片:STC12C5604AD
  5. 產(chǎn)品模塊編號:兩輸入,一路電流檢測,三個按鍵,四位數(shù)顯,一路繼電器
  6. 晶振:外部晶振 11.0592M
  7. 編譯環(huán)境:Keil -uvision4
  8. 旺旺:
  9.       1、jiangtaoyang88
  10.           2、電子開發(fā)直銷
  11. 【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!     
  12. /********************************************************************
  13. ********************************************************************/
  14. #include<STC12C56.h>                 //庫文件
  15. #include <intrins.h>
  16. #define uchar unsigned char//宏定義無符號字符型
  17. #define uint unsigned int  //宏定義無符號整型
  18. #define FOSC 11059200L
  19. #define BAUD  9600

  20. #define ADC_POWER   0x80            //ADC 電源控制位
  21. #define ADC_FLAG    0x10            //ADC 轉(zhuǎn)換結(jié)束標(biāo)志位
  22. #define ADC_START   0x08            //ADC 開始轉(zhuǎn)換控制位
  23. #define ADC_SPEEDHH 0x60            //270個時鐘周期轉(zhuǎn)換一次

  24. sfr ADC_DATA=0xc6;           //70個時鐘周期轉(zhuǎn)換一次
  25. void display(void);         //顯示函數(shù)
  26. void t_to_dis(uint num);

  27. #define DUAN P2                   //P0口控制段
  28. #define WEI  P1                   //P2口控制位
  29. /********************************************************************
  30.                             初始定義
  31. *********************************************************************/
  32. //數(shù)碼管顯示段碼
  33. code uchar seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF};
  34. //數(shù)碼管位控制端
  35. sbit wei1=P1^0;
  36. sbit wei2=P1^1;
  37. sbit wei3=P1^2;
  38. sbit wei4=P1^3;  
  39. //繼電器輸出控制端                           
  40. sbit OUT=P3^7;
  41. //按鍵輸入控制端
  42. sbit key1=P3^2;
  43. sbit key2=P3^3;
  44. sbit key3=P3^4;
  45. //兩路輸入控制端可做ad采樣
  46. sbit IN1=P1^6;
  47. sbit IN2=P1^5;
  48. sbit IC=P1^7;
  49. uchar numb[4];              //定義字符串用于數(shù)值轉(zhuǎn)換
  50. uchar cnt,times;
  51. uint ad;
  52. float ad1;
  53. /********************************************************************
  54.                             延時函數(shù)
  55. *********************************************************************/
  56. void delay(uint x)//延時程序 0.1秒
  57. {
  58.         uint m,n,s;
  59.         for(m=x;m>0;m--)
  60.         for(n=20;n>0;n--)
  61.         for(s=248;s>0;s--);
  62. }
  63. /********************************************************************
  64.                          AD轉(zhuǎn)換初始化程序
  65. *********************************************************************/
  66. void InitADC()
  67. {
  68.     P1=P1M0|=0xf0;
  69.         P1M1=0x00;
  70.         ADC_DATA=0;        //AD數(shù)據(jù)寄存器清空
  71.     ADC_CONTR=ADC_POWER|ADC_SPEEDHH|ADC_START;//打開AD電源,轉(zhuǎn)換周期XX
  72.     delay(10);                //延時
  73. }
  74. /********************************************************************
  75.                          AD轉(zhuǎn)換控制程序
  76. *********************************************************************/
  77. uint GetADCResult(uchar px)          //轉(zhuǎn)換輸出的數(shù)據(jù) (PX為通道口)
  78. {
  79.       uint t;
  80.         ADC_CONTR=ADC_POWER | ADC_SPEEDHH | px | ADC_START;//開始轉(zhuǎn)換
  81.     _nop_();                        //延時一個機(jī)器周期
  82.     _nop_();                                                //延時一個機(jī)器周期
  83.     _nop_();                                                //延時一個機(jī)器周期
  84.     _nop_();                                                //延時一個機(jī)器周期
  85.         while (!(ADC_CONTR & ADC_FLAG));//等待轉(zhuǎn)換結(jié)束
  86.         ADC_CONTR &= ~ADC_FLAG;       //關(guān)閉AD轉(zhuǎn)換
  87.          t=(ADC_DATA<<2)|ADC_LOW2;
  88.          return t;
  89. }                  
  90. /********************************************************************
  91.                            IO口初始化函數(shù)
  92. *********************************************************************/   
  93. void init_all(void)
  94. {               
  95.     P2M1=0;
  96.         P2M0=0xff;
  97.         P1M1=0x80;
  98.         P1M0=0x0f;
  99.         P3M1&=0x7f;
  100.         P3M0|=0x80;
  101. }
  102. /********************************************************************
  103.                            定時器T1初始化
  104. *********************************************************************/
  105. void timer0init(void)
  106. {
  107.          TMOD=0X01;                  //設(shè)定定時器工作方式
  108.          TH0 =(655336-1000)/256;
  109.      TL0 =(655336-1000)%256;
  110.          ET0=1;
  111.          TR0=1;
  112.          EA=1;
  113. }
  114. /********************************************************************
  115.                             主函數(shù)
  116. *********************************************************************/
  117. void main()
  118. {         
  119.    
  120.     init_all();         //初始化IO
  121.         timer0init();//定時器初始化
  122.     InitADC();  //AD初始化
  123.         while(1)
  124.         {  
  125.                  ad=GetADCResult(7);
  126.                  if(times>=250)
  127.                  {
  128.                     times=0;
  129.                         ad=ad-2;
  130.                     ad1=(ad*50.0)/1024-25;
  131.                     ad1=ad1*100;
  132.                     t_to_dis(ad1);   //數(shù)值變換
  133.                  }
  134.     }
  135. }
  136. /********************************************************************
  137.                             求值函數(shù)
  138. *********************************************************************/
  139. void t_to_dis(uint num)
  140. {       
  141.         numb[0]=num/1000;        ;                        //顯示千位
  142.         numb[1]=num/100%10;                //顯示百位
  143.         numb[2]=num/10%10;                    //顯示十位
  144.         numb[3]=num%10;             //顯示個位
  145. }
  146. /********************************************************************
  147.                            定時器T1中斷函數(shù)
  148. *********************************************************************/
  149. ……………………

  150. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

【簡要說明】
此模塊采用ACS712電流傳感器監(jiān)測設(shè)備電流,數(shù)碼管可以顯示監(jiān)測電流值,通過單片
機(jī)對電流數(shù)據(jù)的采集,來控制繼電器。
通常用于,電流過載報警器,電流監(jiān)測,過載保護(hù)等,,,通過單片機(jī)的編程可以實(shí)
現(xiàn)多種功能,具體可以聯(lián)系店主進(jìn)行溝通.
量程:0~5A、0~20A
測量類型:交流和直流
注:購買時請備注量程和測量類型
一、【簡要說明】
1、 尺寸:長72cmX寬67cmX高2cm
2、 主要芯片:STC12C5604AD
3、 工作電壓:直流12伏(板上有LM7805穩(wěn)壓芯片);
4、 特點(diǎn):

    可編程(通過下載排針可下載程序)
    具有兩路信號輸入端(也可檢測兩路模擬量)
    三個按鍵輸入            
    一路繼電器輸出,可控制兩路交流220V/10A一下設(shè)備
    一路電流檢測輸入(ACS712電流傳感器)
    板子帶有防反接二極管
    標(biāo)準(zhǔn)的11.0592晶振
    板子晶振11.0592,有uart接口,可以方便連接uart轉(zhuǎn)485模塊
    有復(fù)位按鍵
    帶四位數(shù)碼管顯示

5、可以根據(jù)顧客提出要求實(shí)現(xiàn)想要實(shí)現(xiàn)的功能
注:模塊有三種功能,顧客購買時,請聯(lián)系客服,詳細(xì)說明所需功能,
功能一:按鍵設(shè)定電流值(無通信)
功能二:讀取電流設(shè)定報警值
功能三:可根據(jù)顧客需要定制功能,詳細(xì)功能介紹,請看下文

二、【ACS712簡介】
ACS712具有精確的低偏置線性霍爾傳感器電路,且其銅制的電流路徑靠近晶片的表面。通過該銅制電流路徑施加的電流能夠生成可被集成霍爾IC感應(yīng)并轉(zhuǎn)化為成比例電壓的磁場。通過將磁性信號靠近霍爾傳感器,實(shí)現(xiàn)器件精確度優(yōu)化。精確的成比例電壓由穩(wěn)定斬波型低偏置BiCMOS霍爾IC提供,該IC出廠時已進(jìn)行精確度編程。
當(dāng)通過用作電流感測通路的主要銅制電流路徑(從引腳1和2,到3和4)的電流不斷上升時,器件的輸出具有正斜率(>VIOUT(Q))。該傳導(dǎo)通路的內(nèi)電阻通常是1.2 mΩ,具有較低的功耗。銅線的粗細(xì)允許器件在可達(dá)5×的過電流條件下運(yùn)行。傳導(dǎo)通路的接線端與傳感器引腳(引腳5到8)是電氣絕緣的。這讓ACS712電流傳感器可用于那些要求電氣絕緣卻未使用光電絕緣器或其它昂貴絕緣技術(shù)的應(yīng)用。
ACS712采用小型的表面安裝SOIC8封裝。引腳架鍍采用100%霧錫電鍍,可與標(biāo)準(zhǔn)無鉛(Pb)印刷電路板裝配流程兼容。在內(nèi)部,該器件為無鉛產(chǎn)品,倒裝法使用當(dāng)前豁免于RoHS的高溫含鉛焊球除外。器件在出廠裝運(yùn)前已完全校準(zhǔn)。

全部資料51hei下載地址:
例程.rar (138.04 KB, 下載次數(shù): 300)
原理圖.pdf (495.64 KB, 下載次數(shù): 179)
使用說明.pdf (643.23 KB, 下載次數(shù): 169)


評分

參與人數(shù) 1黑幣 +3 收起 理由
kljie1000 + 3

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:378605 發(fā)表于 2018-7-24 17:32 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

板凳
ID:214628 發(fā)表于 2018-8-2 15:14 | 只看該作者
非常感謝!正好需要。
回復(fù)

使用道具 舉報

地板
ID:415940 發(fā)表于 2018-10-26 18:40 | 只看該作者
請教版主 這塊板子哪里購買?
回復(fù)

使用道具 舉報

5#
ID:424122 發(fā)表于 2018-11-10 16:04 | 只看該作者
ACS712 不支持多路輸入?
回復(fù)

使用道具 舉報

6#
ID:429786 發(fā)表于 2018-11-20 11:31 | 只看該作者
謝謝分享!
回復(fù)

使用道具 舉報

7#
ID:255700 發(fā)表于 2019-1-3 10:35 | 只看該作者
謝謝分享,下載學(xué)習(xí)
回復(fù)

使用道具 舉報

8#
ID:169563 發(fā)表于 2019-1-14 10:05 | 只看該作者
會不會出現(xiàn)無電流通過時,顯示不穩(wěn)定現(xiàn)象
回復(fù)

使用道具 舉報

9#
ID:119547 發(fā)表于 2019-1-18 09:21 | 只看該作者
看看怎么樣11111
回復(fù)

使用道具 舉報

10#
ID:237159 發(fā)表于 2019-5-7 12:23 | 只看該作者
打包下不行嗎
回復(fù)

使用道具 舉報

11#
ID:144549 發(fā)表于 2019-6-4 11:45 | 只看該作者

看看怎么樣1111
回復(fù)

使用道具 舉報

12#
ID:305511 發(fā)表于 2019-6-4 19:28 | 只看該作者
可以打包一下嗎
回復(fù)

使用道具 舉報

13#
ID:487362 發(fā)表于 2019-6-12 08:48 | 只看該作者
謝謝!!!
回復(fù)

使用道具 舉報

14#
ID:3666 發(fā)表于 2019-10-25 17:50 | 只看該作者
這三句是什么意思呀?謝謝
回復(fù)

使用道具 舉報

15#
ID:697465 發(fā)表于 2020-4-5 10:40 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区 | 成年人免费在线视频 | 免费的日批视频 | 国产成人在线一区二区 | 一本岛道一二三不卡区 | 亚洲精品片| 国产免费黄网 | 亚洲+变态+欧美+另类+精品 | 国产欧美在线一区二区 | 天天综合干 | 高清18麻豆 | 日韩欧美亚洲 | 91在线精品秘密一区二区 | 五月婷婷丁香 | 日韩视频在线观看中文字幕 | 国产福利资源在线 | 亚洲国产一区二区三区, | 欧美二区三区 | 久久精品一 | 日本高清不卡视频 | 青久草视频| 亚洲综合大片69999 | 91精品国产91久久久久久吃药 | 超碰97免费在线 | 黄色毛片免费视频 | 成人区精品一区二区婷婷 | 国产视频精品区 | 日本一二区视频 | 国产精品久久一区 | 一区二区三区视频在线 | 国产日韩精品一区 | 欧美激情亚洲天堂 | 欧美一级在线免费 | 在线观看成人免费视频 | 欧美日韩久久精品 | 日韩av中文 | 免费h在线 | 影音先锋久久 | 国产欧美日韩综合精品一 | 成人在线视频免费看 | 国内精品久久精品 |