歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

武漢理工大學(xué)《單片機(jī)應(yīng)用實(shí)習(xí)》報(bào)告.doc

  • 資源ID:9021894       資源大小:1.03MB        全文頁(yè)數(shù):44頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
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)知曉。

武漢理工大學(xué)《單片機(jī)應(yīng)用實(shí)習(xí)》報(bào)告.doc

目錄摘 要Abstract1設(shè)計(jì)任務(wù)及要求12 基本原理32.1基本原理及原理框圖32.2 STC89C52結(jié)構(gòu)功能介紹33 硬件電路原理與設(shè)計(jì)53.1復(fù)位電路53.1.1上電復(fù)位53.1.2按鍵復(fù)位53.2振蕩電路63.3單片機(jī)最小系統(tǒng)單片機(jī)73.4數(shù)碼管顯示電路73.5 矩陣鍵盤電路93.6 串口通信電路103.7 總設(shè)計(jì)電路114 軟件設(shè)計(jì)124.1 軟件介紹124.1.1 設(shè)計(jì)軟件Protel124.1.2 程序編寫軟件Keil124.1.3 仿真軟件Proteus134.2 數(shù)碼管顯示設(shè)計(jì)134.3串行通信接收程序145 仿真結(jié)果與分析155.1 矩陣鍵盤功能仿真155.1.1 數(shù)據(jù)輸入155.1.2 數(shù)據(jù)顯示156 實(shí)物展示177 心得體會(huì)198.參考文獻(xiàn)20附錄:元件清單21附錄:總程序設(shè)計(jì)22附錄:實(shí)習(xí)日記32摘 要單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),又稱為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。隨著電子技術(shù)的發(fā)展,大規(guī)模及超大規(guī)模集成電路和制造工藝的進(jìn)一步提高,單片機(jī)以其高可靠性、高性價(jià)比、低電壓、低功耗等一系列優(yōu)點(diǎn),廣泛應(yīng)用于控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器表等領(lǐng)域。本次課程設(shè)計(jì)包括單片機(jī)最小系統(tǒng)(包括復(fù)位和時(shí)鐘電路)及供電系統(tǒng)、4*4矩陣鍵盤、獨(dú)立6個(gè)8段LED數(shù)碼管顯示電路。利用Protel電路設(shè)計(jì)軟件進(jìn)行原理圖設(shè)計(jì),利用keil軟件編程以及proteus軟件仿真,借此鞏固單片機(jī)應(yīng)用、模擬電路、數(shù)字電路課程及學(xué)會(huì)各種工程軟件的使用。關(guān)鍵字:單片機(jī)、數(shù)碼管顯示、矩陣鍵盤掃描AbstractSingle chip microcomputer short chip, also known as the micro controller, is a microcomputer is an important branch of. With the development of electronic technology, large-scale and ultra large scale integrated circuit and manufacturing process to further improve, chip for its high reliability, high cost, low voltage, low power consumption and a series of advantages, widely used in control system, data acquisition system, intelligent instrument and meter etc.The curriculum design, including the smallest single-chip system ( including a reset and clock circuit and power supply system ), 4*4 matrix keyboard, the independent 6 8 LED digital tube display circuit . Using Protel circuit design software schematic design, using keil software and Proteus Software simulation, to consolidate the SCM application, analog circuit, digital circuit course and learn all kinds of engineering software use.Keyword: microcontroller, digital display, matrix keyboard scanning1設(shè)計(jì)任務(wù)及要求1)利用上述材料完成包含如下系統(tǒng)功能組件的單片機(jī)最小系統(tǒng)的設(shè)計(jì)、焊接、調(diào)試(1)鍵盤一個(gè)4X4的矩陣鍵盤,其中,10個(gè)按鍵是09數(shù)字鍵;另外6個(gè)是功能鍵,用于功能選擇和控制,如“數(shù)據(jù)輸入”、“數(shù)據(jù)顯示”、“串行通信”功能選擇鍵,以及“回車”、“清除”、控制鍵。(2)顯示電路由6個(gè)7段LED數(shù)碼管組成的顯示電路。(3)串口串行通信利用51的串口實(shí)現(xiàn)串行通信接口電路。2)完成ISP下載電路的設(shè)計(jì)、焊接3)完成系統(tǒng)軟件的設(shè)計(jì),包括程序結(jié)構(gòu)設(shè)計(jì)、流程圖繪制、程序設(shè)計(jì),實(shí)現(xiàn)如下功能(1)功能選擇通過(guò)功能選擇鍵,使得單片機(jī)處于不同的工作狀態(tài)并通過(guò)LED顯示相應(yīng)的內(nèi)容;可選擇的功能包括:數(shù)據(jù)輸入;數(shù)據(jù)顯示;串口通信(2)數(shù)據(jù)輸入通過(guò)功能選擇鍵選擇“數(shù)據(jù)輸入”后,可分次輸入10個(gè)4位十進(jìn)制數(shù)據(jù),并將輸入的數(shù)據(jù)保存在內(nèi)部RAM中。數(shù)據(jù)輸入要求:第一步輸入序號(hào)09,表明輸入的是第幾個(gè)4位十進(jìn)制數(shù)據(jù);第二步按下回車鍵,完成序號(hào)輸入;第三步輸入最多4位的十進(jìn)制數(shù)據(jù);第四步按下回車鍵,完成數(shù)據(jù)輸入;重復(fù)第一步,開始新數(shù)據(jù)的輸入;輸入數(shù)據(jù)的顯示格式是:最左邊是序號(hào),然后是空格,之后是從右到左的最多4位十進(jìn)制數(shù);若在輸入過(guò)程中(第一步或第三步)出現(xiàn)錯(cuò)誤,按“清除”鍵,重新從第一步開始輸入數(shù)據(jù)?;蛘?,自己設(shè)計(jì)10個(gè)十進(jìn)制數(shù)的輸入及顯示方式。(3)數(shù)據(jù)顯示通過(guò)功能選擇鍵選擇“數(shù)據(jù)顯示”后,可顯示之前輸入的10個(gè)4位十進(jìn)制數(shù)據(jù)中的任一個(gè),要求:第一步輸入序號(hào)09,表明顯示的是第幾個(gè)4位十進(jìn)制數(shù)據(jù);第二步顯示相應(yīng)的數(shù)據(jù);重復(fù)第一步、第二步,顯示其他的數(shù)據(jù);數(shù)據(jù)的顯示格式是:最左邊是序號(hào),然后是空格,之后是要顯示的數(shù)據(jù),從右到左最多4位十進(jìn)制數(shù)?;蛘撸约涸O(shè)計(jì)數(shù)據(jù)的顯示方式。(4)數(shù)據(jù)通信將兩個(gè)單片機(jī)最小系統(tǒng)通過(guò)串口連接起來(lái),其中一個(gè)作為主系統(tǒng),另一個(gè)作為輔系統(tǒng)。當(dāng)通過(guò)功能選擇鍵選擇“串行通信”后,當(dāng)在主系統(tǒng)上按下數(shù)字鍵后主系統(tǒng)的LED按從左向右移東的方式顯示按鍵輸入的數(shù)字,同時(shí)輔系統(tǒng)的LED上顯示與主系統(tǒng)同樣的內(nèi)容。4)利用仿真軟件完成系統(tǒng)仿真工作5)在單片機(jī)最小系統(tǒng)硬件上實(shí)現(xiàn)任務(wù)3中規(guī)定的功能2 基本原理2.1基本原理及原理框圖單片機(jī)最小系統(tǒng),是指用最小的元件組成的單片機(jī)可以工作的系統(tǒng)。對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位電路。單片機(jī)接口電路主要用來(lái)連接計(jì)算機(jī)和其他外部設(shè)備。本次設(shè)計(jì)主要完成的擴(kuò)展電路包括鍵盤電路、數(shù)碼管顯示、串行通信三大模塊。其原理框圖如下圖2.1所示:數(shù)碼管顯示顯示顯示STC89C52震蕩電路路復(fù)位電路路數(shù)據(jù)通信矩陣鍵盤 圖2.1總原理框圖2.2 STC89C52結(jié)構(gòu)功能介紹STC89C52片內(nèi)集成256字節(jié)程序運(yùn)行空間、8K字節(jié)Flash存儲(chǔ)空間,支持最大64K外部存儲(chǔ)擴(kuò)展。根據(jù)不同的運(yùn)行速度和功耗的要求,時(shí)鐘頻率可以設(shè)置在0-33M之間。片內(nèi)資源有4組I/O控制端口、3個(gè)定時(shí)器、8個(gè)中斷、軟件設(shè)置低能耗模式、看門狗和斷電保護(hù)。可以在4V到5.5V寬電壓范圍內(nèi)正常工作。不斷發(fā)展的半導(dǎo)體工藝也讓該單片機(jī)的功耗不斷降低。同時(shí),該單片機(jī)支持計(jì)算機(jī)并口下載,簡(jiǎn)單的數(shù)字芯片就可以制成下載線,僅僅幾塊錢的價(jià)格讓該型號(hào)單片機(jī)暢銷10年不衰。根據(jù)不同場(chǎng)合的要求,這款單片機(jī)提供了多種封裝,本次設(shè)計(jì)根據(jù)最小系統(tǒng)有時(shí)需要更換單片機(jī)的具體情況,使用雙列直插DIP-40的封裝。STC89C52引腳圖如圖2.2: 圖2.2 STC89C52引腳圖STC89C52芯片共40引腳,各引腳功能如下:VCC(40引腳):電源電壓VSS(20引腳):接地RST復(fù)位端P0端口(P0.0P0.7,3932引腳):P0口是一個(gè)漏極開路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)端口P0寫入“1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。P0端口需要外加上拉電阻。P1端口(P1.0P1.7,18引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P2端口(P2.0P2.7,2128引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“MOVX DPTR”指令)時(shí),P2送出高8位地址。P3端口(P3.0P3.7,1017引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流。P3口除作為一般I/O口外,還有其他一些復(fù)用功能。3 硬件電路原理與設(shè)計(jì)硬件電路主要由復(fù)位電路、振蕩電路、數(shù)碼管顯示電路、矩陣鍵盤電路和串口電路等組成。3.1復(fù)位電路單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個(gè)確定的狀態(tài),一般來(lái)說(shuō),單片機(jī)復(fù)位電路作用是把一個(gè)例如狀態(tài)機(jī)初始化到空狀態(tài),而在單片機(jī)內(nèi)部,復(fù)位的時(shí)候單片機(jī)是把一些寄存器以及存儲(chǔ)設(shè)備裝入廠商預(yù)設(shè)的一個(gè)值。單片機(jī)復(fù)位電路原理是在單片機(jī)的復(fù)位引腳RST上外接電阻和電容,實(shí)現(xiàn)上電復(fù)位。當(dāng)復(fù)位電平持續(xù)兩個(gè)機(jī)器周期以上時(shí)復(fù)位有效。復(fù)位電平的持續(xù)時(shí)間必須大于單片機(jī)的兩個(gè)機(jī)器周期。具體數(shù)值可以由RC電路計(jì)算出時(shí)間常數(shù)。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。3.1.1上電復(fù)位STC89系列單片及為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND,由此形成一個(gè)RC充放電回路保證單片機(jī)在上電時(shí)RST腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài),這個(gè)電阻和電容的典型值為10K和10uF。3.1.2按鍵復(fù)位按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個(gè)開關(guān),當(dāng)開關(guān)按下時(shí)電容被放電、RST也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來(lái)使單片機(jī)復(fù)位。電路圖如圖3.1。 圖3.1 復(fù)位電路3.2振蕩電路單片機(jī)系統(tǒng)里都有晶振在單片機(jī)系統(tǒng)里晶振作用非常大全稱叫晶體振蕩器他結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率單片機(jī)晶振提供的時(shí)鐘頻率越高那么單片機(jī)運(yùn)行速度就越快單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。 在通常工作條件下普通的晶振頻率絕對(duì)精度可達(dá)百萬(wàn)分之五十。高級(jí)的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率稱為壓控振蕩器VCO。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作以提供穩(wěn)定精確的單頻振蕩。 單片機(jī)晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振而通過(guò)電子調(diào)整頻率的方法保持同步。 晶振通常與鎖相環(huán)電路配合使用以提供系統(tǒng)所需的時(shí)鐘頻率。如果不同子系統(tǒng)需要不同頻率的時(shí)鐘信號(hào)可以用與同一個(gè)晶振相連的不同鎖相環(huán)來(lái)提供。 STC89C51使用11.0592MHz的晶體振蕩器作為振蕩源由于單片機(jī)內(nèi)部帶有振蕩電路所以外部只要連接一個(gè)晶振和兩個(gè)電容即可電容容量一般在15pF至50pF之間。其電路原理圖如3.2所示。圖3.2 振蕩電路3.3單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)包括晶振時(shí)鐘電路和復(fù)位電路。原理圖如圖 3.3 所示:圖3.3 單片機(jī)最小系統(tǒng)圖3-3 單片機(jī)最小系統(tǒng) 在單片機(jī)引腳 XTAL1 和 XTAL2 外接晶體整蕩器或陶瓷振蕩器,就構(gòu)成了內(nèi)部震蕩方式,由于單片機(jī)內(nèi)部有一個(gè)高增益反向放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器,并產(chǎn)生振蕩時(shí)鐘脈沖,晶振通常選擇 6MHz、12MHz 或 24MHz,這里取晶振為12MHz。與晶振連接的電容起穩(wěn)定振蕩頻率、快速起振的作用。電容值一般為 530pf。 復(fù)位操作完成單片機(jī)片內(nèi)電路初始化,復(fù)位結(jié)束后,單片機(jī)從一種確定狀態(tài)開始運(yùn)行。當(dāng)單片機(jī)復(fù)位引腳 RST 出現(xiàn) 5ms 以上高電平時(shí),單片機(jī)就完成復(fù)位操作。復(fù)位操作通常有兩種形式:上電復(fù)位和開關(guān)復(fù)位。常用上電開關(guān)復(fù)位電路如上圖所示,上電后,由于電容 C1 充電,時(shí) RST 持續(xù)一段時(shí)間高電平。當(dāng)單片機(jī)已在運(yùn)行中時(shí),按下復(fù)位鍵也能使 RST 持續(xù)一段時(shí)間高電平,從而實(shí)現(xiàn)開關(guān)復(fù)位操作。3.4數(shù)碼管顯示電路LED數(shù)碼管顯示是利用半導(dǎo)體發(fā)光制成條形的發(fā)光二極管,封裝在一起組成數(shù)字或其他符號(hào)形狀。數(shù)碼管根據(jù)公共端不同,分為共陰極和共陽(yáng)極兩種形式。圖3.4.1為共陰極數(shù)碼管內(nèi)部電路,圖3.4.2為共陽(yáng)極數(shù)碼管內(nèi)部電路。圖3.4.1為共陰極數(shù)碼管內(nèi)部電路 圖3.4.2為共陽(yáng)極數(shù)碼管內(nèi)部電路。本次需要采用6個(gè)數(shù)碼管,若單獨(dú)采用數(shù)碼管連線時(shí)比較麻煩,故設(shè)計(jì)采用 6 位一體的共陽(yáng)極數(shù)碼管,若使 6 個(gè)數(shù)碼管顯示正常時(shí)間,必須采用數(shù)碼管的動(dòng)態(tài)掃描方式,即每一時(shí)刻只有一個(gè)數(shù)碼管點(diǎn)亮,采用軟件延時(shí)和人眼的視覺(jué)暫留效果, 使人眼看到的數(shù)碼管是同時(shí)點(diǎn)亮的。因此需要用6個(gè)端口控制數(shù)碼管的位選,即決定哪個(gè)數(shù)碼管點(diǎn)亮。而六個(gè)數(shù)碼管的位選端則分別接到單片機(jī)的P1.0P1.5口,此位選端用來(lái)控制哪個(gè)數(shù)碼管亮。每個(gè)數(shù)碼管的8個(gè)數(shù)據(jù)口控制數(shù)碼管的段選,即決定數(shù)碼管顯示什么字符??紤]到數(shù)碼管采用動(dòng)態(tài)掃描方式,即循環(huán)掃描數(shù)碼管的 6 位,并將顯示字符送入段選位,我們采用P0口控制數(shù)碼管的8個(gè)段選位,并采用 74HC04 實(shí)現(xiàn)數(shù)碼管驅(qū)動(dòng)及數(shù)據(jù)鎖存功能。Protues上數(shù)碼管顯示電路設(shè)計(jì)如下圖3.4.3所示:圖3.4.3 數(shù)碼管顯示電路設(shè)計(jì)3.5 矩陣鍵盤電路在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P2口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。下面介紹一種按鍵被按下的識(shí)別方法行掃描法。首先將全部行線Y0-Y3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列均為高電平,則鍵盤中無(wú)鍵按下。然后判斷閉合鍵所在的位置,在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。該系統(tǒng)采用4*4矩陣鍵盤,而且用到了全部按鍵,每個(gè)按鍵都實(shí)現(xiàn)了獨(dú)立的功能, Protues上矩陣鍵盤顯示電路設(shè)計(jì)如下圖3.5所示:圖3.5 矩陣鍵盤顯示電路設(shè)計(jì)3.6 串口通信電路串口是計(jì)算機(jī)上一種非常通用設(shè)備通信的協(xié)議不要與通用串行總線Universal Serial Bus或者USB混淆。大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS232的串口。串口同時(shí)也是儀器儀表設(shè)備通用的通信協(xié)議很多GPIB兼容的設(shè)備也帶有RS-232口。同時(shí)串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。 串口通信的概念非常簡(jiǎn)單串口按位bit發(fā)送和接收字節(jié)。盡管比按字節(jié)byte的并行通信慢但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。它很簡(jiǎn)單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通行狀態(tài)時(shí)規(guī)定設(shè)備線總常不得超過(guò)20米并且任意兩個(gè)設(shè)備間的長(zhǎng)度不得超過(guò)2米而對(duì)于串口而言長(zhǎng)度可達(dá)1200米。 典型地串口用于ASCII碼字符的傳輸。通信使用3根線完成1地線2發(fā)送3接收。由于串口通信是異步的端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。 MAX232是電平轉(zhuǎn)換芯片。1970年美國(guó)電氣學(xué)會(huì)規(guī)定“RS232”串口通信協(xié)議。規(guī)定邏輯“1”-5 -15V邏輯“0”5 15V 。噪聲容限為2V。要實(shí)現(xiàn)利用串口與單片機(jī)進(jìn)行通信就要進(jìn)行電平轉(zhuǎn)換把標(biāo)準(zhǔn)轉(zhuǎn)化成單片機(jī)可以識(shí)別的。MAX220MAX249都是電平轉(zhuǎn)換芯片在單片機(jī)最小系統(tǒng)中使用MAX232。Protues上串口通信電路設(shè)計(jì)如下圖3.6所示:圖3.6 串口通信電路設(shè)計(jì)3.7 總設(shè)計(jì)電路圖3.7 總設(shè)計(jì)電路4 軟件設(shè)計(jì)4.1 軟件介紹4.1.1 設(shè)計(jì)軟件ProtelPROTEL是Altium公司在80年代末推出的EDA軟件,在電子行業(yè)的CAD軟件中,它當(dāng)之無(wú)愧地排在眾多EDA軟件的前面,是電子設(shè)計(jì)者的首選軟件,它較早就在國(guó)內(nèi)開始使用,在國(guó)內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開設(shè)了課程來(lái)學(xué)習(xí)它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設(shè)計(jì)人才時(shí)在其條件欄上常會(huì)寫著要求會(huì)使用PROTEL。Protel 99采用全新的管理方式,即數(shù)據(jù)庫(kù)的管理方式。Protel 99 是在桌面環(huán)境下第一個(gè)以獨(dú)特的設(shè)計(jì)管理和團(tuán)隊(duì)合作技術(shù)為核心的全方位的印制板設(shè)計(jì)系統(tǒng)。所有Protel99設(shè)計(jì)文件都被存儲(chǔ)在唯一的綜合設(shè)計(jì)數(shù)據(jù)庫(kù)中,并顯示在唯一的綜合設(shè)計(jì)編輯窗口。Protel 99軟件沿襲了Protel以前版本方便易學(xué)的特點(diǎn),內(nèi)部界面與Protel 98大體相同,新增加了一些功能模塊。Protel公司引進(jìn)了德國(guó)INCASES公司的先進(jìn)技術(shù),在Protel99中集成了信號(hào)完整性工具,精確的模型和板分析,幫助你在設(shè)計(jì)周期里利用信號(hào)完整性分析可獲得一次性成功和消除盲目性。本次設(shè)計(jì)采用的是Altium Dsigner進(jìn)行電路原理圖的繪制。4.1.2 程序編寫軟件KeilKeil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。本次設(shè)計(jì)編程主要使用Keil軟件進(jìn)行編程。4.1.3 仿真軟件ProteusProteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。使用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真軟件的操作能力.實(shí)踐證明,在使用 Proteus 進(jìn)行系統(tǒng)仿真開發(fā)成功之后再進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。本次采用的是Proteus進(jìn)行仿真。4.2 數(shù)碼管顯示設(shè)計(jì)該程序分為鍵盤掃描和數(shù)碼管顯示兩部分,其程序流程圖如4.1所示:開始鍵盤掃描 NY是否有鍵按是否是切換數(shù)字顯示返回模式選擇Y 否 是 是 否圖4.1數(shù)據(jù)輸入流程圖4.3串行通信接收程序由于要實(shí)現(xiàn)兩個(gè)單片機(jī)之間的通信,在接收單片機(jī)上要寫與發(fā)送程序相對(duì)應(yīng)的接收程序,兩者應(yīng)設(shè)定相同的波特率。對(duì)應(yīng)的接收程序流程圖如圖4.2所示。T1初始化,啟動(dòng)T1工作設(shè)定串行通信方式并設(shè)定允許接收RI=1接收數(shù)據(jù)清RI全部數(shù)據(jù)完全接收完結(jié)束圖4.2 接收程序流程圖5 仿真結(jié)果與分析5.1 矩陣鍵盤功能仿真5.1.1 數(shù)據(jù)輸入根據(jù)實(shí)驗(yàn)任務(wù)可知,需要數(shù)據(jù)輸入10個(gè)四位十進(jìn)制數(shù)。圖5.1(a,b,c,d,e,f)為實(shí)驗(yàn)中輸入序號(hào)為6的4321四位十進(jìn)制數(shù)的過(guò)程: 圖5.1(a) 序號(hào)輸入 圖5.1(b) 序號(hào)輸入后按確定鍵圖5.1(c) 輸入第一個(gè)數(shù)據(jù) 圖5.1(d) 輸入第二個(gè)數(shù)據(jù)圖5.1(e)輸入第三個(gè)數(shù)據(jù) 圖5.1(f) 輸入第四個(gè)數(shù)據(jù)5.1.2 數(shù)據(jù)顯示圖5.2 (a,b)為序號(hào)為6的數(shù)據(jù)顯示過(guò)程: 圖5.2(a)選擇數(shù)據(jù)顯示功能鍵 圖5.2(b)按下6鍵和確定鍵后的顯示仿真結(jié)果分析:從數(shù)據(jù)輸入與數(shù)據(jù)顯示的步驟可知,實(shí)驗(yàn)的設(shè)計(jì)滿足任務(wù)要求的數(shù)據(jù)輸入和數(shù)據(jù)顯示的功能。其余的清除功能,確定功能,功能鍵選擇功能在Protues軟件上都能正確體現(xiàn)。故得出相關(guān)軟件與程序的設(shè)計(jì)是正確的。6 實(shí)物展示 單片機(jī)上電后,數(shù)碼管的初始顯示狀態(tài)如圖6.1:圖6.1 實(shí)物數(shù)碼管初始狀態(tài)顯示 鍵盤按下數(shù)據(jù)輸入功能鍵,并輸入序號(hào)與鍵入數(shù)據(jù)后數(shù)碼管的顯示狀態(tài)如圖6.2: 圖6.2 實(shí)物數(shù)碼管數(shù)據(jù)鍵入狀態(tài)顯示鍵盤按下數(shù)據(jù)顯示功能鍵后,序號(hào)為6的數(shù)據(jù)顯示如下圖6.3:圖6.3實(shí)物數(shù)碼管數(shù)據(jù)顯示功能展示整個(gè)實(shí)物完整展示如下圖6.4:圖6.4 完整實(shí)物展示7 心得體會(huì)一轉(zhuǎn)眼間,為期兩周的單片機(jī)實(shí)習(xí)已落下帷幕,在本次實(shí)習(xí)學(xué)到了很多,也有了很多的感觸。本次實(shí)習(xí)是對(duì)所學(xué)的單片機(jī)知識(shí)的一次綜合運(yùn)用,本次設(shè)計(jì)要求完成鍵盤掃描顯示,數(shù)據(jù)輸入與數(shù)據(jù)顯示,串口通信等內(nèi)容。首先,要求能夠熟練的運(yùn)用Protues進(jìn)行單片機(jī)的仿真,由于以前沒(méi)用過(guò)這個(gè)軟件,仿真一開始就碰了很多釘子,這對(duì)于沒(méi)怎么用過(guò)這個(gè)軟件的我來(lái)說(shuō)是一大挑戰(zhàn)。不過(guò),通過(guò)一兩天的摸索,總算是把它的一些基本操作弄清楚了,最終也成功繪制出具有基本擴(kuò)展電路的單片機(jī)系統(tǒng)。接下來(lái)是在Keil上進(jìn)行程序的編寫,由于本次所要求實(shí)現(xiàn)的功能比較多,涉及到到的內(nèi)容也多,所以對(duì)于程序的編寫有很大的挑戰(zhàn),經(jīng)過(guò)兩天的資料查詢和不段的調(diào)試,程序基本編寫完成。但是由于對(duì)單片機(jī)知識(shí)沒(méi)有很好的掌握,所以程序的編寫變成了整個(gè)實(shí)習(xí)的難處。所以串口通信部分的程序沒(méi)能順利編寫出來(lái),這成了實(shí)習(xí)唯一的遺憾。接下來(lái)是在Proteus中仿真,這個(gè)步驟比想象中的順利,下進(jìn)去直接就可以運(yùn)行了。通過(guò)仿真的結(jié)果和自己的操作,發(fā)現(xiàn)對(duì)于數(shù)據(jù)的輸入和數(shù)據(jù)的顯示模塊設(shè)計(jì)成功。在本次實(shí)習(xí)中學(xué)到了很多,首先熟悉了Protues軟件的使用,其次對(duì)于程序的編寫讓我對(duì)單片機(jī)的認(rèn)識(shí)又加深了一步,不切對(duì)與C語(yǔ)言又有了更深一部的學(xué)習(xí)。通過(guò)本次實(shí)習(xí)讓我對(duì)以前所學(xué)知識(shí)有了一個(gè)更深刻的認(rèn)識(shí),學(xué)會(huì)了將所學(xué)的知識(shí)運(yùn)用到實(shí)際中去,同時(shí)也讓我意識(shí)到了理論與實(shí)際的差距,在實(shí)習(xí)中遇到了各種各樣的問(wèn)題,往往看是簡(jiǎn)單的一件事到實(shí)際去做的時(shí)候才發(fā)現(xiàn)有好多的東西沒(méi)考慮過(guò)。由于實(shí)驗(yàn)中沒(méi)能實(shí)現(xiàn)串行通信的功能,讓我認(rèn)識(shí)到自己知識(shí)的薄弱,讓我認(rèn)識(shí)到自己還有很多不足,在以后的學(xué)習(xí)中,我定會(huì)戒躁戒躁,努力學(xué)習(xí),彌補(bǔ)不足,讓自己的編程能力有所提高。8.參考文獻(xiàn)1 尹勇 撒繼銘等,單片計(jì)算機(jī)原理及應(yīng)用(第1版), 科學(xué)出版社, 2013年2 謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試(第三版).武漢:華中科技大學(xué)出版社3 李群芳. 單片微型計(jì)算機(jī)與接口技術(shù)(第3版).電子工業(yè)出版社,20084 劉教瑜. 單片機(jī)原理及應(yīng)用.武漢理工大學(xué)出版社,20115 張東亮. 單片機(jī)原理與應(yīng)用.人民郵電出版社,2009附錄:元件清單序號(hào)名稱數(shù)量1銅板 1塊2單片機(jī)STC89C521只3晶振12MHz1只430PF瓷片電容2只510k/0.25W電阻1只610uF/16V電解電容1只72k/0.25W電阻1只810k/9腳排阻1只95V/500mA直流電源1個(gè)10排針、按鈕、LED、導(dǎo)線等若干11電烙鐵1個(gè)12MAX232 1片130.1uF瓷片電容 4只14DB9插座 1只15RS-232C串口電纜(9針)1根16四角開關(guān)16個(gè)17共陽(yáng)極數(shù)碼管6個(gè)附錄:總程序設(shè)計(jì)#include"reg52.h"void delay(unsigned char s);void keyscan(void);void keydown(void);void input(void);void screen(int smode);int test = 0;unsigned char int_on = 0; /用于剛進(jìn)入通信模式時(shí)的初始化 只有在通信模式下需要打開中斷1為中斷已開化unsigned char temp; /讀按鍵用的測(cè)試變量 unsigned char key;/按鍵序號(hào) unsigned char MODE = 3; /模式選擇,0為輸入模式,1為顯示模式,2為串口通信模式 unsigned char FUNC = 0;/功能選擇,1為回車,2為清除 unsigned char reg104; /輸入內(nèi)容存放的數(shù)組 unsigned char dis_buf6;/顯示緩存 unsigned char inputmode;/通過(guò)回車鍵來(lái)判斷輸入模式,0為輸入序號(hào),1為輸入4位十進(jìn)制數(shù)據(jù) unsigned char group,datpos;/分別存儲(chǔ)數(shù)據(jù)的組數(shù)和十進(jìn)制數(shù)據(jù)位數(shù) unsignedcharLedNum=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84 ;void delay(unsigned char s) /延時(shí)函數(shù) int i,j;for(j=s;j>=0;j-)for(i=125;i>0;i-);void screen(int smode) /對(duì)數(shù)碼管操作的函數(shù) 1為清空顯示0號(hào)位光標(biāo) 2為移位 int p; if(smode=1)for(p=0;p<6;p+) dis_bufp = 0xff; /清屏 dis_buf0 = 0x08;/帶輸入光標(biāo) else if(smode=2)for(p=5;p>0;p-)/顯示緩存移位 dis_bufp = dis_bufp-1;void keyscan(void)/按鍵掃描函數(shù) /int p;/for循環(huán)變量 用于置空顯示緩存 P2=0xF0; /低四位輸入行為低電平,高四位為列高電平 temp=P2; /讀P2口 temp=temp&0xF0;temp=(temp>>4|0xF0);switch(temp)case 1: key = 0; break; / p1.4 被拉低 case 2: key = 1; break; / p1.5 被拉低 case 4: key = 2; break; / p1.6 被拉低 case 8: key = 3; break; / p1.7 被拉低 default: key = 16;temp = 0;P2=0x0F; /高四位輸入行為高電平列為低電平 /delay(1);temp=P2; /讀P1口 temp=temp&0x0F; /屏蔽低四位temp=(temp|0xF0);switch(temp)case 1:break; / p1.0 被拉低 case 2:key = key+4; break; / p1.1被拉低 case 4:key = key+8; break; /p1.2 被拉低 case 8:key = key+12;break; / p1.3 被拉低 default:key = 16;switch(key)case 10: /模式選擇為輸入 MODE = 0;inputmode=0; /從數(shù)據(jù)序號(hào)開始輸入 key=16; /鍵盤序號(hào)置空 FUNC=0; /功能鍵置空 screen(1);break; case 11: /模式選擇為顯示 MODE = 1;key=16; /鍵盤序號(hào)置空 screen(1);break;case 12: MODE = 2;break;case 13: FUNC = 1;break;/按鍵功能選擇 case 14: FUNC = 2;break;case 15: MODE = 3;break; /模式3為空余模式,可自定義或歡迎界面 default: datpos+; /存數(shù)位數(shù)加一 if(datpos=4) datpos = 0; P2 = 0x0f;while(P2!=0x0f); /保證按鍵彈起后再跳出程序 void keydown(void) P2=0x0F;/delay(1);if(P2!=0x0F) /判斷按鍵是否按下 如果按鈕按下 會(huì)拉低P1其中的一個(gè)端口 keyscan(); /調(diào)用按鍵掃描程序 void input(void) if(FUNC=1) /回車時(shí) 輸入模式切換 if(inputmode=1)screen(1);/清屏并在0號(hào)位輸入光標(biāo)else dis_buf2 = 0x08;/在2號(hào)位輸入光標(biāo) inputmode=1-inputmode;FUNC = 0; /切換完成 功能變量置空 if(FUNC=2) inputmode = 0; /重新從數(shù)據(jù)組數(shù)開始輸入 reggroup0 = 0; /清空已輸入的錯(cuò)誤數(shù)據(jù) reggroup1 = 0;reggroup2 = 0;reggroup3 = 0;screen(1);FUNC = 0; if(key<10) if(inputmode=0) group = key;/序號(hào)確認(rèn) dis_buf0 = LedNumgroup;datpos = -1;/數(shù)據(jù)鍵入位置歸零 else if(inputmode=1) /對(duì)應(yīng)組數(shù)據(jù)輸入 dis_bufdatpos+2 = LedNumkey; reggroupdatpos = key; delay(1); void main()unsigned char LedSele=0x01,0x02,0x04,0x08,0x10,0x20;unsigned char roll;SCON =0x50; /REN=1允許串行接受狀態(tài),串口工作模式2 TMOD|=0x20; /定時(shí)器工作方式2 PCON|=0x80; /波特率提高一倍 TH1=0xF3; /波特率4800、數(shù)據(jù)位8、停止位1、效驗(yàn)位無(wú) (12M)TL1=0xF3;while(1) keydown(); /調(diào)用按鍵判斷檢測(cè)程序if(MODE=0) /輸入模式 if(int_on=1) /若中斷未關(guān)TR1=0; /關(guān)啟定時(shí)器1 ES=0; /關(guān)串口中斷 EA=0; /關(guān)總中斷 int_on = 0; /中斷已關(guān)標(biāo)志 input(); /開始數(shù)據(jù)輸入程序 else if(MODE=1) /顯示模式 if(int_on=1) /若中斷未關(guān)TR1=0; /關(guān)啟定時(shí)器1 ES=0; /關(guān)串口中斷 EA=0; /關(guān)總中斷 int_on = 0; /中斷已關(guān)標(biāo)志 if(key<10) /若輸入的是數(shù)字 group = key; /選定輸出組數(shù) dis_buf0 = LedNumgroup;/先顯示數(shù)據(jù)組數(shù) dis_buf1 = 0xff; /空格 dis_buf2 = LedNumreggroup0; /四位十進(jìn)制數(shù) dis_buf3 = LedNumreggroup1;dis_buf4 = LedNumreggroup2;dis_buf5 = LedNumreggroup3;else if(MODE=2) /通信模式 if(int_on=0) /若中斷未開 TR1=1; /開啟定時(shí)器1 ES=1; /開串口中斷 EA=1; /開總中斷 int_on = 1; /中斷已開標(biāo)志 screen(1);/清屏 if (key<10)SBUF = key; /SUBF接受/發(fā)送緩沖器 while(TI=0); /當(dāng)發(fā)送標(biāo)志位為0,即未完成發(fā)送,則一直等待,直到發(fā)送完成 TI=0; /發(fā)送完成之后,將發(fā)送中斷標(biāo)志TI置0screen(2); /右移 dis_buf0 = LedNumkey;/最左為剛輸入的數(shù)字 elseif(int_on=1) /若中斷未關(guān)TR1=0; /關(guān)啟定時(shí)器1 ES=0; /關(guān)串口中斷 EA=0; /關(guān)總中斷 int_on = 0; /中斷已關(guān)標(biāo)志 dis_buf0 = 0x01;dis_buf1 = 0x40;dis_buf2 = 0x08;dis_buf3 = 0x08;dis_buf4 = 0x40;dis_buf5 = 0x01;for(roll=0;roll<6;roll+)P1=LedSeleroll; /通過(guò)循環(huán)使對(duì)應(yīng)選通的數(shù)碼管顯示相應(yīng)的數(shù)值 P0=dis_bufroll; /通過(guò)循環(huán)逐個(gè)選通數(shù)碼管 delay(1); void ser_int (void) interrupt 4 using 1if(RI=1) /若RI接受中斷標(biāo)志為1,即收到數(shù)據(jù) RI=0; /清除RI接受中斷標(biāo)志test+;if(test=10)test = 0;dis_buf5 = LedNumtest;/screen(2);dis_buf0 = LedNumSBUF; /delay(1);概 況實(shí)習(xí)單位: 武漢理工大學(xué)信息工程學(xué)院 參觀考察單位:(1)武漢理工大學(xué)信息工程學(xué)院國(guó)創(chuàng)課題小組 (2) 武漢理工大學(xué)信息工程學(xué)院開放實(shí)驗(yàn)室 (3) 武漢理工大學(xué)電工電子實(shí)習(xí)中心 (4) (5) (6) 實(shí)習(xí)開始時(shí)間:20 13 年 12 月 30 日,實(shí)習(xí)時(shí)間共 14 天。 完成實(shí)習(xí)報(bào)告時(shí)間:20 14 年 1 月 日。附錄:實(shí)習(xí)日記實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日實(shí) 習(xí) 日 記 年 月 日 實(shí)習(xí)成績(jī)表一、成績(jī)?cè)u(píng)定所占比例(%)成 績(jī)實(shí)習(xí)表現(xiàn)實(shí)習(xí)報(bào)告質(zhì)量考試或其他總成績(jī)二、對(duì)實(shí)習(xí)表現(xiàn)及實(shí)習(xí)報(bào)告質(zhì)量的綜合評(píng)價(jià)(評(píng)語(yǔ)) 指導(dǎo)老師(簽字): 2013 年 月 日

注意事項(xiàng)

本文(武漢理工大學(xué)《單片機(jī)應(yīng)用實(shí)習(xí)》報(bào)告.doc)為本站會(huì)員(wux****ua)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!