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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)碼顯示器</b></p><p>  作 者 姓 名 : </p><p>  專(zhuān) 業(yè)、班 級(jí): 電信工程0801班 </p><p>  學(xué) 號(hào): </p><p>  校內(nèi)指導(dǎo)教師:

2、 </p><p>  校外指導(dǎo)教師: </p><p>  完 成 日 期 : 2011-6-13 </p><p><b>  目 錄</b></p><p><b>  引言- 2 -</b></p><p>

3、  1 設(shè)計(jì)要求- 3 -</p><p>  1.1 基本要求- 3 -</p><p>  1.2 發(fā)揮部分- 3 -</p><p>  2 方案設(shè)計(jì)與論證- 3 -</p><p>  2.1 控制部分方案論證- 3 -</p><p>  2.2 顯示部分方案論證- 3 -</p>

4、<p>  3 系統(tǒng)框圖及工作原理- 4 -</p><p>  3.1 系統(tǒng)框圖- 4 -</p><p>  3.2 工作原理- 4 -</p><p>  3.2.1硬件工作原理- 4 -</p><p>  3.2.2軟件工作原理- 4 -</p><p>  4 硬件原理分析及設(shè)計(jì)- 5

5、 -</p><p>  4.1 單片機(jī)時(shí)鐘電路- 5 -</p><p>  4.2 單片機(jī)復(fù)位電路- 5 -</p><p>  4.2.1復(fù)位電路的可靠性設(shè)計(jì)- 5 -</p><p>  4.3 鍵盤(pán)電路- 6 -</p><p>  4.4 顯示電路- 6 -</p><p>

6、;  4.4.1 LCD顯示電路- 6 -</p><p>  4.4.2七段數(shù)碼管顯示電路- 6 -</p><p>  4.4 整體電路圖- 7 -</p><p>  4.5 系統(tǒng)硬件設(shè)計(jì)所需的元件- 8 -</p><p>  5 軟件設(shè)計(jì)- 8 -</p><p>  5.1 軟件總體設(shè)計(jì)及框圖-

7、 8 -</p><p>  5.2 軟件重要子程序設(shè)計(jì)及框圖- 9 -</p><p>  5.2.1顯示部分- 9 -</p><p>  5.2.2鍵盤(pán)掃描部分- 10 -</p><p>  5.2.3時(shí)鐘部分- 10 -</p><p>  5.2.4延時(shí)部分- 11 -</p>&l

8、t;p>  6 硬件安裝制作- 12 -</p><p>  6.1 PCB板制作- 12 -</p><p>  6.2 元件焊接- 12 -</p><p>  7 電路調(diào)試- 12 -</p><p>  7.1 硬件調(diào)試- 13 -</p><p>  7.2軟件調(diào)試- 13 -</p&

9、gt;<p>  8 測(cè)試結(jié)果- 13 -</p><p>  9 結(jié)論- 13 -</p><p><b>  致謝- 14 -</b></p><p>  參考文獻(xiàn)- 14 -</p><p><b>  摘 要</b></p><p>  本設(shè)計(jì)

10、以數(shù)字集成電路技術(shù)為基礎(chǔ)、單片機(jī)技術(shù)為核心。軟件設(shè)計(jì)模塊化結(jié)構(gòu)、C語(yǔ)言編程。系統(tǒng)通過(guò)帶字庫(kù)的LCD12864顯示數(shù)據(jù),通過(guò)4*4矩陣鍵盤(pán)控制顯示文字、公歷日期(年、月、日、星期)、時(shí)間(時(shí)、分、秒)、文字反白、自定義字符、圖片顯示,可以通過(guò)鍵盤(pán)調(diào)整時(shí)間、日期,同時(shí)按下鍵盤(pán)時(shí),七段數(shù)碼管顯示相應(yīng)鍵位的鍵位標(biāo)識(shí)。在內(nèi)容安排上首先描述系統(tǒng)硬件工作原理,著重介紹了各硬件接口技術(shù)和各個(gè)接口模塊的功能;其次,詳細(xì)闡述了程序的各個(gè)模塊和實(shí)現(xiàn)過(guò)程。&l

11、t;/p><p>  The design is based on digital integrated circuit.microcontroller technology is the core of the system,The software design uses module structure,C programming language. System by taking the fonts LCD

12、12864 display data, through 4 * 4 matrix keyboard control displays text, calendar dates (year, month, day, week), time (hour, minutes and seconds), word against white, customize characters, photos. Can via keyboard adjus

13、t time, date, and press the keyboard, 7 segment digital pipe display correspondin</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī);鍵盤(pán)顯示模擬系統(tǒng);LCD12864;時(shí)鐘</p><p>  Key word:MCU; Keyboard display the simulation system;LCD12864;The

14、 clock</p><p><b>  引言</b></p><p>  儀器儀表的鍵盤(pán)顯示系統(tǒng),是實(shí)現(xiàn)通過(guò)鍵盤(pán)的控制,使LCD屏幕有相應(yīng)的顯示,廣泛用于各個(gè)領(lǐng)域,如電腦、家電、數(shù)字儀器等,成為人們直觀了解和控制儀器、設(shè)備的運(yùn)行狀態(tài)的重要依據(jù),給人們的生活帶了方便,成為現(xiàn)代人們生活、工作的必需品。數(shù)字化顯示系統(tǒng)告別了以前老式的監(jiān)控和計(jì)算儀器、設(shè)置狀態(tài)方式,給人們帶來(lái)

