數(shù)字電壓表的設計10324_第1頁
數(shù)字電壓表的設計10324_第2頁
數(shù)字電壓表的設計10324_第3頁
數(shù)字電壓表的設計10324_第4頁
數(shù)字電壓表的設計10324_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機原理 課程結業(yè)報告題目(14): (數(shù)字電壓表的設計)學號:031240634 姓名:劉漫 一、 設計要求以單片機為核心,設計一個數(shù)字電壓表。采用中斷方式,對2路05V的模擬電壓進行循環(huán)采集,采集的數(shù)據送LED顯示,并 存入內存。超過界限時指示燈閃爍。二、 設計原理以單片機為控制器,ADC0809為ADC器件的AD 轉換電路,設計要求的電壓顯示,是對ADC采集所得信號的進一 步處理。為得到可讀的電壓值,需根據ADC的原理,對采集所得的信號進行計算,并顯示在LED上。本項目中ADC0809的參考電壓為+5V,根據定義,采集所得的二進制信號addata所指代的電壓值 為:而若將其顯示到小數(shù)點

2、后兩位,不考慮小數(shù)點的存在(將其乘以100),其計算的數(shù)值為:。將小數(shù)點顯示在第二位數(shù)碼管上,即為實際的電壓。本示例程序將1.25 V和2.5 V作為兩路輸入的報警值,反映在二進制數(shù)字上,分別為0x40和0x80。當AD結果超過這一數(shù) 值時,將會出現(xiàn)二極管閃爍和蜂鳴器發(fā)聲。三、 設計電路圖3.1設計思路1、根據設計要求,選擇AT89C51單片機為核心控制器件。2、A/D轉換采用ADC0809實現(xiàn),輸出端口與單片機的接口為P1口,時鐘等端口與P2口的低四位引腳相連。3、數(shù)字電壓顯示采用LCD顯示。3.2系統(tǒng)組成硬件電路設計由3個部分組成:A/D轉換電路,AT89C51單片機系統(tǒng),LCD顯示系統(tǒng)。

3、硬件電路設計框圖如圖所示:模擬電壓ADC0809轉換AT89C51單片機數(shù)據顯示數(shù)字電壓表系統(tǒng)硬件設計框圖3.3原理圖四、 核心代碼設計思路及程序流程圖4.1程序設計方案根據模塊劃分的原則,將該程序劃分為初始化模塊、A/D轉換子程序和顯示子程序,這三這個程序模塊構成了整個系統(tǒng)軟件的主程序,如圖1如所示:開始初始化調用A/D轉換子程序調用顯示子程序結束是否圖1 數(shù)字式直流電壓表主程序框圖4.2系統(tǒng)子程序設計子程序初始化所謂初始化,是對將要用到的AT89C51單片機內部部件或者擴展芯片進行初始工作狀態(tài)設定,主要設置定時器的工作模式、初值預置、開中斷和打開定時器等。 A/D轉化子程序A/D轉換子程序

4、用來控制對輸入的模塊電壓信號的采集測量,并將對應的數(shù)值存入相應的內存單元,其轉換流程圖如圖2所示。開始啟動轉換A/D轉換結束輸出轉換結果數(shù)值轉換顯示結束是否五、 Proteus仿真圖電壓較小時電壓接近報警值時電壓達到報警值后達到最大測量范圍值時六、 Keil核心源代碼#include reg51.h #include #define uchar unsigned char #define uint unsigned intuchar code normal=normal ;uchar code abnormal=abnormal;sbit ST_ALE=P30; /START and ALE

5、both connect to P3.0 sbit EOC=P31; /EOC connect to P3.1 sbit OE=P32; /OE conect to P3.2 sbit CLK=P33; sbit lcdrs=P24;sbit lcdrw=P25;sbit lcden=P26;sbit beep=P34;sbit led=P35;unsigned char CHANNEL; /AD channel variable uchar code num=0123456789; /*void delay(unsigned char time) unsigned char i,j; for

6、(i=time;i0;i-) for(j=250;j0;j-) ; */ void delay(uint x)uint i;for(;x0;x-)for(i=110;i0;i-);void write_com(uchar com )lcden = 0;lcdrs = 0;/表示命令選擇P1 = com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcden = 0;lcdrs = 1;/n.1 write into the data;P1 = date;delay(5);lcden=1;delay(5);lcden=

7、0; void init() lcden=0;lcdrw=0;write_com(0x38);/lcd顯示模式,16x02;8接口write_com(0x0c);/開顯示,顯示光標,光標閃爍write_com(0x06);/地址自加,字符不整屏移動;write_com(0x01);/清屏; void display(uchar channel) unsigned long temp; unsigned char DATA,count,digit4; unsigned int k=0,i=0; DATA=P0; /save AD data temp=DATA; /the temporary va

8、riable temp=temp*1000/51; /AD formula:D=A*5/255 digit0=temp/1000; /the thousands place digit1=temp%1000/100; /the hundreds place digit2=temp%1000%100/10; /the tens place digit3=temp%1000%100%10; /the ones place if(channel=0) write_com(0x80); write_data(V);write_data(1);write_data(=);write_data(numdi

9、git0);write_data(.);write_data(numdigit1);write_data(numdigit2);write_data(numdigit3);write_com(0x80+0x08);if(DATA0x40)for(count=0;count8;count+)write_data(abnormalcount);beep=1;else for(count=0;count0x80)for(count=0;count8;count+)write_data(abnormalcount);led=1;else for(count=0;count8;count+)write_

10、data(normalcount); led=0; void main() CHANNEL=0xF8; /AD channel 0 ST_ALE=0; /START and ALE default OE=0; /OE default TMOD=0x02; /T0 operate in mode 2 TH0=0xFF; /auto load value TL0=0xFF; /default value EA=1; /all interrupt enable ET0=1; /T0 interrupt enable TR0=1; /T0 run init(); beep=0; led=0; whil

11、e(1) P2=0x07&CHANNEL; /choose AD channel ST_ALE=1; /lock the AD channel address ST_ALE=0; /AD run while(EOC=0); /wait until AD over OE=1; /enable to transmit AD data if(CHANNEL=0xF8) display(0); /view the AD result and diaplay LED if(CHANNEL=0xF9) display(1); /view the AD result and diaplay LED delay(50); /delay to prepare for next AD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論