2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩21頁(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)介

1、<p>  電氣與電子信息工程學(xué)院</p><p>  單片機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告</p><p>  設(shè)計(jì)題目: 多功能數(shù)字電子鐘 </p><p>  專(zhuān)業(yè)班級(jí):電子信息科學(xué)與技術(shù)082</p><p><b>  一、摘要</b></p><p>  該課程設(shè)計(jì)為數(shù)字電子

2、鐘的設(shè)計(jì)。以AT89S52為核心,配合液晶顯示器和按鍵為用戶提供長(zhǎng)期、連續(xù)、可靠、穩(wěn)定的工作環(huán)境。該數(shù)字電子鐘有時(shí)分秒顯示和日期顯示以及時(shí)間和日期調(diào)整的功能。系統(tǒng)軟件設(shè)計(jì)包括單片機(jī)計(jì)算機(jī)兩部分的編程。計(jì)算機(jī)軟件編程主要實(shí)現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲(chǔ)。單片機(jī)軟件編程主要實(shí)現(xiàn)鍵盤(pán)、液晶顯示器等各模塊的功能,采用匯編語(yǔ)言編程。</p><p>  關(guān)鍵詞: 數(shù)字電子鐘 單片機(jī) 液晶顯示 &l

3、t;/p><p><b>  二、課程設(shè)計(jì)目的</b></p><p>  通過(guò)《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì),使學(xué)生掌握單片機(jī)及其擴(kuò)展系統(tǒng)設(shè)計(jì)的方法和設(shè)計(jì)原則及相應(yīng)的硬件調(diào)試的方法。進(jìn)一步加深單片機(jī)及其擴(kuò)展系統(tǒng)設(shè)計(jì)和應(yīng)用的理解。</p><p><b>  三、課程設(shè)計(jì)題目</b></p><p>  

4、多功能數(shù)字電子鐘設(shè)計(jì)</p><p>  四、課程設(shè)計(jì)內(nèi)容及要求</p><p><b>  1、設(shè)計(jì)內(nèi)容:</b></p><p><b>  1)有上電指示燈;</b></p><p>  2)能正確手動(dòng)復(fù)位;</p><p>  3)有4位數(shù)碼管顯示,能按照分秒進(jìn)制顯示

5、時(shí)間;</p><p>  4)自定義的擴(kuò)展功能。</p><p><b>  2、設(shè)計(jì)要求:</b></p><p>  1)獨(dú)立設(shè)計(jì)原理圖及相應(yīng)的硬件電路。</p><p>  2)針對(duì)選擇的設(shè)計(jì)題目,設(shè)計(jì)系統(tǒng)軟件。軟件要做到:操作方便,實(shí)用性強(qiáng),穩(wěn)定可靠。</p><p>  3)設(shè)計(jì)說(shuō)明書(shū)

6、格式規(guī)范,層次合理,重點(diǎn)突出。并附上設(shè)計(jì)原理圖及相應(yīng)的源程序。</p><p><b>  五、電路工作原理</b></p><p><b>  設(shè)計(jì)思路</b></p><p>  單片機(jī)的接口信號(hào)是數(shù)字信號(hào)。要想用單片機(jī)獲取時(shí)間這類(lèi)非電信號(hào)的信息,必須使用時(shí)間芯片,將時(shí)間信息轉(zhuǎn)換為電流或電壓輸出。如果轉(zhuǎn)換后的電流或電壓

7、輸出是模擬信號(hào),還必須進(jìn)行A/D轉(zhuǎn)換,以滿足單片機(jī)接口的需要。如果是數(shù)字信號(hào)就可以直接送往單片機(jī)進(jìn)行數(shù)據(jù)處理。</p><p>  在傳統(tǒng)的基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的基礎(chǔ)上經(jīng)過(guò)一些改進(jìn),引入12887時(shí)間芯片,將電路的控制部分和計(jì)時(shí)部分分開(kāi),電路的控制部分為單片機(jī),計(jì)時(shí)部分為12887時(shí)間芯片。12887芯片是獨(dú)立計(jì)時(shí),并且具有掉電保護(hù)功能,內(nèi)部自帶鋰電池,能夠在斷電的情況下繼續(xù)計(jì)時(shí),主電路恢復(fù)供電之后能夠不必調(diào)

8、整時(shí)間,為時(shí)鐘的日常操作省去了很大的麻煩,而且這種設(shè)計(jì)更節(jié)能,在需要觀察時(shí)間的時(shí)候比如白天就可以給主電路通電。而在夜晚不需要觀察時(shí)鐘的時(shí)候就可以給主電路斷電,這樣可以節(jié)約大量能量。</p><p>  時(shí)間芯片12887采用了內(nèi)部集成晶振的電路,并且具有內(nèi)部溫漂補(bǔ)償電路設(shè)計(jì)。能夠準(zhǔn)確計(jì)時(shí),提供精確的時(shí)間,這樣就簡(jiǎn)化了電路的器件選擇,另外也使程序的設(shè)計(jì)更加簡(jiǎn)潔。在硬件設(shè)計(jì)方面,由于只增加了一個(gè)12887時(shí)間芯片,因