15、了極大的方便。本設(shè)計(jì)是儀器儀表的控制顯示模擬系統(tǒng),所有的儀器儀表的控制顯示系統(tǒng)都是以此為基礎(chǔ)而擴(kuò)展的。因此,研究?jī)x器儀表的控制顯示系統(tǒng)及擴(kuò)大其應(yīng)用有著非常現(xiàn)實(shí)的意義。本設(shè)計(jì)就是儀器儀表的控制顯示系統(tǒng)簡(jiǎn)單的模擬和擴(kuò)展應(yīng)用。</p><p><b>  1 設(shè)計(jì)要求</b></p><p><b>  1.1 基本要求</b></p>

16、<p>  1)開(kāi)機(jī)LCD液晶屏幕顯示“08電子信息X班XXX畢業(yè)設(shè)計(jì)”信息。</p><p>  2)設(shè)計(jì)4X4矩陣鍵盤(pán),分別對(duì)應(yīng)鍵碼“0-F”。</p><p>  3)按下任意一個(gè)按鍵,LCD液晶屏幕顯示相應(yīng)按鍵的信息(不同按鍵的顯示內(nèi)容可以自行設(shè)計(jì))。</p><p><b>  1.2 發(fā)揮部分</b></p>

17、<p>  1)LCD液晶屏幕增加裝飾圖案。</p><p>  2)增加一個(gè)LED數(shù)碼管同步顯示相應(yīng)鍵碼。</p><p>  3)增加一個(gè)LED點(diǎn)陣同步顯示相應(yīng)鍵碼。</p><p>  2 方案設(shè)計(jì)與論證</p><p>  2.1 控制部分方案論證</p><p>  方案一:可采用ALTERA

18、公司的FLEX10K系列PLD器件。設(shè)計(jì)起來(lái)結(jié)構(gòu)清晰,各個(gè)模塊,從硬件上設(shè)計(jì)起來(lái)相對(duì)簡(jiǎn)單,控制與顯示的模塊間的連接也會(huì)比較方便。但是考慮到本設(shè)計(jì)的特點(diǎn),EDA在功能擴(kuò)展上比較受局限,而且EDA占用的資源也相對(duì)多一些。從成本上來(lái)講,用可編程邏輯器件來(lái)設(shè)計(jì)也沒(méi)有什么優(yōu)勢(shì),而以我們目前的條件在硬件和軟件也無(wú)法實(shí)現(xiàn)本設(shè)計(jì)的各種要求。</p><p>  方案二:凌陽(yáng)16位單片機(jī)有豐富的中斷源和時(shí)基。它的準(zhǔn)確度相當(dāng)高,并且

19、C語(yǔ)言的編程環(huán)境也很方便來(lái)實(shí)現(xiàn)一些遞歸調(diào)用。I/O口功能也比較強(qiáng)大,方便使用。用凌陽(yáng)16位單片機(jī)做控制器最有特色的就是它的可編程音頻處理,可完成語(yǔ)音的錄制播放和識(shí)別。這些都方便對(duì)設(shè)計(jì)進(jìn)行擴(kuò)展,使設(shè)計(jì)更加完善。成本也相對(duì)低一些。但是,在控制與顯示的結(jié)合上有些復(fù)雜,顯示模組資源相對(duì)有限,而且單片機(jī)的穩(wěn)定性不是很高,而且就需要完成這個(gè) 儀器儀表的鍵盤(pán)顯示模擬系統(tǒng)不太復(fù)雜的設(shè)計(jì)可以不必用凌陽(yáng)16位單片機(jī)來(lái)完成。</p>

20、<p>  方案三:AT89S52是8位單片機(jī),提供的的四組8個(gè)I/O口能夠?qū)崿F(xiàn)既定功能,成本也不高。綜合考慮最后選擇用AT89S52單片機(jī)來(lái)作為中心控制器件。</p><p>  2.2 顯示部分方案論證</p><p>  方案一:使用LCD1602成本低,程序控制簡(jiǎn)單,但它只能顯示16X2個(gè)半寬字型符,不能顯示漢字,比較單調(diào)。</p><p>  方

21、案二:帶字庫(kù)的由ST7920控制的LCD12864硬件上提供8位,4位并行接口及串行接口供選擇,64×16 位字符顯示 RAM(DDRAM 最多 16 字符×4 行,LCD 顯示范圍 16×2 行),2M 位中文字型 ROM(CGROM),總共提供 8192 個(gè)中文字型(16×16 點(diǎn)陣),16K 位半寬字型 ROM(HCGROM),總共提供 126 個(gè)西文字型(16×8 點(diǎn)陣),64&

22、#215;16 位字符產(chǎn)生 RAM(CGRAM)。在軟件上提供文字與圖形混合顯示、畫(huà)面清除、光標(biāo)歸位、顯示開(kāi)/關(guān) 、光標(biāo)顯示/隱藏、顯示字體閃爍、光標(biāo)移位功能、顯示移位、垂直畫(huà)面旋轉(zhuǎn)、反白顯示、休眠模式的功能,相對(duì)于LCD1602來(lái)說(shuō)功能豐富,而且已內(nèi)建有GB碼簡(jiǎn)體中文字型庫(kù),方便編程。綜合以上方案,決定采用LCD12864(除非特殊說(shuō)明,以下都簡(jiǎn)稱(chēng)LCD)作為顯示器件。</p><p>  3 系統(tǒng)框圖及工作

23、原理</p><p><b>  3.1 系統(tǒng)框圖</b></p><p><b>  3.2 工作原理</b></p><p>  3.2.1硬件工作原理</p><p>  硬件控制電路主要用了4*4矩陣鍵盤(pán)、AT89S52芯片處理器、LCD和七段數(shù)碼管。由AT89S52處理器處理從4*4鍵盤(pán)發(fā)

