2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩129頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1,單片機(jī)課程設(shè)計題目,1,2,為加強(qiáng)實踐環(huán)節(jié),提高學(xué)生的單片機(jī)應(yīng)用系統(tǒng)設(shè)計及編程和調(diào)試能力,開設(shè)了單片機(jī)課程設(shè)計。 下面所列的21個課程設(shè)計題目,均已在Proteus下軟件仿真設(shè)計并調(diào)試通過。 題目一人一題,獨立完成。要求先在Proteus軟件仿真完成設(shè)計題目,并用硬件開發(fā)工具設(shè)計實物。各題目采用的編程語言為C51或ASM51。 也可以自選合適的題目,自選題目需要指導(dǎo)老師先同意。,3,目錄----課程設(shè)計題目題目

2、1 智能電子鐘(LCD顯示)題目2 電子時鐘(LCD顯示)題目3 秒表題目4 定時鬧鐘題目5 音樂倒數(shù)計數(shù)器題目6 基于數(shù)字溫度傳感器的數(shù)字溫度計題目7 基于熱敏電阻的數(shù)字溫度計題目8 十字路口交通燈控制題目9 波形發(fā)生器設(shè)計題目10 電容、電阻參數(shù)單片機(jī)測試系統(tǒng)的設(shè)計,3,題目11 數(shù)字頻率計題目12 8位競賽搶答器的設(shè)計題目13 單詞記憶測試器程序設(shè)計題目14 數(shù)字電壓表設(shè)計題

3、目15 可編程作息時間控制器設(shè)計題目16 節(jié)日彩燈控制器的設(shè)計題目17 雙機(jī)之間的串行通信設(shè)計題目18 電子琴設(shè)計題目19 數(shù)字音樂盒的設(shè)計題目20 單片機(jī)控制步進(jìn)電機(jī)題目21 單片機(jī)控制直流電動機(jī),4,5,題目1 智能電子鐘(LCD顯示)1. 設(shè)計要求 以51單片機(jī)為核心,制作一個LCD顯示的智能電子鐘: (1) 計時:秒、分、時、天、周、月、年。 (2) 閏年自動判別。 (3) 五路定

4、時輸出,可任意關(guān)斷(最大可到16路)。 (4) 時間、月、日交替顯示。 (5) 自定任意時刻自動開/關(guān)屏。 (6) 計時精度:誤差≤1秒/月(具有微調(diào)設(shè)置)。,5,6,(7) 鍵盤采用動態(tài)掃描方式查詢。所有的查詢、設(shè)置功能均由功能鍵K1、K2完成。2. 工作原理本設(shè)計采用市場上流行的時鐘芯片DS1302進(jìn)行制作。DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過串行

5、接口與計算機(jī)進(jìn)行通信,使得管腳數(shù)量減少。實時時鐘/日歷電路能夠計算2100年之前的秒、分、時、日、星期、月、年的,具有閏年調(diào)整的能力。DS1302時鐘芯片的主要功能特性:,6,7,(1) 能計算2100年之前的年、月、日、星期、時、分、秒的信息;每月的天數(shù)和閏年的天數(shù)可自動調(diào)整;時鐘可設(shè)置為24或12小時格式。(2) 31B的8位暫存數(shù)據(jù)存儲RAM。(3) 串行I/O口方式使得引腳數(shù)量最少。(4) DS1302與單片機(jī)之間能簡單

6、地采用同步串行的方式進(jìn)行 通信,僅需3根線。(5) 寬范圍工作電壓2.0-5.5V。(6) 工作電流為2.0A時,小于300nA。(7) 功耗很低,保持?jǐn)?shù)據(jù)和時鐘信息時功率小于1mW。,7,3. 電路設(shè)計(Proteus軟件仿真通過),8,8,4. Proteus仿真打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-1.hex”;在“Clock Frequency”欄

7、中輸入晶振頻率為11.0592MHz。仿真如下頁圖所示,其中,浮動窗口中顯示的為DS1302當(dāng)前時鐘狀態(tài):,9,圖 智能電子鐘仿真效果,10,題目2 電子時鐘(LCD顯示)1. 設(shè)計要求以51單片機(jī)為核心的時鐘,在LCD顯示器上顯示當(dāng)前的時間:使用字符型LCD顯示器顯示當(dāng)前時間。顯示格式為“時時:分分:秒秒”。用4個功能鍵操作來設(shè)置當(dāng)前時間。功能鍵K1~K4功能如下。K1—進(jìn)入設(shè)置現(xiàn)在的時間。K2—設(shè)置小時。,1

8、1,11,K3—設(shè)置分鐘。K4—確認(rèn)完成設(shè)置。程序執(zhí)行后工作指示燈LED閃動,表示程序開始執(zhí)行,LCD顯示“00:00:00”,然后開始計時。2. 實驗原理題目難點在于鍵盤的指令輸入,由于每個按鍵都具有相應(yīng)的一種或多種功能,程序中需要大量使用do{}while或while{}循環(huán)結(jié)構(gòu),以檢測是否有按鍵按下。按鍵檢測函數(shù)的詳解如下(略),12,12,3. 參考電路(Proteus軟件仿真通過),13,13,4. Proteus仿真

9、加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-2.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。啟動仿真,按下按鍵1后,可發(fā)現(xiàn)LED停止閃爍,即時鐘停止走時,時鐘停在當(dāng)前時刻,按下按鍵2和按鍵3后,可改變時間,按下按鍵4后,時鐘復(fù)位到修改后的時間,時鐘重新開始運轉(zhuǎn),如下頁圖所示。,14,15,題目3 秒表1. 設(shè)計要求