9、此并不是特別復(fù)雜,而且這種獨(dú)立計(jì)時(shí)的設(shè)計(jì)使得產(chǎn)品排故更加方便。</p><p>  采用LCD液晶顯示器顯示。而LCD液晶顯示則耗能少,能夠顯示年、月、日、星期等漢字,在顯示方面更加靈活,而且改變顯示時(shí)只要改變軟件設(shè)計(jì)就可以,不用改變硬件電路的設(shè)計(jì),易于電路的功能擴(kuò)展。電路的軟件設(shè)計(jì)也很簡(jiǎn)單。另外,這種設(shè)計(jì)硬件更加簡(jiǎn)潔。采用LCD液晶顯示方案的缺點(diǎn)是在顯示位數(shù)比較少時(shí),價(jià)格略顯昂貴。</p><

10、;p>  綜上所述,本設(shè)計(jì)采用獨(dú)立計(jì)時(shí), 主控芯片使用51系列STC89C52單片機(jī),時(shí)鐘芯片使用美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM和內(nèi)置電池的實(shí)時(shí)時(shí)鐘DS12887。采用DS12887作為主要計(jì)時(shí)芯片,可以做到計(jì)時(shí)準(zhǔn)確。更重要的是,DS12887可以在外部電源斷電的情況下繼續(xù)計(jì)時(shí),在沒(méi)有外部供電的情況下,DS12887可以連續(xù)計(jì)時(shí)10年以上。系統(tǒng)由主控制器STC89C52、時(shí)鐘芯片DS12887、LCD液晶顯

11、示電路、鍵盤(pán)掃描電路和通信系統(tǒng)模塊電路組成。系統(tǒng)硬件設(shè)計(jì)框圖如圖2-1所示。</p><p>  圖2-1 系統(tǒng)硬件設(shè)計(jì)框圖</p><p>  單片機(jī)STC89C52</p><p>  STC89C52 是低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),

12、器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和 Flash 存儲(chǔ)單元,功能強(qiáng)大 STC89C52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。STC89C52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0、P1、P2、P3,每一條I/O線都能獨(dú)立地作輸出或輸入。STC89C52 PDIP管腳封裝,如圖2-2所示。</p><p>  圖

13、2-2 STC89C52 PDIP管腳封裝</p><p>  STC89c52包含以下部分,其結(jié)構(gòu)圖如圖2-3所示</p><p>  圖2-3 STC89c52內(nèi)部結(jié)構(gòu)圖</p><p> ?。?)一個(gè)8位微處理器CPU</p><p>  (2)片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM和特殊功能寄存器SFR</p><p>  

14、(3)片內(nèi)程序存儲(chǔ)器ROM</p><p>  (4)兩個(gè)定時(shí)/計(jì)數(shù)器T0、T1,可用作定時(shí)器,也可用以對(duì)外部脈沖進(jìn)行計(jì) 數(shù)</p><p> ?。?)四個(gè)8位可編程的并行I/O端口,每個(gè)端口既可作輸入,也可作輸出</p><p> ?。?)一個(gè)串行端口,用于數(shù)據(jù)的串行通信</p><p><b> ?。?)中斷控制系統(tǒng)</b

15、></p><p><b>  (8)內(nèi)部時(shí)鐘電路</b></p><p>  功能特性概述:STC89C52 提供以下標(biāo)準(zhǔn)功能:8k字節(jié) Flash 閃速存儲(chǔ)器,256字節(jié)內(nèi)部 RAM,32 個(gè) I/O 口線,3 個(gè) 16 位定時(shí)/計(jì)數(shù)器,一個(gè) 6 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),STC89C52 可降至 0Hz的靜態(tài)邏輯操

16、作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止 CPU 的工作,但允許 RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。</p><p>  單片機(jī)STC89C52的P0口作為輸入口。P0與DS12887的AD相連,進(jìn)行時(shí)間圖2-3數(shù)據(jù)的采集;P3.7(RD)與DS12887的17腳DS相連,P3.3與DS12887

17、的19腳IRQ相連,P2.7與DS12887的13腳CS相連;30腳ALE與DS12887的14腳AS相連。單片機(jī)的第18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,XTAL2接外部晶振和微調(diào)電容的另一端。對(duì)外接電容的值雖然沒(méi)</p><p>  圖2-4 主控電路及其最小系統(tǒng)電路圖</p><p>  有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性

18、、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為11.0592MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22μF。第9引腳為復(fù)位輸入端,接上電容,電阻后構(gòu)成上電復(fù)位電路。20引腳為接地端,40引腳為電源端。/EA端(31引腳)接+5V電壓。由此就構(gòu)成了單片機(jī)主控模塊的最小系統(tǒng),如圖2-4所示。</p><p>  DS12887時(shí)鐘芯片簡(jiǎn)介</p><p>  DS12

19、887是美國(guó)DALLAS公司生產(chǎn)的時(shí)鐘日歷芯片,具有24個(gè)引腳。DS12887和MC146818B及DS1287管腳兼容。內(nèi)部自帶鋰電池,在沒(méi)有外部電源的情況下可工作十年。它有內(nèi)部集成晶振??捎?jì)算到2100年前的時(shí)、分、秒、星期、日、月、年七種日歷信息,并帶閏年補(bǔ)償。用2進(jìn)制或BCD碼代表日歷或鬧鐘信息??蛇x用夏令時(shí)模式??梢赃x用MOTOROLA和INTEL兩種總線模式。它采用數(shù)據(jù)地址總線復(fù)用模式。內(nèi)鍵128字節(jié)RAM,這128字節(jié)RA