24、出的指令,通過(guò)LCD和七段數(shù)碼管顯示出相應(yīng)按鍵的內(nèi)容。</p><p>  3.2.2軟件工作原理</p><p>  軟件控制程序主要有主控程序、時(shí)間程序、LCD控制程序、時(shí)間及日期顯示程序、鍵盤(pán)掃描程序等組成。主控程序中對(duì)整個(gè)程序進(jìn)行控制,進(jìn)行了時(shí)間和LCD初始化、LCD和數(shù)碼管顯示等控制。</p><p>  LCD顯示程序是整個(gè)顯示部分中的重要部分,包括寫(xiě)入

25、命令、初始化、寫(xiě)入數(shù)據(jù)、數(shù)據(jù)顯示、自定義GDRAM顯示、繪圖顯示、反白顯示等。當(dāng)LCD的RS=RW= 0,同時(shí)EN由1變0時(shí),可以對(duì)LCD寫(xiě)入基本指令和擴(kuò)充指令;當(dāng)RS=1,RW=0,同時(shí)EN由1變0時(shí),可以對(duì)LCD寫(xiě)入數(shù)據(jù)。對(duì)LCD端口寫(xiě)入不同的命令可以寫(xiě)入和顯示不同的數(shù)據(jù),具體命令請(qǐng)參考LCD12864和數(shù)據(jù)手冊(cè)。</p><p>  LCD時(shí)間控制程序是時(shí)間程序重要的部分,時(shí)間控制程序體現(xiàn)了年、月、日、時(shí)、

26、分、秒的計(jì)算方法。此設(shè)計(jì)采用AT89S52自帶的T0計(jì)時(shí)器進(jìn)行計(jì)時(shí),中斷程序每隔50ms中斷一次當(dāng)作一個(gè)計(jì)數(shù),每中斷一次則計(jì)數(shù)加1,當(dāng)計(jì)數(shù)20次時(shí),則表示1秒到了,秒變量加1,同理再判斷是否1分鐘到了,再判斷是否1小時(shí)到了,再判斷是否1天到了,再判斷是否1月到了,再判斷是否1年到了,若計(jì)數(shù)到了則相關(guān)變量清除0。先給出一般年份的每月天數(shù)。如果是閏年,第2月天數(shù)為29天,非閏年則有28天。在我們的這個(gè)設(shè)計(jì)中只設(shè)有100年的范圍,判斷是否閏年

27、就只需要用該年份除以4來(lái)判斷就行了。</p><p>  鍵盤(pán)掃描程序是整個(gè)設(shè)計(jì)的輸入控制程序,4*4鍵盤(pán)占用單片機(jī)的8個(gè)I/O口。本設(shè)計(jì)的鍵盤(pán)掃描程序采用行列反轉(zhuǎn)掃描法讀取按鍵鍵值。單片機(jī)先讓鍵盤(pán)行線(xiàn)輸出全為0,然后讀入列線(xiàn)值,再檢測(cè)有無(wú)按鍵按下,去抖,再讀入列線(xiàn)值,輸出當(dāng)前列線(xiàn)值,讀入行線(xiàn)值,最后組合行、列線(xiàn)值,得到鍵盤(pán)的碼值供調(diào)用。</p><p>  4 硬件原理分析及設(shè)計(jì)<

28、;/p><p>  4.1 單片機(jī)時(shí)鐘電路</p><p>  內(nèi)部時(shí)鐘電路如圖所示,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就產(chǎn)生自激振蕩。定時(shí)元件通常石英晶體和電容組成的并聯(lián)諧振回路,晶體振蕩器選擇12MHZ,電容采用30PF。</p><p>  4.2 單片機(jī)復(fù)位電路</p><p>  影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的因素可大

29、體分為外因和內(nèi)因兩部分: </p><p><b> ?。?)外因</b></p><p>  射頻干擾,它是以空間電磁場(chǎng)的形式傳遞在機(jī)器內(nèi)部的導(dǎo)體(引線(xiàn)或零件引腳)感生出相應(yīng)的干擾,可通過(guò)電磁屏蔽和合理的布線(xiàn)/器件布局衰減該類(lèi)干擾; </p><p>  電源線(xiàn)或電源內(nèi)部產(chǎn)生的干擾,它是通過(guò)電源線(xiàn)或電源內(nèi)的部件耦合或直接傳導(dǎo),可通過(guò)電源濾波、

30、隔離等措施來(lái)衰減該類(lèi)干擾。</p><p><b> ?。?)內(nèi)因</b></p><p>  振蕩源的穩(wěn)定性,主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定 起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類(lèi)型溫度和電壓等參數(shù)影響復(fù)位電路的可靠性。</p><p>  4.2.1復(fù)位電路的可靠性設(shè)計(jì)</p><p>  復(fù)位是單片機(jī)

31、的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。</p><p>  復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷(xiāo)復(fù)位信號(hào)。為可靠起見(jiàn),電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷(xiāo)復(fù)位信號(hào),以防電源開(kāi) 關(guān)或電源插頭分-合過(guò)程中

32、引起的抖動(dòng)而影響復(fù)位。如圖3所示。</p><p><b>  4.3 鍵盤(pán)電路</b></p><p>  4*4鍵盤(pán)電路由4*4=16個(gè)按鍵組成,其中4列經(jīng)過(guò)4個(gè)10K電阻接入VCC上拉,接入單片機(jī)的P3口的高4位口,4行直接接入單片機(jī)低4位,當(dāng)有按鍵按下時(shí),由單片機(jī)控制8個(gè)I/O口讀取出當(dāng)前鍵值。</p><p><b>  4