10、用51設(shè)計一個2位的LED數(shù)碼顯示作為“秒表”:顯示時間為00—99秒,每秒自動加1,另設(shè)計一個“開始”鍵和一個“復(fù)位”鍵。2. 實驗原理題目難點在于通過對鍵盤的掃描對時鐘的走時/停止進(jìn)行控制,項目采用定時器T0作為計時器,每10ms發(fā)生一次中斷,每100次中斷加1s。在此期間,如“開始”按鍵按下,程序方將TR0置為1,從而開啟中斷,時鐘開始走時;如“,16,16,復(fù)位”按鍵按下,程序?qū)R0置為0,同時將存儲時間的變量清零,從而

11、中斷停止,并實現(xiàn)復(fù)位。本題目采用專用數(shù)碼管顯示控制芯片MAX7219。MAX7219是美國MAXIM公司生產(chǎn)的串行輸入/輸出共陰極顯示驅(qū)動器,該芯片最多可驅(qū)動8位7段數(shù)字LED顯示器或個LED和條形圖顯示器。其引腳圖及引腳功能參見有關(guān)參考資料。,17,17,MAX7219的典型應(yīng)用參考電路,18,18,3. 電路設(shè)計(Proteus軟件仿真通過),19,4. Proteus仿真加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Prog

12、ram File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-2.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。啟動仿真,按下按鍵1后,可發(fā)現(xiàn)led停止閃爍,即時鐘停止走時,時鐘停在當(dāng)前時刻,按下按鍵2和按鍵3后,可改變時間,按下按鍵4后,時鐘復(fù)位到修改后的時間,時鐘重新開始運轉(zhuǎn),如下頁圖所示。,20,21,題目4 定時鬧鐘1. 設(shè)計要求使用51單片機(jī)結(jié)合字符型LCD顯示器設(shè)計一個簡易的定

13、時鬧鐘LCD時鐘,若LCD選擇有背光顯示的模塊,在夜晚或黑暗的場合中也可使用。定時鬧鐘的基本功能如下:顯示格式為“時時:分分”。由LED閃動來做秒計數(shù)表示。一旦時間到則發(fā)出聲響,同時繼電器啟動,可以擴(kuò)充控制家電開啟和關(guān)閉。,22,22,程序執(zhí)行后工作指示燈LED閃動,表示程序開始執(zhí)行,LCD顯示“00:00”,按下操作鍵K1~K4動作如下: (1) K1—設(shè)置現(xiàn)在的時間。 (2) K2—顯示鬧鐘設(shè)置的時間。 (3)

14、K3—設(shè)置鬧鈴的時間。 (4) K4—鬧鈴ON/OFF的狀態(tài)設(shè)置,設(shè)置為ON時連續(xù)三次發(fā)出“嘩”的一聲,設(shè)置為OFF發(fā)出“嘩”的一聲。設(shè)置當(dāng)前時間或鬧鈴時間如下。 (1) K1—時調(diào)整。 (2) K2—分調(diào)整。,23,23,(3) K3—設(shè)置完成。(4) K4—鬧鈴時間到時,發(fā)出一陣聲響,按下本鍵可以停止聲響。本項目的難點在于4個按鍵每個都具有兩個功能,以最終實現(xiàn)菜單化的輸入功能。采用通過逐層嵌套的循環(huán)掃描,實現(xiàn)嵌

15、套式的鍵盤輸入。以對小時的設(shè)置的流程為例,其流程如下頁圖。,24,24,25,26,2. 參考電路(Proteus軟件仿真通過),26,3. Proteus仿真加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-3.hex”;在“Clock Frequency”欄中輸入晶振頻率為12MHz。啟動仿真,下頁圖示為按下“開始”按鍵后的情況,在按下前,數(shù)碼管無顯示。期間如果

16、按下“復(fù)位”按鍵,則LED顯示歸零,走時停止。,27,28,題目5 音樂倒數(shù)計數(shù)器1. 設(shè)計要求利用51單片機(jī)結(jié)合字符型LCD顯示器設(shè)計一個簡易的倒數(shù)計數(shù)器,可用來煮方便面、煮開水或小睡片刻等。做一小段時間倒計數(shù),當(dāng)?shù)褂嫈?shù)為0時,則發(fā)出一段音樂聲響,通知倒計數(shù)終了,該做應(yīng)當(dāng)做的事。定時鬧鐘的基本功能如下。字符型LCD(16 ? 2)顯示器。顯示格式為“TIME 分分:秒秒”。,29,29,30,用4個按鍵

17、操作來設(shè)置當(dāng)前想要倒計數(shù)的時間。一旦按下鍵則開始倒計數(shù),當(dāng)計數(shù)為0時,發(fā)出一陣音樂聲。程序執(zhí)行后工作指示燈LED閃動,表示程序開始執(zhí)行,按下操作鍵K1~K4動作如下。 K1—可調(diào)整倒計數(shù)的時間1~60分鐘。 K2—設(shè)置倒計數(shù)的時間為5分鐘,顯示“0500”。 K3—設(shè)置倒計數(shù)的時間為10分鐘,顯示“1000”。 K4—設(shè)置倒計數(shù)的時間為20分鐘,顯示“2000”。復(fù)位后LCD的畫面應(yīng)能顯示倒計時的分鐘和秒數(shù),此時按K

