




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機課程設計姓 名: 學 號: 專 業(yè): 電子科學與技術(shù) 題 目: 單片機電壓采集裝置 專 題: AD轉(zhuǎn)換及編程實現(xiàn) 指導教師: 設計地點: 實驗樓 時 間: 20121220 2012 年 12月單片機課程設計任務書專業(yè)年級 電科 學號 學生姓名 任務下達日期:2012年 12 月20 日設計日期: 2012年12月1日 至 2012 年 12月20日設計題目: 單片機電壓采集裝置設計專題題目:AD轉(zhuǎn)換及編程實現(xiàn)設計主要內(nèi)容和要求:制作單片機電壓采集裝置基本要求1、 模擬通道0電壓采集功能 在ADC0809的輸入05V電壓,數(shù)碼管實時顯示被測電壓值(顯示精度0.001V,即顯示1位整數(shù),3
2、位小數(shù))。2、 指定通道電壓采集功能通過模式選擇按鍵切換到“指定通道電壓采集功能”,利用+/-按鍵改變通道值,顯示同上。3、 8通道自動循環(huán)電壓采集功能制作單片機電壓采集裝置通過模式選擇按鍵切換到“8通道自動循環(huán)電壓采集功能”,默認通道切換時間為2秒。擴展要求1、 超限報警功能當Vi超出程序預設報警限值時,報警燈以1Hz速度閃爍顯示,并顯示提示符以區(qū)別上限或下限報警。2、 可修改上限和下限報警值的超限報警撥弄能可隨意設置上、下限報警值(步長0.1V,默認下限為0V,上限為5V)。設置時,當下限上限(或上限下限)時予以提示,并拒絕接受數(shù)據(jù)。 指導教師簽字:摘要:此單片機電壓采集裝置使用AT89S
3、52芯片和ADC0809芯片進行電壓采集,實現(xiàn)AD轉(zhuǎn)換的基本功能。,鍵盤電路和8個LED數(shù)碼顯示電路。擴展電路中包含了A/D轉(zhuǎn)換電路,AD轉(zhuǎn)換五種工作模式下對應要實現(xiàn)的功能:即模式0下完成通道0的模擬信號采集;模式1時完成指定模擬通道電壓采集,按加、減(K2,K3)按鍵手動實現(xiàn)模擬通道的切換, 此外,通過內(nèi)部定時器T1實現(xiàn)報警功能,即超過上限電壓4.999V時報警,同時點亮P1.1即L2發(fā)光LED小燈,低于下限電壓0.000V時也實現(xiàn)報警功能,只是報警的頻率改變,同時點亮P1.0即L1發(fā)光LED小燈;而模式2完成8通道模擬信號自動循環(huán)采集功能,通過加入內(nèi)部定時器T0中斷,從而實現(xiàn)每隔1秒通道值
4、自動加1的功能;進入模式3的時候,需要人為設置報警上限,此程序設定報警上限為4V,而報警上限默認值為3.999V,通過按加、減(K2/K3)按鍵實現(xiàn)上限加減0.1V;模式4的時候設置報警下限電壓,默認報警下限電壓為1.999V,本程序中設置的報警下限電壓為2V,通過加減(K2/K3)按鍵實現(xiàn)電壓加減0.1V的功能,最終實現(xiàn)電壓采集和擴展功能。關(guān)鍵詞:AT89S52芯片 、ADC0809芯片 目 錄1 緒論11.1 系統(tǒng)設計方案11.1.1 系統(tǒng)設計原理框圖12 硬件電路設計32.1 單片機電路22.1.1 單片機最小系統(tǒng)32.1.2 顯示譯碼電路42.2 A/D轉(zhuǎn)換52.2.1 ADC0809
5、轉(zhuǎn)換原理52.2.2 AD轉(zhuǎn)換電路 62.2.3 電路設計73 軟件設計83.1 設計任務83.1.1 基本任務83.2 程序設計 83.3.1 主程序框圖 83.3.2 AD信號采集 94 系統(tǒng)調(diào)試 175 總結(jié) 18參考文獻: 19附錄一 電源印刷電路板布線圖20附錄二 單片機板電路原理圖21附錄三 單片機印刷電路板布線圖22附錄四 元件清單24 第20頁1 緒論1.1系統(tǒng)設計方案本次實驗要求設計電壓采集裝置,課程設計分設計、制作和調(diào)試三個部分。設計選題以單片機為核心,基本內(nèi)容應包括單片機最小系統(tǒng)、鍵盤和LED顯示電路,以及設計系統(tǒng)涉及的其他電路。系統(tǒng)硬件電路由標準電路和自制電路兩部分組成
6、。標準電路包括單片機最小系統(tǒng)、8個LED數(shù)碼管電路和鍵盤電路,可根據(jù)設計需要進行配置選用。自制電路需自行設計焊接,包含標準電路不具備的其他電路。設計中采用了模數(shù)轉(zhuǎn)換器,利用ADC0809型8位MOS型A/D轉(zhuǎn)換器??蓪崿F(xiàn)8路模擬信號的分時采集,片內(nèi)有8路模擬選通開關(guān),以及相應的通道地址鎖存用譯碼電路,實現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換。控制部分采用單片機89C52來完成。顯示部分利用LED數(shù)碼管顯示模塊,來顯示采集到的電壓分量。1.2.1系統(tǒng)設計原理框圖2 硬件電路設計系統(tǒng)硬件電路由標準電路和自制電路兩部分組成。標準電路包括單片機最小系統(tǒng)、6個LED數(shù)碼管電路和鍵盤電路,可根據(jù)設計需要進行配置選用。
7、自制電路需自行設計焊接,包含標準電路不具備的其他電路。2.1單片機電路2.1.1單片機最小系統(tǒng) CPU原理圖該原理圖包含單片機以及外部連接譯碼,鎖存電路端口,其中的ALE,REST為高電平時用來啟動ADC0809.P0、P2口控制數(shù)碼輸出顯示,P3口的P3.3、P3.4、P3.5控制按鍵,P1.1P1.3控制通道選擇。晶振采用12MHZ,該頻率有利于提高串口的通信可靠性,同時又保證單片機有較高的運行速度。2.1.2 顯示譯碼電路LED顯示電路可提供8位LED顯示;可顯示P1(P3)口狀態(tài);也可顯示輸入按鍵狀態(tài)LED顯示電路顯示電路采用6位共陽極LED動態(tài)掃描顯示,CD4511輸出所需字形,74
8、LS138選擇字位。在動態(tài)方式中,逐個地循環(huán)地點亮各位顯示器。 數(shù)碼管顯示電路顯示譯碼電路部分由P0口或P2口輸出顯示。顯示譯碼器采用CD4511芯片:輸入:BCD 輸出:七段碼 74LS138芯片是用來控制顯示時候的字位的,由于單片機的管腳是有限的通過使用138芯片可以避免少使用些單片機的管腳,當輸入001時,譯碼可得10111111:輸入:07 輸出:低電平 2.2 A/D轉(zhuǎn)換2.2.1 ADC0809轉(zhuǎn)換原理 當單片機端的P3.3接低電平時,可以使兩個非門打開(1)當模擬量送至某一輸入通道后,CPU將標識該通道編碼的三位地址信號經(jīng)數(shù)據(jù)線或地址線輸入到ADDC、ADDB、ADDA引腳上。
9、(2)地址鎖存允許ALE鎖存地址信號,啟動命令START啟動A/D轉(zhuǎn)換。(3)轉(zhuǎn)換開始,EOC變低電平,轉(zhuǎn)換結(jié)束,EOC變?yōu)楦唠娖健OC可作為中斷請求信號。 (4)轉(zhuǎn)換結(jié)束后,可通過執(zhí)行IN指令,設法在輸出允許OE腳上形成一個正脈沖,打開三態(tài)緩沖器把轉(zhuǎn)換的結(jié)果輸入到DB,一次A/D轉(zhuǎn)換便完成。2.2.2 AD轉(zhuǎn)換電路轉(zhuǎn)換結(jié)束:EOC1IN0,通道0參考電壓:5V轉(zhuǎn)換時鐘:接單片機ALE輸出經(jīng)分頻后得到啟動和地址鎖存信號輸出使能信號通道地址信號輸出數(shù)據(jù)/WR/RD片選信號:P3.3=0/INT0CC4060_7AD_CS 2.2.3電路設計硬件資源分配數(shù)碼管顯示電路:用 P2 口:bcd 碼輸
10、出P2.3P2.0;字位選擇 cba=P2.6P2.4 ;小數(shù)點 P2.7鍵盤電路: P3口低四位1號按鍵P3.0-模式切換2號按鍵P3.1-通道、報警限加3號按鍵P3.2-通道、報警限減4號按鍵P3.3- 查詢法,接收ad轉(zhuǎn)換狀態(tài) (不作為按鍵使用) 中斷法,收ad結(jié)束中斷信號ADC0809電壓轉(zhuǎn)換電路控制信號:/wr=p3.6 /rd=p3.7 eoc= p3.3 Cs= p3.5 轉(zhuǎn)換通道選擇地址線:CBA =P1(6-4)3 軟件設計3.1 設計任務3.1.1 基本任務 1、進行電壓采集并顯示 3.1.2 擴展任務 1、指定通道采集 2、循環(huán)采集顯示 ,默認每通道顯示1秒鐘。3、報警設
11、置 報警上限為4V報警下限為2V 3.2 程序設計3.2.1 主程序框圖 主程序框圖3.3.2 AD信號采集程序#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define zxma P0 /字型碼地址,通過P0口送字型碼#define zwma P2 /字位碼地址,通過P2口送字位碼sbit lowflag=P10; /下限報警LEDsbit highflag=P11; /上限報警LEDsbit ad_adda=P14; /ad0809地址端A,低位sbit ad_addb=P15; /a
12、d0809地址端B,中位sbit ad_addc=P16; /ad0809地址端C,高位sbit key1=P30; /按鍵1sbit key2=P31; /按鍵2sbit key3=P32; /按鍵3sbit ad_eos=P33; /ad0809轉(zhuǎn)換結(jié)束標志,1轉(zhuǎn)換完,0正在轉(zhuǎn)換sbit speeker=P34; /蜂鳴器報警sbit ad_cs=P35; /ad0809片選,低電平有效sbit ad_wr=P36; /ad0809寫入信號,鎖存地址和啟動adsbit ad_rd=P37; /ad0809讀出信號,通過P0口讀回ad轉(zhuǎn)換結(jié)果uchar ad_data; /ad采集數(shù)據(jù)uch
13、ar pdata ad_start,ad_over; /兩個片外地址,用于產(chǎn)生讀寫信號uchar ad_td; /ad采集通道uchar ad_mode; /ad采集模式uchar key;uint ad_high=4000; /ad報警上限,設置為4Vuint ad_low=2000; /ad報警下限,設置為2Vuchar tt0=100; /定時1s(10ms,需要100次)sbit ad_clk=P17; /本程序利用P1.7產(chǎn)生方波來給ad0808提供脈沖, /*共陰極數(shù)碼管字形碼,共陽極數(shù)碼管取反即可*/uchar code zixing=0x3F, 0x06, 0x5B, 0x4F
14、, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71;/*共陽極數(shù)碼管字位碼,共陰極數(shù)碼管取反即可*/uchar code ziwei=0x01, 0x02, 0x04, 0x08,0x10, 0x20, 0x40, 0x80;void timer2int(); void delay(uint i); void disp(void);void ad_change(void);void keyscan(void);void keyanswer(void);void alarm(); void timer0
15、int(void);void timer0chengxu(void);void timer1int(void);void timer1chengxu(void);void main(void) timer0int(); timer1int(); while(1) keyscan(); keyanswer(); ad_change(); alarm(); disp(); void keyscan(void) if(!key1) while(!key1)disp(); key=1;F0=1; if(!key2) while(!key2)disp(); key=2;F0=1; if(!key3) w
16、hile(!key3)disp(); key=3;F0=1; void keyanswer(void) if(key=1&F0=1) ad_mode+; if(ad_mode=5)ad_mode=0; if(ad_mode=0) ad_td=0; if(ad_mode=1) if(key=2&F0=1) ad_td+; if(ad_td=8)ad_td=0; if(key=3&F0=1) ad_td-; if(ad_td=255)ad_td=7; if(ad_mode=2)TR0=1; else TR0=0; if(ad_mode=3) if(key=2&F0=
17、1) ad_high=ad_high+100; if(key=3&F0=1) ad_high=ad_high-100; if(ad_mode=4) if(key=2&F0=1) ad_low=ad_low+100; if(key=3&F0=1) ad_low=ad_low-100; F0=0; void timer0int(void) TMOD=0x11; TH0=(65536-10000/1)/256; TL0=(65536-10000/1)%256; ET0=1; EA=1; TR0=0; void timer0chengxu(void) interrupt 1 T
18、H0=(65536-10000/1)/256; TL0=(65536-10000/1)%256; tt0-; if (tt0=0) tt0=100; ad_td+; if(ad_td=8)ad_td=0; void timer1int() TMOD=0x11; TH1=(65536-500/1)/256; TL1=(65536-500/1)%256; ET1=1; EA=1; TR1=0; void timer1chengxu() interrupt 3 uint ad_dianya; if (ad_dianya<ad_low) lowflag=0; TH1=(65536-100/1)/
19、256; TL1=(65536-100/1)%256; speeker=speeker; else lowflag=lowflag; highflag=0; TH1=(65536-5000/1)/256; TL1=(65536-5000/1)%256; speeker=speeker; lowflag=1; highflag=1; void alarm() uint ad_dianya;/ uint speaker; if (ad_dianya>ad_high|ad_dianya<ad_low) TR1=1; /開放T1中斷 else TR1=0; /關(guān)閉T1中斷 void ad_
20、change(void) ad_adda=0; ad_addb=0;ad_addc=0;P1=P1|(ad_td<<4);ad_cs=0; ad_start=0x00; while(ad_eos=1)disp(); ad_data=ad_over; void disp(void) uint ad_dianya; uchar j,k,l,m; if(ad_mode=0|ad_mode=1|ad_mode=2) ad_dianya=ad_data*19.60784; if(ad_mode=3) ad_dianya=ad_high; if(ad_mode=4) ad_dianya=ad_
21、low; j=ad_dianya/1000; k=ad_dianya%1000/100; l=ad_dianya%100/10; m=ad_dianya%10; zwma=ziwei0; zxma=zixingad_mode; delay(1); zxma=0xFF; zwma=ziwei2; zxma=zixingad_td; delay(1); zxma=0xFF; zwma=ziwei4; zxma=zixingj&0x7f; delay(1); zxma=0xFF; zwma=ziwei5; zxma=zixingk; delay(1); zxma=0xFF; zwma=ziw
22、ei6; zxma=zixingl; delay(1); zxma=0xFF; zwma=ziwei7; zxma=zixingm; delay(1); zxma=0xFF; void delay(uint i) unsigned int j,k; for(j=0;j<i;j+) for(k=0;k<121;k+); void timer2int() C_T2=0; RCAP2H=(65536-100)/256; RCAP2L=(65536-100)%256; EA=1; ET2=1; TR2=1; void timer2pro(void) interrupt 5 using 0 TF2=0; ad_clk=ad_clk; 4 系統(tǒng)調(diào)試硬件焊接分為單片機板和擴展版兩部分。在焊接單片機板的時候出現(xiàn)過虛焊和漏焊的現(xiàn)象,再其次就是在焊接擴展板的時候,自己將排陣竟然全部焊接反了,由于自己的疏忽,導致杜邦線無法連接。然后自己又逐一將排陣全部焊接了一遍,再者就是電路板的布局問題,由于自己是第一次走線,導致板子背面的走線很不光滑而且混亂,沒有秩序,但最終在自己的努力下實現(xiàn)了功能。由于自己曾經(jīng)掌握一些簡單的匯編語言,例如VB,C,C+等匯編語言,所以開始的時候總想將匯編語言寫成C語言的格式,導致程序頻頻出現(xiàn)問題。而且由于自己起初對KEIL C軟件不是非常了解,所以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025辦公租賃合同示范文本
- 農(nóng)村供水及配套管網(wǎng)提升工程項目商業(yè)模式
- 2025年教育行業(yè)招生策略與數(shù)字化營銷效果提升策略分析報告
- 2025年CCS項目經(jīng)濟性對能源行業(yè)低碳轉(zhuǎn)型的促進作用
- 2025年公共衛(wèi)生應急設施建設資金申請可行性分析報告
- 農(nóng)業(yè)養(yǎng)殖公司運營管理方案
- 可再生資源產(chǎn)業(yè)園運營管理方案
- 數(shù)字化銀行轉(zhuǎn)型與實施行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 高端手工女鞋定制企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 金融市場數(shù)據(jù)訂閱服務企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- GB∕T 33917-2017 精油 手性毛細管柱氣相色譜分析 通用法
- 高壓氧治療操作規(guī)程以及護理常規(guī)
- 高中人教物理選擇性必修二專題05 單雙桿模型-學生版
- 新能源汽車的研究論文
- (完整word版)電梯管理證復審申請表
- 材料科學基礎基礎知識點總結(jié)
- 數(shù)控銑工圖紙(60份)(共60頁)
- 惠州市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(含答案)
- 加工設備工時單價表
- 高脂血癥藥物治療ppt課件
- 高層建筑等電位聯(lián)結(jié)安裝技術(shù)分析探討
評論
0/150
提交評論