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

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

QQ登錄

只需一步,快速開始

搜索
查看: 14210|回復(fù): 8
收起左側(cè)

基于51單片機(jī)的數(shù)字電流表課程設(shè)計(jì)報(bào)告

  [復(fù)制鏈接]
ID:268018 發(fā)表于 2017-12-27 21:17 | 顯示全部樓層 |閱讀模式
學(xué)生姓名
*
班級(jí)學(xué)號(hào)
1506020134
專  業(yè)
測(cè)控
課程設(shè)計(jì)題目
基于單片機(jī)的數(shù)字電流表設(shè)計(jì)
評(píng)

語(yǔ)

組長(zhǎng)簽字:

成績(jī)

日期

             2017年  月  日


課程設(shè)計(jì)任務(wù)書
學(xué)  院
自動(dòng)化與電氣工程
專 業(yè)
測(cè)控技術(shù)與儀器
學(xué)生姓名
晁云瑞
班級(jí)學(xué)號(hào)
1506020134
課程設(shè)計(jì)題目
基于單片機(jī)的數(shù)字電流表設(shè)計(jì)

實(shí)踐教學(xué)要求與任務(wù):
通過(guò)本課程設(shè)計(jì)使學(xué)生進(jìn)一步鞏固《KeilC程序設(shè)計(jì)》的基本概念、理論、分析方法和實(shí)現(xiàn)方法;增強(qiáng)學(xué)生軟件編程實(shí)現(xiàn)能力和解決實(shí)際問(wèn)題的能力。
1、熟悉所確定的題目從問(wèn)題需求,數(shù)據(jù)結(jié)構(gòu),程序結(jié)構(gòu),難點(diǎn)及關(guān)鍵技術(shù)等方面進(jìn)行分析,形成系統(tǒng)的設(shè)計(jì)方案;
2、根據(jù)方案設(shè)計(jì)硬件電路;
3、軟件編程并調(diào)試;
4、完成文檔整理,按照軟件工程的要求完成設(shè)計(jì)論文;
5、通過(guò)答辯的形式對(duì)程序的功能進(jìn)行評(píng)價(jià)與驗(yàn)收。


工作計(jì)劃與進(jìn)度安排:

第18周(12月25日-12月31日):布置設(shè)計(jì)任務(wù),查資料,完成總體設(shè)計(jì)框架,完善設(shè)計(jì)內(nèi)容,系統(tǒng)調(diào)試,驗(yàn)收答辯。



指導(dǎo)教師:

  2017年   月  日
專業(yè)負(fù)責(zé)人:

2017 年   月   日
學(xué)院教學(xué)副院長(zhǎng):

2017 年   月  日


一、設(shè)計(jì)題目:
基于單片機(jī)的數(shù)字電流表設(shè)計(jì)

二、設(shè)計(jì)要求:
  • 數(shù)字電流表在平常工作環(huán)境中能良好工作
  • 能測(cè)0——1000mA電流,至少能達(dá)1%的精度
  • 要求掌握I/V信號(hào)轉(zhuǎn)換,A/D轉(zhuǎn)換器的使用和數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
  • 電流表能數(shù)字顯示,且由單片機(jī)處理采集數(shù)據(jù)并驅(qū)動(dòng)LED顯示

目  錄


一、功能要求…………………………………………………………………5
二、原理及方案論證..………………………………………………………5
三、系統(tǒng)硬件電路的設(shè)計(jì)………………………………………………………9
四、系統(tǒng)程序的設(shè)計(jì)…………………………………………………………10
五、調(diào)試及設(shè)計(jì)結(jié)果………………………………………………………….19
參考文獻(xiàn)  …………………………………………………………………...20