18、1鍵,,30,31,則在LCD上顯示出設(shè)置畫面。此時,若: a. 按操作鍵K2—增加倒計數(shù)的時間1分鐘。 b. 按操作鍵K3—減少倒計數(shù)的時間1分鐘。 c. 按操作鍵K4—設(shè)置完成。 鍵盤實現(xiàn)菜單功能的方法,已在題目4詳細(xì)說明,不再贅述。本題目最大難點是實現(xiàn)音樂的播放。作者利用定時計數(shù)器,通過載入不同的計數(shù)初值,產(chǎn)生頻率不同的方波,輸入到蜂鳴器(SOUNER)中,使其發(fā)出頻率不同的聲音。本設(shè)計中單片機(jī)晶

19、振為1.0592MHz,通過計算各音階頻率,可得1、2、3、4、5、6、7共7個音應(yīng)賦給定時器的初值為64580、64684、64777、64820、64898、64968、65030。,31,在此基礎(chǔ)上,可將樂曲的簡譜轉(zhuǎn)化為單片機(jī)可以“識別”的“數(shù)組譜”,進(jìn)一步加入對音長、休止符等的控制量后,可以實現(xiàn)音樂的播放。3.電路設(shè)計(Proteus仿真通過)本題目制作的帶有LCD顯示的音樂倒數(shù)計數(shù)器電路原理圖,如下頁圖所示。,32,32,

20、33,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-5.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。啟動仿真如下頁圖所示,當(dāng)鬧鐘到達(dá)時,可以聽見蜂鳴器演奏的樂曲。再次提示,本題目必須選用蜂鳴器SOUNDER,否則不能發(fā)出聲音。,34,35,35,題目6 基于數(shù)字溫度傳感器的數(shù)字溫度計1.

21、設(shè)計要求利用數(shù)字溫度傳感器DS18B20與單片機(jī)結(jié)合來測量溫度。利用數(shù)字溫度傳感器DS18B20測量溫度信號,計算后在LED數(shù)碼管上顯示相應(yīng)的溫度值。其溫度測量范圍為?55℃~125℃,精確到0.5℃。數(shù)字溫度計所測量的溫度采用數(shù)字顯示,控制器使用單片機(jī)51,測溫傳感器使用DS18B20,用3位共陽極LED數(shù)碼管以串口傳送數(shù)據(jù),實現(xiàn)溫度顯示。,36,2. 實驗原理從溫度傳感器DS18B20可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換即滿足

22、設(shè)計要求。DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字讀數(shù)方式。DS18B20的性能如下。獨特的單線接口僅需要一個端口引腳進(jìn)行通信。多個DS18B20可以并聯(lián)在串行傳輸?shù)臄?shù)據(jù)線上,實現(xiàn)多點組網(wǎng)功能。無須外部器件。,37,37,38,可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V。零

23、待機(jī)功耗。溫度以9或12位的數(shù)字讀數(shù)方式。用戶可定義報警設(shè)置。報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件。負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 采用3引腳PR-35封裝或8引腳SOIC封裝。,38,3.電路設(shè)計(Proteus仿真通過)本項目制作的數(shù)字溫度計電路原理圖,如下所示:,39,39,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“P

24、rogram File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-6.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。 啟動仿真如下頁圖所示,其中,DS18B20窗口顯示的為當(dāng)前環(huán)境溫度,若調(diào)整DS18B20旁邊的箭頭,可改變環(huán)境溫度,可以看到LED顯示屏上的溫度值發(fā)生相應(yīng)的變化。,40,41,題目7 基于熱敏電阻的數(shù)字溫度計1. 設(shè)計要求使用熱敏電阻類的溫度傳感器件利用其感溫效應(yīng),

25、將隨被測溫度變化的電壓或電流用單片機(jī)采集下來,將被測溫度在顯示器上顯示出來:測量溫度范圍?50℃~110℃。精度誤差小于0.5℃。LED數(shù)碼直讀顯示。,42,42,2 . 實驗原理本題目使用鉑熱電阻PT100,其阻值會隨著溫度的變化而改變。PT后的100即表示它在0℃時阻值為100歐姆,在100℃時它的阻值約為138.5歐姆。廠家提供有PT100在各溫度下電阻值值的分度表,在此可以近似取電阻變化率為 0.385Ω/℃。向PT10

26、0輸入穩(wěn)恒電流,再通過A/D轉(zhuǎn)換后測PT100兩端電壓,即得到PT100的電阻值,進(jìn)而算出當(dāng)前的溫度值。采用2.55mA的電流源對PT100進(jìn)行供電,然后用運算放大器LM324搭建的同相放大電路將其電壓信號放大10倍后輸入到AD0804中。利用電阻變化率0.385Ω/℃的特性,計算出當(dāng)前溫度值。,43,43,44,3.電路設(shè)計(Proteus仿真通過),44,4. Proteus仿真首先加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在

27、“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-7.hex”;在“Clock Frequency”欄中輸入晶振頻率為12MHz。啟動仿真如圖所示,其中,PT100旁邊的數(shù)字窗口顯示的為測定的環(huán)境溫度,通過調(diào)整上下溫度,可以實現(xiàn)對環(huán)境溫度的改變。值得注意的是,由于本項目使用的核心測溫器件PT100對溫度存在一定的響應(yīng)時間,故啟動程序后一段時間測定的溫度才能穩(wěn)定下來。,45,本題目測溫誤差主要由以下幾點引發(fā):AD