20、M中前14字節(jié)是時(shí)鐘控制寄存器。其余為通用RAM。它可以輸出可編程方波。它可以產(chǎn)生3種可編程中斷;一,時(shí)間中斷,可產(chǎn)生每秒一次直到每天一次中斷;二,周期性中斷,可產(chǎn)生122ms到500ms周期性中斷;三,時(shí)間更新結(jié)束中斷。DS12887有24個(gè)引腳,其引腳如圖2-5所示。</p><p>  圖2-5DS12887引腳圖</p><p>  MOT是總線類(lèi)型選擇管腳,當(dāng)此腳接在VCC上時(shí)選

21、擇MOTOROLA總線方式,如果此腳接在電源地上或者不接時(shí)選擇的是INTEL總線模式。</p><p>  AD0-AD7是數(shù)據(jù)復(fù)用總線。</p><p><b>  GND是電源地。</b></p><p><b>  CS是片選信號(hào)。</b></p><p>  AS是ALE信號(hào)管教。</

22、p><p>  R/W在INTEL總線模式下是WR。</p><p>  DS在INTEL總線模式下是RD,當(dāng)它有效時(shí)表示DS12887正在往總線輸出數(shù)據(jù)。RD信號(hào)在貯存器芯片上被稱為OE信號(hào)線。</p><p>  RESET是復(fù)位信號(hào),復(fù)位信號(hào)對(duì)日歷、時(shí)間、RAM無(wú)效,系統(tǒng)上電時(shí),復(fù)位信號(hào)要保持200ms以上DS12887芯片才能正常工作。當(dāng)復(fù)位引腳電平為低并且VC

23、C高于4.5V時(shí),以下情況發(fā)生。周期中斷允許位清零,鬧鐘中斷允許位清零,更新完成中斷標(biāo)志位清零,中斷請(qǐng)求狀態(tài)標(biāo)志位清零,周期中斷標(biāo)志位清零,DS12887不可以操作,鬧鐘中斷標(biāo)志位清零,IRQ呈高阻狀態(tài),方波輸出允許位清零,更新完成中斷允許位清零。</p><p>  IRQ是中斷請(qǐng)求輸出,當(dāng)中斷狀態(tài)位和中斷允許位有效時(shí),IRQ保持低電平。復(fù)位和讀C寄存器都可以清除中斷信號(hào)。沒(méi)有中斷時(shí)IRQ保持高阻狀態(tài),其它中斷

24、源還可以接到中斷上。另外由于IRQ是漏極輸出,因此需要外接上拉電阻。</p><p>  SQW是方波輸出引腳,當(dāng)電源電壓低于4.25V時(shí)此腳沒(méi)有作用。</p><p><b>  VCC是電源引腳。</b></p><p><b>  NC是空引腳。</b></p><p>  DS12887由晶

25、振,周期中斷/方波選擇器,方波輸出,寄存器ABCD,時(shí)鐘/日歷/鬧鐘RAM,114字節(jié)通用RAM,BCD/二進(jìn)制數(shù)碼累加器,時(shí)鐘/日歷更新,總線選擇,電源開(kāi)關(guān)和寫(xiě)保護(hù)這些部分組成。當(dāng)VCC高于4.25V 200ms之后,芯片可以被外部程序操作。當(dāng)VCC低于4.25V時(shí),芯片處于寫(xiě)保護(hù)狀態(tài),所有的輸入均無(wú)效,同時(shí)所有輸出呈高阻狀態(tài),當(dāng)VCC低于3V時(shí),DS12887自動(dòng)將供電方式改為由內(nèi)部電池供電。</p><p>

26、;  DS12887地址包括114字節(jié)通用RAM,10字節(jié)用于記錄時(shí)間,日歷,鬧鐘信息的RAM和4字節(jié)的控制、狀態(tài)RAM.所有的字節(jié)都可以在除以下的情況下直接讀寫(xiě)。1,寄存器C、D為只讀,寄存器A的第七位為只讀,秒字節(jié)的高位為只讀。</p><p>  時(shí)間,日歷,鬧鐘的信息所在的寄存器的詳細(xì)分布圖如表2-1所示</p><p>  表2-1,時(shí)間,日歷,鬧鐘寄存器地址分布表</p&

27、gt;<p>  控制、狀態(tài)寄存器及其功能描述:</p><p><b>  寄存器 A </b></p><p>  UIP:更新進(jìn)行標(biāo)志。</p><p>  DV2- DV0:為 010 時(shí)晶振工作,其他組合停止。</p><p>  RS3- RS0:頻率選擇。</p><p&g

28、t;<b>  寄存器B</b></p><p>  SET:為 1 時(shí)禁止更新。為 0 時(shí)正常。</p><p>  PIE:為 1 時(shí)周期中斷允許。</p><p>  AIE:為 1 時(shí)警報(bào)中斷允許。</p><p>  UIE:為 1 時(shí)更新結(jié)束中斷允許。</p><p>  SQWE:為

29、 1 時(shí)方波輸出允許。</p><p>  DM:為 0 時(shí)時(shí)間為 BCD 碼,為 1 時(shí)為二進(jìn)制。</p><p>  24/12:為 1 時(shí)是 24 小時(shí)進(jìn)制。為 0 時(shí)是 12 小時(shí)進(jìn)制。</p><p><b>  DSE:置 0。</b></p><p><b>  寄存器C</b><

30、;/p><p>  IRQF:中斷申請(qǐng)標(biāo)志。</p><p>  PF:周期中斷標(biāo)志。</p><p>  AF:警報(bào)中斷標(biāo)志。</p><p>  UF:更新結(jié)束中斷標(biāo)志。</p><p><b>  寄存器D</b></p><p>  VRT:為 0 時(shí)表示內(nèi)部鋰電池耗盡