33、.4 顯示電路</b></p><p>  4.4.1 LCD顯示電路</p><p>  LCD12864一共有20個(gè)引腳,其中4-15、17腳接入單片機(jī)的P0全部I/O口和P2的三個(gè)I/O口,是LCD與單片機(jī)通訊的橋梁。16號(hào)腳是空腳,1和20腳接地,2和19腳接VCC,其中3、18、19三個(gè)腳接可調(diào)電位器和電阻,組成調(diào)節(jié)LCD對(duì)比度電路。如圖5所示。</p>

34、<p>  4.4.2七段數(shù)碼管顯示電路</p><p>  采用的是共陽(yáng)數(shù)碼管,它的8個(gè)腳接入P1全部I/O口,PNP三極管的發(fā)射極接VCC,集電極經(jīng)過(guò)一個(gè)電阻限流接入數(shù)碼管的公共端,基極接單片機(jī)的P2.0口,由單片機(jī)給一個(gè)基極電流使三極管三極管導(dǎo)通,驅(qū)動(dòng)數(shù)碼管顯示。如圖6所示。</p><p>  圖5 LCD顯示電路 圖6 數(shù)碼管顯示電路</p>

35、<p><b>  4.4 整體電路圖</b></p><p>  根據(jù)以上各模塊的功能互相連接成為此設(shè)計(jì)的整體電路,如下圖:</p><p><b>  圖7 整體電路圖</b></p><p>  4.5 系統(tǒng)硬件設(shè)計(jì)所需的元件</p><p><b>  表1 元件列表

36、</b></p><p><b>  5 軟件設(shè)計(jì)</b></p><p>  此設(shè)計(jì)名為儀器儀表的鍵盤(pán)顯示模擬系統(tǒng),顧名思義軟件占很大比例。整個(gè)設(shè)計(jì)硬件比較簡(jiǎn)單,主要就是程序的寫(xiě)法,而軟件的調(diào)試也是此設(shè)計(jì)的重點(diǎn)和難點(diǎn)。整個(gè)軟件結(jié)構(gòu)分為主控程序、顯示部分程序、鍵盤(pán)掃描部分程序、時(shí)鐘部分程序和延時(shí)程序。</p><p>  5.1

37、軟件總體設(shè)計(jì)及框圖</p><p>  開(kāi)機(jī)后,主控程序先讓單片機(jī)給P2.0一個(gè)低電平,開(kāi)啟數(shù)碼管顯示,然后初始化LCD包括設(shè)置基本指令集、設(shè)置光標(biāo)、設(shè)置顯示模式等,接下來(lái)是時(shí)鐘的初始化,包括開(kāi)啟定時(shí)和中斷、時(shí)間的走時(shí)(秒、分、時(shí)、日、月、年、星期),最后就顯示開(kāi)機(jī)畫(huà)面并開(kāi)始掃描鍵盤(pán),若有按鍵按下則LCD和數(shù)碼管顯示相應(yīng)的內(nèi)容,8號(hào)鍵作為設(shè)置日期和時(shí)間的閥門(mén),按下第一次時(shí)進(jìn)入調(diào)整日期狀態(tài),第二次是調(diào)整時(shí)間,第三次

38、返回。</p><p>  5.2 軟件重要子程序設(shè)計(jì)及框圖</p><p>  主控程序是建立在各子程序的基礎(chǔ)上,各子程序?qū)懞煤?,由主程序調(diào)用。</p><p><b>  5.2.1顯示部分</b></p><p>  顯示部分的大體框圖如下:</p><p>  圖9 顯示部分流程圖<

39、/p><p>  為了區(qū)別調(diào)整時(shí)間和日期的按鍵與其他顯示內(nèi)容沖突,在這里給了8號(hào)鍵一個(gè)變量key_flag,未按下8號(hào)鍵時(shí)key_flag=0,程序執(zhí)行圖9框圖所示的內(nèi)容,當(dāng)按下8號(hào)第一次時(shí)key_flag=1進(jìn)入調(diào)整日期狀態(tài),當(dāng)按下8號(hào)鍵第二次時(shí)key_flag=2,進(jìn)入調(diào)整時(shí)間狀態(tài),當(dāng)按下第三次時(shí)顯示開(kāi)機(jī)畫(huà)面并讓key_flag=0執(zhí)行圖9所示內(nèi)容。</p><p>  顯示部分程序涉及到

40、LCD的初始化、寫(xiě)入命令和數(shù)據(jù),寫(xiě)命令和數(shù)據(jù)的通訊方式已經(jīng)在上文提到,這里不再闡述。</p><p>  此設(shè)計(jì)用到的LCD是帶有字庫(kù)的,要讓LCD顯示中文只需要往LCD寫(xiě)入DDRAM地址,再寫(xiě)入中文。DDRAM的0x80~0x87,0x90~0x97,0x88~0x8f,0x98~0x9f分別對(duì)應(yīng)LCD的第一、二、三、四行,一行可以寫(xiě)入8個(gè)中文字符對(duì)應(yīng)每行的8個(gè)地址。有的中文在字符沒(méi)有,LCD顯示就會(huì)是亂碼,這

41、時(shí)需要查詢(xún)?cè)撟值?6進(jìn)制編碼,再寫(xiě)入LCD。</p><p>  要讓LCD顯示圖片,需要給LCD寫(xiě)入命令0x36,以開(kāi)啟繪圖模式。此設(shè)計(jì)的圖片取模方式是逐行自上而下顯示,先寫(xiě)上半屏再寫(xiě)下半屏,屏幕X/Y軸的起點(diǎn)為0x80,寫(xiě)完上半屏后令X=0X88接著寫(xiě)下半屏,本設(shè)計(jì)用到的三張圖片都是自己畫(huà)的。6號(hào)按鍵用到的自定義字符是通過(guò)取模寫(xiě)入CGRAM,通過(guò)命令調(diào)取顯示。</p><p>  本設(shè)