28、C0804為8位ADC芯片,精度有限;程序假定PT100為完全線性的器件,而即使是廠家推薦的線性值也會存在一定誤差;運放電路并非絕對線性。如使用12位ADC芯片,采用“四線制”的PT100接法,采用查表法測定溫度值,將極大提高溫度的測量精度。,46,47,48,題目8 十字路口交通燈控制1. 設(shè)計要求設(shè)計一個十字路口交通燈控制器。用單片機(jī)控制LED燈模擬指示。模擬東西方向的十字路口交通信號控制情況。東西向通行時間為80s,南北向通

29、行時間為60s,緩沖時間為3s。2. 實驗原理本項目為典型的LED顯示和中斷定時電路。利用定時器T0產(chǎn)生每10ms一次的中斷,每100次中斷為1s。對兩個方向分別顯示紅、綠、黃燈,已經(jīng)相應(yīng)的剩余時間即可。值得注意的,48,是,需要意識到,A方向紅燈時間=B方向綠燈時間+黃燈緩沖時間這一常識。本項目使用的MAX7219芯片使用方法請參考題目3。3.電路設(shè)計(Proteus仿真通過)本項目制作的十字路口交通燈控制電路原理圖,如下頁

30、圖:,49,50,50,51,4.Proteus仿真,51,題目9 波形發(fā)生器設(shè)計1. 設(shè)計要求 設(shè)計一個能產(chǎn)生正弦波、方波、三角波、梯形波、鋸齒波的波形發(fā)生器。2. 實驗原理 產(chǎn)生指定波形可以通過DAC來實現(xiàn),不同波形產(chǎn)生實質(zhì)上是對輸出的二進(jìn)制數(shù)字量進(jìn)行相應(yīng)改變來實現(xiàn)的。本題目中,方波信號是利用定時器中斷產(chǎn)生的,每次中斷時,將輸出的信號按位反即可;三角波信號是將輸出的二進(jìn)制數(shù)字信號依次加1,達(dá)到0xff時依次減1

31、,并實時將數(shù)字信號經(jīng)D/A轉(zhuǎn)換得到;鋸齒波信號是將輸出的二進(jìn)制數(shù)字信號依次,52,52,加1,達(dá)到0xff時置為0x00,并實時將數(shù)字信號經(jīng)D/A轉(zhuǎn)換得到的; 梯形波是將輸出的二進(jìn)制數(shù)字信號依次加1,達(dá)到0xff時保持一段時間,然后依次減1直至0x00,并實時將數(shù)字信號經(jīng)D/A轉(zhuǎn)換得到的; 正弦波是利用MATLAB將正弦曲線均勻取樣后,得到等間隔時刻的y方向上的二進(jìn)制數(shù)值,然后依次輸出后經(jīng)D/A轉(zhuǎn)換得到。3.電路設(shè)計(Pr

32、oteus仿真通過) 本波形發(fā)生器的設(shè)計電路原理圖,如下頁圖所示:,53,54,54,55,題目10 電容、電阻參數(shù)單片機(jī)測試系統(tǒng)的設(shè)計1. 設(shè)計要求 設(shè)計一個能測量電容、電阻參數(shù)的測試系統(tǒng)。2 實驗原理 對電阻的測量,可將待測電阻與一標(biāo)準(zhǔn)電阻串聯(lián)后接在+5V的電源上,根據(jù)串聯(lián)分壓原理,利用ADC測定電阻兩端電壓后,即可得到其阻值。對電容的測量,可將其與已知阻值的電阻RA和RB組成基于NE555的多諧振蕩器如下頁

33、圖。其產(chǎn)生的方波信號頻率為 :,、,55,56,故通過測定方波信號的頻率可以比較精確的測定C的值。測定方波信號頻率的方法,請見題目11。3. 電路設(shè)計( Proteus仿真通過)本題目的電容、電阻參數(shù)單片機(jī)測試系統(tǒng)的設(shè)計電路原理圖,見下頁。,57,57,58,58,59,4. Proteus仿真 測量電阻仿真如下圖所示,但由于Proteus中555芯片模型存在問題,無法實現(xiàn)對電容測量的仿真,且仿真時必須刪去555的電路模塊。

34、,59,題目11 數(shù)字頻率計1. 設(shè)計要求設(shè)計一個以單片機(jī)為核心的頻率測量裝置。使用51單片機(jī)的定時器/計數(shù)器的定時和計數(shù)功能,外部擴(kuò)展6位LED數(shù)碼管,要求累計每秒進(jìn)入單片機(jī)的外部脈沖個數(shù),用LED數(shù)碼管顯示出來。(1)被測頻率fx<110Hz,采用測周法,顯示頻率×××. ×××;fx>110Hz,采用測頻法,顯示頻率××××

35、××。(2)利用鍵盤分段測量和自動分段測量。,60,(3)完成單脈沖測量,輸入脈沖寬度范圍是100?s~0.1s。 (4)顯示脈沖寬度要求如下。 Tx<1000?s,顯示脈沖寬度×××。 Tx>1000?s,顯示脈沖寬度××××。2. 實驗原理 測量頻率有測頻法和測周法兩種。 (1)測頻法,利用外部電平變化引發(fā)