一、功能要求
1、數(shù)字電流表在平常工作環(huán)境中能良好工作
2、能測(cè)0——1000mA電流,至少能達(dá)1%的精度
3、要求掌握I/V信號(hào)轉(zhuǎn)換,A/D轉(zhuǎn)換器的使用和數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
4、電流表能數(shù)字顯示,且由單片機(jī)處理采集數(shù)據(jù)并驅(qū)動(dòng)LED顯示
二、原理及方案論證
1、數(shù)字電流表工作原理
1.1采樣電阻網(wǎng)絡(luò)
原理如下圖所示,輸入被測(cè)電流通過(guò)量程轉(zhuǎn)換開關(guān)S1——S4,流經(jīng)采樣電阻R1——R4,由歐姆定律可知:U=I*R,因而轉(zhuǎn)換輸出電壓為0V——0.1V的電壓,輸出電壓可再經(jīng)后續(xù)放大電路放大處理。

  

1.2高共模抑制比放大電路
如下圖,由雙運(yùn)放組成的同相輸入高共模抑制比放大電路,其閉環(huán)輸出可表示為:
為使共模輸入為0,可令R1/R2=R4/R3,此時(shí)電路的差動(dòng)閉環(huán)增益為Kd=1+R1/R2, U0=Kd(U1-U2); 下圖即Kd=11,U0=11(U1-U2);


1.3通用A/D轉(zhuǎn)換器
ADC0832 是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。由于它體積小,兼容性強(qiáng),性價(jià)比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。
ADC0832 具有以下特點(diǎn):  
◆ 8 位分辨率;  
◆ 雙通道 A/D轉(zhuǎn)換;
◆ 輸入輸出電平與 TTL/CMOS 相兼容;
◆ 5V 電源供電時(shí)輸入電壓在 0~5V 之間;
◆ 工作頻率為 250KHZ,轉(zhuǎn)換時(shí)間為 32μS;
◆ 一般功耗僅為 15mW;
◆ 8P、14P—DIP(雙列直插)、PICC 多種封裝;
◆ 商用級(jí)芯片溫寬為0°C to +70°C,工業(yè)級(jí)芯片溫寬為- 40°C to +85°C;
芯片接口說(shuō)明
CS_      片選使能,低電平芯片使能。
CH0      模擬輸入通道 0,或作為 IN+/-使用。
CH1      模擬輸入通道 1,或作為 IN+/-使用。
GND      芯片參考 0 電位(地)。
DI        數(shù)據(jù)信號(hào)輸入,選擇通道控制。
DO       數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。
CLK      芯片時(shí)鐘輸入。
Vcc/REF   電源輸入及參考電壓輸入(復(fù)用)。
1.4 AT89C51單片機(jī)
      AT89C51是美國(guó)ATMEL 公司生產(chǎn)的低電壓,高性能CMOS 8 位單片機(jī),片內(nèi)含8k bytes 的可反復(fù)擦寫的只讀程序存 儲(chǔ)器(PEROM)和256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn), 與標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)及8052 產(chǎn)品引腳兼容,片內(nèi)置通用8 位 央處理器(CPU)和Flash 存儲(chǔ)單元,功能強(qiáng)大AT89C52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。
   主要性能參數(shù)
   ·與MCS-51 產(chǎn)品指令和引腳完全兼容
   ·8k 字節(jié)可 擦寫Flash 閃速存儲(chǔ)器
   ·1000 次擦寫周期
   ·全靜態(tài)操作:0Hz-24MHz
   ·三級(jí)加密程序存儲(chǔ)器
   ·256 ×8 字節(jié)內(nèi)部RAM
   ·32 個(gè)可編程I /O  口線
   ·3 個(gè)16 位定時(shí)/計(jì)數(shù)器
   ·8 個(gè) 斷源
   ·可編程串行UART 通道
   ·低功耗空閑和掉電模式
   功能特性概述
      AT89C51提供以下標(biāo)準(zhǔn)功能:8k 字節(jié)Flash 閃速存儲(chǔ)器,256 字節(jié)內(nèi)部RAM,32 個(gè)I /O  口線,3 個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6 向量?jī)杉?jí) 斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C52 可降至0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU 的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。
