單片機(jī)課程設(shè)計(jì)報(bào)告_第1頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告_第2頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告_第3頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告_第4頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

洛陽(yáng)理工學(xué)院課程設(shè)計(jì)報(bào)告課程名稱(chēng)單片機(jī)原理與應(yīng)用設(shè)計(jì)題目基于STC89C52單片機(jī)的實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)設(shè)計(jì)專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)B1105學(xué)號(hào)姓名完成日期2013年12月27日

課程設(shè)計(jì)任務(wù)書(shū)設(shè)計(jì)題目:基于STC89C52單片機(jī)的實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)設(shè)計(jì)設(shè)計(jì)內(nèi)容與要求:一、設(shè)計(jì)內(nèi)容利用STC系列單片機(jī)作為微控制器開(kāi)發(fā)一套軟、硬件相結(jié)合的單片機(jī)實(shí)驗(yàn)平臺(tái),主要包括以下內(nèi)容:電路原理圖設(shè)計(jì),主要包括集LCD顯示模塊、串口通信模塊、數(shù)碼管顯示模塊、LED發(fā)光二極管、鍵盤(pán)等接口電路的設(shè)計(jì);學(xué)習(xí)集成電路等芯片的焊接方法與技巧,進(jìn)行實(shí)際元器件的識(shí)別,進(jìn)行電路板焊接;在KeilC環(huán)境下,進(jìn)行軟件設(shè)計(jì)。主要包括流水燈、計(jì)數(shù)器、定時(shí)器、LCD字符顯示、鍵盤(pán)的控制等功能程序設(shè)計(jì);針對(duì)所開(kāi)發(fā)的實(shí)驗(yàn)板,結(jié)合器件選擇、原理圖設(shè)計(jì)、硬件焊接、軟件編程調(diào)試、軟硬件聯(lián)調(diào)等方面寫(xiě)出課程設(shè)計(jì)報(bào)告。二、設(shè)計(jì)要求完成綜合實(shí)驗(yàn)平臺(tái)的電路結(jié)構(gòu)分析,進(jìn)行模塊分解,掌握各部分電路的工作原理;獨(dú)立完成電路板的焊接,掌握故障排除方法,完成實(shí)驗(yàn)平臺(tái)的硬件設(shè)計(jì)及開(kāi)發(fā);結(jié)合KeilC軟件在焊接無(wú)誤的單片機(jī)實(shí)驗(yàn)平臺(tái)上開(kāi)發(fā)出流水燈、LCD顯示模塊,通信模塊等程序設(shè)計(jì);按照要求撰寫(xiě)課程設(shè)計(jì)論文。指導(dǎo)教師:2013年12月16日課程設(shè)計(jì)評(píng)語(yǔ)成績(jī):指導(dǎo)教師:_______________年月日PAGEI目錄TOC\o"1-3"\h\u3418摘要 I19550目錄 III27856前言 17341第1章系統(tǒng)概述 272741.1設(shè)計(jì)題目 2262131.2系統(tǒng)設(shè)計(jì)目的和內(nèi)容 218651.2.1設(shè)計(jì)目的 2227371.2.2設(shè)計(jì)內(nèi)容 2300971.2.3設(shè)計(jì)要求 285701.2.4設(shè)計(jì)步驟 213493第2章整體設(shè)計(jì)方案 376332.1開(kāi)發(fā)板整體外觀 37712.2Protuce仿真電路 358952.3軟件功能描述 3247372.4仿真軟件PROTUES中的效果圖 416791第3章硬件電路設(shè)計(jì) 5146783.1兩位一體共陰數(shù)碼管 5180163.1.1數(shù)碼管概述 5137923.1.2兩位一體共陰數(shù)碼管和74LS374鎖存器接口電路 623593.2LCD1602液晶 6144943.2.1LCD1602液晶簡(jiǎn)介 6167263.2.2LCD1602液晶外圍接口電路 7268353.3串口通信 7230733.3.1串口通訊概述 722633.3.2MAX232接口電路 81801第4章軟件設(shè)計(jì) 8304404.1程序整體流程圖 82970第5章調(diào)試及故障分析 9300835.1焊接準(zhǔn)備階段元器件測(cè)試、電路原理圖故障分析 92535.2電路焊接過(guò)程中的故障分析 10326095.3程序編寫(xiě)過(guò)程中的故障分析 10277575.4實(shí)物演示效果 1019603結(jié)論 1222128謝辭 126487參考文獻(xiàn) 1220701附錄一 131163附錄二 17PAGE1前言我國(guó)開(kāi)始使用單片機(jī)是在1982年,短短五年時(shí)間里發(fā)展極為迅速。1986年在上海召開(kāi)了全國(guó)首屆單片機(jī)開(kāi)發(fā)與應(yīng)用交流會(huì),有的地區(qū)還成立了單片微型計(jì)算機(jī)應(yīng)用協(xié)會(huì),那是全國(guó)形成的第一次高潮。截止今日,單片機(jī)應(yīng)用技術(shù)飛速發(fā)展,我們上因特網(wǎng)輸入一個(gè)“單片機(jī)”的搜索,將會(huì)看到上萬(wàn)個(gè)介紹單片機(jī)的網(wǎng)站,這還不包括國(guó)外的。與它相應(yīng)的專(zhuān)業(yè)雜志現(xiàn)在也有很多,比如由單片機(jī)界的權(quán)威何立民主編的《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》雜志現(xiàn)以風(fēng)靡電子界,在2003年7月,91在上海、廣州、北京等大城市所做的一次專(zhuān)業(yè)人才需求報(bào)告中,單片機(jī)人才的需求量位居第一。一塊小小的片子,為何有這樣的魔力?我們首先從它的構(gòu)成說(shuō)起:?jiǎn)纹瑱C(jī),亦稱(chēng)單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(I/0)等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。計(jì)算機(jī)的產(chǎn)生加快了人類(lèi)改造世界的步伐,但是它畢竟體積大。微計(jì)算機(jī)(單片機(jī))在這種情況下誕生了,它為我們改變了什么?縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開(kāi)單片機(jī)。以前沒(méi)有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來(lái)的產(chǎn)品不僅體積大,而且成本高,并且由于長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑?,我們只需要在單片機(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫(xiě)入程序來(lái)完成。這樣產(chǎn)品的體積變小了,成本也降低了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了。所以,它的魔力不僅是在現(xiàn)在,在將來(lái)將會(huì)有更多的人來(lái)接受它、使用它。據(jù)統(tǒng)計(jì),我國(guó)的單片機(jī)年容量已達(dá)1—3億片,且每年以大約16%的速度增長(zhǎng),但相對(duì)于世界市場(chǎng)我國(guó)的占有率還不到1%。特別是沿海地區(qū)的玩具廠等生產(chǎn)產(chǎn)品多數(shù)用到單片機(jī),并不斷地輻射向內(nèi)地。所以,學(xué)習(xí)單片機(jī)在我國(guó)是有著廣闊前景的。系統(tǒng)概述設(shè)計(jì)題目《基于STC89C52單片機(jī)的實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)設(shè)計(jì)》。系統(tǒng)設(shè)計(jì)目的和內(nèi)容設(shè)計(jì)目的(1)學(xué)會(huì)分塊電路原理圖的分析。(2)利用手中的PCB板,完成元器件的焊接,掌握焊接得技巧,如何將焊點(diǎn)焊的美觀,牢靠,焊接的過(guò)程中對(duì)元器件的識(shí)別。(3)在KeilC的環(huán)境下進(jìn)行軟件設(shè)計(jì)。主要包括流水燈,數(shù)碼管,液晶,鍵盤(pán)的控制設(shè)計(jì)內(nèi)容(1)單片機(jī)在復(fù)位狀態(tài)下,按下第一個(gè)鍵數(shù)碼管開(kāi)始以秒加1計(jì)時(shí),當(dāng)讀到60時(shí)再?gòu)?開(kāi)始;按下第二個(gè)液晶開(kāi)始工作,首先顯示歡迎語(yǔ)“welcometoMCU”然后清楚再顯示時(shí)間,包括年月日,小時(shí),分鐘,秒;按下第三個(gè)led開(kāi)始工作。(2)數(shù)碼管的秒計(jì)數(shù)利用T1定時(shí)器的工作方式2,液晶時(shí)間的顯示利用T0定時(shí)器的工作方式2;鍵盤(pán)的檢測(cè)比較簡(jiǎn)單,只需要檢測(cè)單個(gè)引腳對(duì)應(yīng)的電平即可。設(shè)計(jì)要求(1)完成綜合實(shí)驗(yàn)平臺(tái)的電路結(jié)構(gòu)分析,進(jìn)行模塊分解,掌握各部分電路的工作原理;(2)獨(dú)立完成電路板的焊接,掌握故障排除方法,完成實(shí)驗(yàn)平臺(tái)的硬件設(shè)計(jì)及開(kāi)發(fā);(3)結(jié)合KeilC軟件在焊接無(wú)誤的單片機(jī)實(shí)驗(yàn)平臺(tái)上開(kāi)發(fā)出流水燈、LCD顯示模塊,通信模塊等程序設(shè)計(jì);設(shè)計(jì)步驟(1)讀懂并分析每一塊電路的連接,工作原理,其中包括收集必要的一些芯片的資料。(2)完成電路的焊接。(3)模塊化編程,首先編寫(xiě)LED的看,這個(gè)程序來(lái)說(shuō)相對(duì)比較簡(jiǎn)單編寫(xiě)的同時(shí)友可以熟悉開(kāi)發(fā)板的電路,然后編寫(xiě)數(shù)碼管和LCD的相應(yīng)程序,在編寫(xiě)的過(guò)程中要完成一個(gè)模塊調(diào)試好了在進(jìn)行下一個(gè)模塊的編寫(xiě)。整體設(shè)計(jì)方案開(kāi)發(fā)板整體外觀Protuce仿真電路軟件功能描述Delay_ms實(shí)現(xiàn)一個(gè)簡(jiǎn)單的延時(shí);LCD_program實(shí)現(xiàn)液晶的時(shí)間顯示:led_program實(shí)現(xiàn)了的的閃爍移動(dòng);smg_program實(shí)現(xiàn)數(shù)碼管以秒加一計(jì)數(shù)。仿真軟件PROTUES中的效果圖圖2.4.1數(shù)碼管仿真圖圖2.4.2LCD仿真圖圖2.4.3LED仿真圖硬件電路設(shè)計(jì)3.1兩位一體共陰數(shù)碼管數(shù)碼管概述數(shù)碼管也稱(chēng)LED數(shù)碼管,晶美、光電、不同行業(yè)人士對(duì)數(shù)碼管的稱(chēng)呼不一樣,其實(shí)都是同樣的產(chǎn)品。數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、3位、4位、5位、6位、7位等數(shù)碼管;按發(fā)光二極管單元連接方式可分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管,共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。led數(shù)碼管(LEDSegmentDisplays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類(lèi)似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類(lèi),了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌?lèi)型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。共陰和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。led數(shù)碼管廣泛用于儀表,時(shí)鐘,車(chē)站,家電等場(chǎng)合。選用時(shí)要注意產(chǎn)品尺寸顏色,功耗,亮度,波長(zhǎng)等。數(shù)碼管內(nèi)部引腳見(jiàn)附錄一。 兩位一體共陰數(shù)碼管和74LS374鎖存器接口電路圖3.1.3數(shù)碼管外圍電路LCD1602液晶LCD1602液晶簡(jiǎn)介工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)注:為了表示的方便,后文皆以1表示高電平,0表示低電平。1602液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。其特性為:3.3V或5V工作電壓,對(duì)比度可調(diào)。內(nèi)含復(fù)位電路。提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM。內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM。8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM。微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。引腳圖及原理圖見(jiàn)附錄一。LCD1602液晶外圍接口電路圖3.2.3LCD外圍電路3.3串口通信串口通訊概述串口通信(SerialCommunication),是指外設(shè)和計(jì)算機(jī)間,通過(guò)數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。串口通信(SerialCommunications)的概念非常簡(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è)備線總長(zhǎng)不得超過(guò)20米,并且任意兩個(gè)設(shè)備間的長(zhǎng)度不得超過(guò)2米;而對(duì)于串口而言,長(zhǎng)度可達(dá)1200米。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對(duì)于兩個(gè)進(jìn)行通信的端口,這些參數(shù)必須匹配。波特率:這是一個(gè)衡量通信速度的參數(shù)。它表示每秒鐘傳送的bit的個(gè)數(shù)。例如300波特表示每秒鐘發(fā)送300個(gè)bit。當(dāng)我們提到時(shí)鐘周期時(shí),我們就是指波特率例如如果協(xié)議需要4800波特率,那么時(shí)鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。數(shù)據(jù)位:這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是6、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。擴(kuò)展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡(jiǎn)單的文本(標(biāo)準(zhǔn)ASCII碼),那么每個(gè)數(shù)據(jù)包使用7位數(shù)據(jù)。每個(gè)包是指一個(gè)字節(jié),包括開(kāi)始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語(yǔ)“包”指任何通信的情況。停止位:用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。奇偶校驗(yàn)位:在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。有四種檢錯(cuò)方式:偶、奇、高和低。當(dāng)然沒(méi)有校驗(yàn)位也是可以的。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位為1,這樣就有3個(gè)邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡(jiǎn)單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。MAX232接口電路圖3.3.2MAX232接口電路軟件設(shè)計(jì)4.1程序整體流程圖開(kāi)始開(kāi)始檢測(cè)鍵盤(pán)對(duì)應(yīng)的引腳電平Led程序Lcd程序數(shù)碼管程序Key1,Key2,Key0是否其中有一個(gè)為0Key2=0Key2=0Key0=0KKey1=0結(jié)束結(jié)束程序設(shè)計(jì)見(jiàn)附錄二調(diào)試及故障分析5.1焊接準(zhǔn)備階段元器件測(cè)試、電路原理圖故障分析 檢測(cè)各個(gè)器件是否完備并完整;測(cè)試某些電阻的是否符合要求;測(cè)試鍵盤(pán)的內(nèi)部連接以確定怎樣焊接;5.2電路焊接過(guò)程中的故障分析電源短路,最有可能的就是焊接的過(guò)程中焊錫太多導(dǎo)致;焊點(diǎn)呈現(xiàn)圓球狀,這樣的焊點(diǎn)極有可能出現(xiàn)虛焊,還有一些空間很小的地方在焊完以后一定要測(cè)試一下是否短路或者斷路;電源指示燈亮度太暗,有可能是與其串聯(lián)的電阻太大導(dǎo)致的5.3程序編寫(xiě)過(guò)程中的故障分析 LED循環(huán)亮燈的問(wèn)題,如果用_corol_()函數(shù),必須要要包含相應(yīng)頭文件,這個(gè)函數(shù)每調(diào)用一次左移一位,所以要是整個(gè)LED循環(huán)亮的就得調(diào)用循環(huán)。 LCD中出現(xiàn)的問(wèn)題最多,首先要明白1602的時(shí)序問(wèn)題,還有顯示的原理,1602沒(méi)有漢字字庫(kù),只能顯示ASSII碼,最初編寫(xiě)寫(xiě)命令write_com()和寫(xiě)數(shù)據(jù)write_data()函數(shù)的過(guò)程中沒(méi)有對(duì)RW端口進(jìn)行操作,結(jié)果導(dǎo)致1602不能驅(qū)動(dòng)的問(wèn)題,還有可能出現(xiàn)的問(wèn)題就是1602的使能端連接到138譯碼器的Y2,這就要求對(duì)138譯碼器的原理必須掌握,其實(shí)138譯碼器最重要的就是其對(duì)應(yīng)的真值表; 數(shù)碼管用到了373鎖存器,通過(guò)對(duì)兩個(gè)373的控制以實(shí)現(xiàn)對(duì)兩位數(shù)碼管的控制,ALE端負(fù)跳變實(shí)現(xiàn)鎖存。5.4實(shí)物演示效果圖5.4.1LCD效果圖圖5.4.2數(shù)碼管效果圖圖5.4.3LED效果圖結(jié)論這次的實(shí)驗(yàn),無(wú)論在開(kāi)發(fā)板還是在仿真圖上都得到了預(yù)想的結(jié)果,這個(gè)讓我們從一些感性的認(rèn)識(shí)一下子進(jìn)入到可觸控的實(shí)際的認(rèn)識(shí),換句話說(shuō),看吧,東西就在眼前?;蛟S有很多同學(xué)會(huì)懷疑我就寫(xiě)了一個(gè)程序,下載到里面,它怎么會(huì)實(shí)現(xiàn)的。其實(shí)我也想了很多,你不就是給他的芯片里寫(xiě)了一些字符嗎,他怎么會(huì)實(shí)現(xiàn)物理開(kāi)關(guān)般的作用,其實(shí)這個(gè)問(wèn)題不用多問(wèn),我覺(jué)得我們暫時(shí)知道這個(gè)就可以了,不用死鉆牛角尖。當(dāng)然,這次的團(tuán)隊(duì)合作是這次試驗(yàn)成功的不可缺少的因素。很多時(shí)候,尤其在一些大的工程里,可能每個(gè)人只是負(fù)責(zé)一個(gè)部分,這個(gè)時(shí)候懂得團(tuán)隊(duì)的合作是發(fā)展的需要。謝辭這次的試驗(yàn),對(duì)于三位老師的教導(dǎo)我表示深深地感謝,以及老師們?yōu)槲覀兙臏?zhǔn)備的開(kāi)發(fā)板來(lái)讓我們實(shí)質(zhì)性的體驗(yàn)。當(dāng)然,我還得感謝我的隊(duì)員,正是我們的相互合作,共同努力才得以解決在焊接過(guò)程中遇到的一些問(wèn)題,才會(huì)又快又好地焊接PCB板。參考文獻(xiàn)[1]林立張俊亮編單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2012[2]周潤(rùn)景等編Proteus入門(mén)使用教程.北京:電子工業(yè)出版社,2007[3]譚浩強(qiáng)編C程序設(shè)計(jì).北京:清華大學(xué)出版社,1991[4]郭天祥編51單片機(jī)C語(yǔ)言教程.北京:電子工業(yè)出版社,2008附錄一1、數(shù)碼管內(nèi)部引腳及功能下面將介紹常用LED數(shù)碼管內(nèi)部引腳圖數(shù)碼管實(shí)物圖圖1LED數(shù)碼管引腳定義圖2LED為共陰方式圖3數(shù)碼管內(nèi)部結(jié)構(gòu)原理圖圖32、74LS373原理及引腳圖74LS373功能表LEDQ0111010000×不變1××高阻態(tài)74LS373的三種工作方式:跟隨(=0,LE=1,輸出跟隨輸入)鎖存(=0,LE從高變?yōu)榈拓?fù)跳變時(shí),鎖存D0~D7)高阻(=1,Q0~Q7輸出為高阻,相當(dāng)于斷開(kāi))3、74LS138原理及引腳圖74LS138真值表注:1表示高電平,0表示低電平,×表示任意【C為高位,A為低位】【強(qiáng)調(diào):要使138芯片工作,G1接高電平“1”,和接低電平“0”】74LS138引腳圖4、LCD1602工作原理及引腳圖LCD1602的工作電流2.0mA(5.0V)9013的驅(qū)動(dòng)電流達(dá)40mA,仿真時(shí)可以選擇一個(gè)NPN三極管。所以從低到高時(shí),LCD1602的E端出現(xiàn)高到低的負(fù)跳變。1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地;第2腳:VCC接5V電源正極;第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度);第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器;第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作;第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令;第7~14腳:D0~D7為8位雙向數(shù)據(jù)端;第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。LCD1602的第5腳:,讀寫(xiě)操作選擇(1-讀,0-寫(xiě))。RS寄存器及操作00指令寄存器寫(xiě)入01忙信號(hào)和地址計(jì)數(shù)器讀出10數(shù)據(jù)寄存器寫(xiě)入11數(shù)據(jù)寄存器讀出LCD1602的第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí)(負(fù)跳變),液晶模塊執(zhí)行命令。【類(lèi)似于74LS373,需要負(fù)跳變】執(zhí)行一條命令或?qū)懭胍粋€(gè)數(shù)據(jù),都要使E有一個(gè)負(fù)跳變。附錄二程序設(shè)計(jì)////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include<reg52.h>#include"delay.h"#include"led.h"#include"lcd.h"#include"smg.h"sbitkey0=P3^2;sbitkey1=P3^3;sbitkey2=P3^4;sbitkey3=P3^5;voidmain(){ while(1) { if(key0==0) { delay_ms(3); if(key0==0) led_program(); } if(key3==0) { delay_ms(3); if(key3==0) lcd_program(); } if(key2==0) { delay_ms(3); if(key2==0) smg_program(); } }}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include"delay.h"#include"led.h"#include<reg52.h>#include<intrins.h>voidled_program(){ uinti; uchara,b; a=0xfe; //11111110 b=0x7f; //01111111 while(1) { P2=0x00; delay_ms(800); P2=0xff; delay_ms(800); P2=0xaa; //10101010 //低電平有效 delay_ms(800); P2=0x55; //01010101 delay_ms(800); //循環(huán)亮燈 i=500; while(i>=20) { P2=a; delay_ms(i); a=_crol_(a,1); i=i-10; } i=10; while(i<=500) { P2=b; delay_ms(i); b=_cror_(b,2); i=i+10; } P2=0xfc; delay_ms(500); P2=0x3f; delay_ms(500); P2=0xf3; delay_ms(500); P2=0xcf; delay_ms(500); P2=0xe7; delay_ms(500); }}///////////////////////////////////////////////////////////////////////////////////////#ifndef_LED_H_#define_LED_H_ #defineucharunsignedchar#defineuintunsignedintvoidled_program(void);#endif//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#ifndef_DELAY_H__#define_DELAY_H__#defineucharunsignedchar#defineuintunsignedintvoiddelay_ms(uintt);#endif////////////////////////////////////////////////////////////////#include"delay.h"voiddelay_ms(uintt){ uinti,j; for(i=t;i>0;i--) for(j=110;j>0;j--);}///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#ifndef_LCD_H_#define_LCD_H_ #defineucharunsignedchar#defineuintunsignedintvoidLCD_EN_0();voidLCD_EN_1();voidwrite_com(ucharcom);voidwrite_data(uchardate);voidLcdinit();voiddisplay_time(ucharadd,uchardate);voidlcd_program(void);#endif////////////////////////////////////////////////////////////////////////#include"lcd.h"#include"delay.h"#include<reg52.h>sbitLcdrs=P1^6;sbitLcdrw=P1^7;sbitE3_138=P1^5;ucharwelcome_mode[]="WelcometoMCU";ucharname_mode[]="chaoweili";ucharxuehao_mode[]="B11050807"; uintcount=0;ucharshi,fen,miao;//數(shù)據(jù)口為P0;A0=P25;A1=P26;A2=P27voidLCD_EN_1() //對(duì)應(yīng)138Y2{ E3_138=1; P2=0x5f; //0101f; }voidLCD_EN_0(){ E3_138=0; } voidwrite_com(ucharcom){ Lcdrs=0; Lcdrw=0; P0=com; delay_ms(5); LCD_EN_1(); //Y2為0; delay_ms(5);LCD_EN_0(); }voidwrite_data(uchardate){ Lcdrs=1; Lcdrw=0; P0=date; delay_ms(5);LCD_EN_1(); delay_ms(5); LCD_EN_0(); } voidLcdinit(){ LCD_EN_1(); write_com(0x38); //設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口 //write_com(0x0f); //設(shè)置開(kāi)顯示,光標(biāo)閃爍; write_com(0x0c); //開(kāi)顯示,不顯示光標(biāo); write_com(0x06); //設(shè)置寫(xiě)一個(gè)字符后地址指針加1 write_com(0x01); //顯示清0,數(shù)據(jù)指針清0; } voidlcd_program(){ uintnum; // Lcdinit(); write_com(0x80);//數(shù)據(jù)指針指到第一行第一個(gè)字 for(num=0;num<14;num++) { write_data(name_mode[num]); delay_ms(3); } delay_ms(4000); write_com(0x01); //清屏 write_com(0x80); for(num=0;num<10;num++) { write_data(xuehao_mode[num]); delay_ms(3); } write_com(0x80+0x40); for(num=0;num<8;num++) { write_data(name_mode[num]); delay_ms(3); } while(1); } ////

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論