36、的外部中斷,測算1s內(nèi)的波數(shù),從而實現(xiàn)對頻率的測定; (2)測周法,通過測算某兩次電平變化引發(fā)的中斷之間的時間,實現(xiàn)對頻率的測定。簡而言之,測頻法是直接根據(jù)定義測定頻率,測周法是通過測定周期間接測定頻率。,61,61,理論上,測頻法適用于較高頻率的測量,測周法適用于較低頻 率的測量。 經(jīng)過調(diào)校,在測量低頻信號時,本項目中測頻法精度已高于測 周法,故舍棄測周法,全量程采用測頻法。3. 電路設(shè)計( Proteus仿真通過)

37、 以單片機(jī)為核心的頻率計電路原理圖,如下頁圖所示:,62,62,63,64,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-16.hex”;在“Clock Frequency”欄中輸入晶振頻率為12MHz。 啟動仿真如后兩頁圖(a)和圖(b)所示:,64,65,圖(a) 仿真1,65,66,,圖(b) 仿真2,66,題目1

38、2 8位競賽搶答器的設(shè)計1.設(shè)計要求 以單片機(jī)為核心,設(shè)計一個8位競賽搶答器:同時供8名選手或8個代表隊比賽,分別用8個按鈕S0~S7表示。 設(shè)置一個系統(tǒng)清除和搶答控制開關(guān)S,開關(guān)由主持人控制。搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號,并在優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。 搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。,67,當(dāng)主持人啟動“開始”鍵后,定時器進(jìn)

39、行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間為0.5s左右。 參賽選手在設(shè)定的時間內(nèi)進(jìn)行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。 如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。 2. 實驗原理 通過鍵盤改變搶答的時間,原理與鬧鐘時間的設(shè)定相同,將定時時間的變量置為全局變量后,通過鍵盤掃描程序使每按下一次按鍵,時間加1

40、(超過30時置0)。同時單片機(jī),68,68,不斷進(jìn)行按鍵掃描,當(dāng)參賽選手的按鍵按下時,用于產(chǎn)生時鐘信號的定時計數(shù)器停止計數(shù),同時將選手編號(按鍵號)和搶答時間分別顯示在LED上。 3. 電路設(shè)計(Proteus仿真通過) 8位競賽搶答器的設(shè)計電路原理圖,如下頁圖所示:,69,70,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil

41、-19.hex”;在“Clock Frequency”欄中輸入晶振頻率為12MHz。仿真:單擊按鈕,啟動仿真,結(jié)果如下頁圖所示:,71,72,題目13 單詞記憶測試器程序設(shè)計1. 設(shè)計要求 設(shè)計一個以單片機(jī)為核心的單詞記憶測試器: ?實現(xiàn)單詞的錄入(為使程序具有可演示性,單詞不少于10個)。 ?單詞用按鍵控制依次在屏幕上顯示,按鍵選擇認(rèn)識還是不認(rèn)識,也可以直接進(jìn)入下一個或者上一個。 ?單詞背完后給出正

42、確率。2. 實驗原理 本題目實質(zhì)上是一個具有一定復(fù)雜程度鍵盤掃描程序,可,73,將單詞存儲在一個二維數(shù)組中,按“確定”鍵開始程序后,次顯示0行的數(shù)組,即第一個單詞。之后按下“向上”按鍵,顯示上一行數(shù)組,即上一個單詞; 按下“向下”按鍵,顯示下一行數(shù)組,即下一個單詞。當(dāng)顯示的行數(shù)超過9時,程序結(jié)束,并通過按“確認(rèn)”的次數(shù),計算出正確率。 3.電路設(shè)計(Proteus仿真通過) 本項目制作的單詞記憶測試器程序設(shè)計電路

43、如下頁圖所示。,74,75,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-18.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。 啟動仿真如下頁圖 (a)-(c)所示:,76,圖(a) 單詞記憶測試器程序設(shè)計啟動界面仿真效果圖,圖(b) 單詞記憶測試器程序設(shè)計測試界面仿真效果圖,圖(c) 單

44、詞記憶測試器程序設(shè)計正確率顯示界面仿真效果,77,題目14 數(shù)字電壓表設(shè)計1. 設(shè)計要求 以單片機(jī)為核心,設(shè)計一個數(shù)字電壓表。采用中斷方式,對2路0~5V的模擬電壓進(jìn)行循環(huán)采集,采集的數(shù)據(jù)送LED顯示,并存入內(nèi)存。超過界限時指示燈閃爍。2. 實驗原理 本題目本質(zhì)上是以單片機(jī)為控制器,ADC0809為ADC器件的AD轉(zhuǎn)換電路,設(shè)計要求的電壓顯示,是對ADC采集所得信號的進(jìn)一步處理。 為得到可讀的電壓值,需根據(jù)ADC

45、的原理,對采集所得的,78,信號進(jìn)行計算,并顯示在LED上。本項目中ADC0809的參考電壓為+5V,根據(jù)定義,采集所得的二進(jìn)制信號addata所指代的電壓值為: 而若將其顯示到小數(shù)點后兩位,不考慮小數(shù)點的存在(將其乘以100),其計算的數(shù)值為:。將小數(shù)點顯示在第二位數(shù)碼管上,即為實際的電壓。,,,,79,本示例程序?qū)?.25 V和2.5 V作為兩路輸入的報警值,反映在二進(jìn)制數(shù)字上,分別為0x40和0x80。當(dāng)AD結(jié)果超過