2、方案論證
      本設(shè)計(jì)采用精密采樣電阻(9歐、0.9歐、0.09歐、0.01歐),電阻精度可達(dá)0.1%可忽略;八位A/D精度為5/256(V);因而除去放大電路增益誤差及線性誤差,電流表精度約為(5/256)/11,約為1.7mA;對(duì)于1000mA的總量程精度可達(dá)0.1%,因而方案可達(dá)設(shè)計(jì)要求。

  • 系統(tǒng)硬件電路的設(shè)計(jì)

本設(shè)計(jì)中用到AT89C52單片機(jī)、八位ADC AD0832、發(fā)光二極管、六位八段顯示數(shù)碼管LED,通用運(yùn)放 UA741 、PNP管及必要的電阻、電容元件等。系統(tǒng)原理方框圖電路仿真簡(jiǎn)圖如上圖。

系統(tǒng)方框圖
四、系統(tǒng)程序設(shè)計(jì)


程序流程圖如下
系統(tǒng)程序流程圖
單片機(jī)源程序如下:
  1. #include<reg52.h>//包含相應(yīng)的頭文件
  2. #include<intrins.h>
  3. #include<math.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. uchar axs[6],azs[6],ac[10],dc[6];
  7. void ITOAZ(int num,uchar *p);         
  8. void ITOAX(int num,uchar *p);
  9. float U,U1;
  10. sbit CS=P3^4;//定義數(shù)模轉(zhuǎn)換器硬件對(duì)應(yīng)引腳
  11. sbit CLK=P3^5;
  12. sbit DO=P3^6;
  13. sbit DI=P3^7;

  14. /******************讀寫AD0832函數(shù)****************/
  15. /************************************************/
  16. unsigned char ReadADC(unsigned char channel)
  17. {
  18. unsigned char j;
  19. unsigned char Temp=0;              
  20. DI=1;
  21. _nop_();
  22. _nop_();
  23. CS=0;//拉低CS端
  24. _nop_();
  25. _nop_();
  26. CLK=1;//拉高CLK端
  27. _nop_();
  28. _nop_();
  29. CLK=0;//拉低CLK端,形成下降沿1
  30. _nop_();
  31. _nop_();
  32. CLK=1;//拉高CLK端
  33. DI=(channel>>1)&0x1;
  34. _nop_();
  35. _nop_();
  36. CLK=0;//拉低CLK端,形成下降沿2
  37. _nop_();
  38. _nop_();
  39. CLK=1;//拉高CLK端
  40. DI=channel&0x1;
  41. _nop_();
  42. _nop_();
  43. CLK=0;//拉低CLK端,形成下降沿3
  44. DI=1;//控制命令結(jié)束
  45. _nop_();
  46. _nop_();
  47. for(j=0;j<8;j++)   //處理讀入8位數(shù)據(jù)
  48.    {
  49.     CLK=0;
  50.               _nop_();
  51.     Temp=(Temp<<1)|DO;
  52.     _nop_();
  53.     CLK=1;
  54.     }
  55.   CS=1;
  56.   CLK=0;
  57.   DI=1;
  58. return(Temp); //返回轉(zhuǎn)換值
  59. }
  60. /************************************************/
  61. /************************************************/

  62. /******************顯示轉(zhuǎn)換函數(shù)******************/
  63. /************************************************/
  64. //延時(shí)函數(shù)
  65. void delay(uint n)
  66. {
  67.               uint a;
  68.               uchar i;
  69.               for(a=n;a>0;a--)
  70.                             for(i=0;i<2;i++);
  71. }         
  72. //將浮點(diǎn)數(shù)轉(zhuǎn)成函數(shù)
  73. void ITOC(float f,uchar *c)
  74. {
  75.               float zs,xs;
  76.               int bxs,bzs,i,k=0;
  77.               xs=modf(f,&zs);         //分離整數(shù)部分與小數(shù)部分函數(shù)
  78.     if(P3==0XFE)
  79.     bxs=(int)((xs*100)+0.5);
  80.     else
  81.     bxs=(int)((xs*100)+0.5); //小數(shù)點(diǎn)后兩位有效數(shù)字
  82.               ITOAX(bxs,axs);      //把小數(shù)部分轉(zhuǎn)換成字符串存入axs數(shù)組
  83.               bzs=(int)zs;          //把整數(shù)部分轉(zhuǎn)成整型
  84.               ITOAZ(bzs,azs);      //把整數(shù)部分轉(zhuǎn)換成字符串存入azs數(shù)組
  85.     for (i=0;axs[i]!='s';i++)  //把最終結(jié)果存入c數(shù)組
  86.                             c[i]=axs[i];
  87.     c[i]='.';
  88.               for(k=0,i=i+1;azs[k]!='s';k++,i++)
  89.                    c[i]=azs[k];
  90.     if(U<0) c[i]='-';
  91.     else c[i]=0xff;
  92.               c[i+1]='s';
  93. }
  94. //將整型數(shù)轉(zhuǎn)換成對(duì)應(yīng)的
  95. void ITOAZ(int num,uchar *p)         
  96. {
  97.               uchar w,i=0;
  98.     do
  99.               {
  100.                             w=num%10;    //將整型數(shù)各位分離,并轉(zhuǎn)換成對(duì)應(yīng)的字符存入a中
  101.                             p[i]=w;           
  102.                             num=num/10;
  103.                             i++;
  104.               }while(num);
  105.     p[i]='s';
  106. }
  107. //將小數(shù)數(shù)部分轉(zhuǎn)換成對(duì)應(yīng)的
  108. void ITOAX(int num,uchar *p)         
  109. {
  110.               uchar w,i=0;
  111.     do
  112.               {
  113.                             w=num%10;    //將整型數(shù)各位分離,并轉(zhuǎn)換成對(duì)應(yīng)的字符存入a中
  114.                             p[i]=w;           
  115.                             num=num/10;
  116.                             i++;
  117.               }while(num);
  118.               while(i<2)
  119.               {p[i]=0;i++;}
  120.               p[i]='s';
  121.      w=p[i];
  122. }
  123. //顯示譯碼函數(shù)
  124. void decode(uchar *n,uchar *dn)
  125. {uchar i;
  126. for(i=0; n[i]!='s';i++)
  127.   {switch( n[i])
  128.    {case 0: dn[i]=0x3F;break;
  129.     case 1: dn[i]=0x06;break;
  130.     case 2: dn[i]=0x5B;break;
  131.     case 9: dn[i]=0x6F;break;
  132.     case 3: dn[i]=0x4F;break;
  133.     case 4: dn[i]=0x66;break;
  134.     case 5: dn[i]=0x6D;break;
  135.     case 6: dn[i]=0x7D;break;
  136.     case 7: dn[i]=0x07;break;
  137.     case 8: dn[i]=0x7F;break;
  138.     case 46: dn[i]=0x80;break;
  139.     case'-':dn[i]=0x40;break;
  140.     default:dn[i]=0x00;break;
  141.     }
  142.   }
  143.   dn[i]='s';
  144. }
  145. /************************************************/
  146. /************************************************/

  147. /********************主換函數(shù)********************/
  148. /************************************************/
  149. void main(void)
  150. {
  151. uchar i,j,P2_;
  152. float A;
  153. while(1)
  154. {
  155. U=ReadADC(0)/256.0;
  156. switch(P1)
  157. {case 0xfe:A=U*10*1.025;break;
  158. case 0xfd:A=U*100/1.09;break;
  159. ……………………
  160. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


  • 調(diào)試及設(shè)計(jì)結(jié)果
    • PROTUSE系統(tǒng)仿真結(jié)果
   系統(tǒng)仿真能正常運(yùn)行,達(dá)設(shè)計(jì)所有指標(biāo),仿真部分電路如下:
PROTUSE系統(tǒng)仿真效果圖
2實(shí)際硬件制作結(jié)果
  根據(jù)電路圖自制電路,測(cè)試結(jié)果:能正常測(cè)量10——1000mA電流,達(dá)大部分設(shè)計(jì)要求。


參考文獻(xiàn):

[1]  單片機(jī)原理與應(yīng)用技術(shù),清華大學(xué)出版社。

[2]  電子技術(shù)基礎(chǔ)(模擬部分、數(shù)字部分). 北京:高等教育出版社,2006.01

[3]  大學(xué)生電子設(shè)計(jì)與應(yīng)用.北京:中國(guó)電力出版社,2007.03

完整的Word格式文檔51黑下載地址:
基于51單片機(jī)的數(shù)字電流表設(shè)計(jì).doc (188 KB, 下載次數(shù): 147)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:341424 發(fā)表于 2018-5-31 16:50 | 顯示全部樓層
你那p0口接的是阻排嗎?
回復(fù)

使用道具 舉報(bào)

ID:348530 發(fā)表于 2018-6-10 23:37 來(lái)自觸屏版 | 顯示全部樓層
守爐小童 發(fā)表于 2018-5-31 16:50
你那p0口接的是阻排嗎?

你好,請(qǐng)問(wèn)一下那個(gè)AD轉(zhuǎn)化器件叫什么呀
回復(fù)

使用道具 舉報(bào)

ID:348530 發(fā)表于 2018-6-10 23:39 來(lái)自觸屏版 | 顯示全部樓層
你好,AD轉(zhuǎn)化器,adc0832和圖上的為什么不一樣呢?
回復(fù)

使用道具 舉報(bào)

ID:346075 發(fā)表于 2018-6-11 16:49 | 顯示全部樓層
有沒(méi)有壓縮包
回復(fù)

使用道具 舉報(bào)

ID:351137 發(fā)表于 2018-6-13 15:28 來(lái)自觸屏版 | 顯示全部樓層
我想知道放大電路和開關(guān)那的電阻值分別是多少?看不清楚,也不會(huì)算
回復(fù)

使用道具 舉報(bào)

ID:351137 發(fā)表于 2018-6-13 15:29 來(lái)自觸屏版 | 顯示全部樓層
笨笨啊 發(fā)表于 2018-6-10 23:37
你好,請(qǐng)問(wèn)一下那個(gè)AD轉(zhuǎn)化器件叫什么呀

ADC0832
回復(fù)

使用道具 舉報(bào)

ID:435005 發(fā)表于 2018-11-28 15:17 | 顯示全部樓層
跪求貼主或者有附件的人能不能把附件郵箱發(fā)我!!謝謝!952648165@qq.com
回復(fù)

使用道具 舉報(bào)

ID:444822 發(fā)表于 2018-12-12 14:09 來(lái)自觸屏版 | 顯示全部樓層
求完整代碼QQ379258257
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲精品a | 欧美精品一区二区在线观看 | 日本精品在线一区 | 亚洲电影成人 | 久久国产一区二区 | 国产乱码精品一区二三赶尸艳谈 | 91激情视频 | 三级视频在线观看电影 | 欧美在线视频免费 | 精品人伦一区二区三区蜜桃网站 | av黄色免费 | 日韩在线观看中文字幕 | 午夜理伦三级理论三级在线观看 | 国精产品一品二品国精在线观看 | 草久久| 久久久久国产精品一区二区 | 在线观看免费av片 | 在线观看中文视频 | 国产黄色免费网站 | 国精日本亚洲欧州国产中文久久 | 久久国产精品视频免费看 | 一区二区伦理电影 | 伊人成人免费视频 | 欧美jizzhd精品欧美巨大免费 | 中文字幕亚洲国产 | 国产精品亚洲一区 | 亚洲综合无码一区二区 | 免费人成激情视频在线观看冫 | 亚洲一区二区三区视频 | 日韩欧美中文 | 久久天堂网 | 欧美成人精品一区二区三区 | 国产成人一区二区 | 国产精品免费一区二区三区 | 欧美激情亚洲天堂 | 97人人超碰 | 农村黄性色生活片 | 免费的色网站 | 日本不卡一区 | 激情在线视频网站 | 蜜臀久久99精品久久久久野外 |