31、。</p><p><b>  時(shí)鐘模塊</b></p><p>  時(shí)鐘模塊DS12887的AD口與單片機(jī)的P0口相連,進(jìn)行時(shí)間、日歷數(shù)據(jù)輸出。其它各功能端口的連接在主控電路中已有描述,不在贅述。另外DS12887的12腳與電源地相連,24腳與電源相連。總線選擇端口MOT端與電源地相連。電路圖如圖2-8所示。</p><p>  圖2-8

32、時(shí)鐘模塊電路</p><p><b>  按鍵電路的設(shè)計(jì)</b></p><p>  根據(jù)設(shè)計(jì)要求,系統(tǒng)的按鍵電路用4個(gè)按鍵和一個(gè)撥碼開(kāi)關(guān)就可以進(jìn)行對(duì)時(shí)間的調(diào)整,按鍵就采用最簡(jiǎn)單的點(diǎn)動(dòng)式按鈕,由單片機(jī)的I/O進(jìn)行掃描,來(lái)實(shí)現(xiàn)掃描按鍵功能。其中,時(shí)間調(diào)整按鈕與單片機(jī)STC89C52的P3.5相連,其功能是當(dāng)按下此鍵時(shí),開(kāi)始調(diào)整年、月、日、星期、時(shí)、分、秒,沒(méi)按一次就改變

33、一個(gè)相應(yīng)的要改變的位;鬧鐘調(diào)整按鈕與單片機(jī)STC89C52的P3.4相連,其功能是當(dāng)按下此鍵時(shí)開(kāi)始進(jìn)行鬧鐘調(diào)整,并且每按一次就改變一次要調(diào)整的位;加法按鈕與單片機(jī)STC89C52的P2.5連,其功能是每按一次此鍵就將相應(yīng)的要改變的位的數(shù)值加一;減法按鈕與單片機(jī)STC89C52的P2.6連,其功能是每按下一次此鍵就將要改變的位的數(shù)值減一;近遠(yuǎn)程選擇按鈕與STC89C52的P2.4相連。電路圖如圖2-9所示。</p><

34、p>  圖2-9 按鍵電路</p><p>  圖形點(diǎn)陣液晶顯示器12864簡(jiǎn)介</p><p>  點(diǎn)陣LCD的顯示原理:在數(shù)字電路中,所有的數(shù)據(jù)都是以0和1保存的,對(duì)LCD控制器進(jìn)行不同的數(shù)據(jù)操作,可以得到不同的結(jié)果。對(duì)于顯示英文操作,由于英文字母種類(lèi)很少,只需要8位(一字節(jié))即可。而對(duì)于中文,常用卻有6000以上,于是我們的DOS前輩想了一個(gè)辦法,就是將ASCII表的高128

35、個(gè)很少用到的數(shù)值以兩個(gè)為一組來(lái)表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼[15]。</p><p>  那么,得到了漢字的內(nèi)碼后,還僅是一組數(shù)字,那又如何在屏幕上去顯示呢?這就涉及到文字的字模,字模雖然也是一組數(shù)字,但它的意義卻與數(shù)字的意義有了根本的變化,它是用數(shù)字的各位信息來(lái)記載英文或漢字的形狀。</p><p>  12864是一種圖形點(diǎn)陣液晶顯示器,它

36、主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及128×64全點(diǎn)陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(gè)(16×16點(diǎn)陣)漢字。</p><p>  12864LCD的引腳說(shuō)明如表2-2所示。</p><p>  表2-2 液晶模塊12864的管腳說(shuō)明</p><p>  液晶顯示模塊的特殊寄存器說(shuō)明:</p><p>

37、  在使用12864LCD前先必須了解以下功能器件才能進(jìn)行編程。12864內(nèi)部功能器件及相關(guān)功能如下:</p><p><b>  指令寄存器(IR)</b></p><p>  IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對(duì)應(yīng)。當(dāng)D/I=0時(shí),在E信號(hào)下降沿的作用下,指令碼寫(xiě)入IR。</p><p>  2.?dāng)?shù)據(jù)寄存器(DR)</p>

38、<p>  DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對(duì)應(yīng)。當(dāng)D/I=1時(shí),在下降沿作用下,圖形顯示數(shù)據(jù)寫(xiě)入DR,或在E信號(hào)高電平作用下由DR讀到DB7∽DB0數(shù)據(jù)總線。DR和DDRAM之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動(dòng)執(zhí)行的。</p><p><b>  3.忙標(biāo)志:BF</b></p><p>  BF標(biāo)志提供內(nèi)部工作情況。BF=1表示模塊在內(nèi)部操作,此

39、時(shí)模塊不接受外部指令和數(shù)據(jù)。BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。</p><p>  利用STATUS READ指令,可以將BF讀到DB7總線,從檢驗(yàn)?zāi)K之工作狀態(tài)。</p><p>  4.顯示控制觸發(fā)器DFF</p><p>  此觸發(fā)器是用于模塊屏幕顯示開(kāi)和關(guān)的控制。DFF=1為開(kāi)顯示(DISPLAY OFF),DDRAM的內(nèi)容就顯示在屏幕上

40、,DFF=0為關(guān)顯示(DISPLAY OFF)。</p><p>  DDF的狀態(tài)是指令DISPLAY ON/OFF和RST信號(hào)控制的。</p><p><b>  5.XY地址計(jì)數(shù)器</b></p><p>  XY地址計(jì)數(shù)器是一個(gè)9位計(jì)數(shù)器。高3位是X地址計(jì)數(shù)器,低6位為Y地址計(jì)數(shù)器,XY地址計(jì)數(shù)器實(shí)際上是作為DDRAM的地址指針,X地址計(jì)