46、這一數(shù)值時,將會出現(xiàn)二極管閃爍和蜂鳴器發(fā)聲。3. 電路設(shè)計(Proteus仿真通過)本單片機(jī)數(shù)字電壓表電路原理圖,如下頁圖所示:,80,81,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“xxxxx.hex";在“Clock Frequency”欄中輸入晶振頻率為12MHz。ADC0809的時鐘信號設(shè)置為640kHz。 啟動

47、仿真,如下頁圖所示,當(dāng)調(diào)節(jié)滑動變阻器時,可觀察到顯示的電壓發(fā)生變化,且兩路輸入電壓的測算值交替顯示.。當(dāng)任一路電壓輸入超過預(yù)設(shè)值時,LED顯示器閃爍,蜂鳴器發(fā)聲。由于8位AD芯片精度有限,其誤差大約在幾十mV左右。,82,83,題目15 可編程作息時間控制器設(shè)計1. 設(shè)計要求 設(shè)計一個以單片機(jī)為核心的可編程作息時間控制器:按照給定的時間模擬控制,實現(xiàn)廣播、上下課打鈴、燈光控制(屏幕顯示),同時具備日期和時鐘顯示。2. 實

48、驗原理 本題目原理與題目4相同,程序是在題目4的基礎(chǔ)上將定時鬧鐘改造為4路可調(diào)鬧鐘,從而實現(xiàn)打鈴等功能。當(dāng)四路鬧鐘中的任一路到時,均會點亮燈、打鈴。如有需求,可對,84,程序進(jìn)行調(diào)整,增加鬧鐘的路數(shù),及到時后的處理方式。 題目中4個按鍵的功能分別為:設(shè)置限制的時間/時的調(diào)整、顯示鬧鐘設(shè)置的時間/分的調(diào)整、設(shè)置鬧鐘的時間/設(shè)置完成、鬧鐘更換。3. 電路設(shè)計(Proteus仿真通過) 本可編程作息時間控制器程序設(shè)計電路原

49、理圖,如下頁圖所示:,85,86,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-17.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。 啟動仿真如下頁圖所示,當(dāng)四路鬧鐘中的任一路到時,均會點亮燈、打鈴。,87,88,題目16 節(jié)日彩燈控制器的設(shè)計1. 設(shè)計要求以單片機(jī)為核心,設(shè)計一個節(jié)

50、日彩燈控制器: P1.2—開始,按此鍵則燈開始流動(由上而下)。 P1.3—停止,按此鍵則停止流動,所有燈為暗。 P1.4—上,按此鍵則燈由上向下流動。 P1.5—下,按此鍵則燈由下向上流動。2. 實驗原理 本題目本質(zhì)上是由按鍵控制功能的流水燈,LED工作的方式通過鍵盤的掃描實現(xiàn)。其中的LED采取共陽極接法,通過,89,依次向連接LED的I/O口送出低電平,可實現(xiàn)題目要求的功能。3. 電路設(shè)計(Proteus仿真

51、通過) 本節(jié)日彩燈控制器電路原理圖,如下頁圖所示,各按鍵功能與實驗設(shè)計要求相同:,90,91,4. Proteus仿真加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-1.hex”;在“Clock Frequency”欄中輸入晶振頻率為12MHz。啟動仿真如下頁圖所示:,92,93,題目17 雙機(jī)之間的串行通信設(shè)計1. 設(shè)計要求 兩片單片機(jī)利用串行口

52、進(jìn)行串行通信:串行通信的波特率可從鍵盤進(jìn)行設(shè)定,可選的波特率為1200、2400、4800和9600bit/s。串行口工作方式為方式1的全雙工串行通信。2. 實驗原理 兩個單片機(jī)之間進(jìn)行通訊波特率的設(shè)定,最終歸結(jié)到對定時計數(shù)器T1計數(shù)初值TH1、TL1進(jìn)行設(shè)定。故本題目本質(zhì)上是通過鍵盤掃描得到設(shè)定的波特率,從而載入相應(yīng)的T1計數(shù)初值TH1、TL1實現(xiàn)的。示例程序中將0xaa從主機(jī)傳輸?shù)綇臋C(jī),,94,并顯示在從機(jī)的數(shù)碼管上實現(xiàn)串口

53、通訊的驗證。 如串口通訊線路過長,可考慮采用MAX232進(jìn)行電平轉(zhuǎn)換,以延長傳輸距離。值得注意的是,為了減少計算載入初值時的誤差,本項目最好采取11.0592MHz的晶振。3. 電路設(shè)計(Proteus仿真通過) 兩個單片機(jī)之間的串行通信接口設(shè)計電路原理圖,如下頁圖所示:,95,96,4. Proteus仿真加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“mas

54、ter.hex”或"slave.hex";在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。啟動仿真如下頁圖所示,當(dāng)二極管間隔點亮?xí)r,表明通訊成功:,97,98,題目18 電子琴設(shè)計1. 設(shè)計要求 設(shè)計一個電子琴。利用所給鍵盤的1,2,3,4,5,6,7,8八個鍵,能夠發(fā)出8個不同的音調(diào),并且要求按下按鍵發(fā)聲,松開延時一段時間停止,中間再按別的鍵則發(fā)另一音調(diào)的聲音。2. 實驗原

