![補(bǔ)充 單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例課件_第1頁](http://file4.renrendoc.com/view/60969a634cf001880450a91eb3f69ba0/60969a634cf001880450a91eb3f69ba01.gif)
![補(bǔ)充 單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例課件_第2頁](http://file4.renrendoc.com/view/60969a634cf001880450a91eb3f69ba0/60969a634cf001880450a91eb3f69ba02.gif)
![補(bǔ)充 單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例課件_第3頁](http://file4.renrendoc.com/view/60969a634cf001880450a91eb3f69ba0/60969a634cf001880450a91eb3f69ba03.gif)
![補(bǔ)充 單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例課件_第4頁](http://file4.renrendoc.com/view/60969a634cf001880450a91eb3f69ba0/60969a634cf001880450a91eb3f69ba04.gif)
![補(bǔ)充 單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例課件_第5頁](http://file4.renrendoc.com/view/60969a634cf001880450a91eb3f69ba0/60969a634cf001880450a91eb3f69ba05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例1. 8051系列單片機(jī)實現(xiàn)計算器功能2. 簡易波形發(fā)生器3. 簡易廣告屏設(shè)計4. 尋跡小車的設(shè)計5. 無線呼叫系統(tǒng)設(shè)計1. 8051單片機(jī)實現(xiàn)計算器功能一 設(shè)計目標(biāo)和實現(xiàn)方法 滿足計算器要求,進(jìn)行加減乘除運(yùn)算; 打開計數(shù)器時,初始顯示數(shù)字為0123; 實現(xiàn)簡單的數(shù)據(jù)運(yùn)算,不支持連續(xù)運(yùn)算; 仿真和調(diào)試要用到Protues 和Keil 軟件。三 硬件電路設(shè)計(1)主要器件:采用8051 單片機(jī),它能夠滿足數(shù)據(jù)的采集、控制和數(shù)據(jù)處理的需求,顯示用輸入采用按鍵方式的4 段LED 數(shù)碼管;(2)功能和操作:加減乘除運(yùn)算和顯示。步驟如下: 上電后,屏幕初始化,顯示初始數(shù)值0123
2、; 計算。依次數(shù)字鍵,符號鍵,數(shù)字鍵,等號鍵,屏幕上顯示出計算結(jié)果; 如果要再次計算,可以按下“on/c”鍵清0,或者按下單片機(jī)的復(fù)位鍵,重新初始化。四 軟件設(shè)計模塊化程序設(shè)計是單片機(jī)應(yīng)用中最常用的程序設(shè)計方法;模塊化程序設(shè)計的中心思想是把一個復(fù)雜應(yīng)用程序按整體功能劃分成若干相對獨(dú)立的程序模塊,各模塊可以單獨(dú) 設(shè)計,編程和調(diào)試,然后組合起來;本系統(tǒng)的程序模塊主要分為主程序,鍵值獲取程序和處理子程序等,其流程圖分別如下圖所示:主程序流程圖定時中斷子程序流程圖按鍵處理子程序流程圖主程序:void main() inint();while(1) if(key)pkey();按鍵處理子程序:void
3、pkey() switch(key) case zero: modify_LED(0);break; case one: modify_LED(1);break; case two: modify_LED(2);break; case three: modify_LED(3);break; case four: modify_LED(4);break; case five: modify_LED(5);break; case six: modify_LED(6);break; LED3=x;key_ptr-; if(x=0) op1=op1*10+x; else if(x=10&x8; TL0
4、=(65536-2500)&0 xff; if(key_port&0 xf0)!=0 xf0) /有鍵按下 if(key_port=xkey) ckey+; /去抖動 if(ckey10)key=xkey; ckey=0; else xkey= key_port;ckey=0; wx_port=0 xff; dm_port=dmLEDwx_ptr; /更新段碼2. 簡易波形發(fā)生器設(shè)計 波形發(fā)生器是一種在測量、控制領(lǐng)域經(jīng)常要使用到的信號發(fā)生裝置,可以按照要求輸出相應(yīng)波形。其主要功能如下:輸出波形可調(diào);輸出復(fù)制和頻率可調(diào)。 設(shè)計思路:以正弦波為例,一條正弦波曲線可以看做是一個個點(diǎn)的集合,我們可以按
5、照一定的時間間隔輸出這些點(diǎn)的電壓值,在輸出端就可以得到一個正弦波,時間間隔越小,輸出的波形就越接近一個正弦波。一 硬件設(shè)計這個實現(xiàn)方案使用了以下元器件: 主控單元:AT89s52單片機(jī); 顯示界面:液晶屏幕lcd1602; 功能電路:8分辨率D/A轉(zhuǎn)換芯片DAC0832, 運(yùn)算放大器,與非門,按鍵等。簡易波形發(fā)生器原理圖在上原理圖中:P1口作為LCD1602的數(shù)據(jù)輸入總線;P2.22.4作為LCD1602的讀/寫,使能控制線;P2.02.1作為DAC0832的控制線;P0口作為DAC0832的數(shù)據(jù)輸入總線;4個按鍵分別控制波形選擇,頻率+,頻率-, 在DAC0832的輸出端外接TL082集成運(yùn)
6、算放大 器,控制輸出波形的幅值。DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片,由8位輸入鎖存器,8位DAC寄存器,8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。其引腳功能如下:D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間90ns;ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效;CS:片選信號輸入線,低電平有效;WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖有效; XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效;WR2:DAC寄存器選通輸入線,負(fù)脈沖有效;IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性 變化;IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù); 二 軟件設(shè)計主程序流程圖外部中斷子程
7、序流程圖定時器中斷子程序流程圖主要程序舉例正弦波離散輸出表:uchar code sine_tab256=/輸出電壓從0到最大值(正弦波1/4部分)0 x80,0 x83,0 x86,0 x89,0 x8d,0 x90,0 x93,0 x96,0 x99,0 x9c,0 x9f,0 xa2,0 xa5,0 xa8,0 xab,0 xae,0 xb1,0 xb4,0 xb7,0 xba,0 xbc,0 xbf,0 xc2,0 xc5,0 xc7,0 xca,0 xcc,0 xcf,0 xd1,0 xd4,0 xd6,0 xd8,0 xda,0 xdd,0 xdf,0 xe1,0 xe3,0 xe
8、5,0 xe7,0 xe9,0 xea,0 xec,0 xee,0 xef,0 xf1,0 xf2,0 xf4,0 xf5,0 xf6,0 xf7,0 xf8,0 xf9,0 xfa,0 xfb,0 xfc,0 xfd,0 xfd,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,/輸出電壓從最大值到0(正弦波1/4部分)0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfe,0 xfd,0 xfd,0 xfc,0 xfb,0 xfa,0 xf9,0 xf8,0 xf7,0 xf6,0 xf5,0 xf4,0 xf2,0 xf1,0
9、 xef, /輸出電壓從最小值到0(正弦波1/4部分)0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x01,0 x02 ,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x0a,0 x0b,0 x0d,0 x0e,0 x10,0 x11,0 x13,0 x15 ,0 x16,0 x18,0 x1a,0 x1c,0 x1e,0 x20,0 x22,0 x25,0 x27,0 x29,0 x2b,0 x2e,0 x30,0 x33,0 x35,0 x38,0 x3a,0 x3d,0 x40,0 x43,0 x45,0
10、 x48,0 x4c,0 x4e,0 x51,0 x55,0 x57,0 x5a,0 x5d,0 x60,0 x63,0 x66 ,0 x69,0 x6c,0 x6f,0 x72,0 x76,0 x79,0 x7c,0 x80;正弦波輸出程序:#define DAdata P0/DA數(shù)據(jù)端口void sine_out() /正弦波輸出DAdata=sine_tabwavecount+;DA_S1=0; /打開8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器主程序:void main()uchar i=0; DA_S2=0; /使DAC寄存器處于直通狀態(tài) DAdata=0; DA_S1=1;
11、 /關(guān)閉8位輸入寄存器 init_lcd();waveform=0; TMOD=0 x01; /設(shè)置定時器0為16位工作方式 IT0=1; /設(shè)置外部中斷0為下降沿觸發(fā) ET0=1; /開定時器中斷 EX0=1; EA=1; while(1) 外部中斷子程序:void key_int0() interrupt 0uchar keytemp; uint total_freq; /總頻率 EA=0; TR0=0; /關(guān)總中斷與定時器 delay(5); /延時 if(key=0) /有按鍵按下而引發(fā)中斷 keytemp=P3&0 xf0; /檢測按鍵狀態(tài) switch(keytemp) case
12、0 xe0:/選擇波形 waveform+; if(waveform2) waveform=0;break; case 0 xd0: wavefreqwaveform+; if(wavefreqwaveform10) wavefreqwaveform=1; break; case 0 xb0: wavefreqwaveform-; if(wavefreqwaveform1) /移動間隔時間;取值0-255 a=0; b+=2; if(b=512) b=0; for(i=0;i64;i+) lie=i;hang0=0 x00; hang1=0 x00; for(i=0;i64;i+) lie=i
13、; for(k=0;k5;k+) hang0=tablej+b; hang1=tablej+b+1; delay(2); hang0=0 x00; hang1=0 x00; /清屏 j+=2; a+; 4. 尋跡小車的設(shè)計一 功能介紹 本循跡小車將實現(xiàn)自動尋跡并沿黑線走向行進(jìn)的功能。 小車由前后兩個電機(jī)分別控制前輪轉(zhuǎn)彎及后輪前進(jìn)驅(qū)動,其中前輪由小型舵機(jī)帶動,使得系統(tǒng)減少了機(jī)械部分設(shè)計,使小車的轉(zhuǎn)向控制數(shù)字化,易于單片機(jī)進(jìn)行控制。后輪使用普通直流電機(jī),通過PWM信號調(diào)節(jié)小車前進(jìn)車速。系統(tǒng)原理圖二 硬件介紹(1) 舵機(jī)簡介 舵機(jī)是一種位置伺服的驅(qū)動器,適用于角度不斷變化并可以保持的控制系統(tǒng)。小型舵
14、機(jī)的工作電壓一般為4.8V或6V,轉(zhuǎn)速一般為0.22/60度或0.18/60度。工作原理:控制信號進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓;基準(zhǔn)電路產(chǎn)生周期20ms,寬度1.5ms的基準(zhǔn)信號;將直流偏置電壓與電位器的電壓比較獲得電壓差輸出;最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn);以180度角度伺服為例,對應(yīng)的控制關(guān)系是: 0.5ms0度; 2.0ms135度; 1.0ms45度; 2.5ms180度; 1.5ms90度;(2) 黑線檢測傳感器的介紹 小車黑線檢測用紅外發(fā)射對管作為傳感器。其工作原理為:發(fā)射端發(fā)射紅外光,接收端接收物體反射信號,因為各種顏色對光的吸收和反射程度不同,黑色吸
15、收紅外光,使得反射信號很弱,而白色反射紅外光使得反射信號相對發(fā)射信號損耗不大,接收端再將反射信號轉(zhuǎn)換為相應(yīng)的電壓信號。傳感器的接收信號再經(jīng)過信號處理電路(如下頁圖)輸送給單片機(jī)。黑線信號檢測電路(3) 電機(jī)驅(qū)動原理簡介 小車后輪采用小型直流電機(jī),采用PWM信號驅(qū)動L298N電機(jī)驅(qū)動芯片進(jìn)行控制。 L298N 為雙全橋步進(jìn)電機(jī)專用驅(qū)動芯片,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進(jìn)電機(jī)的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進(jìn)電機(jī)。 此芯片可直接由單片機(jī)的IO端口來提供模擬時序信號,其電機(jī)驅(qū)動基本原理如下頁圖所示。電機(jī)驅(qū)動電路三 軟件程序介紹 這次設(shè)計由于單片機(jī)89S52內(nèi)部不帶有PW
16、M生成模塊,故采用定時器與端口電平翻轉(zhuǎn)來實現(xiàn)PWM。 右圖是小車運(yùn)行的程序流程圖。主程序:main()uchar receive,ek1=7,ek2=7; pulse=0;highh=(uchar)(16384-high)/256+192); highl=(uchar)(16384-high)%256); lowh=(uchar)(high/256+200);lowl=(uchar)(high%256);IE=0 x8a; TMOD=0 x11; TH0=0 x00; TL0=0 x00; TH1=0 x00;TL1=0 x00;TR0=1; /啟動T0TR1=1; /啟動T1for(;) /
17、* for(i=0;i1120) b=1120;if(b710) b=710ek2=ek1void interrupt_t0(void) interrupt 1if(flag1=0) TH0=(uchar)(16384-b)/256+192); TL0=(uchar)(16384-b)%256);a=b;flag1=1;rudder=1;elseTH0=(uchar)(a/256+184); TL0=(uchar)(a%256rudder=0;flag1=0;TF0=0;TF1=0;void interrupt_t1(void) interrupt 3if(flag2=0)TH1=highh;
18、 TL1=highl; pulse=1; /P1.1管腳電平跳變flag2=1; elseTH1=lowh;TL1=lowl;pulse=0; /P1.1管腳電平跳變flag2=0;TF1=0;TF0=0;5. 無線呼叫系統(tǒng)設(shè)計一 硬件設(shè)計 本系統(tǒng)采用nrf2401作為無線呼叫功能芯片,進(jìn)行無線數(shù)據(jù)傳輸。 nRF2401是單片射頻收發(fā)芯片,工作于2.42.5GHz ISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過程序進(jìn)行配置。 芯片能耗非常低,以-5dBm的功率發(fā)射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節(jié)
19、能設(shè)計更方便。其DuoCeiverTM技術(shù)使nRF2401可以使用同一天線,同時接收兩個不同頻道的數(shù)據(jù)。nRF2401適用于多種無線通信的場合。二 軟件設(shè)計 無線呼叫系統(tǒng)的軟件設(shè)計分為三個模塊,包括主程序,nRF2401發(fā)送模塊和nRF2401接收模塊,相關(guān)的流程圖如下:nRF2401 ShockBurst方式發(fā)送流程圖和接收流程圖主程序:voidmain(void) delayms(1000); /開機(jī)延時 nRF2401_Data0=0; init_rs232(); /串口初始化 TI=1; /串口發(fā)射有效 nRF2401_config();/nRF2401初始化配置 delayms(100); speakertest(); /蜂鳴器叫一聲 nRF2401_Transmit_Mode();/設(shè)置為發(fā)送模式 nRF2401_Transmit_Data(nRF2401_Data); /發(fā)送測試數(shù)據(jù) nRF2401_Receive_Mode(); /設(shè)置為接收模式 SBUF=0 x55;/串口輸出0 x55測試是否有正確的串口數(shù)據(jù) delayms(100); while(1) nRF2401_Rec
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023八年級數(shù)學(xué)上冊 第15章 數(shù)據(jù)的收集與表示15.1數(shù)據(jù)的收集 1數(shù)據(jù)有用嗎說課稿 (新版)華東師大版
- 2023八年級道德與法治上冊 第二單元 遵守社會規(guī)則 第三課 社會生活離不開規(guī)則第2課時 遵守規(guī)則說課稿 新人教版
- 2024八年級英語下冊 Unit 1 Spring Is ComingLesson 4 The Spring City說課稿(新版)冀教版
- 17 要是你在野外迷了路(說課稿)-2023-2024學(xué)年統(tǒng)編版語文二年級下冊
- 2025回遷房買賣合同模板
- 2025勞動合同書的范本
- Unit 8 What's his job單元整體(說課稿)-2024-2025學(xué)年接力版(2024)英語三年級上冊
- 2024年春七年級道德與法治下冊 第二單元 做情緒情感的主人 第四課 揭開情緒的面紗 第1框 青春的情緒說課稿 新人教版001
- 14-15 故都的秋 荷塘月色 我與地壇(說課稿)-2024-2025學(xué)年高一語文必修上冊同步備課系列(統(tǒng)編版2019)
- 2025家庭農(nóng)場承包合同
- 國家中小學(xué)智慧教育平臺推動家校共育
- 《馬克思主義與社會科學(xué)方法論》授課教案
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 《線性代數(shù)》課后習(xí)題答案
- 馬工程教育哲學(xué)課件第十章 教育哲學(xué)與教師發(fā)展
- 三年級道德與法治下冊第一單元我和我的同伴教材解讀新人教版
- GB/T 11376-2020金屬及其他無機(jī)覆蓋層金屬的磷化膜
- 成功源于自律 主題班會課件(共34張ppt)
- 新青島版(五年制)五年級下冊小學(xué)數(shù)學(xué)全冊導(dǎo)學(xué)案(學(xué)前預(yù)習(xí)單)
- (完整word版)重點(diǎn)監(jiān)管的危險化學(xué)品名錄(完整版)
- 高級工程師電子版職稱證書在網(wǎng)上打印步驟
評論
0/150
提交評論