42、計(jì)還用到反白顯示、文字循環(huán)左移、文字向上滾動(dòng)。反白顯示是LCD的擴(kuò)充指令集之一,只要寫(xiě)入0x04可以實(shí)現(xiàn)第一、三行顯示,寫(xiě)入0x05實(shí)現(xiàn)第二、第四行反白顯示,ST7920 控制器的 128×64 點(diǎn)陣液晶其實(shí)原理上等同 256×32 點(diǎn)陣,第三行對(duì)應(yīng)的 DDRAM 地址緊接第一行;第四行對(duì)應(yīng)的 DDRAM 地址緊接第二行。 因此在使用行反白功能時(shí),第一行反白,第三行必然反白。第二行反白,第四行必然反白。文字循環(huán)左移只

43、需要寫(xiě)入擴(kuò)充指令0x18就可以實(shí)現(xiàn)。而文字向上滾動(dòng)的實(shí)現(xiàn),本設(shè)計(jì)定義了8個(gè)變量aa,bb,cc,dd,j,k,l,m,其中aa,bb,cc,dd對(duì)應(yīng)LCD的四行DDRAM地址0x80,0x90,0x88,0x98,j,k,l,m四個(gè)變量用來(lái)實(shí)現(xiàn)DDRAM地址的變換,變換方法為:j=bb,bb=aa,k=cc,cc=j,l=dd,dd=k,m=aa,aa=l,運(yùn)行第一次后,第一行變?yōu)榈诙械膬?nèi)容,第二行變?yōu)榈谌械膬?nèi)容,第三行變?yōu)榈谒男械?/p>

44、內(nèi)容,而第四行則變?yōu)榈谝恍械膬?nèi)容,如此循環(huán)就實(shí)現(xiàn)文字向上滾動(dòng)的效果。</p><p>  5.2.2鍵盤(pán)掃描部分</p><p>  本設(shè)計(jì)掃描鍵盤(pán)方式采用行列反轉(zhuǎn)掃描法讀取按鍵編碼。單片機(jī)先讓鍵盤(pán)行線(xiàn)輸出全為0,然后讀入列線(xiàn)值,再檢測(cè)有無(wú)按鍵按下,去抖,再讀入列線(xiàn)值,輸出當(dāng)前列線(xiàn)值,讀入行線(xiàn)值,最后組合行、列線(xiàn)值,得到鍵盤(pán)的碼值供調(diào)用,代碼如圖10所示。當(dāng)有按鍵按下單片機(jī)讀取出鍵值后,給

45、主程序、調(diào)整時(shí)間和日期函數(shù)調(diào)用,同時(shí)送出編碼給P1,讓數(shù)碼管顯示當(dāng)前按鍵對(duì)應(yīng)的16進(jìn)制代碼0-f。</p><p>  圖10 鍵盤(pán)掃描程序</p><p><b>  5.2.3時(shí)鐘部分</b></p><p>  本設(shè)計(jì)時(shí)鐘走時(shí)部分采用單片機(jī)內(nèi)置的T0定時(shí)器,AT89S52單片機(jī)的定時(shí)器由兩個(gè)16位定時(shí)器T0、T1、方式寄存器TMOD和定時(shí)

46、器控制器TCON組成。其中T0、T1又可分成獨(dú)立的8位計(jì)數(shù)器即TH0、TL0和TH1、TL1,用于存儲(chǔ)定時(shí)器、計(jì)數(shù)器的初值;TMOD為方式寄存器,主要用來(lái)設(shè)置定時(shí)器/計(jì)數(shù)器和方式;TCON為控制寄存器,用來(lái)控制定時(shí)器/計(jì)數(shù)器的啟動(dòng)與停止。</p><p>  TMOD是一個(gè)專(zhuān)用寄存器,用來(lái)控制定時(shí)器T0和T1的工作方式用操作模式,其中TMOD的高4位用于對(duì)T1的控制,低4位用于對(duì)T0的控制,各位定義及格式如圖11

47、所示。</p><p>  圖11工作模式控制寄存器TMOD示意圖</p><p>  其中GATE為門(mén)控制,用來(lái)控制定時(shí)器啟動(dòng)方式。當(dāng)GATE=0時(shí),定時(shí)器由軟件控制位TR0或TR1來(lái)控制啟動(dòng)。GATE=1時(shí),定時(shí)器由外中斷請(qǐng)求信號(hào)來(lái)控制啟動(dòng)。</p><p>  為定時(shí)或計(jì)數(shù)方式選擇位,當(dāng)為0時(shí)為定時(shí)工作方式,為1時(shí)計(jì)數(shù)工作方式。</p><

48、p>  M1、M0為工作模式選擇位,兩個(gè)工作模式選擇位可以形成4種編碼,對(duì)應(yīng)4種工作模式:M1=M0=0時(shí)為模式0;M1=0,M0=1時(shí)為模式1;M1=1,M0=0時(shí)為模式2;M1=M0=0時(shí)為模式3。此設(shè)計(jì)用定時(shí)器0,工作模式1,所以對(duì)應(yīng)TMOD=0x01。同時(shí)定時(shí)50ms,對(duì)應(yīng)的TH0=(65536-50000)/10,TL0=(65536-50000)%10。</p><p>  TCON既參與中斷控