55、理 當(dāng)系統(tǒng)掃描到鍵盤上有鍵被按下,則快速檢測出是哪一個鍵被按下,然后單片機(jī)的定時器被啟動,發(fā)出一定頻率的脈沖,該頻率的脈沖輸入到蜂鳴器后,就會發(fā)出相應(yīng)的音調(diào)。,99,如果在前一個按下的鍵發(fā)聲的同時有另一個鍵被按下,則啟用中斷系統(tǒng),前面鍵的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音程序,發(fā)出后按的鍵的音調(diào)。關(guān)于發(fā)聲原理,參見題目5。3. 電路設(shè)計(Proteus仿真通過) 本電子琴設(shè)計電路原理圖,如下頁圖所示:,100,101,4. Pr

56、oteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-23.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。 啟動仿真如下頁圖所示,依次按下各按鍵可聽見不同的音階:,102,103,題目19 數(shù)字音樂盒的設(shè)計1. 設(shè)計要求 以單片機(jī)為核心,設(shè)計一個數(shù)字音樂盒: 利用I/O口產(chǎn)生一定頻率的方波

57、,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂曲(最少3首樂曲,每首不少于30s)。采用LCD顯示信息。 a. 開機(jī)時有英文歡迎提示字符,播放時顯示歌曲序號(或名稱)。 b. 可通過功能鍵選擇樂曲、暫停、播放。,104,2. 電路設(shè)計(Proteus仿真通過) 本數(shù)字音樂盒的電路設(shè)計原理圖,如下圖所示。,105,3. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Program File

58、”欄中添加上面編譯好的目標(biāo)代碼文件“keil-24.hex”;在“Clock Frequency”欄中輸入晶振頻率為11.0592MHz。 啟動仿真如下頁圖所示,其中,液晶顯示器顯示的為當(dāng)前樂曲等信息,同時可聽見音樂的播放聲,106,數(shù)字音樂盒的設(shè)計仿真液晶顯示效果圖,107,題目20 單片機(jī)控制步進(jìn)電機(jī)1. 設(shè)計要求 采用單片機(jī)控制一個三相單三拍的步進(jìn)電機(jī)工作。步進(jìn)電機(jī)的旋轉(zhuǎn)方向由正反轉(zhuǎn)控制信號控制。步進(jìn)電機(jī)的步數(shù)由鍵

59、盤輸入,可輸入的步數(shù)分別為3、6、9、12、15、18、21、24和27步,且鍵盤具有鍵盤鎖功能,當(dāng)鍵盤上鎖時,步進(jìn)電機(jī)不接受輸入步數(shù),也不會運轉(zhuǎn)。只有當(dāng)鍵盤鎖打開并輸入步數(shù)時,步進(jìn)電機(jī)才開始工作。 電機(jī)運轉(zhuǎn)的時候有正轉(zhuǎn)和反轉(zhuǎn)指示燈指示。 電機(jī)在運轉(zhuǎn)過程中,如果過熱,則電機(jī)停止運轉(zhuǎn),同時,108,紅色指示燈亮,同時警報響。本題目的關(guān)鍵之處是:如何生成控制步進(jìn)電機(jī)的脈沖序列。2. 實驗原理 步進(jìn)電機(jī)的不同驅(qū)動方式,都

60、是在工作時,脈沖信號按一定順序輪流加到三相繞組上,從而實現(xiàn)不同的工作狀態(tài)。由于通電順序不同,其運行方式有三相單三相拍、三相雙三拍和三相單、雙六拍三種(注意:上面“三相單三拍”中的“三相”指定子有三相繞組;“拍”是指定子繞組改變一次通電方式;“三拍”表示通電三次完成一個循環(huán)?!叭嚯p三拍”中的“雙”是指同時有兩相繞組通電)。,109,(1)三相單三拍運行方式:下頁圖所示為反應(yīng)式步進(jìn)電動機(jī)工作原理圖,若通過脈沖分配器輸出的第一個脈沖使A相繞

61、組通電,B,C相繞組不通電,在A相繞組通電后產(chǎn)生的磁場將使轉(zhuǎn)子 上產(chǎn)生反應(yīng)轉(zhuǎn)矩,轉(zhuǎn)子的1、3齒將與定子磁極對齊,如果圖(a)所示。第二個脈沖到來,使B相繞組通電,而A、C相繞組不通電;B相繞組產(chǎn)生的磁場將 使轉(zhuǎn)子的2、4齒與B相磁極對齊,如圖(b)所示,與圖(a)相比,轉(zhuǎn)子逆時針方向轉(zhuǎn)動了一個角度。第三個脈沖到來后,是C相繞組通電,而 A、B相不通電,這時轉(zhuǎn)子的1、3齒會與C組對齊,轉(zhuǎn)子的位置如圖(c)所示,與圖(b)比較,又逆時針轉(zhuǎn)過

62、了一個角度。,110,圖 反應(yīng)式步進(jìn)電機(jī)工作原理圖,111,當(dāng)脈沖不斷到來時,通過分配器使定子的繞組按著A相--B相--C相--A相……的規(guī)律不斷地接通與斷開,這時步進(jìn)電動機(jī)的轉(zhuǎn)子就連續(xù)不停地一步步的逆時 針方向轉(zhuǎn)動。如果改變步進(jìn)電動機(jī)的轉(zhuǎn)動方向,只要將定子各繞組通電的順序改為A相--C相--B相--A相,轉(zhuǎn)子轉(zhuǎn)動方向即改為順時針方向。 單三拍分配方式時,步進(jìn)電動機(jī)由A相通電轉(zhuǎn)換到B相同點,步進(jìn)電動機(jī)的轉(zhuǎn)子轉(zhuǎn)過一個角度,稱為一

