單片機(jī)課程設(shè)計(jì)方案簡易交通燈PC機(jī)控制單片機(jī)_第1頁
單片機(jī)課程設(shè)計(jì)方案簡易交通燈PC機(jī)控制單片機(jī)_第2頁
單片機(jī)課程設(shè)計(jì)方案簡易交通燈PC機(jī)控制單片機(jī)_第3頁
單片機(jī)課程設(shè)計(jì)方案簡易交通燈PC機(jī)控制單片機(jī)_第4頁
單片機(jī)課程設(shè)計(jì)方案簡易交通燈PC機(jī)控制單片機(jī)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1目錄TO(shè)C\o"1-3"\h\z\uHYPERLINK\l”_Toc265249252"前言?PAGEREF_Toc265249252\h2HYPERLINK\l"_Toc265249253”課題一基于串行通信控制的PWM脈沖發(fā)生器?PAGEREF_Toc265249253\h3HYPERLINK\l”_Toc265249254"1.1目的 PAGEREF_Toc265249254\h3HYPERLINK\l”_Toc265249255”1。2設(shè)計(jì)要求 PAGEREF_Toc265249255\h3HYPERLINK\l"_Toc265249256"1.3硬件設(shè)計(jì) PAGEREF_Toc265249256\h4HYPERLINK\l"_Toc265249257"1。4軟件設(shè)計(jì) PAGEREF_Toc265249257\h4HYPERLINK\l"_Toc265249258”1。5器材 PAGEREF_Toc265249258\h5HYPERLINK\l”_Toc265249259"1。6調(diào)試步驟?PAGEREF_Toc265249259\h5HYPERLINK\l"_Toc265249260"1.7參考書?PAGEREF_Toc265249260\h5HYPERLINK\l”_Toc265249261"課題二數(shù)字電子鐘 PAGEREF_Toc265249261\h7HYPERLINK\l"_Toc265249262"2.1目的?PAGEREF_Toc265249262\h7HYPERLINK\l”_Toc265249263”2.2設(shè)計(jì)要求?PAGEREF_Toc265249263\h7HYPERLINK2.3硬件設(shè)計(jì)?PAGEREF_Toc265249264\h7HYPERLINK\l"_Toc265249265"2.4軟件設(shè)計(jì)?PAGEREF_Toc265249265\h8HYPERLINK\l"_Toc265249266"2。5器材 PAGEREF_Toc265249266\h10HYPERLINK\l"_Toc265249267”2。6調(diào)試步驟?PAGEREF_Toc265249267\h10HYPERLINK\l"_Toc265249268”2.7參考書?PAGEREF_Toc265249268\h11HYPERLINK\l"_Toc265249269"課題三具有串行通信功能的電子鐘 PAGEREF_Toc265249269\h12HYPERLINK\l"_Toc265249270"3.1目的?PAGEREF_Toc265249270\h12HYPERLINK3.2設(shè)計(jì)要求?PAGEREF_Toc265249271\h12HYPERLINK\l”_Toc265249272"3.3硬件設(shè)計(jì) PAGEREF_Toc265249272\h12HYPERLINK\l"_Toc265249273"3。4軟件設(shè)計(jì) 5249273\h13_Toc265249276"3.7調(diào)試步驟?PAGEREF_Toc265249276\h19HYPERLINK\l"_Toc265249277"3.8參考書 PAGEREF_Toc265249277\h19HYPERLINK\l"_Toc265249278”課題四數(shù)碼管動態(tài)掃描 PAGEREF_Toc265249278\h20HYPERLINK\l"_Toc265249279"4.1目的 PAGEREF_Toc265249279\h20HYPERLINK\l"_Toc265249280”4。2設(shè)計(jì)要求?PAGEREF_Toc265249280\h20HYPERLINK\l”_Toc265249281"課題五基于DS18B20的遠(yuǎn)端溫度采集模塊 PAGEREF_Toc265249281\h21HYPERLINK\l"_Toc265249282"4。1目的?PAGEREF_Toc265249282\h21HYPERLINK\l"_Toc265249283”4.2設(shè)計(jì)要求?PAGEREF_Toc265249283\h21單片機(jī)課程設(shè)計(jì)作為獨(dú)立的教學(xué)環(huán)節(jié),是計(jì)算機(jī)科學(xué)與技術(shù)、通信工程等相關(guān)專業(yè)集中實(shí)踐性環(huán)節(jié)系列之一,是學(xué)習(xí)完《單片機(jī)原理及應(yīng)用》課程后進(jìn)行的一次綜合練習(xí)。通過課程設(shè)計(jì),旨在傳授“理論與技術(shù)”、“理論與實(shí)踐"的結(jié)合,注重實(shí)際問題的解決與處理,達(dá)到培養(yǎng)應(yīng)用型人才的目的。本書共編排了三個(gè)課題,都是編者從多年實(shí)踐中積累的產(chǎn)品或產(chǎn)品的一個(gè)部分,課題內(nèi)容涉及顯示、按鍵、串行通信、PWM控制等,單元模塊都是課本上學(xué)過的典型模塊,難度適中。課題一側(cè)重于廣泛應(yīng)用于機(jī)器人控制的PWM波形的生成;課題二側(cè)重于定時(shí)器、按鍵、LED顯示的應(yīng)用;課題三在課題二基礎(chǔ)上增加了串行通信功能。為了提高學(xué)生課程設(shè)計(jì)效率,實(shí)驗(yàn)室可以配置套件供學(xué)生組裝。根據(jù)計(jì)算機(jī)專業(yè)和通信專業(yè)的特點(diǎn),編寫了這本指導(dǎo)書,由于編書時(shí)間倉促,作者水平有限,書中錯(cuò)誤之處難免,望讀者批評指正。編者控制步進(jìn)電機(jī)時(shí),一般都要求向步進(jìn)電機(jī)控制器發(fā)送一定數(shù)目的PWM脈沖控制步進(jìn)電機(jī)轉(zhuǎn)過的角度,對直流電機(jī)也可用PWM脈沖對其調(diào)速。本課題希望設(shè)計(jì)一個(gè)PWM脈沖發(fā)生器,同時(shí)可通過串口控制脈沖頻率。通過本課題的設(shè)計(jì)達(dá)到如下目的:1、熟悉MCS—51定時(shí)/計(jì)數(shù)器、中斷的應(yīng)用。2、掌握多種PWM波形生成方式。3、掌握七段碼LED顯示器的結(jié)構(gòu),七段碼LED顯示器的工作方式和顯示程序的編程。4、掌握串行通信程序的編寫。89S518279三極管驅(qū)動89S518279三極管驅(qū)動MAX23274079PIN連接器(串口)OUTA0-3SL0-374LS154八個(gè)雙色燈12個(gè)七段LED及八個(gè)雙色燈7407P0P1CSP20A0P21ISP編程接口DB0-7OUTB0-3通過示波器測試脈沖頻率;2、頻率值用兩個(gè)七段LED顯示出來;3、使用給定的串口調(diào)試工具,控制PWM脈沖發(fā)生器改變輸出脈沖頻率,同時(shí)改變LED顯示數(shù)值.1.3硬件設(shè)計(jì)本系統(tǒng)中單片機(jī)通過8279擴(kuò)展實(shí)現(xiàn)LED數(shù)碼管和指示燈驅(qū)動,單片機(jī)通過MAX232串口芯片實(shí)現(xiàn)和PC機(jī)的通信。系統(tǒng)框圖如圖1—1所示.1。4軟件設(shè)計(jì)對本課題,可先熟悉控制器硬件原理,熟悉KeilC51環(huán)境,,學(xué)習(xí)用C對8051編程,學(xué)習(xí)8279芯片接口及命令字,復(fù)習(xí)C對8051串行通訊接口。課題可分成PWM脈寬輸出模塊、顯示模塊和串行通訊模塊,設(shè)計(jì)各模塊參考設(shè)計(jì)方法如下:PWM脈寬輸出模塊:使用定時(shí)器中斷產(chǎn)生脈沖,對時(shí)間常數(shù)計(jì)算:1KHz:周期=1×10-3秒,定時(shí)周期=0.5×10—3秒,晶振11。0592M,次數(shù)為(0.5*10-3)/(12/(11.0592*106))=461,時(shí)間常數(shù)=216—461=FE332KHz:周期=2×10-3秒,定時(shí)周期=1×10—3秒,晶振11.0592M,次數(shù)為(1*10—3)/(12/(11。0592*106))=922,時(shí)間常數(shù)=216—922=FC66……PWM脈寬輸出模塊主程序中只需要初始化T0或T1,1K-10K的時(shí)間常數(shù)可存入數(shù)組,中斷服務(wù)程序從相應(yīng)數(shù)組讀入時(shí)間常數(shù),參考框圖如下:重置重置時(shí)間常數(shù)輸出口取反中斷服務(wù)程序參考框圖顯示模塊:顯示模塊初始化程序:#defineCOM8279XBYTE[0xFEFF]/*8279命令字地址*/#defineDAT8279XBYTE[0xFCFF]/*8279數(shù)據(jù)字地址*/COM8279=0xd1;do{ACC=COM8279;}while(clflag==1);COM8279=0x18;COM8279=0x2a;串行通訊模塊:使用串行中斷,只接受數(shù)據(jù),自定義通訊協(xié)議,例如:主機(jī)發(fā)01H,表示需發(fā)生1KHZ脈沖;主機(jī)發(fā)02H,表示需發(fā)生2KHZ脈沖;主機(jī)發(fā)03H,表示需發(fā)生3KHZ脈沖;主機(jī)發(fā)04H,表示需發(fā)生4KHZ脈沖;主機(jī)發(fā)05H,表示需發(fā)生5KHZ脈沖;主機(jī)發(fā)06H,表示需發(fā)生6KHZ脈沖;主機(jī)發(fā)07H,表示需發(fā)生7KHZ脈沖;主機(jī)發(fā)08H,表示需發(fā)生8KHZ脈沖;主機(jī)發(fā)09H,表示需發(fā)生9KHZ脈沖;主機(jī)發(fā)0AH,表示需發(fā)生10KHZ脈沖;1。5器材1、KeilC51軟件2、SLISPV1。389S51燒寫軟件3、PWM脈沖發(fā)生器電路板4、89S51ISP并口編程線5、直流穩(wěn)壓電源6、示波器1.6調(diào)試步驟1、軟硬件聯(lián)調(diào);2、用編程器,將程序?qū)懭耄虲U芯片89C51;3、將芯片插入系統(tǒng)正常工作;4、檢查結(jié)果。1.7參考書1、徐煜明。單片機(jī)原理及接口技術(shù).北京:電子工業(yè)出版社,2005。12、張友德。單片微型機(jī)。上海:復(fù)旦大學(xué)出版社2000。23、馬忠梅,籍順心,張凱,馬巖。單片機(jī)的C語言應(yīng)用程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2003.112.1目的通過對數(shù)字電子鐘的設(shè)計(jì)達(dá)到如下目的:1、熟悉MCS—51定時(shí)/計(jì)數(shù)器、中斷的應(yīng)用。2、熟悉時(shí)鐘時(shí)、分、秒計(jì)時(shí)方法,掌握編程技巧.3、掌握鍵盤的基本工作原理,鍵的識別,鍵抖動和重鍵問題的解決,鍵盤工作方式和鍵盤程序的編程。4、掌握七段碼LED顯示器的結(jié)構(gòu),七段碼LED顯示器的工作方式和顯示程序的編程.2.2設(shè)計(jì)要求利用ATMEL89C51、INTEL8155、七段碼LED、按鍵及常用外圍器件,設(shè)計(jì)一個(gè)數(shù)字電子時(shí)鐘,要求:1、設(shè)計(jì)實(shí)現(xiàn)電子時(shí)鐘的硬件原理圖。2、用T0定時(shí)器,產(chǎn)生時(shí)鐘信號,設(shè)計(jì)定時(shí)中斷程序。3、具有六位LED,分別顯示時(shí)、分、秒,設(shè)計(jì)顯示程序。4、可用鍵盤進(jìn)行校對時(shí)間,設(shè)計(jì)鍵盤程序。2.3硬件設(shè)計(jì)本系統(tǒng)中單片機(jī)通過8155擴(kuò)展實(shí)現(xiàn)LED數(shù)碼管驅(qū)動。系統(tǒng)框圖如下所示。圖2—1系統(tǒng)框圖2。4軟件設(shè)計(jì)設(shè)計(jì)時(shí)鐘計(jì)時(shí)(24小時(shí)進(jìn)制計(jì)時(shí))(1)實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的基本方法a.計(jì)數(shù)初值計(jì)算。已知晶振頻率為11。0592MHZ,用T0定時(shí)/計(jì)數(shù)器,以方式2進(jìn)行40ms的定時(shí)。b.采用中斷方式進(jìn)行溢出次數(shù)累計(jì),計(jì)滿25次即到秒計(jì)時(shí)。c.從秒到分,從分到時(shí)的計(jì)時(shí),可通過累加器和數(shù)值比較實(shí)現(xiàn)。d。時(shí)鐘顯示及緩沖區(qū)分配39H3AH3BH3CH3DH3EH時(shí)分秒(2)程序流程設(shè)計(jì)a.主程序(MAIN):主程序的主要功能是進(jìn)行定時(shí)器/計(jì)數(shù)器初始化編程,然后通過反復(fù)調(diào)用子程序的方法,等待40ms定時(shí)中斷的到來。b.中斷服務(wù)程序(PITO):中斷服務(wù)程序的主要功能是進(jìn)行計(jì)時(shí)操作。程序開始先判斷計(jì)數(shù),溢出是否滿25次,不滿25次表明還沒達(dá)到最小計(jì)時(shí)單位秒,中斷返回。否則進(jìn)行計(jì)時(shí)操作.c.加1子程序(DAAD1):加1程序用于完成對秒、分、和時(shí)的加班操作,中斷服務(wù)程序中在秒、分、時(shí)加1時(shí)調(diào)用此子程序。(3)時(shí)鐘計(jì)時(shí)參考程序框圖時(shí)鐘計(jì)時(shí)參考程序框圖見圖2—2、2—3設(shè)計(jì)顯示子程序(DIR)采用動態(tài)顯示方式。所謂動態(tài)顯示,就是LED顯示器一位一位地輪流點(diǎn)亮(掃描),對于每一位LED顯示器來說,每隔一段時(shí)間點(diǎn)亮一次。顯然,LED顯示器的亮度既與導(dǎo)通電流有關(guān),也與LED顯示器點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。通過調(diào)整LED顯示器的導(dǎo)通電流和時(shí)間比例參數(shù),可實(shí)現(xiàn)較高亮度且穩(wěn)定的顯示。顯示程序框圖如圖2—4所示。3、設(shè)計(jì)鍵盤子程序(KEY)采用行掃描法識別閉合鍵的原理,設(shè)計(jì)鍵盤程序。用軟件方法解決按鍵抖動問題。鍵盤程序框圖如圖2-5所示。MAIN定義堆棧區(qū)顯示緩沖單元清0定時(shí)器T0工作方式裝載計(jì)數(shù)初值定時(shí)開始開中斷設(shè)置循環(huán)次數(shù)調(diào)用顯示子程序圖2—2主程序框圖DAAD取十位數(shù)使十位數(shù)占A高半字節(jié)取個(gè)位數(shù)占A低半字節(jié)加1十進(jìn)制調(diào)整取出低字節(jié)個(gè)位數(shù)送緩沖單元取出高4位十位數(shù)送緩沖單元返回圖2-3加1子程序框圖圖2-5按鍵掃描程序框圖圖2—4顯示程序框圖2.5器材1、KeilC51軟件2、單片機(jī)開發(fā)板3、西爾特編程器4、直流穩(wěn)壓電源5、示波器2。6調(diào)試步驟1、軟硬件聯(lián)調(diào);2、用編程器,將程序?qū)懭隡CU芯片89C51;3、將芯片插入系統(tǒng)正常工作;4、檢查結(jié)果。2.7參考書1、徐煜明.單片機(jī)原理及接口技術(shù).北京:電子工業(yè)出版社,2005。12、張友德。單片微型機(jī).上海:復(fù)旦大學(xué)出版社2000.23、徐君毅.單片微型計(jì)算機(jī)原理與應(yīng)。上海:上??萍汲霭嫔?,2001.53。1目的通過對本課題的設(shè)計(jì)達(dá)到如下目的:1、熟悉MCS-51定時(shí)/計(jì)數(shù)器、中斷的應(yīng)用。2、熟悉時(shí)鐘時(shí)、分、秒計(jì)時(shí)方法,掌握編程技巧。3、掌握鍵盤的基本工作原理,鍵的識別,鍵抖動和重鍵問題的解決,鍵盤工作方式和鍵盤程序的編程。4、掌握七段碼LED顯示器的結(jié)構(gòu),七段碼LED顯示器的工作方式和顯示程序的編程.5、掌握串行通信程序的編寫。3。2設(shè)計(jì)要求利用ATMEL89C51、七段碼LED、按鍵、MAX232及常用外圍器件,設(shè)計(jì)一個(gè)具有串行通信功能的電子鐘,由于本課題相比課題二增加了串行通信功能,考慮到工作量問題,在顯示功能上加以簡化,僅使用2位LED,具體要求如下:1、設(shè)計(jì)實(shí)現(xiàn)電子鐘的硬件原理圖。2、用T0定時(shí)器,產(chǎn)生時(shí)鐘信號,設(shè)計(jì)定時(shí)中斷程序.3、具有2位LED,通過按鍵切換,分別顯示時(shí)、分、秒,設(shè)計(jì)顯示程序。4、可用鍵盤進(jìn)行校對時(shí)間,設(shè)計(jì)鍵盤程序。5、當(dāng)前時(shí)間可通過串口在其他單片機(jī)系統(tǒng)上顯示。6、要有秒表功能.3。3硬件設(shè)計(jì)本系統(tǒng)中單片機(jī)通過P0口和P2口直接驅(qū)動LED數(shù)碼管,單片機(jī)通過MAX232串口芯片實(shí)現(xiàn)和其他單片機(jī)系統(tǒng)的通信。系統(tǒng)框圖如下所示.圖3-1系統(tǒng)框圖3。4軟件設(shè)計(jì)1、主程序主程序的主要功能是進(jìn)行定時(shí)器/計(jì)數(shù)器初始化編程,然后通過反復(fù)調(diào)用子程序的方法,等待定時(shí)中斷的到來.流程框圖如圖3-2所示。2、定時(shí)中斷程序已知晶振頻率為12MHZ,用T0定時(shí)/計(jì)數(shù)器,進(jìn)行50ms的定時(shí)。采用中斷方式進(jìn)行溢出次數(shù)累計(jì),計(jì)滿20次即到秒計(jì)時(shí)。從秒到分,從分到時(shí)的計(jì)時(shí),可通過累加器和數(shù)值比較實(shí)現(xiàn).流程框圖如圖3-3所示。3、設(shè)計(jì)鍵盤子程序(KEY)采用獨(dú)立按鍵掃描法,設(shè)計(jì)鍵盤程序。用軟件方法解決按鍵抖動問題。鍵盤程序框圖如圖3—4所示。4、串行通信子程序(UART)采用中斷方式設(shè)計(jì)串行通信程序,在PC機(jī)上設(shè)置萬年歷當(dāng)前時(shí)間,串行通信程序框圖如圖3-5所示。圖3-2主程序流程框圖圖3-3定時(shí)中斷流程框圖圖3—4按鍵掃描流程框圖圖3—5串行通信流程框圖3.5集成開發(fā)環(huán)境Keil使用簡介下面介紹在Keil開發(fā)工具中調(diào)試程序的方法.1、打開Keil開發(fā)工具,在菜單欄中選中“Project”,在下拉菜單中選擇“NewProject”。若已經(jīng)建立過了工程則點(diǎn)擊“OpenProject”,找到原先文件的保存路徑,打開文件。操作如圖3—6所示。。圖3—6工程建立示意圖2、在出現(xiàn)的對話框中選擇文件的保存位置,點(diǎn)擊“確定”。在下一個(gè)對話框中選擇所要仿真的芯片型號。3、在左邊的“WorkSpace”區(qū)中,右擊“SourceGroup",選擇“Addfilestogroup”,將程序文件添加到工程中.如圖3-7所示。圖3-7文件添加示意圖4、在常用工具欄中選擇“options”選項(xiàng),單擊其中的“Debug”;選擇右側(cè)的“use”單選框,在下拉菜單中選擇仿真器的型號,這里選擇“TKS-52SEmulator/Programmer”,并點(diǎn)擊右側(cè)的“setting”選擇相關(guān)的設(shè)置。如圖3-8所示。圖3-8仿真器設(shè)置示意圖5、將仿真器的電源、串口接好,并將仿真頭電路板向連。檢查無誤后,點(diǎn)擊“Project”中“Rebuildalltargetfiles",或直接點(diǎn)擊常用工具欄中快捷按鈕,編譯所有文件。根據(jù)下面的信息欄中的提示信息,修改文件中的錯(cuò)誤,重新編譯直到編譯通過.如下圖3-9所示。圖3-9工程編譯示意圖6、選擇“Debug”中“Start/StopDebugSession”或點(diǎn)擊常用工具欄中快捷按鈕。將編譯好的程序加載到仿真器中。待程序加載完成后,復(fù)位并運(yùn)行。觀察電路班上的實(shí)際效果,并測試按鍵、顯示等硬件電路功能。找出其中的不足或漏洞.7、利用常用工具欄中的設(shè)置斷點(diǎn),單步調(diào)試和查看工作寄存器變量等常用工具按鈕調(diào)試在上述步驟發(fā)現(xiàn)的問題或功能缺陷。將修改后的程序重新加載到仿真器中運(yùn)行、調(diào)試直至達(dá)到理想的結(jié)果。3.6器材1、KeilC51軟件2、單片機(jī)開發(fā)板3、TKS—52仿真器4、西爾特編程器5、直流穩(wěn)壓電源6

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論