49、制,又參與定時(shí)器/計(jì)數(shù)器控制,本設(shè)計(jì)只用到它的定時(shí)器/計(jì)數(shù)器功能。TCON各位定義如圖12所示,其中D0-D3與外部中斷有關(guān),此設(shè)計(jì)未用到。</p><p>  圖12 定時(shí)器控制寄存器TCON示意圖</p><p>  TR0為定時(shí)器/計(jì)數(shù)器T0的運(yùn)行控制位,為0時(shí)停止定時(shí)器/T0計(jì)數(shù)器T0;為1時(shí)啟動(dòng)定時(shí)器/計(jì)數(shù)器T0。TR1為定時(shí)器/計(jì)數(shù)器T1的運(yùn)行控制位,功能與T0相同。TF0、T

50、F1本設(shè)計(jì)用不到,不做說(shuō)明。本設(shè)計(jì)只用到T0,當(dāng)設(shè)置好TMOD后令TR0=1就啟動(dòng)T0定時(shí)器/計(jì)數(shù)器開(kāi)始工作。</p><p>  設(shè)置好TMOD和TCON后,每過(guò)50ms定時(shí)器就會(huì)溢出產(chǎn)生中斷,同時(shí)令變量deda另1,當(dāng)deda加到20后一秒鐘就到了,這里令秒變量sec加1,同時(shí)令deda=0重新計(jì)數(shù);當(dāng)sec加到60,令sec=0,同時(shí)分變量min加1;當(dāng)min=60,令min=0并讓小時(shí)變量hour加1,

51、如此就可以得到日、月、年的精確時(shí)間。當(dāng)一天到了,天加1時(shí),星期也隨著加1,當(dāng)加到星期天時(shí)令其回到星期一。每個(gè)月的天數(shù)不一樣,本設(shè)計(jì)采用switch-case語(yǔ)句讓大月為31天,小月為30天,但閏年的二月是不一樣的,這里對(duì)年進(jìn)行取余,當(dāng)判斷余為0時(shí),即為閏年,二月就有29天,其它年份為28天。</p><p>  時(shí)間調(diào)整部分比較簡(jiǎn)單,當(dāng)按下8號(hào)鍵第一次后,進(jìn)入調(diào)整日期狀態(tài),按下9號(hào)鍵控制年減,13號(hào)鍵年加;10號(hào)

52、鍵月減,14號(hào)鍵月加111號(hào)鍵日減115號(hào)鍵日加;12號(hào)鍵星期減,16號(hào)鍵星期加。當(dāng)按下8號(hào)鍵第二次后,進(jìn)入時(shí)間調(diào)整狀態(tài),9號(hào)鍵時(shí)減,13號(hào)鍵時(shí)加;10號(hào)鍵分減,14號(hào)鍵分加;15號(hào)鍵秒清零。當(dāng)?shù)谌伟聪?號(hào)鍵時(shí),回到顯示基本內(nèi)容狀態(tài),同時(shí)LCD顯示開(kāi)機(jī)畫(huà)面。實(shí)現(xiàn)方式為單片機(jī)掃描到相應(yīng)按鍵時(shí),相應(yīng)的變量就是做出相應(yīng)的變化。</p><p><b>  5.2.4延時(shí)部分</b></p&

53、gt;<p>  本設(shè)計(jì)的單片機(jī)采用12Mhz晶振,那么單片機(jī)的周期T=1us,單片機(jī)每運(yùn)行一次循環(huán)大概要10us,采用三層do-while語(yǔ)句來(lái)實(shí)現(xiàn)精確1ms延時(shí),如圖13所示。</p><p><b>  圖13 延時(shí)程序1</b></p><p>  計(jì)算公式為t總={[3j+(n+2)ij+3]t+5}T,T為晶振周期。此延時(shí)是供其他函數(shù)調(diào)用,而

54、LCD寫(xiě)入命令、數(shù)據(jù)時(shí)若用上面的延時(shí)會(huì)出現(xiàn)“反應(yīng)慢”的問(wèn)題,因?yàn)槊看螌?xiě)入一個(gè)命令和數(shù)據(jù)都要經(jīng)過(guò)延時(shí),累加起來(lái)就多了,即使是只延時(shí)1ms也是一樣,所以本設(shè)計(jì)提供第二個(gè)延時(shí)函數(shù)delay1(),通過(guò)參考LCD的時(shí)序,證明使用這個(gè)延時(shí)函數(shù)沒(méi)有問(wèn)題。</p><p><b>  圖14 延時(shí)程序2</b></p><p><b>  6 硬件安裝制作</b&

55、gt;</p><p>  用PROTEL99SE畫(huà)好原理圖,導(dǎo)入PCB圖,并布好局畫(huà)好線(xiàn)后就開(kāi)始做板,以便程序的調(diào)試。元件布局時(shí)要遵循就近原則,即兩個(gè)元件之間的電氣連接的最好放近一點(diǎn),方便布線(xiàn),還有單片機(jī)的晶振要盡量靠近單片機(jī)的18、19號(hào)腳。布線(xiàn)時(shí)電源線(xiàn)和地線(xiàn)要比其他信號(hào)線(xiàn)寬,而地線(xiàn)要比電源線(xiàn)寬,規(guī)則是地線(xiàn)>電源線(xiàn)>信號(hào)線(xiàn)。本設(shè)計(jì)的線(xiàn)寬為:地線(xiàn)2mm,電源線(xiàn)1.5mm,其他信號(hào)線(xiàn)0.8mm。<