41、數(shù)器為DDRAM的頁(yè)指針,Y地址計(jì)數(shù)器為DDRAM的Y地址指針。</p><p>  X地址計(jì)數(shù)器是沒(méi)有記數(shù)功能的,只能用指令設(shè)置。</p><p>  Y地址計(jì)數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫(xiě)入后,Y地址自動(dòng)加1,Y地址指針從0到63。</p><p>  6.顯示數(shù)據(jù)RAM(DDRAM)</p><p>  DDRAM是存儲(chǔ)圖形顯示數(shù)據(jù)

42、的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。DDRAM與地址和顯示位置的關(guān)系見(jiàn)DDRAM地址表。</p><p><b>  7.Z地址計(jì)數(shù)器</b></p><p>  Z地址計(jì)數(shù)器是一個(gè)6位計(jì)數(shù)器,此計(jì)數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當(dāng)一行掃描完成,此地址計(jì)數(shù)器自動(dòng)加1,指向下一行掃描數(shù)據(jù),RST復(fù)位后Z地址計(jì)數(shù)器為0。</p>

43、<p>  Z地址計(jì)數(shù)器可以用指令DISPLAY START LINE預(yù)置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開(kāi)始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動(dòng)顯示64行。</p><p><b>  8. 字符顯示</b></p><p>  FYD12864-0402B每屏可顯示4行8列共32個(gè)16

44、5;16點(diǎn)陣的漢字,每個(gè)顯示RAM可顯示1個(gè)中文字符或2個(gè)16×8點(diǎn)陣全高ASCII碼字符,即每屏最多可實(shí)現(xiàn)32個(gè)中文字符或64個(gè)ASCII碼字符的顯示。FYD12864-0402B內(nèi)部提供128×2字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過(guò)將字符顯示編碼寫(xiě)入該字符顯示RAM實(shí)現(xiàn)的。根據(jù)寫(xiě)入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)

45、的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:0000~0006H(其代碼分別是0000、0002、0004、0006共4個(gè))顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8192種GB2312中文字庫(kù)字形。字符顯示RAM在液晶模塊中的地址80H~9FH。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如表2-3所示。</p><p>  表2-3 字符

46、顯示RAM在液晶模塊中的地址表</p><p><b>  顯示模塊電路</b></p><p>  顯示模塊電路如圖2-10所示,液晶模塊的1管腳接電源地,15管腳用于接電源地,19管腳用于接電源地。2管腳接電源給液晶顯示器供電,3管腳接電源用于提供液晶顯示器顯示驅(qū)動(dòng)電壓,17管腳接電源,20管腳接電源用與提供背景光。4管腳接單片機(jī)的P1.3用于接收數(shù)據(jù)或者指令,5

47、管腳接單片機(jī)的P1.4選擇數(shù)據(jù)被讀寫(xiě)到什么位置,6管腳接單片機(jī)的P1.5用于提供鎖存信號(hào)。</p><p>  圖2-10 顯示模塊</p><p>  六、系統(tǒng)軟件設(shè)計(jì)框圖</p><p>  軟件是系統(tǒng)的主要組成部分,也是整個(gè)調(diào)試的重點(diǎn)和難點(diǎn)工作。本設(shè)計(jì)采用了匯編語(yǔ)言,因?yàn)閰R編語(yǔ)言更接近機(jī)器語(yǔ)言,可以直接存取寄存器和I/O,編寫(xiě)的代碼可以非常精確的被執(zhí)行,可以

48、編寫(xiě)出比一般編譯系統(tǒng)高效的代碼,可以作為不同語(yǔ)言或不同標(biāo)準(zhǔn)的接口。因此,依據(jù)課題設(shè)計(jì)的要求,采用匯編語(yǔ)言進(jìn)行軟件編程,用模塊化程序設(shè)計(jì)思想,將軟件劃分成若干模塊單元;包括:DS12887時(shí)鐘顯示模塊、延時(shí)等模塊,鍵盤(pán)掃描子程序,按鍵處理子程序模塊,通信中斷子程序,</p><p>  主程序的主要功能是顯示日期時(shí)間信息。在主程序中,系統(tǒng)上電自動(dòng)復(fù)位以后首先進(jìn)行系統(tǒng)的液晶顯示、時(shí)鐘芯片DS12887初始化,然后讀寫(xiě)

49、日期、時(shí)間等信息,待數(shù)據(jù)讀寫(xiě)結(jié)束后顯示時(shí)鐘。主程序流程如圖3-1所示。</p><p>  圖3-1 主程序流程圖</p><p>  主程序說(shuō)明,當(dāng)主程序運(yùn)行時(shí),先將液晶顯示器清屏,然后將單片機(jī)和時(shí)鐘日歷芯片DS12887初始化,即將時(shí)鐘的初始時(shí)間設(shè)定為2005年月日</p><p>  首先對(duì)時(shí)鐘芯片DS12887初始化,經(jīng)過(guò)對(duì)狀態(tài)寄存器判斷之后,對(duì)DS128

50、87進(jìn)行讀操作,讀操作時(shí)利用時(shí)鐘日歷地址相鄰的特點(diǎn),直接使地址增加,隨后判斷數(shù)據(jù)是否讀完了。若讀完了,則返回主程序;若沒(méi)有讀完,則繼續(xù)增加地址,直到讀數(shù)據(jù)完成為止。如圖3-2所示。</p><p>  圖3-2 DS12887時(shí)鐘芯片的讀操作流程圖</p><p>  本設(shè)計(jì)用的液晶模塊是12864液晶模塊,這個(gè)模塊可以進(jìn)行串口通信也可以進(jìn)行并口通信,由于單片機(jī)口線限制,在這里采用了串口設(shè)

