片機(jī)課程設(shè)計(jì)課程設(shè)計(jì)
-
資源ID:23745450
資源大小:1.27MB
全文頁(yè)數(shù):129頁(yè)
- 資源格式: PPT
下載積分:14.9積分
快捷下載
會(huì)員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。
|
片機(jī)課程設(shè)計(jì)課程設(shè)計(jì)
1 課程設(shè)計(jì)題目 2 目錄 -課程設(shè)計(jì)題目 題目 1 智能電子鐘( LCD顯示) 題目 2 電子時(shí)鐘( LCD顯示) 題目 3 秒表 題目 4 定時(shí)鬧鐘 題目 5 音樂(lè)倒數(shù)計(jì)數(shù)器 題目 6 基于數(shù)字溫度傳感器的數(shù)字溫度計(jì) 題目 7 基于熱敏電阻的數(shù)字溫度計(jì) 題目 8 十字路口交通燈控制 題目 9 波形發(fā)生器設(shè)計(jì) 題目 10 電容、電阻參數(shù)單片機(jī)測(cè)試系統(tǒng)的設(shè)計(jì) 3 題目 11 數(shù)字 頻率計(jì) 題目 12 8位競(jìng)賽搶答器的設(shè)計(jì) 題目 13 單詞記憶測(cè)試器程序設(shè)計(jì) 題目 14 數(shù)字電壓表設(shè)計(jì) 題目 15 可編程作息時(shí)間控制器設(shè)計(jì) 題目 16 節(jié)日彩燈控制器的設(shè)計(jì) 題目 17 雙機(jī)之間的串行通信設(shè)計(jì) 題目 18 電子琴設(shè)計(jì) 題目 19 數(shù)字音樂(lè)盒的設(shè)計(jì) 題目 20 單片機(jī)控制步進(jìn)電機(jī) 題目 21 單片機(jī)控制直流電動(dòng)機(jī) 4 題目 1 智能電子鐘( LCD顯示) 1. 設(shè)計(jì)要求 以 AT89C51單片機(jī)為核心,制作一個(gè) LCD顯示的智能電子鐘: (1) 計(jì)時(shí):秒、分、時(shí)、天、周、月、年。 (2) 閏年自動(dòng)判別。 (3) 五路定時(shí)輸出,可任意關(guān)斷(最大可到 16路)。 (4) 時(shí)間、月、日交替顯示。 (5) 自定任意時(shí)刻自動(dòng)開 /關(guān)屏。 (6) 計(jì)時(shí)精度:誤差 1秒 /月(具有微調(diào)設(shè)置)。 5 (7) 鍵盤采用動(dòng)態(tài)掃描方式查詢。所有的查詢、設(shè)置功能均 由功能鍵 K1、 K2完成。 2. 工作原理 本設(shè)計(jì)采用市場(chǎng)上流行的 時(shí)鐘芯片 DS1302進(jìn)行制作。 DS1302 是 DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含一個(gè)實(shí)時(shí) 時(shí)鐘 /日歷和 31字節(jié)靜態(tài) RAM,可以通過(guò)串行接口與計(jì)算 機(jī)進(jìn)行通信,使得管腳數(shù)量減少。實(shí)時(shí)時(shí)鐘 /日歷電路能 夠計(jì)算 2100年之前 的秒、分、時(shí)、日、星期、月、年的 ,具有閏年調(diào)整的能力。 DS1302時(shí)鐘芯片的 主要功能特性 : 6 (1) 能計(jì)算 2100年之前的年、月、日、星期、時(shí)、分、秒的 信息;每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整;時(shí)鐘可設(shè)置 為 24或 12小時(shí)格式。 (2) 31B的 8位暫存數(shù)據(jù)存儲(chǔ) RAM。 (3) 串行 I/O口方式使得引腳數(shù)量最少。 (4) DS1302與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行 通信,僅需 3根線。 (5) 寬范圍工作電壓 2.0-5.5V。 (6) 工作電流為 2.0A時(shí),小于 300nA。 (7) 功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于 1mW。 7 3. 電路設(shè)計(jì)( Proteus軟件仿真通過(guò)) 8 4. Proteus仿真 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上 面編譯好的目標(biāo)代碼文件 “ keil-1.hex”;在 “ Clock Frequency”欄中輸入晶振頻率為 11.0592MHz。 仿真如 下頁(yè)圖 所示,其中,浮動(dòng)窗口中顯示的為 DS1302當(dāng)前時(shí) 鐘狀態(tài) : 9 圖 智能電子鐘仿真效果 10 題目 2 電子時(shí)鐘( LCD顯示) 1. 設(shè)計(jì)要求 以 AT89C51單片機(jī)為核心的時(shí)鐘,在 LCD顯示器上顯示當(dāng)前的時(shí) 間: 使用字符型 LCD顯示器顯示當(dāng)前時(shí)間。 顯示格式為 “ 時(shí)時(shí):分分:秒秒 ” 。 用 4個(gè)功能鍵操作來(lái)設(shè)置當(dāng)前時(shí)間。 功能鍵 K1 K4功能如下 。 K1進(jìn)入設(shè)置現(xiàn)在的時(shí)間。 K2設(shè)置小時(shí)。 11 K3設(shè)置分鐘 。 K4確認(rèn)完成設(shè)置。 程序執(zhí)行后工作指示燈 LED閃動(dòng),表示程序開始執(zhí)行, LCD顯 示 “ 00: 00: 00”,然后開始計(jì)時(shí)。 2. 實(shí)驗(yàn)原理 題目難點(diǎn)在于鍵盤的指令輸入,由于每個(gè)按鍵都具有相應(yīng)的 一種或多種功能,程序中需要大量使用 dowhile或 while循環(huán)結(jié)構(gòu),以檢測(cè)是否有按鍵按下。按鍵檢測(cè)函數(shù) 的詳解如下(略) 12 3. 參考電路( Proteus軟件仿真通過(guò)) 13 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-2.hex”;在 “ Clock Frequency”欄中輸入晶振頻 率為 11.0592MHz。 啟動(dòng)仿真,按下按鍵 1后,可發(fā)現(xiàn) LED停止閃爍,即時(shí)鐘停止 走時(shí),時(shí)鐘停在當(dāng)前時(shí)刻,按下按鍵 2和按鍵 3后,可改變 時(shí)間,按下按鍵 4后,時(shí)鐘復(fù)位到修改后的時(shí)間,時(shí)鐘重 新開始運(yùn)轉(zhuǎn),如 下頁(yè)圖 所示。 14 15 題目 3 秒表 1. 設(shè)計(jì)要求 用 AT89C51設(shè)計(jì)一個(gè) 2位的 LED數(shù)碼顯示作為 “ 秒表 ” :顯示 時(shí)間為 0099秒,每秒自動(dòng)加 1,另設(shè)計(jì)一個(gè) “ 開始 ” 鍵 和一個(gè) “ 復(fù)位 ” 鍵。 2. 實(shí)驗(yàn)原理 題目難點(diǎn)在于通過(guò)對(duì)鍵盤的掃描對(duì)時(shí)鐘的走時(shí) /停止進(jìn)行控 制,項(xiàng)目采用定時(shí)器 T0作為計(jì)時(shí)器,每 10ms發(fā)生一次中斷 ,每 100次中斷加 1s。在此期間,如 “ 開始 ” 按鍵按下, 程序方將 TR0置為 1,從而開啟中斷,時(shí)鐘開始走時(shí);如 “ 16 復(fù)位 ” 按鍵按下,程序?qū)?TR0置為 0,同時(shí)將存儲(chǔ)時(shí)間的變 量清零,從而中斷停止,并實(shí)現(xiàn)復(fù)位。 本題目采用專用 數(shù)碼管顯示控制芯片 MAX7219。 MAX7219是 美國(guó) MAXIM公司生產(chǎn)的串行輸入 /輸出共陰極顯示驅(qū)動(dòng)器, 該芯片最多可驅(qū)動(dòng) 8位 7段數(shù)字 LED顯示器或個(gè) LED和條形 圖顯示器。其引腳圖及引腳功能參見(jiàn)有關(guān)參考資料。 17 MAX7219的典型應(yīng)用參考電路 18 3. 電路設(shè)計(jì)( Proteus軟件仿真通過(guò)) 19 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-2.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 11.0592MHz。 啟動(dòng)仿真,按下按鍵 1后,可發(fā)現(xiàn) led停止閃爍,即時(shí)鐘停止 走時(shí),時(shí)鐘停在當(dāng)前時(shí)刻,按下按鍵 2和按鍵 3后,可改變 時(shí)間,按下按鍵 4后,時(shí)鐘復(fù)位到修改后的時(shí)間,時(shí)鐘重新 開始運(yùn)轉(zhuǎn),如 下頁(yè)圖 所示。 20 21 題目 4 定時(shí)鬧鐘 1. 設(shè)計(jì)要求 使用 AT89C51單片機(jī)結(jié)合字符型 LCD顯示器設(shè)計(jì)一個(gè)簡(jiǎn)易的定 時(shí)鬧鐘 LCD時(shí)鐘,若 LCD選擇有背光顯示的模塊,在夜晚 或黑暗的場(chǎng)合中也可使用。 定時(shí)鬧鐘的基本功能如下: 顯示格式為 “ 時(shí)時(shí):分分 ” 。 由 LED閃動(dòng)來(lái)做秒計(jì)數(shù)表示。 一旦時(shí)間到則發(fā)出聲響,同時(shí)繼電器啟動(dòng),可以擴(kuò)充控 制家電開啟和關(guān)閉。 22 程序執(zhí)行后工作指示燈 LED閃動(dòng),表示程序開始執(zhí)行, LCD 顯示 “ 00: 00”,按下 操作鍵 K1 K4動(dòng)作如下: (1) K1設(shè)置現(xiàn)在的時(shí)間 。 (2) K2顯示鬧鐘設(shè)置的時(shí)間 。 (3) K3設(shè)置鬧鈴的時(shí)間 。 (4) K4鬧鈴 ON/OFF的狀態(tài)設(shè)置,設(shè)置為 ON時(shí)連續(xù)三次發(fā) 出 “ 嘩 ” 的一聲,設(shè)置為 OFF發(fā)出 “ 嘩 ” 的一聲。 設(shè)置當(dāng)前時(shí)間或鬧鈴時(shí)間如下。 (1) K1時(shí)調(diào)整 。 (2) K2分調(diào)整 。 23 (3) K3設(shè)置完成。 (4) K4鬧鈴時(shí)間到時(shí),發(fā)出一陣聲響,按下本鍵可以停止 聲響。 本項(xiàng)目的難點(diǎn)在于 4個(gè)按鍵每個(gè)都具有兩個(gè)功能,以最終實(shí)現(xiàn) 菜單化的輸入功能。采用通過(guò)逐層嵌套的循環(huán)掃描,實(shí)現(xiàn) 嵌套式的鍵盤輸入。以對(duì)小時(shí)的設(shè)置的流程為例,其 流程 如 下頁(yè)圖 。 24 25 2. 參考電路( Proteus軟件仿真通過(guò)) 26 3. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-3.hex”;在 “ Clock Frequency”欄中輸入晶振頻 率為 12MHz。 啟動(dòng)仿真, 下頁(yè)圖 示為按下 “ 開始 ” 按鍵后的情況,在按下 前,數(shù)碼管無(wú)顯示。期間如果按下 “ 復(fù)位 ” 按鍵,則 LED 顯示歸零,走時(shí)停止。 27 28 題目 5 音樂(lè)倒數(shù)計(jì)數(shù)器 1. 設(shè)計(jì)要求 利用 AT89C51單片機(jī)結(jié)合字符型 LCD顯示器設(shè)計(jì)一個(gè)簡(jiǎn)易的倒數(shù) 計(jì)數(shù)器,可用來(lái)煮方便面、煮開水或小睡片刻等。做一小 段時(shí)間倒計(jì)數(shù),當(dāng)?shù)褂?jì)數(shù)為 0時(shí),則發(fā)出一段音樂(lè)聲響,通 知倒計(jì)數(shù)終了,該做應(yīng)當(dāng)做的事。 定時(shí)鬧鐘的基本功能如下。 字符型 LCD( 16 2)顯示器。 顯示格式為 “ TIME 分分 :秒秒 ” 。 29 用 4個(gè)按鍵操作來(lái)設(shè)置當(dāng)前想要倒計(jì)數(shù)的時(shí)間。一旦按下鍵 則開始倒計(jì)數(shù),當(dāng)計(jì)數(shù)為 0時(shí),發(fā)出一陣音樂(lè)聲。 程序執(zhí)行后工作指示燈 LED閃動(dòng),表示程序開始執(zhí)行,按下 操 作鍵 K1 K4動(dòng)作如下。 K1可調(diào)整倒計(jì)數(shù)的時(shí)間 1 60分鐘。 K2設(shè)置倒計(jì)數(shù)的時(shí)間為 5分鐘,顯示 “ 0500”。 K3設(shè)置倒計(jì)數(shù)的時(shí)間為 10分鐘,顯示 “ 1000”。 K4設(shè)置倒計(jì)數(shù)的時(shí)間為 20分鐘,顯示 “ 2000”。 復(fù)位后 LCD的畫面應(yīng)能顯示倒計(jì)時(shí)的分鐘和秒數(shù),此時(shí)按 K1鍵 , 30 則在 LCD上顯示出設(shè)置畫面。此時(shí),若: a. 按操作鍵 K2 增加倒計(jì)數(shù)的時(shí)間 1分鐘。 b. 按操作鍵 K3 減少倒計(jì)數(shù)的時(shí)間 1分鐘。 c. 按操作鍵 K4 設(shè)置完成。 鍵盤實(shí)現(xiàn)菜單功能的方法,已在題目 4詳細(xì)說(shuō)明,不再贅 述。 本題目最大難點(diǎn)是實(shí)現(xiàn)音樂(lè)的播放 。作者利用定時(shí)計(jì)數(shù) 器,通過(guò)載入不同的計(jì)數(shù)初值,產(chǎn)生頻率不同的方波,輸入 到蜂鳴器( SOUNER)中,使其發(fā)出頻率不同的聲音。本設(shè)計(jì) 中單片機(jī)晶振為 1.0592MHz,通過(guò)計(jì)算各音階頻率,可得 1、 2、 3、 4、 5、 6、 7共 7個(gè)音應(yīng)賦給定時(shí)器的初值為 64580、 64684、 64777、 64820、 64898、 64968、 65030。 31 在此基礎(chǔ)上,可將樂(lè)曲的簡(jiǎn)譜轉(zhuǎn)化為單片機(jī)可以 “ 識(shí)別 ” 的 “ 數(shù)組譜 ” ,進(jìn)一步加入對(duì)音長(zhǎng)、休止符等的控制量后, 可以實(shí)現(xiàn)音樂(lè)的播放。 3.電路設(shè)計(jì)( Proteus仿真通過(guò)) 本題目制作的帶有 LCD顯示的音樂(lè)倒數(shù)計(jì)數(shù)器電路原理圖,如 下頁(yè)圖 所示。 32 33 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-5.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,當(dāng)鬧鐘到達(dá)時(shí),可以聽見(jiàn)蜂鳴器演 奏的樂(lè)曲。再次提示,本題目必須選用蜂鳴器 SOUNDER,否 則不能發(fā)出聲音。 34 35 題目 6 基于數(shù)字溫度傳感器的數(shù)字溫度計(jì) 1. 設(shè)計(jì)要求 利用 數(shù)字溫度傳感器 DS18B20與單片機(jī)結(jié)合來(lái)測(cè)量溫度。利 用數(shù)字溫度傳感器 DS18B20測(cè)量溫度信號(hào),計(jì)算后在 LED數(shù) 碼管上顯示相應(yīng)的溫度值。其溫度測(cè)量范圍為 55 125 ,精確到 0.5 。數(shù)字溫度計(jì)所測(cè)量的溫度采用數(shù)字 顯示,控制器使用單片機(jī) AT89C51,測(cè)溫傳感器使用 DS18B20,用 3位共陽(yáng)極 LED數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn) 溫度顯示。 36 2. 實(shí)驗(yàn)原理 從溫度傳感器 DS18B20可以很容易直接讀取被測(cè)溫度值,進(jìn) 行轉(zhuǎn)換即滿足設(shè)計(jì)要求。 DS18B20溫度傳感器 是美國(guó) DALLAS半導(dǎo)體公司最新推出的一 種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件 相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò) 簡(jiǎn)單的編程實(shí)現(xiàn) 9 12位的數(shù)字讀數(shù)方式。 DS18B20的性能如下。 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信。 多個(gè) DS18B20可以并聯(lián)在串行傳輸?shù)臄?shù)據(jù)線上,實(shí)現(xiàn)多點(diǎn) 組網(wǎng)功能。無(wú)須外部器件。 37 可通過(guò)數(shù)據(jù)線供電,電壓范圍為 3.0 5.5V。 零待機(jī)功耗。 溫度以 9或 12位的數(shù)字讀數(shù)方式。 用戶可定義報(bào)警設(shè)置。 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件 )的器件。 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀, 但不能正常工作。 采用 3引腳 PR-35封裝或 8引腳 SOIC封裝。 38 3.電路設(shè)計(jì)( Proteus仿真通過(guò)) 本項(xiàng)目制作的數(shù)字溫度計(jì)電路原理圖,如下所示: 39 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-6.hex”;在 “ Clock Frequency”欄中輸入晶振頻率為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,其中, DS18B20窗口顯示的為 當(dāng)前環(huán)境溫度,若調(diào)整 DS18B20旁邊的箭頭,可改變環(huán)境溫度 ,可以看到 LED顯示屏上的溫度值發(fā)生相應(yīng)的變化。 40 41 題目 7 基于熱敏電阻的數(shù)字溫度計(jì) 1. 設(shè)計(jì)要求 使用熱敏電阻類的溫度傳感器件利用其感溫效應(yīng),將隨被測(cè)溫 度變化的電壓或電流用單片機(jī)采集下來(lái),將被測(cè)溫度在顯示 器上顯示出來(lái): 測(cè)量溫度范圍 50 110 。 精度誤差小于 0.5 。 LED數(shù)碼直讀顯示。 42 2 . 實(shí)驗(yàn)原理 本題目使用 鉑熱電阻 PT100,其阻值會(huì)隨著溫度的變化而改變 。 PT后的 100即表示它在 0 時(shí)阻值為 100歐姆,在 100 時(shí)它 的阻值約為 138.5歐姆。廠家提供有 PT100在各溫度下電阻值 值的分度表,在此可以近似取電阻變化率為 0.385/ 。 向 PT100輸入穩(wěn)恒電流,再通過(guò) A/D轉(zhuǎn)換后測(cè) PT100兩端電壓 ,即得到 PT100的電阻值,進(jìn)而算出當(dāng)前的溫度值。 采用 2.55mA的電流源對(duì) PT100進(jìn)行供電,然后用運(yùn)算放大器 LM324搭建的同相放大電路將其電壓信號(hào)放大 10倍后輸入到 AD0804中。利用電阻變化率 0.385/ 的特性,計(jì)算出當(dāng)前 溫度值。 43 3.電路設(shè)計(jì)( Proteus仿真通過(guò)) 44 4. Proteus仿真 首先加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-7.hex”;在 “ Clock Frequency”欄中輸入晶振頻 率為 12MHz。 啟動(dòng)仿真如 圖 所示,其中, PT100旁邊的數(shù)字窗口顯示的為 測(cè)定的環(huán)境溫度,通過(guò)調(diào)整上下溫度,可以實(shí)現(xiàn)對(duì)環(huán)境溫 度的改變。值得注意的是,由于本項(xiàng)目使用的核心測(cè)溫器 件 PT100對(duì)溫度存在一定的響應(yīng)時(shí)間,故啟動(dòng)程序后一段 時(shí)間測(cè)定的溫度才能穩(wěn)定下來(lái)。 45 本題目 測(cè)溫誤差 主要由以下幾點(diǎn)引發(fā): ADC0804為 8位 ADC芯片,精度有限;程序假定 PT100為完全線性 的器件,而即使是廠家推薦的線性值也會(huì)存在一定誤差;運(yùn) 放電路并非絕對(duì)線性。如使用 12位 ADC芯片,采用 “ 四線制 ” 的 PT100接法,采用查表法測(cè)定溫度值,將極大提高溫度 的測(cè)量精度。 46 47 題目 8 十字路口交通燈控制 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)十字路口交通燈控制器。用單片機(jī)控制 LED燈模 擬指示。模擬東西方向的十字路口交通信號(hào)控制情況。東西 向通行時(shí)間為 80s,南北向通行時(shí)間為 60s,緩沖時(shí)間為 3s。 2. 實(shí)驗(yàn)原理 本項(xiàng)目為典型的 LED顯示和中斷定時(shí)電路。利用定時(shí)器 T0 產(chǎn)生每 10ms一次的中斷,每 100次中斷為 1s。對(duì)兩個(gè)方向分 別顯示紅、綠、黃燈,已經(jīng)相應(yīng)的剩余時(shí)間即可。值得注意 的 48 是,需要意識(shí)到, A方向紅燈時(shí)間 =B方向綠燈時(shí)間 +黃燈緩沖 時(shí)間這一常識(shí)。 本項(xiàng)目使用的 MAX7219芯片使用方法請(qǐng)參考題目 3。 3.電路設(shè)計(jì)( Proteus仿真通過(guò)) 本項(xiàng)目制作的十字路口交通燈控制電路原理圖,如 下頁(yè)圖 : 49 50 4.Proteus仿真 51 題目 9 波形發(fā)生器設(shè)計(jì) 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)能產(chǎn)生正弦波、方波、三角波、梯形波、鋸齒 波的波形發(fā)生器。 2. 實(shí)驗(yàn)原理 產(chǎn)生指定波形可以通過(guò) DAC來(lái)實(shí)現(xiàn),不同波形產(chǎn)生實(shí)質(zhì) 上是對(duì)輸出的二進(jìn)制數(shù)字量進(jìn)行相應(yīng)改變來(lái)實(shí)現(xiàn)的。本題目 中, 方波信號(hào) 是利用定時(shí)器中斷產(chǎn)生的,每次中斷時(shí),將輸 出的信號(hào)按位反即可; 三角波信號(hào) 是將輸出的二進(jìn)制數(shù)字信 號(hào)依次加 1,達(dá)到 0 xff時(shí)依次減 1,并實(shí)時(shí)將數(shù)字信號(hào)經(jīng) D/A 轉(zhuǎn)換得到; 鋸齒波 信號(hào)是將輸出的二進(jìn)制數(shù)字信號(hào)依次 52 加 1,達(dá)到 0 xff時(shí)置為 0 x00,并實(shí)時(shí)將數(shù)字信號(hào)經(jīng) D/A轉(zhuǎn)換得 到的; 梯形波 是將輸出的二進(jìn)制數(shù)字信號(hào)依次加 1,達(dá)到 0 xff時(shí) 保持一段時(shí)間,然后依次減 1直至 0 x00,并實(shí)時(shí)將數(shù)字信號(hào)經(jīng) D/A轉(zhuǎn)換得到的; 正弦波 是利用 MATLAB將正弦曲線均勻取樣后,得到等間隔 時(shí)刻的 y方向上的二進(jìn)制數(shù)值,然后依次輸出后經(jīng) D/A轉(zhuǎn)換得 到。 3.電路設(shè)計(jì)( Proteus仿真通過(guò)) 本波形發(fā)生器的設(shè)計(jì)電路原理圖,如 下頁(yè)圖 所示: 53 54 )R2C ( R 1.44f BA 題目 10 電容、電阻參數(shù)單片機(jī)測(cè)試系統(tǒng)的設(shè)計(jì) 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)能測(cè)量電容、電阻參數(shù)的測(cè)試系統(tǒng)。 2 實(shí)驗(yàn)原理 對(duì)電阻的測(cè)量,可將待測(cè)電阻與一標(biāo)準(zhǔn)電阻串聯(lián)后接在 +5V的電源上,根據(jù)串聯(lián)分壓原理,利用 ADC測(cè)定電阻兩端電 壓后,即可得到其阻值。對(duì)電容的測(cè)量,可將其與已知阻值 的電阻 RA和 RB組成基于 NE555的多諧振蕩器如 下頁(yè)圖 。其產(chǎn) 生的方波信號(hào)頻率為 : 、 55 56 故通過(guò)測(cè)定方波信號(hào)的頻率可以比較精確的測(cè)定 C的值 。 測(cè)定方 波信號(hào)頻率的方法 , 請(qǐng)見(jiàn) 題目 11。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本題目的電容、電阻參數(shù)單片機(jī)測(cè)試系統(tǒng)的設(shè)計(jì) 電路原理圖 ,見(jiàn) 下頁(yè)。 57 58 4. Proteus仿真 測(cè)量電阻仿真如下圖所示,但由于 Proteus中 555芯片模 型存在問(wèn)題,無(wú)法實(shí)現(xiàn)對(duì)電容測(cè)量的仿真,且仿真時(shí)必須刪 去 555的電路模塊。 59 題目 11 數(shù)字 頻率計(jì) 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)以單片機(jī)為核心的頻率測(cè)量裝置。使用 AT89C51單 片機(jī)的定時(shí)器 /計(jì)數(shù)器的定時(shí)和計(jì)數(shù)功能,外部擴(kuò)展 6 位 LED數(shù)碼管,要求累計(jì)每秒進(jìn)入單片機(jī)的外部脈沖個(gè) 數(shù),用 LED數(shù)碼管顯示出來(lái)。 (1)被測(cè)頻率 fx 110Hz,采用測(cè)周法,顯示頻率 . ; fx 110Hz,采用測(cè)頻法,顯示頻率 。 (2)利用鍵盤分段測(cè)量和自動(dòng)分段測(cè)量。 60 (3)完成單脈沖測(cè)量,輸入脈沖寬度范圍是 100s 0.1s。 (4)顯示脈沖寬度要求如下。 Tx 1000s,顯示脈沖寬度 。 Tx 1000s,顯示脈沖寬度 。 2. 實(shí)驗(yàn)原理 測(cè)量頻率有測(cè)頻法和測(cè)周法兩種。 (1)測(cè)頻法 ,利用外部電平變化引發(fā)的外部中斷,測(cè)算 1s內(nèi) 的波數(shù),從而實(shí)現(xiàn)對(duì)頻率的測(cè)定; (2)測(cè)周法 ,通過(guò)測(cè)算某兩次電平變化引發(fā)的中斷之間的時(shí) 間,實(shí)現(xiàn)對(duì)頻率的測(cè)定。簡(jiǎn)而言之,測(cè)頻法是直接根據(jù)定義測(cè) 定頻率,測(cè)周法是通過(guò)測(cè)定周期間接測(cè)定頻率。 61 理論上,測(cè)頻法適用于較高頻率的測(cè)量,測(cè)周法適用于較 低頻 率的測(cè)量。 經(jīng)過(guò)調(diào)校,在測(cè)量低頻信號(hào)時(shí),本項(xiàng)目中測(cè)頻法精度已高 于測(cè) 周法,故舍棄測(cè)周法,全量程采用測(cè)頻法。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 以單片機(jī)為核心的頻率計(jì)電路原理圖,如 下頁(yè)圖 所示: 62 63 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-16.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 12MHz。 啟動(dòng)仿真如 后兩頁(yè) 圖( a)和 圖( b)所示 : 64 圖( a) 仿真 1 65 圖( b) 仿真 2 66 題目 12 8位競(jìng)賽搶答器的設(shè)計(jì) 1.設(shè)計(jì)要求 以單片機(jī)為核心,設(shè)計(jì)一個(gè) 8位競(jìng)賽搶答器:同時(shí)供 8名選手 或 8個(gè)代表隊(duì)比賽,分別用 8個(gè)按鈕 S0 S7表示。 設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān) S,開關(guān)由主持人控制。 搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號(hào) ,并在優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。 搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定 (如 30秒)。 67 當(dāng)主持人啟動(dòng) “ 開始 ” 鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí) 揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間為 0.5s左右。 參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器 停止工作,顯示器上顯示選手的編號(hào)和搶答的時(shí)間,并保持 到主持人將系統(tǒng)清除為止。 如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統(tǒng)報(bào) 警并禁止搶答,定時(shí)顯示器上顯示 00。 2. 實(shí)驗(yàn)原理 通過(guò)鍵盤改變搶答的時(shí)間,原理與鬧鐘時(shí)間的設(shè)定相同 ,將定時(shí)時(shí)間的變量置為全局變量后,通過(guò)鍵盤掃描程序使 每按下一次按鍵,時(shí)間加 1(超過(guò) 30時(shí)置 0)。同時(shí)單片機(jī) 68 不斷進(jìn)行按鍵掃描,當(dāng)參賽選手的按鍵按下時(shí),用于產(chǎn)生時(shí) 鐘信號(hào)的定時(shí)計(jì)數(shù)器停止計(jì)數(shù),同時(shí)將選手編號(hào)(按鍵號(hào) )和搶答時(shí)間分別顯示在 LED上。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 8位競(jìng)賽搶答器的設(shè)計(jì)電路原理圖,如 下頁(yè)圖 所示: 69 70 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-19.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 12MHz。仿真:?jiǎn)螕舭粹o,啟動(dòng)仿真,結(jié)果如 下頁(yè)圖 所示 : 71 72 題目 13 單詞記憶測(cè)試器程序設(shè)計(jì) 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)以單片機(jī)為核心的單詞記憶測(cè)試器: 實(shí)現(xiàn)單詞的錄入(為使程序具有可演示性,單詞不少于 10個(gè))。 單詞用按鍵控制依次在屏幕上顯示,按鍵選擇認(rèn)識(shí)還是 不認(rèn)識(shí),也可以直接進(jìn)入下一個(gè)或者上一個(gè)。 單詞背完后給出正確率。 2. 實(shí)驗(yàn)原理 本題目實(shí)質(zhì)上是一個(gè)具有一定復(fù)雜程度鍵盤掃描程序,可 73 將單詞存儲(chǔ)在一個(gè)二維數(shù)組中,按 “ 確定 ” 鍵開始程序后,次 顯示 0行的數(shù)組,即第一個(gè)單詞。之后按下 “ 向上 ” 按鍵,顯 示上一行數(shù)組,即上一個(gè)單詞; 按下 “ 向下 ” 按鍵,顯示下一行數(shù)組,即下一個(gè)單詞。當(dāng) 顯示的行數(shù)超過(guò) 9時(shí),程序結(jié)束,并通過(guò)按 “ 確認(rèn) ” 的次數(shù), 計(jì)算出正確率。 3.電路設(shè)計(jì)( Proteus仿真通過(guò)) 本項(xiàng)目制作的單詞記憶測(cè)試器程序設(shè)計(jì)電路如 下頁(yè)圖 所示 。 74 75 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil- 18.hex”;在 “ Clock Frequency”欄中輸入晶振頻率為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 (a)-(c)所示 : 76 圖( a) 單詞記憶測(cè)試器程序設(shè)計(jì)啟動(dòng)界面仿真效果圖 圖( b) 單詞記憶測(cè)試器程序設(shè)計(jì)測(cè)試界面仿真效果圖 圖( c) 單詞記憶測(cè)試器程序設(shè)計(jì)正確率顯示界面仿真效果 77 題目 14 數(shù)字電壓表設(shè)計(jì) 1. 設(shè)計(jì)要求 以單片機(jī)為核心,設(shè)計(jì)一個(gè)數(shù)字電壓表。采用中斷方式,對(duì) 2路 0 5V的模擬電壓進(jìn)行循環(huán)采集,采集的數(shù)據(jù)送 LED顯示,并 存入內(nèi)存。超過(guò)界限時(shí)指示燈閃爍。 2. 實(shí)驗(yàn)原理 本題目本質(zhì)上是以單片機(jī)為控制器, ADC0809為 ADC器件的 AD 轉(zhuǎn)換電路,設(shè)計(jì)要求的電壓顯示,是對(duì) ADC采集所得信號(hào)的進(jìn)一 步處理。 為得到可讀的電壓值,需根據(jù) ADC的原理,對(duì)采集所得的 78 信號(hào)進(jìn)行計(jì)算,并顯示在 LED上。本項(xiàng)目中 ADC0809的參考電壓為 +5V,根據(jù)定義,采集所得的二進(jìn)制信號(hào) addata所指代的電壓值 為 : 而若將其顯示到小數(shù)點(diǎn)后兩位,不考慮小數(shù)點(diǎn)的存在(將其乘以 100),其計(jì)算的數(shù)值為: 。將小數(shù)點(diǎn)顯示在第二位數(shù)碼管上,即為實(shí)際的電壓。 V 5256a dda ta V 1.96a dd a t aV 5256 100a dd a t a 79 本示例程序?qū)?1.25 V和 2.5 V作為兩路輸入的報(bào)警值,反映在 二進(jìn)制數(shù)字上,分別為 0 x40和 0 x80。當(dāng) AD結(jié)果超過(guò)這一數(shù) 值時(shí),將會(huì)出現(xiàn)二極管閃爍和蜂鳴器發(fā)聲。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本單片機(jī)數(shù)字電壓表電路原理圖,如 下頁(yè)圖 所示: 80 81 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “xxxxx.hex;在 “ Clock Frequency”欄中輸入晶振頻率為 12MHz。 ADC0809的時(shí)鐘信號(hào)設(shè)置為 640kHz。 啟動(dòng)仿真,如 下頁(yè)圖 所示,當(dāng)調(diào)節(jié)滑動(dòng)變阻器時(shí),可觀察 到顯示的電壓發(fā)生變化,且兩路輸入電壓的測(cè)算值交替顯示 . 。當(dāng)任一路電壓輸入超過(guò)預(yù)設(shè)值時(shí), LED顯示器閃爍,蜂鳴器 發(fā)聲。由于 8位 AD芯片精度有限,其誤差大約在幾十 mV左右。 82 83 題目 15 可編程作息時(shí)間控制器設(shè)計(jì) 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)以單片機(jī)為核心的可編程作息時(shí)間控制器: 按照給定的時(shí)間模擬控制,實(shí)現(xiàn)廣播、上下課打鈴、燈光控 制(屏幕顯示) ,同時(shí)具備日期和時(shí)鐘顯示。 2. 實(shí)驗(yàn)原理 本題目原理與題目 4相同,程序是在題目 4的基礎(chǔ)上將定 時(shí)鬧鐘改造為 4路可調(diào)鬧鐘,從而實(shí)現(xiàn)打鈴等功能。當(dāng)四路 鬧鐘中的任一路到時(shí),均會(huì)點(diǎn)亮燈、打鈴。如有需求,可對(duì) 84 程序進(jìn)行調(diào)整,增加鬧鐘的路數(shù),及到時(shí)后的處理方式。 題目中 4個(gè)按鍵的功能分別為:設(shè)置限制的時(shí)間 /時(shí)的調(diào) 整、顯示鬧鐘設(shè)置的時(shí)間 /分的調(diào)整、設(shè)置鬧鐘的時(shí)間 /設(shè)置 完成、鬧鐘更換。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本可編程作息時(shí)間控制器程序設(shè)計(jì)電路原理圖,如 下頁(yè) 圖 所示: 85 86 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-17.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,當(dāng)四路鬧鐘中的任一路到時(shí), 均會(huì)點(diǎn)亮燈、打鈴。 87 88 題目 16 節(jié)日彩燈控制器的設(shè)計(jì) 1. 設(shè)計(jì)要求 以單片機(jī)為核心,設(shè)計(jì)一個(gè)節(jié)日彩燈控制器: P1.2開始,按此鍵則燈開始流動(dòng)(由上而下)。 P1.3停止,按此鍵則停止流動(dòng),所有燈為暗。 P1.4上,按此鍵則燈由上向下流動(dòng)。 P1.5下,按此鍵則燈由下向上流動(dòng)。 2. 實(shí)驗(yàn)原理 本題目本質(zhì)上是由按鍵控制功能的流水燈, LED工作的方 式通過(guò)鍵盤的掃描實(shí)現(xiàn)。其中的 LED采取共陽(yáng)極接法,通過(guò) 89 依次向連接 LED的 /口送出低電平,可實(shí)現(xiàn)題目要求的功 能。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本節(jié)日彩燈控制器電路原理圖,如 下頁(yè)圖 所示,各按鍵 功能與實(shí)驗(yàn)設(shè)計(jì)要求相同: 90 91 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil- 1.hex”;在 “ Clock Frequency”欄中輸入晶振頻率為 12MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示 : 92 93 題目 17 雙機(jī)之間的串行通信設(shè)計(jì) 1. 設(shè)計(jì)要求 兩片單片機(jī)利用串行口進(jìn)行串行通信:串行通信的波特率 可從鍵盤進(jìn)行設(shè)定,可選的波特率為 1200、 2400、 4800和 9600bit/s。串行口工作方式為方式 1的全雙工串行通信。 2. 實(shí)驗(yàn)原理 兩個(gè)單片機(jī)之間進(jìn)行通訊波特率的設(shè)定,最終歸結(jié)到對(duì)定 時(shí)計(jì)數(shù)器 T1計(jì)數(shù)初值 TH1、 TL1進(jìn)行設(shè)定。故本題目本質(zhì)上是 通過(guò)鍵盤掃描得到設(shè)定的波特率,從而載入相應(yīng)的 T1計(jì)數(shù)初 值 TH1、 TL1實(shí)現(xiàn)的。示例程序中將 0 xaa從主機(jī)傳輸?shù)綇臋C(jī) , 94 并顯示在從機(jī)的數(shù)碼管上實(shí)現(xiàn)串口通訊的驗(yàn)證。 如串口通訊線路過(guò)長(zhǎng),可考慮采用 MAX232進(jìn)行電平轉(zhuǎn)換,以 延長(zhǎng)傳輸距離。值得注意的是,為了減少計(jì)算載入初值時(shí)的誤差 ,本項(xiàng)目最好采取 11.0592MHz的晶振。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 兩個(gè)單片機(jī)之間的串行通信接口設(shè)計(jì)電路原理圖,如 下頁(yè)圖 所示: 95 96 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ master.hex”或 slave.hex;在 “ Clock Frequency”欄中 輸入晶振頻率為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,當(dāng)二極管間隔點(diǎn)亮?xí)r,表明通訊 成功 : 97 98 題目 18 電子琴設(shè)計(jì) 1. 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)電子琴。利用所給鍵盤的 1, 2, 3, 4, 5, 6, 7 , 8八個(gè)鍵,能夠發(fā)出 8個(gè)不同的音調(diào),并且要求按下按鍵發(fā) 聲,松開延時(shí)一段時(shí)間停止,中間再按別的鍵則發(fā)另一音調(diào) 的聲音。 2. 實(shí)驗(yàn)原理 當(dāng)系統(tǒng)掃描到鍵盤上有鍵被按下,則快速檢測(cè)出是哪一 個(gè)鍵被按下,然后單片機(jī)的定時(shí)器被啟動(dòng),發(fā)出一定頻率的 脈沖,該頻率的脈沖輸入到蜂鳴器后,就會(huì)發(fā)出相應(yīng)的音調(diào) 。 99 如果在前一個(gè)按下的鍵發(fā)聲的同時(shí)有另一個(gè)鍵被按下, 則啟用中斷系統(tǒng),前面鍵的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音 程序,發(fā)出后按的鍵的音調(diào)。關(guān)于發(fā)聲原理,參見(jiàn)題目 5。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本電子琴設(shè)計(jì)電路原理圖,如 下頁(yè)圖 所示: 100 101 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-23.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,依次按下各按鍵可聽見(jiàn)不同的 音階 : 102 103 題目 19 數(shù)字音樂(lè)盒的設(shè)計(jì) 1. 設(shè)計(jì)要求 以單片機(jī)為核心,設(shè)計(jì)一個(gè)數(shù)字音樂(lè)盒: 利用 I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同 的音調(diào),從而演奏樂(lè)曲(最少 3首樂(lè)曲,每首不少于 30s)。 采用 LCD顯示信息。 a. 開機(jī)時(shí)有英文歡迎提示字符,播放時(shí)顯示歌曲序號(hào) (或名稱)。 b. 可通過(guò)功能鍵選擇樂(lè)曲、暫停、播放。 104 2. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本數(shù)字音樂(lè)盒的電路設(shè)計(jì)原理圖,如下圖所示。 105 3. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-24.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 11.0592MHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,其中,液晶顯示器顯示的為當(dāng) 前樂(lè)曲等信息,同時(shí)可聽見(jiàn)音樂(lè)的播放聲 106 數(shù)字音樂(lè)盒的設(shè)計(jì)仿真液晶顯示效果圖 107 題目 20 單片機(jī)控制步進(jìn)電機(jī) 1. 設(shè)計(jì)要求 采用單片機(jī)控制一個(gè)三相單三拍的步進(jìn)電機(jī)工作。步進(jìn) 電機(jī)的旋轉(zhuǎn)方向由正反轉(zhuǎn)控制信號(hào)控制。步進(jìn)電機(jī)的步數(shù)由 鍵盤輸入,可輸入的步數(shù)分別為 3、 6、 9、 12、 15、 18、 21 、 24和 27步,且鍵盤具有鍵盤鎖功能,當(dāng)鍵盤上鎖時(shí),步進(jìn) 電機(jī)不接受輸入步數(shù),也不會(huì)運(yùn)轉(zhuǎn)。只有當(dāng)鍵盤鎖打開并輸 入步數(shù)時(shí),步進(jìn)電機(jī)才開始工作。 電機(jī)運(yùn)轉(zhuǎn)的時(shí)候有正轉(zhuǎn)和反轉(zhuǎn)指示燈指示。 電機(jī)在運(yùn)轉(zhuǎn)過(guò)程中,如果過(guò)熱,則電機(jī)停止運(yùn)轉(zhuǎn),同時(shí) 108 紅色指示燈亮,同時(shí)警報(bào)響。 本題目的關(guān)鍵之處是 :如何生成 控制步進(jìn)電機(jī)的脈沖序列。 2. 實(shí)驗(yàn)原理 步進(jìn)電機(jī)的不同驅(qū)動(dòng)方式,都是在工作時(shí),脈沖信號(hào)按一 定順序輪流加到三相繞組上,從而實(shí)現(xiàn)不同的工作狀態(tài)。由于 通電順序不同,其運(yùn)行方式有 三相單三相拍、三相雙三拍和三 相單、雙六拍 三種(注意:上面 “ 三相單三拍 ” 中的 “ 三相 ” 指定子有三相繞組; “ 拍 ” 是指定子繞組改變一次通電方式; “ 三拍 ” 表示通電三次完成一個(gè)循環(huán)。 “ 三相雙三拍 ” 中的 “ 雙 ” 是指同時(shí)有兩相繞組通電)。 109 ( 1)三相單三拍運(yùn)行方式 : 下頁(yè)圖 所示為反應(yīng)式步進(jìn)電動(dòng) 機(jī)工作原理圖,若通過(guò)脈沖分配器輸出的第一個(gè)脈沖使 A相 繞組通電, B,C相繞組不通電,在 A相繞組通電后產(chǎn)生的磁場(chǎng) 將使轉(zhuǎn)子 上產(chǎn)生反應(yīng)轉(zhuǎn)矩,轉(zhuǎn)子的 1、 3齒將與定子磁極對(duì) 齊,如果 圖( a) 所示。第二個(gè)脈沖到來(lái),使 B相繞組通電, 而 A、 C相繞組不通電; B相繞組產(chǎn)生的磁場(chǎng)將 使轉(zhuǎn)子的 2、 4 齒與 B相磁極對(duì)齊,如 圖( b) 所示,與 圖( a) 相比,轉(zhuǎn)子 逆時(shí)針?lè)较蜣D(zhuǎn)動(dòng)了一個(gè)角度。第三個(gè)脈沖到來(lái)后,是 C相繞 組通電,而 A、 B相不通電,這時(shí)轉(zhuǎn)子的 1、 3齒會(huì)與 C組對(duì)齊 ,轉(zhuǎn)子的位置如 圖( c)所示,與 圖( b)比較,又逆時(shí)針轉(zhuǎn)過(guò) 了一個(gè)角度。 110 圖 反應(yīng)式步進(jìn)電機(jī)工作原理圖 111 當(dāng)脈沖不斷到來(lái)時(shí),通過(guò)分配器使定子的繞組按著 A相 -B 相 -C相 -A相 的規(guī)律不斷地接通與斷開,這時(shí)步進(jìn)電動(dòng)機(jī) 的轉(zhuǎn)子就連續(xù)不停地一步步的逆時(shí) 針?lè)较蜣D(zhuǎn)動(dòng)。如果改變步 進(jìn)電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向,只要將定子各繞組通電的順序改為 A相 - -C相 -B相 -A相,轉(zhuǎn)子轉(zhuǎn)動(dòng)方向即改為順時(shí)針?lè)较颉?單三拍分配方式時(shí),步進(jìn)電動(dòng)機(jī)由 A相通電轉(zhuǎn)換到 B相同點(diǎn) ,步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)子轉(zhuǎn)過(guò)一個(gè)角度,稱為一步。這時(shí)轉(zhuǎn)子轉(zhuǎn)過(guò) 的角度是 30度。步進(jìn)電動(dòng)機(jī)每一步轉(zhuǎn)過(guò)的角度稱為 步距角 。 112 ( 2)三相雙三拍運(yùn)行方式三相雙三拍運(yùn)行方式: 每次都有 兩個(gè)繞組通電,通電方式是 AB-BC-CA-AB ,如果通電順 序改為 AB-CA-BC-AB 則步進(jìn)電機(jī)反轉(zhuǎn)。雙三拍分配方式 時(shí),步進(jìn)電動(dòng)機(jī)的步距角也是 30度 ( 3)三相單,雙六拍運(yùn)行方式: 三相六拍分配方式就是每 個(gè)周期內(nèi)有 六個(gè)通電狀態(tài) 。這六中通電狀態(tài)的順序可以使 A- AB-B-BC-C-CA-A 或者 A- CA-C-BC-B-AB-A 六拍通電方式中,有一個(gè)時(shí)刻兩個(gè)繞組同時(shí)通電,這是轉(zhuǎn)子齒 的位置將位于通電的兩相的中間位置。在三相六拍分配 方式 下,轉(zhuǎn)子每一步轉(zhuǎn)過(guò)的角度只是三相三拍方式下的一半,步距 角是 15度 。 113 單三拍運(yùn)行的突出問(wèn)題是每次只有一相繞組通電,在轉(zhuǎn)換過(guò) 程中,一相繞組斷電,另一相繞組通電,容易發(fā)生失步;另外單 靠一相繞組通電吸引轉(zhuǎn)子,穩(wěn)定性不好,容易在平衡位置附近震 蕩,故用的較少。 雙三拍運(yùn)行的特點(diǎn)是每次都有兩相繞組通電,且在轉(zhuǎn)換過(guò)程 中始終有一相繞組保持通電狀態(tài),因此工作穩(wěn)定,且步距角與單 三拍相同。 六拍運(yùn)行方式轉(zhuǎn)換時(shí)始終有一相繞組通電,且步距角較小, 故工作穩(wěn)定性好,但電源較復(fù)雜,實(shí)際應(yīng)用較多。 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本單片機(jī)控制步進(jìn)電機(jī)電路原理圖,如 下頁(yè)圖 所示: 114 115 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-1.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 12MHz。 啟動(dòng)仿真,各按鍵功能如 下頁(yè)圖 所注,根據(jù)題目要求, 只有當(dāng)開關(guān)合上時(shí),步進(jìn)電機(jī)才工作。 116 117 題目 21 單片機(jī)控制直流電動(dòng)機(jī) 1. 設(shè)計(jì)要求 采用單片機(jī)設(shè)計(jì)一個(gè)控制直流電機(jī)并測(cè)量轉(zhuǎn)速的裝置。單 片機(jī)擴(kuò)展有 A/D轉(zhuǎn)換芯片 ADC0809和 D/A轉(zhuǎn)換芯片 DAC0832。 ( 1)通過(guò)改變 A/D輸入端可變電阻來(lái)改變 A/D的輸入電壓 , D/A輸入檢測(cè)量大小,進(jìn)而改變直流電機(jī)的轉(zhuǎn)速。 ( 2)手動(dòng)控制。在鍵盤上設(shè)置兩個(gè)按鍵 直流電動(dòng)機(jī)加 速鍵和直流電機(jī)減速鍵。在手動(dòng)狀態(tài)下,每按一次鍵,電機(jī)的 轉(zhuǎn)速按照約定的速率改變。 ( 3)鍵盤列掃描( 4 6)。 118 2. 實(shí)驗(yàn)原理 本題目難點(diǎn)是對(duì)直流電機(jī)的控制。與步進(jìn)電機(jī)類似,直流 電機(jī)也可精確地控制旋轉(zhuǎn)速度或轉(zhuǎn)矩。 直流電機(jī)是通過(guò)兩個(gè)磁場(chǎng)的互作用產(chǎn)生旋轉(zhuǎn)。其結(jié)構(gòu)如 下 頁(yè)圖 所示,固定部分(定子)上,裝設(shè)了一對(duì)直流勵(lì)磁的靜 止的主磁極 N和 S,在旋轉(zhuǎn)部分(轉(zhuǎn)子)上裝設(shè)電樞鐵心。定 子與轉(zhuǎn)子之間有一氣隙。在電樞鐵心上放置了由 A和 X 兩根導(dǎo) 體連成的電樞線圈,線圈的首端和末端分別連到兩個(gè)圓弧形 的銅片上,此銅片稱為換向片。 119 圖 有刷直流電機(jī)結(jié)構(gòu)示意圖 120 換向片之間互相絕緣,由換向片構(gòu)成的整體稱為換向器。 換向器固定在轉(zhuǎn)軸上,換向片與轉(zhuǎn)軸之間亦互相絕緣。在換向 片上放置著一對(duì)固定不動(dòng)的電刷 B1和 B2,當(dāng)電樞旋轉(zhuǎn)時(shí),電樞 線圈通過(guò)換向片和電刷與外電路接通。 定子通過(guò)永磁體或受激勵(lì)電磁鐵產(chǎn)生一個(gè)固定磁場(chǎng),由于 轉(zhuǎn)子由一系列電磁體構(gòu)成,當(dāng)電流通過(guò)其中一個(gè)繞組時(shí)會(huì)產(chǎn)生 一個(gè)磁場(chǎng)。對(duì)有刷直流電機(jī)而言,轉(zhuǎn)子上的換向器和定子的電 刷在電機(jī)旋轉(zhuǎn)時(shí)為每個(gè)繞組供給電能。通電轉(zhuǎn)子繞組與定子磁 體有相反極性,因而相互吸引,使轉(zhuǎn)子轉(zhuǎn)動(dòng)至與定子磁場(chǎng)對(duì)準(zhǔn) 的位置。當(dāng)轉(zhuǎn)子到達(dá)對(duì)準(zhǔn)位置時(shí),電刷通過(guò)換向器為下一組繞 組供電,從而使轉(zhuǎn)子維持旋轉(zhuǎn)運(yùn)動(dòng)。如 下頁(yè)圖 所示。 121 122 直流電機(jī)的速度與施加的電壓成正比,輸出轉(zhuǎn)矩則與電 流成正比。由于必須在工作期間改變直流電機(jī)的速度,直流 電機(jī)的控制是一個(gè)較困難的問(wèn)題。直流電機(jī)高效運(yùn)行的最常 見(jiàn)方法是施加一個(gè) PWM(脈寬調(diào)制)方波,其占空比對(duì)應(yīng)于 所需速度。電機(jī)起到一個(gè)低通濾波器作用,將 PWM信號(hào)轉(zhuǎn)換為 有效直流電平。特別是對(duì)于微處理器驅(qū)動(dòng)的直流電機(jī),由于 PWM信號(hào)相對(duì)容易產(chǎn)生,這種驅(qū)動(dòng)方式使用的更為廣泛。 本項(xiàng)目的示例程序?yàn)榱四軌蜓菔?DAC0832的使用,未使用 PWM驅(qū)動(dòng)方式。而是利用直流電機(jī)的速度與施加電壓成正比的 原理,通過(guò)滑動(dòng)變阻器向 ADC0809輸入控制電壓信號(hào),經(jīng) AD后 ,輸入到 AT89C51中, AT89C51將此信號(hào)轉(zhuǎn)發(fā)給 DAC0832,通過(guò) 123 功放電路放大后,驅(qū)動(dòng)直流電機(jī)。需要注意的是,本題目使用 的 Proteus版本,未提供 ADC0809的仿真模型,這里以引腳、功 能與之相同的 ADC0808代替。同時(shí), DAC0832也可以用引腳、功 能相同的 DAC0830代替。 ADC0809與 DAC0832在教材中已有詳細(xì) 介紹,在此不再敘述。按照其時(shí)序圖,如 下頁(yè)圖 和 后頁(yè)圖 操作 即可。 124 圖 ADC0808時(shí)序圖 125 圖 DAC0830時(shí)序 126 3. 電路設(shè)計(jì)( Proteus仿真通過(guò)) 本項(xiàng)目制作的用單片機(jī)控制直流電動(dòng)機(jī)并測(cè)量轉(zhuǎn)速電路原理 圖,如 下頁(yè)圖 所示: 127 圖 用單片機(jī)控制直流電動(dòng)機(jī)的電路原理圖 128 4. Proteus仿真 加載目標(biāo)代碼文件 打開元器件單片機(jī)屬性窗口,在 “ Program File”欄中添加上面編譯好的目標(biāo)代碼文件 “ keil-12.hex”;在 “ Clock Frequency”欄中輸入晶振頻率 為 12MHz。 ADC0809的時(shí)鐘信號(hào)設(shè)置為 640kHz。 啟動(dòng)仿真如 下頁(yè)圖 所示,各按鍵功能如圖中所注, LED 中顯示的為當(dāng)前電壓的數(shù)字信號(hào)值,即當(dāng)前轉(zhuǎn)速的檔位( 0- 256),通過(guò)調(diào)整從滑動(dòng)變阻器輸出的電壓值,可以觀察到 直流電機(jī)不同的轉(zhuǎn)速。 129 圖 用單片機(jī)控制直流電動(dòng)機(jī)仿真效果圖