單片機應(yīng)用實例報告_第1頁
單片機應(yīng)用實例報告_第2頁
單片機應(yīng)用實例報告_第3頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、單片機應(yīng)用實例報告零.序這個學(xué)期一開始便接觸了 單片微型計算機原理與接口技術(shù) ,聽說是微 型計算機控制技術(shù)實用教程 的基礎(chǔ),對于工科的我來說學(xué)以致用無非是一切的 一切,雖然還是個該領(lǐng)域的菜鳥, 但是單片機之于自動化的意義不言而喻, 對于 這篇論文,以下開始展開,不足之處諒解。一. 概述單片機是一種集成在電路芯片, 是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處 理能力的中央處理器CPU隨機存儲器RAM只讀存儲器ROM多種I/O 口和中斷 系統(tǒng)、定時器 /計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬 多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算 機系統(tǒng)。關(guān)于80C

2、51:該系列單片機是采用高性能的靜態(tài) 80C51設(shè)計 由先進CMOS工 藝制造并帶有非易失性 Flash 程序存儲器 全部支持 12 時鐘和 6 時鐘操作 P89C51X2和 P89C52X2/54X2/58X2 分別包含 128 字節(jié)和 256 字節(jié) RAMB2 條 I/O 口線3個16位定時/計數(shù)器6輸入4優(yōu)先級嵌套中斷結(jié)構(gòu)1個串行I/O 口 可用于多機通信I/O 擴展或全雙工UART以及片振蕩器和時鐘電路。此外,由于 器件采用了靜態(tài)設(shè)計,可提供很寬的操作頻率圍,頻率可降至 0 ??蓪崿F(xiàn)兩個 由軟件選擇的節(jié)電模式,空閑模式和掉電模式,空閑模式凍結(jié)CPU但RAM定時器, 串口和中斷系統(tǒng)仍然工

3、作掉電模式保存 RAM的容 但是凍結(jié)振蕩器 導(dǎo)致所有其 它的片功能停止工作。由于設(shè)計是靜態(tài)的時鐘可停止而不會丟失用戶數(shù)據(jù) 運行 可從時鐘停止處恢復(fù)的。二. 應(yīng)用領(lǐng)域目前單片機滲透到我們生活的各個領(lǐng)域, 幾乎很難找到哪個領(lǐng)域沒有單片機 的蹤跡。導(dǎo)彈的導(dǎo)航裝置, 飛機上各種儀表的控制, 計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳 輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能 IC 卡,民用 豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩 具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智 能儀表、醫(yī)療器械了。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用

4、 與智能化控制的科學(xué)家、工程師。單片機廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備 的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個疇:1. 在智能儀器儀表上的應(yīng)用 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等 優(yōu)點,廣泛應(yīng)用于儀器儀表中, 結(jié)合不同類型的傳感器, 可實現(xiàn)諸如電壓、 功率、 頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理 量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起 采用電子或數(shù)字電路更加強大。例如精密的測量設(shè)備(功率計,示波器,各種分 析儀)。2. 在工業(yè)控制中的應(yīng)用用單片機可以構(gòu)成形式多樣的

5、控制系統(tǒng)、 數(shù)據(jù)采集系統(tǒng)。 例如工廠流水線的 智能化管理, 電梯智能化控制、 各種報警系統(tǒng), 與計算機聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)3. 在家用電器中的應(yīng)用可以這樣說, 現(xiàn)在的家用電器基本上都采用了單片機控制, 從電飯褒、洗衣 機、電冰箱、空調(diào)機、 彩電、其他音響視頻器材、 再到電子秤量設(shè)備, 五花八門, 無所不在。4. 在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 現(xiàn)代的單片機普遍具備通信接口, 可以很方便地與計算機進行數(shù)據(jù)通信, 為 在計算機網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件, 現(xiàn)在的通信設(shè)備基本 上都實現(xiàn)了單片機智能控制,從手機,機、小型程控交換機、樓宇自動通信呼叫 系統(tǒng)、列車無線通信、再到日常工作中隨