51、計(jì)思路。本設(shè)計(jì)采用了分屏顯示的原理,在時(shí)間顯示時(shí)顯示屏一,在時(shí)間調(diào)整時(shí)顯示屏二,其流程圖分別如圖3-3、3-4所示。</p><p>  圖3-3 時(shí)間顯示,屏一顯示流程圖</p><p>  在屏一顯示流程圖中,顯示設(shè)置液晶顯示設(shè)置為全屏顯示,顯示界面沒(méi)有光標(biāo)顯示,年月日的顯示從第二行第一個(gè)字符開(kāi)始,時(shí)分秒的顯示從第三行第一個(gè)字符開(kāi)始。</p><p>  圖3-

52、4 時(shí)間調(diào)整顯示,屏二顯示流程圖</p><p>  在顯示屏二時(shí)應(yīng)先判斷是否有調(diào)整時(shí)間的請(qǐng)求,如果有時(shí)間調(diào)整的要求即有按鍵按下則顯示此屏,顯示此屏?xí)r先進(jìn)行顯示設(shè)置,因?yàn)橐{(diào)整時(shí)間因此要用光標(biāo)表示出要調(diào)整的位,因此顯示設(shè)置中要調(diào)整出光標(biāo),調(diào)整時(shí)間時(shí)先調(diào)出當(dāng)前時(shí)間,從當(dāng)前時(shí)間開(kāi)始調(diào)整,然后判斷按鍵,根據(jù)按鍵來(lái)調(diào)整時(shí)間,調(diào)整完成之后再返回時(shí)間顯示即顯示屏一。</p><p>  按鍵調(diào)整程序模

53、塊是用來(lái)調(diào)整時(shí)間的,當(dāng)P3.4按鍵按下時(shí)進(jìn)入時(shí)間調(diào)整界面,再按P3.4就會(huì)依次改變要調(diào)整的參量,依次調(diào)整的參量為年、月、日、時(shí)、分、秒。當(dāng)選擇好了要調(diào)整的位后再按P3.5就會(huì)實(shí)現(xiàn)相應(yīng)位的加一操作,按P2.6就會(huì)實(shí)現(xiàn)相應(yīng)位的減一操作。當(dāng)調(diào)整完畢之后,再按P3.4鍵就會(huì)返回時(shí)間顯示界面,從剛才調(diào)整好的時(shí)間開(kāi)始顯示、計(jì)時(shí)。其流程圖如圖3-5所示</p><p>  圖3-5 按鍵調(diào)整模塊流程圖</p>

54、<p><b>  七、心得體會(huì)</b></p><p>  1、本文的主要工作和成果</p><p>  系統(tǒng)采用了以廣泛使用的單片機(jī)STC89C52為核心,配合時(shí)鐘芯片DS12887,并采用LCD顯示電路,鍵盤(pán)掃描電路所設(shè)計(jì)的一款可以進(jìn)行遠(yuǎn)程調(diào)控的時(shí)鐘電路。主要工作和成果如下:</p><p> ?。?)介紹基于單片機(jī)的時(shí)鐘電路的

55、設(shè)計(jì)方法,并對(duì)基于單片機(jī)的時(shí)鐘的應(yīng)用進(jìn)行了初步探討。</p><p> ?。?)介紹了時(shí)鐘芯片DS12887的基本原理、特性及使用方法。對(duì)單片機(jī)軟硬件資源和接口擴(kuò)展都有了深入的學(xué)習(xí)。</p><p> ?。?)在系統(tǒng)的軟件仿真調(diào)試中,運(yùn)用了PROTEL、WAVE等軟件;學(xué)習(xí)了他們的基本操作,掌握了程序的編譯過(guò)程、電路圖的繪制過(guò)程。</p><p>  2、課題設(shè)計(jì)中

56、不足及其展望</p><p>  本設(shè)計(jì)重點(diǎn)研究實(shí)現(xiàn)了基于單片機(jī)與時(shí)鐘芯片這種模式的時(shí)鐘,從原理上對(duì)單片機(jī)和時(shí)鐘芯片有了深一步的認(rèn)識(shí)。但是,時(shí)鐘除了能夠顯示基本日期時(shí)間功能外,還可以顯示、設(shè)置鬧鐘并可在工業(yè)測(cè)量控制系統(tǒng)中起到定時(shí)、監(jiān)控作用,以及對(duì)某些影像數(shù)據(jù)的實(shí)時(shí)記錄功能等。所以說(shuō),實(shí)時(shí)時(shí)鐘在工農(nóng)業(yè)的監(jiān)控中,它能發(fā)揮的作用會(huì)更多更大!它的這些功能還沒(méi)有完善,希望以后有機(jī)會(huì)可繼續(xù)完善其相應(yīng)的功能。 </p&g

57、t;<p>  在基于單片機(jī)的數(shù)字時(shí)鐘電路設(shè)計(jì)過(guò)程中,我學(xué)到了很多重要的東西,其中最重要的是如何將實(shí)踐和理論相聯(lián)系,怎樣將我所學(xué)到的知識(shí)運(yùn)用到我以后的工作中去。大學(xué)的課堂的學(xué)習(xí)只是在給我們灌輸專(zhuān)業(yè)知識(shí),而我們應(yīng)把所學(xué)的用到我們現(xiàn)實(shí)的生活中去,此次的時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ)。</p><p>  這次課程設(shè)計(jì)為使我得到了很大收獲:不僅學(xué)到了許多了關(guān)于單片機(jī)方面的知識(shí),熟悉了與單片機(jī)相關(guān)的兩款軟件