63、步。這時轉(zhuǎn)子轉(zhuǎn)過的角度是30度。步進(jìn)電動機(jī)每一步轉(zhuǎn)過的角度稱為步距角。,112,(2)三相雙三拍運行方式三相雙三拍運行方式:每次都有兩個繞組通電,通電方式是AB--BC--CA--AB……,如果通電順序改為AB--CA--BC--AB……則步進(jìn)電機(jī)反轉(zhuǎn)。雙三拍分配方式時,步進(jìn)電動機(jī)的步距角也是30度 (3)三相單,雙六拍運行方式:三相六拍分配方式就是每個周期內(nèi)有六個通電狀態(tài)。這六中通電狀態(tài)的順序可以使A--AB--B--BC--C

64、--CA--A……或者A-- CA--C--BC--B--AB--A……六拍通電方式中,有一個時刻兩個繞組同時通電,這是轉(zhuǎn)子齒的位置將位于通電的兩相的中間位置。在三相六拍分配 方式下,轉(zhuǎn)子每一步轉(zhuǎn)過的角度只是三相三拍方式下的一半,步距角是15度。,113,單三拍運行的突出問題是每次只有一相繞組通電,在轉(zhuǎn)換過程中,一相繞組斷電,另一相繞組通電,容易發(fā)生失步;另外單靠一相繞組通電吸引轉(zhuǎn)子,穩(wěn)定性不好,容易在平衡位置附近震蕩,故用的較少。

65、 雙三拍運行的特點是每次都有兩相繞組通電,且在轉(zhuǎn)換過程中始終有一相繞組保持通電狀態(tài),因此工作穩(wěn)定,且步距角與單三拍相同。 六拍運行方式轉(zhuǎn)換時始終有一相繞組通電,且步距角較小,故工作穩(wěn)定性好,但電源較復(fù)雜,實際應(yīng)用較多。3. 電路設(shè)計(Proteus仿真通過) 本單片機(jī)控制步進(jìn)電機(jī)電路原理圖,如下頁圖所示:,114,115,4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在“Progra

66、m File”欄中添加上面編譯好的目標(biāo)代碼文件“keil-1.hex”;在“Clock Frequency”欄中輸入晶振頻率為12MHz。 啟動仿真,各按鍵功能如下頁圖所注,根據(jù)題目要求,只有當(dāng)開關(guān)合上時,步進(jìn)電機(jī)才工作。,116,117,題目21 單片機(jī)控制直流電動機(jī)1. 設(shè)計要求 采用單片機(jī)設(shè)計一個控制直流電機(jī)并測量轉(zhuǎn)速的裝置。單片機(jī)擴(kuò)展有A/D轉(zhuǎn)換芯片ADC0809和D/A轉(zhuǎn)換芯片DAC0832。 (1)

67、通過改變A/D輸入端可變電阻來改變A/D的輸入電壓,D/A輸入檢測量大小,進(jìn)而改變直流電機(jī)的轉(zhuǎn)速。 (2)手動控制。在鍵盤上設(shè)置兩個按鍵—直流電動機(jī)加速鍵和直流電機(jī)減速鍵。在手動狀態(tài)下,每按一次鍵,電機(jī)的轉(zhuǎn)速按照約定的速率改變。 (3)鍵盤列掃描(4 ? 6)。,118,2. 實驗原理 本題目難點是對直流電機(jī)的控制。與步進(jìn)電機(jī)類似,直流電機(jī)也可精確地控制旋轉(zhuǎn)速度或轉(zhuǎn)矩。 直流電機(jī)是通過兩個

68、磁場的互作用產(chǎn)生旋轉(zhuǎn)。其結(jié)構(gòu)如下頁圖所示,固定部分(定子)上,裝設(shè)了一對直流勵磁的靜止的主磁極N和S,在旋轉(zhuǎn)部分(轉(zhuǎn)子)上裝設(shè)電樞鐵心。定子與轉(zhuǎn)子之間有一氣隙。在電樞鐵心上放置了由A和X 兩根導(dǎo)體連成的電樞線圈,線圈的首端和末端分別連到兩個圓弧形的銅片上,此銅片稱為換向片。,119,圖 有刷直流電機(jī)結(jié)構(gòu)示意圖,120,換向片之間互相絕緣,由換向片構(gòu)成的整體稱為換向器。換向器固定在轉(zhuǎn)軸上,換向片與轉(zhuǎn)軸之間亦互相絕緣。在換向片上

69、放置著一對固定不動的電刷B1和B2,當(dāng)電樞旋轉(zhuǎn)時,電樞線圈通過換向片和電刷與外電路接通。 定子通過永磁體或受激勵電磁鐵產(chǎn)生一個固定磁場,由于轉(zhuǎn)子由一系列電磁體構(gòu)成,當(dāng)電流通過其中一個繞組時會產(chǎn)生一個磁場。對有刷直流電機(jī)而言,轉(zhuǎn)子上的換向器和定子的電刷在電機(jī)旋轉(zhuǎn)時為每個繞組供給電能。通電轉(zhuǎn)子繞組與定子磁體有相反極性,因而相互吸引,使轉(zhuǎn)子轉(zhuǎn)動至與定子磁場對準(zhǔn)的位置。當(dāng)轉(zhuǎn)子到達(dá)對準(zhǔn)位置時,電刷通過換向器為下一組繞組供電,從而使轉(zhuǎn)子維持

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論