6、處可見的移動,集群移動通信,無線電 對講機等。5. 單片機在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用 單片機在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛, 例如醫(yī)用呼吸機, 各種分析儀, 監(jiān) 護儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。6. 在各種大型電器中的模塊化應(yīng)用某些專用單片機設(shè)計用于實現(xiàn)特定功能,從而在各種電路中進行模塊化應(yīng)用,而不要求使用人員了解其部結(jié)構(gòu)。如音樂集成單片機,看似簡單的功能,微 縮在純電子芯片中 (有別于磁帶機的原理) ,就需要復(fù)雜的類似于計算機的原理。 如:音樂信號以數(shù)字的形式存于存儲器中(類似于 ROM ),由微控制器讀出,轉(zhuǎn) 化為模擬音樂電信號(類似于聲卡) 。在大型電路中,這種模塊化應(yīng)用極縮小了體積,簡

7、化了電路,降低了損壞、 錯誤率,也方便于更換。7. 單片機在汽車設(shè)備領(lǐng)域中的應(yīng)用單片機在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動機控制器,基于CAN總線的汽車發(fā)動機智能電子控制器,GPS導(dǎo)航系統(tǒng),abs防抱死系統(tǒng),制動 系統(tǒng)等等。此外,單片機在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分 廣泛的用途。三. 運用實例實例1.6位數(shù)顯頻率計數(shù)器實驗任務(wù)利用AT89S5仲片機的TO、T1的定時計數(shù)器功能,來完成對輸入的信號進 行頻率計數(shù),計數(shù)的頻率結(jié)果通過 8位動態(tài)數(shù)碼管顯示出來。要求能夠?qū)?0-250KHZ的信號頻率進行準(zhǔn)確計數(shù),計數(shù)誤差不超過土 1HZ2.2T"5電710TT