58、WAVE和STC-ISP V35,提高了實(shí)驗(yàn)技能;而且也使我的動(dòng)手能力和電路設(shè)計(jì)能力得到了極大的提高。在此次設(shè)計(jì)中,我的難點(diǎn)是程序的調(diào)試,由于以前僅僅學(xué)了一點(diǎn)匯編語(yǔ)言的皮毛,所以編一個(gè)完整的程序很是吃力!但是經(jīng)過(guò)這一段時(shí)間的學(xué)習(xí),我還是解決了一些問(wèn)題。軟件調(diào)試中也出現(xiàn)了一些問(wèn)題,就是程序在編譯中仿真器的設(shè)置出現(xiàn)了錯(cuò)誤,從而使系統(tǒng)的編譯通不過(guò),給系統(tǒng)的調(diào)試帶來(lái)了極大的不便,所以對(duì)軟件的使用還須更進(jìn)一步的熟練掌握。由于時(shí)間比較倉(cāng)促,我只能做

59、到達(dá)到現(xiàn)在這樣的水平;其他的希望以后的工作中,再做深刻地研究。</p><p><b>  附錄A:電路原理圖</b></p><p><b>  附錄B:程序清單</b></p><p><b>  //主程序</b></p><p><b>  ORG0000H

60、</b></p><p><b>  AJMPMAIN</b></p><p><b>  ORG000BH</b></p><p><b>  AJMPTZP</b></p><p><b>  ORG0030H</b></p&

61、gt;<p>  MAIN:MOVSP,#60H</p><p>  MOVR4,#00H</p><p>  MOVTMOD,#02h</p><p>  MOVTH0,#06H</p><p>  MOVTL0,#06H</p><p><b>  SETBEA</b&g

62、t;</p><p><b>  SETBET0</b></p><p><b>  SETBTR0</b></p><p><b>  //初始化</b></p><p><b>  MOVR2,#3</b></p><p>

63、;  MOVR1,#30H</p><p>  LOOP:MOV@R1,#00H</p><p><b>  INCR1</b></p><p>  DJNZR2,LOOP</p><p>  LCALLRINGPI</p><p><b>  //</b><

64、;/p><p>  LOOP2:MOVR2,#6</p><p>  MOVR1,#30H</p><p>  LCALLDPZP</p><p><b>  //開(kāi)啟節(jié)能功能</b></p><p>  JBP1.0,XWJN</p><p>  JBP

65、1.0,$</p><p><b>  //</b></p><p><b>  // 鬧鐘設(shè)置入口</b></p><p>  ZWJN:JBP1.1,XPP1</p><p>  LCALLRINGP</p><p>  LCALLRELAY</p>

66、<p><b>  //</b></p><p><b>  //調(diào)時(shí)入口</b></p><p>  XPP1:JBP1.3,XPP2</p><p>  LCALLZPP1</p><p>  XPP2:JBP1.2,ZPP</p><p> 

67、 LCALLZPP2</p><p>  ZPP:AJMPLOOP2//</p><p>  //定時(shí)器0中斷</p><p>  TZP:PUSH00H</p><p><b>  PUSH03H</b></p><p>  INC R4 // 軟件-硬件延時(shí)1秒

68、</p><p>  CJNER4,#40,ENDI</p><p>  MOVR4,#0</p><p><b>  INCR5</b></p><p>  CJNER5,#100,ENDI //結(jié)束</p><p><b>  MOVR5,#0</b>&l

69、t;/p><p>  ZP:MOVR0,#30H</p><p><b>  MOVR3,#3</b></p><p>  MOVDPTR,#TCOUNT</p><p>  LCALLTTZP</p><p>  LCALLRING</p><p>  ENDI

70、:POP03H</p><p><b>  POP00H</b></p><p><b>  RETI</b></p><p>  //定時(shí)器0中斷返回</p><p><b>  //軟中斷1</b></p><p>  ZPP1:MOV

71、A,31H</p><p><b>  ADDA,#1</b></p><p><b>  DA A</b></p><p><b>  MOV31H,A</b></p><p>  CJNEA,#60H,END1</p><p>  MOV

72、31H,#00H</p><p>  END1:LCALLRELAY</p><p><b>  RET</b></p><p><b>  //</b></p><p><b>  //軟中斷2</b></p><p>  ZPP2:MOV

73、A,32H</p><p><b>  ADDA,#1</b></p><p><b>  DAA</b></p><p><b>  MOV32H,A</b></p><p>  CJNEA,#24H,END2</p><p>  MOV3

74、2H,#00H</p><p>  END2:LCALLRELAY</p><p><b>  RET</b></p><p><b>  //</b></p><p><b>  //延時(shí)顯示程序</b></p><p>  RELAY:MOV

75、R6,#255</p><p>  REP:MOVR7,#4</p><p>  REEE:MOVR2,#6</p><p>  MOVR1,#30H</p><p>  LCALLDPZP</p><p>  DJNZR7,REEE</p><p>  DJNZR6,R