56、;/p><p>  6.1 PCB板制作</p><p>  畫(huà)好PCB圖后用轉(zhuǎn)印紙打印,再用轉(zhuǎn)印機(jī)將圖紙轉(zhuǎn)入覆銅板,接下來(lái)用油性筆對(duì)不清晰或斷的走線(xiàn)進(jìn)行彌補(bǔ),防止腐蝕的時(shí)候把電氣線(xiàn)路給腐蝕掉。之后就可以開(kāi)始腐蝕了,腐蝕液用鹽酸:雙氧水:水=3:1:2的比例兌。等銅板腐蝕好后用直徑0.8mm的鉆針鉆孔,鉆出插件元件引腳的插孔,然后用細(xì)砂紙擦掉炭粉后立即涂上松香液,防止銅層氧化。松香液是用松香和

57、99%濃度的工業(yè)酒精按1:5的比例配制的。這樣PCB板就出來(lái)了。</p><p><b>  6.2 元件焊接</b></p><p>  焊接前準(zhǔn)備好電烙鐵、焊錫、吸錫器、剪線(xiàn)鉗、剝線(xiàn)鉗、鑷子等焊接工具,同時(shí)準(zhǔn)備好要焊接的元件和導(dǎo)線(xiàn)。</p><p>  在清理元器件時(shí),重點(diǎn)辯別認(rèn)清電阻器阻值及相應(yīng)代號(hào),對(duì)電阻、電容、發(fā)光二極管、三極管等要用

58、萬(wàn)用表一一檢測(cè)是否是良品。</p><p>  焊接時(shí),先焊好跳線(xiàn),再按從小到大、從臥到立的原則把元件焊好。電阻、昌振、插槽采用臥式插裝,并近貼電路板;瓷片電容、電解電容、三極管、排針、排阻等采用立式插裝,也要近貼電路板。發(fā)光二極管、電解電容、三極管、集成電路等必須按正確的極性插裝,否則電路不會(huì)正常工作,甚至通電后還會(huì)被燒壞。焊完元器件后,用剪線(xiàn)鉗剪掉多余元器件的引線(xiàn)。</p><p> 

59、 焊接完后,還要認(rèn)真對(duì)照電路原理圖,檢查電路板上有無(wú)漏焊、錯(cuò)焊、短路、斷路等錯(cuò)誤現(xiàn)象,確認(rèn)無(wú)誤后才能通電調(diào)試。</p><p><b>  7 電路調(diào)試</b></p><p>  本設(shè)計(jì)的調(diào)試涉及到硬件和軟件的調(diào)試,硬件調(diào)試是建立在軟件調(diào)試的基礎(chǔ)上,只有保證硬件正常工作后才能對(duì)軟件進(jìn)行調(diào)試。</p><p><b>  7.1 硬

60、件調(diào)試</b></p><p>  一塊電路板做好后,并不能保證不會(huì)出錯(cuò),在調(diào)試與檢測(cè)過(guò)程中,利用萬(wàn)能表檢測(cè)供電是否正常;線(xiàn)路是否有短路、斷路等現(xiàn)象。</p><p>  我們?cè)谟布{(diào)試的時(shí)候發(fā)現(xiàn)單片機(jī)不能燒入程序,首先我們判定可能是單片機(jī)壞了,就拿來(lái)另一塊能燒程序的單片機(jī)最小系統(tǒng),把單片機(jī)放到最小系統(tǒng)上發(fā)現(xiàn)能燒錄程序,排除了單片機(jī)的可能,然后就一一檢查或替換單片機(jī)周邊晶振、電

61、容、復(fù)位按鍵開(kāi)關(guān),最后發(fā)現(xiàn)是復(fù)位電路的電解電容有問(wèn)題,而換了幾個(gè)好的電解電容后還是沒(méi)能解決問(wèn)題,最后把電容換成106的獨(dú)石電容,而這并不影響單片機(jī)的復(fù)位功能,因?yàn)殡娙莸淖饔檬且孯C充放電時(shí)間TRC>單片機(jī)復(fù)位所需的時(shí)間TRST即可。</p><p><b>  7.2軟件調(diào)試</b></p><p>  我們做這個(gè)設(shè)計(jì)的時(shí)候碰到的最大的問(wèn)題就是軟件的調(diào)試,編寫(xiě)

62、程序需要非常細(xì)心,邏輯思維要強(qiáng),頭腦要靈活,雖然之前有做過(guò)LCD1602電路,但LCD12864比LCD1602多復(fù)雜一點(diǎn),還是第一次接觸它,而且接觸單片機(jī)編程時(shí)日還不長(zhǎng),在一開(kāi)始沒(méi)有一點(diǎn)眉目,在反復(fù)仔細(xì)翻閱了它的數(shù)據(jù)手冊(cè),并參考網(wǎng)上別人的思路后終于一點(diǎn)一點(diǎn)的把它弄清楚了,能實(shí)現(xiàn)了它的大部分功能。</p><p>  當(dāng)程序?qū)懞煤笥肁SP下載線(xiàn)和AVR_fighter軟件把寫(xiě)好的程序燒錄進(jìn)單片機(jī)里,測(cè)試其工作情況

63、和查找漏洞,并逐步完善整個(gè)設(shè)計(jì)功能。</p><p><b>  8 測(cè)試結(jié)果</b></p><p>  付出總有收獲,經(jīng)過(guò)我們的努力,本設(shè)計(jì)能完成以下基本要求的功能:</p><p> ?。?)開(kāi)機(jī)LCD液晶屏幕顯示“08電子信息X班XXX畢業(yè)設(shè)計(jì)”信息。</p><p> ?。?)設(shè)計(jì)4X4矩陣鍵盤(pán),分別對(duì)應(yīng)鍵碼