8、13lA川LJ怔17gAP1 0PO O/ADOPl 1POPI 2PC 2/AD2F1 3PB 3JAD3PL4P0.4/JL1MPI £P0.6/AEW7PQ 丁堆口TALEPSEKF3 C1JRXDF2 7/* I :iP 冷 1JTXDF2?3 2/tNTbF2 5/A L 3P3JMNT1P2.4/A12pi耳/r 口P3.3JTIP2 2/A10P3 6JWRP2 U A9P3.7JRDf'J 皿 7:gXo04710尋EJT,C312 SB11ClITS7iw7CJ匚丸11liib9n87C2電路原理圖區(qū)域中的區(qū)域中的圖 3. 系統(tǒng)板上硬件連線(1) .把“單片

9、機系統(tǒng)”區(qū)域中的 P0.0 P0.7與“動態(tài)數(shù)碼顯示”ABCDEFGH口用8芯排線連接。(2) .把“單片機系統(tǒng)”區(qū)域中的 P2.0 P2.7與“動態(tài)數(shù)碼顯示”S1S2S3S4S5S6S7S端口用 8 芯排線連接。(3) .把“單片機系統(tǒng)”區(qū)域中的P3.4 (TO)端子用導(dǎo)線連接到“頻率產(chǎn)生 器”區(qū)域中的 WAV端子上。4. 程序設(shè)計容(1) .定時/計數(shù)器TO和T1的工作方式設(shè)置,由圖可知,TO是工作在計數(shù)狀態(tài)下,對輸入的頻率信號進行計數(shù),但對工作在計數(shù)狀態(tài)下的TO,最大計數(shù)值為fOSC/24,由于fOSO 12MHz因此:TO的最大計數(shù)頻率為 250KHz對于頻率的概念就是在一秒只數(shù)脈沖的

10、個數(shù),即為頻率值。所以T1工作在定時狀態(tài)下,每定時1秒中到,就停止TO的計數(shù),而 從 TO 的計數(shù)單元中讀取計數(shù)的數(shù)值,然后進行數(shù)據(jù)處理。送到數(shù)碼管 顯示出來。(2) . T1工作在定時狀態(tài)下,最大定時時間為65ms達(dá)不到1秒的定時,所以采用定時50ms共定時20次,即可完成1秒的定時功能。5. C 語言源程序#include <AT89X52.H>unsigned char code dispbit=Oxfe,Oxfd,Oxfb,Oxf7,Oxef,Oxdf,Oxbf,Ox7f;unsigned char code dispcode=Ox3f,OxO6,Ox5b,Ox4f,Ox6

11、6, Ox6d,Ox7d,OxO7,Ox7f,Ox6f,OxOO,Ox4O;unsigned char dispbuf8=O,O,O,O,O,O,1O,1O;unsigned char temp8;unsigned char dispcount;unsigned char TOcount;unsigned char timecount;bit flag;unsigned long x;void main(void)unsigned char i;TMOD=Ox15;THO=O;TLO=O;TH1=(65536-4OOO)/256;TL1=(65536-4OOO)%256;TR1=1;TRO=1

12、;ETO=1;ET1=1;EA=1;while(1)if(flag=1)flag=0;x=T0count*65536+TH0*256+TL0;for(i=0;i<8;i+)tempi=0;i=0;while(x/10)tempi=x%10;x=x/10;i+;tempi=x;for(i=0;i<6;i+)dispbufi=tempi;timecount=0;T0count=0;TH0=0;TL0=0;TR0=1;void t0(void) interrupt 1 using 0T0count+;void t1(void) interrupt 3 using 0TH1=(65536-

13、4000)/256;TL1=(65536-4000)%256;timecount+;if(timecount=250)TR0=0;timecount=0;flag=1;PO=dispcodedispbufdispco un t;P2=dispbitdispco un t; dispco un t+; if(dispco un t=8) dispco un t=0;實例2.數(shù)字電壓表1 實驗任務(wù)利用單片機AT89S51與ADC080敦計一個數(shù)字電壓表,能夠測量 0 5V之間 的直流電壓值,四位數(shù)碼顯示,但要求使用的元器件數(shù)目最少。2. 電路原理圖R1 4霑VCCQiQGHD卜tN3IN:叫IMj

14、卅3欣AwSTEQdALtFillQE廠T FJ J.mr+GHDVEEF,DID22Q礦 IHOD7DS 曲 lfi 5*tJ.D3PI 07Pi 4 ra j p; «13Uon1b匚口引6 8ISiX 92 m ;4 a需QwcZQ50 ilCD:230G 13*虹1F3ED 'LEr 討 ti;1717pipi i.空pP3 4H0PJJM1 RE沁PSJ.-FXP01MD1 時 2'AD 2 P03/AD3 PC斗鼻3 PDr'ADS PQ S 山口f*LKPSEWP2 7M15P2 6>A 14 P2.JXA 13 2 PJ.>A It

15、 P2.2X&10Fl/ASJ F2.O/ZB a3P33DI37D236D335IM女DS常D632Ei?30ALE曲2S27肪S43J5322S2DOh I Ck12M Qi 丁斑圖 3 系統(tǒng)板上硬件連線a) 把“單片機系統(tǒng)”區(qū)域中的 P1.0P1.7 與“動態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFG端口用8芯排線連接。b) 把“單片機系統(tǒng)”區(qū)域中的 P2.0P2.7 與“動態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S端口用8芯排線連接。c) 把“單片機系統(tǒng)”區(qū)域中的 用導(dǎo)線相連接。d) 把“單片機系統(tǒng)”區(qū)域中的 用導(dǎo)線相連接。e) 把“單片機系統(tǒng)”區(qū)域中的 用導(dǎo)線相連接。f) 把“

16、單片機系統(tǒng)”區(qū)域中的 用導(dǎo)線相連接。P3.0 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的P3.1 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的P3.2 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的P3.3 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的ST端子 0E端子 EOC端 子CLK端 子g) 把“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 A2A1A(端子用導(dǎo)線連接到“電源模塊”區(qū) 域中的GND端子上。h) 把“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 IN( 端子用導(dǎo)線連接到“三路可調(diào)電壓模 塊”區(qū)域中的VR1端子上。i) 把“單片機系統(tǒng)”區(qū)域中的 P(.( P(.7 用 8芯排線連接到“模數(shù)轉(zhuǎn)換模 塊”區(qū)域中的 D0D1D2D3D4D5D6端子上。4 程序設(shè)計容i.由于ADC0809S進行

17、A/D轉(zhuǎn)換時需要有CLK信號,而此時的ADC0809 的CLK是接在AT89S51單片機的P3.3端口上,也就是要求從 P3.3 輸出CLK信號供ADC0809使用。因此產(chǎn)生CLK信號的方法就得用軟 件來產(chǎn)生了。ii.由于ADC0809的參考電壓VREM VCC所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過 數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實際顯示的電壓值 (D/256*VREF)5 C 語言源程序#include <AT89X52.H> unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned ch

18、ar code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned char dispbuf8=10,10,10,10,0,0,0,0;unsigned char dispcount;unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P3A0;sbit 0E=P3A1;sbit EOC=P3A2;sbit CLK=P3A3;void main(void)ST=0;0E=0;ET0=1;ET1=1;EA=1;TM0D=0x1

19、2;TH0=216;TL0=216;TH1=(65536-4000)/256;TL1=(65536-4000)%256;TR1=1;TR0=1;ST=1;ST=0;while(1)if(E0C=1)0E=1;getdata=P0;0E=0;temp=getdata*235; temp=temp/128;i=5;dispbuf0=10;dispbuf1=10;dispbuf2=10;dispbuf3=10;dispbuf4=10;dispbuf5=0;dispbuf6=0;dispbuf7=0;while(temp/10)dispbufi=temp%10;temp=temp/10;i+;disp

20、bufi=temp;ST=1;ST=0;void t0(void) interrupt 1 using 0CLK=CLK;void t1(void) interrupt 3 using 0TH1=(65536-4000)/256;TL1=(65536-4000)%256;P1=dispcodedispbufdispcount;P2=dispbitcodedispcount; if(dispcount=7)P1=P1 | 0x80;dispcount+;if(dispcount=8)dispcount=0;實例三 . 報警器1 實驗任務(wù)用AT89S5仲片機產(chǎn)生“嘀、嘀、”報警聲從P1.0端口輸出

21、,產(chǎn)生頻率為1KHz 根據(jù)上面圖可知:1KHZ方波從P1.0輸出0.2秒,接著0.2秒從P1.0輸出電平 信號,如此循環(huán)下去,就形成我們所需的報警聲了。2.電路原理圖3. 系統(tǒng)板硬件連線(1.把“單片機系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū) 域中的SPK IN端口上,(2.在“音頻放大模塊”區(qū)域中的 SPK OUT端口上接上一個8歐或者是16歐 的喇叭;4. 程序設(shè)計方法(1生活中我們常常到各種各樣的報警聲,例如“嘀、嘀、”就是常見 的一種聲音報警聲,但對于這種報警聲,嘀 0.2秒鐘,然后斷0.2秒鐘,如此循 環(huán)下去,假設(shè)嘀聲的頻率為1KHz則報警聲時序圖如下圖所示:上述波形

22、信號如何用單片機來產(chǎn)生呢?(2.由于要產(chǎn)生上面的信號,我們把上面的信號分成兩部分,一部分為1KHZ方波,占用時間為0.2秒;另一部分為電平,也是占用0.2秒;因此,我 們利用單片機的定時/計數(shù)器T0作為定時,可以定時0.2秒;同時,也要 用單片機產(chǎn)生1KHZ的方波,對于1KHZ的方波信號周期為1ms高電平占 用0.5ms,低電平占用0.5ms,因此也采用定時器T0來完成0.5ms的定時; 最后,可以選定定時/計數(shù)器T0的定時時間為0.5ms,而要定時0.2秒則 是0.5ms的400倍,也就是說以0.5ms定時400次就達(dá)到0.2秒的定時時 間了。5. 程序框圖中斷服務(wù)程序框圖FLAG= 0FLAG-1Pl 0取反中新返回圖 6.匯編源程序T02SA EQU 30HT02SB EQU 31HFLAG BIT 00HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV T02SA,#00HMOV T02SB,#00HCLR FLAGMOV TMOD,#01HMOV TH0,#(65536-500) / 256MOV TL0,#(65536-500) MOD 256SETB TR0SETB ET0SETB EASJMP $INT_T0:MOV TH0,#(65536-500) / 256MOV TL0,#(655

溫馨提示

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

評論

0/150

提交評論