76、EP</p><p><b>  RET</b></p><p>  //延時(shí)顯示程序結(jié)束</p><p><b>  //顯示子程序</b></p><p>  DPZP:MOVP0,#0FFH // 顯示橫杠</p><p>  MOVP2,#0DBH&l

77、t;/p><p>  MOVP0,#0BFH // END</p><p>  DPZP1:MOVP0,#0FFH</p><p>  MOVDPTR,#CHART //P3part</p><p>  MOVA,R2</p><p>  MOVCA,@A+DPTR</p>&l

78、t;p>  MOVP2,A //</p><p>  MOVDPTR,#LED</p><p>  MOVA,@R1</p><p>  JNBF0,DPZPS</p><p><b>  INCR1 </b></p><p><b>  SWAPA<

79、/b></p><p>  DPZPS:ANLA,#0FH</p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p><b>  CPLF0</b></p><p>  DJNZR2,DPZP1

80、</p><p><b>  RET</b></p><p><b>  //顯示子程序結(jié)束</b></p><p>  //不規(guī)則循環(huán)加一子程序</p><p>  TTZP:MOVA,@R0</p><p><b>  ADDA,#1</b>

81、;</p><p><b>  DAA</b></p><p>  MOV@R0,A</p><p><b>  MOVA,R3</b></p><p>  MOVCA,@A+DPTR</p><p><b>  CLRC</b><

82、;/p><p>  SUBBA,@R0</p><p>  JNCRTTZP</p><p>  MOV@R0,#0</p><p><b>  INCR0</b></p><p>  DJNZR3,TTZP</p><p>  RTTZP:RET</

83、p><p><b>  //響鈴程序</b></p><p>  RING:MOVR0,#34H</p><p>  MOV24H,#6</p><p>  RRING:MOVA,31H</p><p>  SUBBA,@R0</p><p>  JNZER

84、ING</p><p><b>  INCR0</b></p><p>  MOVA,32H</p><p>  SUBBA,@R0</p><p><b>  DECR0</b></p><p>  JNZERING</p><p>

85、;<b>  CPLP1.7</b></p><p><b>  RET</b></p><p>  ERING:MOVA,R0</p><p><b>  ADDA,#3</b></p><p><b>  MOVR0,A</b><

86、;/p><p>  DJNZ24H,RRING</p><p><b>  SETBP2.1</b></p><p><b>  RET</b></p><p><b>  //</b></p><p><b>  //鬧鐘調(diào)整程序<

87、/b></p><p>  RINGP: MOV20H,#33H</p><p>  MOV21H,#6</p><p>  MOVR3,#20</p><p>  MOV22H,#5</p><p>  LPRP:LCALLRELAY1</p><p>  JB

88、P1.1,LPRP1</p><p>  MOVR3,#20</p><p>  MOVA,20H</p><p><b>  ADDA,#3</b></p><p>  MOV20H,A</p><p>  DJNZ22H,LPRP</p><p>&

89、lt;b>  RET</b></p><p>  LPRP1:JBP1.3,LPRP2</p><p>  MOVR3,#20H</p><p><b>  MOVA,20H</b></p><p><b>  ADDA,#1</b></p><p

90、><b>  MOVR0,A</b></p><p><b>  MOVA,@R0</b></p><p><b>  ADDA,#1</b></p><p><b>  MOV@R0,A</b></p><p><b>  DA

91、A</b></p><p>  CJNEA,#60H,LPRP21</p><p>  MOV@R0,#00H</p><p>  LPRP21:LCALLRELAY1</p><p>  LPRP2:JBP1.2,LPRP3</p><p>  MOVR3,#20H</p>

92、;<p><b>  MOVA,20H</b></p><p><b>  ADDA,#2</b></p><p><b>  MOVR0,A</b></p><p><b>  MOVA,@R0</b></p><p><b&

93、gt;  ADDA,#1</b></p><p><b>  DAA</b></p><p><b>  MOV@R0,A</b></p><p>  CJNEA,#24H,LPRP31</p><p>  MOV@R0,#00H</p><p> 

94、 LPRP31:LCALLRELAY1</p><p>  LPRP3:DJNZR3,LPRP</p><p>  LPRPEND:RET</p><p><b>  //</b></p><p>  //鬧鐘組初始化程序(共5組)</p><p>  RINGPI:MOVR2,

95、#5</p><p>  MOVR1,#41H</p><p>  LPRPI:MOV@R1,#00H</p><p><b>  DECR1</b></p><p>  MOV@R1,#00H</p><p><b>  DECR1</b></p

96、><p>  MOVA,#00H</p><p>  ORLA,#0A0H</p><p><b>  ADDA,R2</b></p><p>  MOV@R1,A</p><p><b>  DECR1</b></p><p>  D

97、JNZR2,LPRPI</p><p><b>  RET</b></p><p><b>  //</b></p><p><b>  //延時(shí)顯示程序1</b></p><p>  RELAY1:MOVR6,#255</p><p>  REP

98、1:MOVR7,#4</p><p>  REEE1:MOVR2,21H</p><p>  MOVR1,20H</p><p>  LCALLDPZP</p><p>  DJNZR7,REEE1</p><p>  DJNZR6,REP1</p><p><b&g

99、t;  RET</b></p><p>  //延時(shí)顯示程序結(jié)束</p><p><b>  //數(shù)據(jù)表</b></p><p>  LED:DB0c0H,0f9H,0a4H,0b0H,099H,092H,82H,0f8H,80H,90H,8EH,0A8H//0,1,2,3,4,5,6,7,8,9,F,n</p>

溫馨提示

  • 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ù)僅提供信息存儲(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)論