64、“0-F”。</p><p>  (3)按下任意一個(gè)按鍵,LCD液晶屏幕顯示相應(yīng)按鍵的信息。</p><p>  發(fā)揮部分能完成以下功能:</p><p> ?。?)LCD液晶屏幕增加裝飾圖案。</p><p> ?。?)增加一個(gè)LED數(shù)碼管同步顯示相應(yīng)鍵碼。</p><p><b>  9 結(jié)論</

65、b></p><p>  從設(shè)計(jì)題目下來(lái)到現(xiàn)在歷時(shí)兩個(gè)多星期,克服了硬件和軟件上各種問(wèn)題,實(shí)現(xiàn)大部分的功能。因?yàn)楸驹O(shè)計(jì)硬件比較簡(jiǎn)單,在硬件上碰到的就是一個(gè)電解電容引起的不能燒錄程序的問(wèn)題,其他功能都正常。而主要的難題是在軟件設(shè)計(jì)上,在軟件上碰到以下幾點(diǎn)問(wèn)題:</p><p>  對(duì)LCD寫(xiě)入命令和數(shù)據(jù)的格式、時(shí)序弄亂。</p><p>  對(duì)LCD基本指令集、

66、擴(kuò)充指令集比較模糊,在顯示圖片部分時(shí)滯留了很久。</p><p>  對(duì)圖片的取模抓不住頭緒。</p><p>  在設(shè)計(jì)時(shí)鐘部分時(shí),單片機(jī)的定時(shí)器/計(jì)數(shù)器、中斷部分出錯(cuò)。</p><p>  而這些問(wèn)題都是跟自己對(duì)單片機(jī)的掌握不夠深有關(guān),這也提醒了我們要抓好基礎(chǔ)功,基礎(chǔ)好了,對(duì)付起這些問(wèn)題才會(huì)得心應(yīng)手。</p><p>  本設(shè)計(jì)到目前為止

67、還不算“智能化”,功能還比較單一,發(fā)揮部分的功能還有點(diǎn)陣顯示功能沒(méi)有完成。設(shè)計(jì)之初還要實(shí)現(xiàn)按鍵語(yǔ)音播報(bào)、用DS1302作時(shí)鐘芯片、用18b20同時(shí)顯示當(dāng)前溫度、按鍵有更多選擇等功能,但因?yàn)榛A(chǔ)功不扎實(shí)造成的時(shí)間不夠充裕而沒(méi)有實(shí)現(xiàn),若有機(jī)會(huì)將會(huì)繼續(xù)完善。</p><p><b>  致 謝</b></p><p>  大專(zhuān)三年的學(xué)習(xí)生活即將結(jié)束了,回憶整個(gè)設(shè)計(jì)和論文完

68、成的過(guò)程,很多人給了我莫大的關(guān)心與幫助。這篇論文作為我們?cè)谛F陂g學(xué)習(xí)的最后一份答卷,向各位老師表示崇高的敬意。</p><p>  在大專(zhuān)這三年的學(xué)習(xí)和生活,我們不僅學(xué)到了豐富的專(zhuān)業(yè)知識(shí),更學(xué)到了各位老師人真工作、愛(ài)崗敬業(yè)、為人師表的優(yōu)良品質(zhì)。在此,謹(jǐn)向各位老師表示深深的敬意和謝意!感謝我們的指導(dǎo)老師在畢業(yè)設(shè)計(jì)過(guò)程中給予我們極大的關(guān)心和幫助。感謝各位科任教師平時(shí)的教導(dǎo)。尤其感謝X老師和X老師在上課和課余時(shí)間的輔導(dǎo)

69、,他們讓我們對(duì)專(zhuān)業(yè)課程更扎實(shí),還讓我們對(duì)其他的知識(shí)有更深的了解。老師對(duì)待學(xué)生有如此的態(tài)度,令人敬佩。同時(shí)也感謝在畢業(yè)設(shè)計(jì)過(guò)程中給予我精神上的鼓勵(lì)和支持的同學(xué),在我遇到困難時(shí)盡其所能地為我排憂(yōu)解難。</p><p>  感謝學(xué)校提供的實(shí)驗(yàn)環(huán)境,使我能全身心的投入到我的設(shè)計(jì)中。學(xué)校提供的各種電路制作工具,使本設(shè)計(jì)系統(tǒng)在最短的時(shí)間里調(diào)試成功,使本系統(tǒng)能順利實(shí)現(xiàn)。</p><p><b>

70、;  參考文獻(xiàn)</b></p><p>  [1]余錫存,曹?chē)?guó)華.單片機(jī)原理及接口技術(shù)[M].西安電子科技大學(xué)出版社,2004年</p><p>  [2]張志良,《單片機(jī)原理及控制技術(shù)》(第2版).北京:機(jī)械工業(yè)出版社,2005年</p><p>  [3]余永權(quán), MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版,1993<

71、/p><p>  [4]求是科技,單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2004年5月</p><p>  [5]張振榮, 晉明武,MSC-51系列單片機(jī)原理及實(shí)用技術(shù). 人民郵電出版社,2000年</p><p>  [6]吉雷,《Protel99從入門(mén)到精通》.西安電子科技大學(xué)出版社,2004年</p><p>  [7]王

72、守中,51單片機(jī)開(kāi)發(fā)入門(mén)與典型實(shí)例,北京,人民郵電出版社,2007年8月</p><p>  [8]薛小鈴,劉志群,賈俊榮,單片機(jī)接口模塊應(yīng)用與開(kāi)發(fā)實(shí)例詳解,北京航空航天大學(xué)出版社,2010年1月</p><p>  [9] G.Y. Xu,Electronic design,2000年 </p><p>  [10] Microcontroller handboo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論