版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)</p><p><b> 2008年6月5日</b></p><p> 學(xué)生姓名xxx</p><p> 所 在 系xxx系</p><p> 班 級(jí)xxx級(jí)xxx班&
2、lt;/p><p> 專 業(yè)xxx</p><p> 指導(dǎo)教師xxx 講師</p><p><b> 指導(dǎo)教師評(píng)閱書(shū)</b></p><p> 指導(dǎo)教師評(píng)價(jià):一、撰寫(xiě)(設(shè)計(jì))過(guò)程1、學(xué)生在論文(設(shè)計(jì))過(guò)程中的治學(xué)態(tài)度、工作精神□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格2、學(xué)生掌握專業(yè)
3、知識(shí)、技能的扎實(shí)程度□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格3、學(xué)生綜合運(yùn)用所學(xué)知識(shí)和專業(yè)技能分析和解決問(wèn)題的能力□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格4、研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格5、完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況□ 優(yōu) □ 良 □ 中
4、 □ 及格 □ 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫(xiě)規(guī)范?□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)?□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問(wèn)題的指導(dǎo)意義□ 優(yōu) </p><p> 建議成績(jī):
5、□ 優(yōu) □ 良 □ 中 □ 及格 □ 不及格(在所選等級(jí)前的□內(nèi)畫(huà)“√”)</p><p> 指導(dǎo)教師: (簽名) 單位: (蓋章)年 月 日</p><p><b> 評(píng)閱教師評(píng)閱書(shū)</b></p><p> 教研室(或答辯小組)及教學(xué)系意見(jiàn)<
6、/p><p><b> 摘要</b></p><p> 隨時(shí)代的發(fā)展,生活節(jié)奏的加快,人們的時(shí)間觀念愈來(lái)愈強(qiáng);隨自動(dòng)化、智能化技術(shù)的發(fā)展,機(jī)電產(chǎn)品的智能度愈來(lái)愈高,用到時(shí)間提示、定時(shí)控制的地方也會(huì)愈來(lái)愈多,因此,設(shè)計(jì)開(kāi)發(fā)數(shù)字時(shí)鐘具有良好的應(yīng)用前景。</p><p> 由于單片機(jī)價(jià)格的低成本、高性能,在自動(dòng)控制產(chǎn)品中得到了廣泛的應(yīng)用。本設(shè)計(jì)利用
7、Atmel公司的AT89S52單片機(jī)對(duì)電子時(shí)鐘進(jìn)行開(kāi)發(fā),設(shè)計(jì)了實(shí)現(xiàn)所需功能的硬件電路,應(yīng)用匯編語(yǔ)言進(jìn)行軟件編程,并用實(shí)驗(yàn)板進(jìn)行演示、驗(yàn)證。</p><p> 在介紹本單片機(jī)的發(fā)展情況基礎(chǔ)上,說(shuō)明了本設(shè)計(jì)實(shí)現(xiàn)的功能,以及實(shí)驗(yàn)板硬件情況,并對(duì)各功能電路進(jìn)行了分析。主要工作放在軟件編程上,用實(shí)驗(yàn)板實(shí)現(xiàn)時(shí)間、日期、定時(shí)及它們的設(shè)定功能,詳細(xì)對(duì)軟件編程流程以及調(diào)試進(jìn)行了說(shuō)明,并對(duì)計(jì)時(shí)誤差進(jìn)行了分析及校正,提出了定時(shí)音與顯
8、示相沖突問(wèn)題及解決方案。實(shí)驗(yàn)證明效果良好,可以投入使用。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī) AT89S52 電子時(shí)鐘 匯編語(yǔ)言</p><p><b> 目錄</b></p><p><b> 摘要</b></p><p><b> 1 緒論1</b>&l
9、t;/p><p> 1.1 課題背景1</p><p> 1.2 課題意義1</p><p> 1.3 本章小節(jié)2</p><p> 2 系統(tǒng)功能及操作3</p><p> 2.1 系統(tǒng)功能的確定3</p><p> 2.1.1 基本功能3</p><p&
10、gt; 2.1.2 擴(kuò)展功能3</p><p> 2.2 系統(tǒng)操作說(shuō)明4</p><p> 2.3 本章小節(jié)4</p><p> 3 系統(tǒng)硬件設(shè)計(jì)—實(shí)驗(yàn)板介紹5</p><p> 3.1 芯片的選擇5</p><p> 3.2 實(shí)驗(yàn)板電路原理圖6</p><p> 3.
11、3 功能電路分析6</p><p> 3.3.1 時(shí)鐘電路6</p><p> 3.3.2 復(fù)位電路6</p><p> 3.3.3 鍵盤(pán)電路7</p><p> 3.3.4 數(shù)碼顯示電路7</p><p> 3.3.5 蜂鳴器電路8</p><p> 3.4 本章小節(jié)
12、8</p><p> 4 系統(tǒng)軟件設(shè)計(jì)9</p><p> 4.1 數(shù)據(jù)單元分配9</p><p> 4.1.1 數(shù)據(jù)存儲(chǔ)單元分配9</p><p> 4.1.2 標(biāo)志位單元分配9</p><p> 4.2 計(jì)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法9</p><p> 4.3 實(shí)現(xiàn)時(shí)鐘程序設(shè)
13、計(jì)步驟10</p><p> 4.3.1 主程序模塊設(shè)計(jì)10</p><p> 4.3.2 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)11</p><p> 4.3.3 顯示子程序模塊的實(shí)現(xiàn)12</p><p> 4.3.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)12</p><p> 4.3.5 日期、定時(shí)設(shè)定子程序模塊的實(shí)現(xiàn)12
14、</p><p> 4.4 程序說(shuō)明12</p><p> 4.4.1 定時(shí)器初值計(jì)算12</p><p> 4.4.2 程序初始化12</p><p> 4.4.3 誤差分析及校正13</p><p> 4.4.4 實(shí)現(xiàn)閃動(dòng)設(shè)定13</p><p> 4.4.5 實(shí)現(xiàn)連續(xù)
15、加113</p><p> 4.4.6 定時(shí)音與顯示相沖突問(wèn)題及解決方案13</p><p> 4.5 本章小節(jié)13</p><p><b> 5 系統(tǒng)調(diào)試14</b></p><p><b> 結(jié)束語(yǔ)15</b></p><p><b> 致謝
16、16</b></p><p> 附錄A:實(shí)驗(yàn)板原理圖17</p><p> 附錄B:程序清單18</p><p><b> 參考文獻(xiàn)45</b></p><p> 第一章 設(shè)計(jì)任務(wù)分析</p><p><b> 1.1 課題背景</b></
17、p><p> 單片機(jī)自1976年由Intel公司推出MCS-48開(kāi)始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車(chē)電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。</p><p> 單片機(jī)有兩種基本結(jié)構(gòu)
18、:一種是在通用微型計(jì)算機(jī)中廣泛采用的,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器共用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為“馮·諾依曼”(Von Neumann)結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),分別尋址的結(jié)構(gòu),稱為“哈佛”(Harvard)結(jié)構(gòu),目前的單片機(jī)采用此種結(jié)構(gòu)為多。</p><p> 本文討論的單片機(jī)多功能時(shí)鐘系統(tǒng)的核心是目前應(yīng)用極為廣泛的51系列單片機(jī),配置了外圍設(shè)備,構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng),具有
19、體積小,可靠性高,功能多等特點(diǎn)。不僅能滿足所需要求而且還有很多功能可供擴(kuò)展,有著廣泛的應(yīng)用領(lǐng)域。</p><p><b> 1.2 設(shè)計(jì)任務(wù)</b></p><p><b> 1.3 課題意義</b></p><p> 在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過(guò)程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使
20、用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機(jī)性價(jià)比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來(lái)越廣泛。大則可以構(gòu)成復(fù)雜的工業(yè)過(guò)程控制系統(tǒng),完成復(fù)雜的控制功能;小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大、體積小、質(zhì)量輕、靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)成各種各樣、功能各異的微電子產(chǎn)品。</p><p> 隨著電子技術(shù)的飛速發(fā)展,家用電器和辦
21、公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來(lái)很不方便。這些具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。</p><p> 根據(jù)這種實(shí)際情況,設(shè)計(jì)了一個(gè)單片機(jī)多功能時(shí)鐘系統(tǒng),它有基本的時(shí)間功能,還有定時(shí)功能,既可作為鬧鈴,也可擴(kuò)展為定時(shí)對(duì)家電等電氣產(chǎn)品的自動(dòng)控制,可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制;可增加溫度傳感器,進(jìn)行實(shí)時(shí)溫度顯
22、示,進(jìn)一步擴(kuò)展為利用不同的溫度某些電氣產(chǎn)品進(jìn)行自動(dòng)控制;也可增加濕度傳感器,進(jìn)行實(shí)時(shí)濕度顯示,以便對(duì)濕度進(jìn)行控制,方便人們的生活。</p><p><b> 1.4 本章小節(jié)</b></p><p> 本章主要介紹了課題背景、設(shè)計(jì)任務(wù)和課題意義,對(duì)單片機(jī)的優(yōu)點(diǎn)及結(jié)構(gòu)作了簡(jiǎn)要敘述,也對(duì)本系統(tǒng)的應(yīng)用及概況進(jìn)行了說(shuō)明。</p><p> 第二章
23、 系統(tǒng)功能及操作</p><p> 2.1 系統(tǒng)功能的確定</p><p> 2.1.1 基本功能</p><p> 系統(tǒng)具有時(shí)間、日期、三路定時(shí)功能,并可以對(duì)時(shí)間、日期、定時(shí)進(jìn)行設(shè)定,有定時(shí)提示音。要求計(jì)時(shí)精度盡量提高。顯示格式為:</p><p> 時(shí)間:“時(shí)”(第1、2位)、“分”(第3、4位)、“秒”(第5、6位);</
24、p><p> 日期:“年”(第1、2位,如2007年顯示為07)、“月”(第3、4位)、“日” (第5、6位);</p><p> 定時(shí):“時(shí)”(第1、2位)、“分”(第3、4位)、“狀態(tài)標(biāo)志”(第5、6位)。</p><p> 鍵盤(pán)及數(shù)碼管排列如圖2-1所示。</p><p> 2.1.2 擴(kuò)展功能</p><p&g
25、t; 該系統(tǒng)可以增加溫度傳感器,實(shí)現(xiàn)溫度測(cè)量,以實(shí)時(shí)顯示溫度,用1、2位數(shù)碼管顯示;還可以增加濕度傳感器,實(shí)現(xiàn)濕度測(cè)量,以實(shí)時(shí)顯示濕度,用5、6位數(shù)碼管顯示。</p><p> 多路定時(shí)器功能也可擴(kuò)展為對(duì)多種家電等電氣產(chǎn)品的自動(dòng)控制,比如電飯煲等;也可利用溫度對(duì)某些電氣產(chǎn)品進(jìn)行自動(dòng)控制,比如空調(diào)等;還可利用濕度傳感器對(duì)濕度進(jìn)行調(diào)節(jié)。如圖2-1所示。</p><p> 圖2-1 系統(tǒng)功
26、能圖</p><p> 2.2 系統(tǒng)操作說(shuō)明</p><p> ?。?)按K1鍵顯示日期,3秒后自動(dòng)返回時(shí)間顯示,3秒內(nèi)按K2鍵進(jìn)入日期設(shè)置,此時(shí)年位閃爍,按K1鍵進(jìn)行年位加1或連續(xù)加1調(diào)整。按K2鍵依次切換到月位、日位,分別按K1鍵進(jìn)行月位、日位調(diào)整,日位設(shè)置好后,再按K2鍵保存日期設(shè)定值,并返回顯示時(shí)間。</p><p> (2)按K2鍵大于1秒進(jìn)入時(shí)間設(shè)置
27、,此時(shí)小時(shí)位閃爍,秒位自動(dòng)清零,按K1鍵進(jìn)行小時(shí)調(diào)整,按K2鍵切換到分鐘位,按K1鍵進(jìn)行分鐘調(diào)整,分位設(shè)置好后,再按K2鍵保存時(shí)間設(shè)定值,并返回顯示時(shí)間,按所設(shè)定的時(shí)間值進(jìn)行計(jì)時(shí)。</p><p> ?。?)連續(xù)按K3鍵顯示3路定時(shí)及其開(kāi)關(guān)狀態(tài),當(dāng)顯示某一路定時(shí)時(shí),3秒后自動(dòng)返回時(shí)間顯示,3秒內(nèi)按K2鍵進(jìn)入定時(shí)設(shè)置,設(shè)置同日期(5、6位顯示00為當(dāng)路定時(shí)關(guān),顯示01為當(dāng)路定時(shí)開(kāi))。當(dāng)路定時(shí)設(shè)置完后按K2鍵保存定時(shí)
28、設(shè)定值并返回時(shí)間顯示。</p><p> ?。?)按K4鍵顯示實(shí)時(shí)溫度和濕度,5秒后自動(dòng)返回時(shí)間顯示。</p><p><b> 2.3 本章小節(jié)</b></p><p> 本章主要對(duì)本系統(tǒng)的基本功能和擴(kuò)展功能進(jìn)行了說(shuō)明,也對(duì)本系統(tǒng)的系統(tǒng)的顯示情況及操作作了詳細(xì)說(shuō)明。</p><p> 3 系統(tǒng)硬件設(shè)計(jì)—實(shí)驗(yàn)板介紹
29、</p><p><b> 3.1 芯片的選擇</b></p><p> 本設(shè)計(jì)選用AT89S52芯片,它是一種低功耗、高性能CMOS 8位微控制器,具有8K(0000H~1FFFH)在線系統(tǒng)可編程Flash存儲(chǔ)器。片上Flash允許程序存儲(chǔ)器在線編程,也適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制
30、應(yīng)用系統(tǒng)提供靈活、高效的解決方案。</p><p> AT89S52具有以下標(biāo)準(zhǔn)功能:8K(0000H~1FFFH)Flash,256字節(jié)(00H~FFH)數(shù)據(jù)存儲(chǔ)器(RAM),64K(0000H~FFFFH)程序存儲(chǔ)器(ROM),32位I/O口線,看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口內(nèi)晶振及時(shí)鐘電路。</p><p> 其中,數(shù)據(jù)
31、存儲(chǔ)器(RAM)用于存放各種運(yùn)算的中間結(jié)果,作緩存和數(shù)據(jù)暫存,以及設(shè)置特征標(biāo)志等。AT89S52的片內(nèi)數(shù)據(jù)存儲(chǔ)器用位尋址方式,最大尋址范圍為256字節(jié)(00H~FFH)。按使用情況不同可分成低128字節(jié)(00H~7FH)和高128字節(jié)(80H~FFH)。其中低128字節(jié)為真正的RAM存儲(chǔ)器,高128字節(jié)為特殊功能寄存器(SFR)區(qū),如累加器ACC、程序狀態(tài)字PSW、數(shù)據(jù)指針DPTR、程序計(jì)數(shù)器PC等。整個(gè)片內(nèi)RAM區(qū)分布如圖3-1所示。
32、</p><p> 圖3-1 片內(nèi)RAM區(qū)</p><p> 3.2 實(shí)驗(yàn)板電路原理圖</p><p> 實(shí)驗(yàn)板電路結(jié)構(gòu)框圖如圖3-2所示,原理電路圖(只有本設(shè)計(jì)所需部分)見(jiàn)附錄A。</p><p> 圖3-2 實(shí)驗(yàn)板結(jié)構(gòu)框圖</p><p> 3.3 功能電路分析</p><p>
33、 3.3.1 時(shí)鐘電路</p><p> 實(shí)驗(yàn)板的時(shí)鐘振蕩源電路如圖3-3所示。其中JT 為11.0592MHz 的晶振,改變兩電容CB的值即可對(duì)此晶振頻率進(jìn)行調(diào)節(jié)。該電路提供單片機(jī)工作所需的振蕩頻率,計(jì)算定時(shí)器初值即需此晶振頻率,在通信時(shí)也需知道晶振頻率,以對(duì)波特率進(jìn)行計(jì)算。</p><p> 圖 3-3 時(shí)鐘電路</p><p> 3.3.2 復(fù)位電路&l
34、t;/p><p> 如圖3-4所示為實(shí)驗(yàn)板的復(fù)位電路,當(dāng)RESET 信號(hào)為低電平時(shí),實(shí)驗(yàn)板為工作狀態(tài),當(dāng)RESET信號(hào)為高電平時(shí),實(shí)驗(yàn)板為復(fù)位或下載程序狀態(tài)。由于AT89S52具有ISP 的功能,即可以通過(guò)并口線直接將程序下載到單片機(jī)內(nèi),因此, AT89S52 具有兩種狀態(tài),下載程序狀態(tài)和運(yùn)行狀態(tài)。該復(fù)位電路能實(shí)現(xiàn)上電自動(dòng)復(fù)位,也能手動(dòng)復(fù)位,一般復(fù)位時(shí)RESET應(yīng)保持20毫秒以上高電平,此復(fù)位時(shí)間由接地電容控制。&
35、lt;/p><p> 圖 3-4 復(fù)位電路</p><p> 3.3.3 鍵盤(pán)電路</p><p> 如圖3-5所示為陣列按鍵電路,各設(shè)置及轉(zhuǎn)換信號(hào)由此電路輸入,實(shí)驗(yàn)板提供了16個(gè)按鍵,由P1口經(jīng)SN74F244(驅(qū)動(dòng)芯片)輸出擴(kuò)展成4×4的陣列按鍵,P1.0~P1.3為行線,P1.4~P1.7為列線。SN74F244有一片選信號(hào)線,當(dāng)此口線為低電平時(shí),
36、A1~A4與Y1~Y4接通,反之,A1~A4與Y1~Y4斷開(kāi)。</p><p> 此鍵盤(pán)用掃描工作方式,若有鍵按下,則相應(yīng)位端口被拉低為低電平,由于本系統(tǒng)只用了4個(gè)按鍵,所以只需對(duì)4個(gè)按鍵進(jìn)行掃描。掃描時(shí),先置P3.3口為高電平,向P1口送0EFH(MOV P1,#0EFH),再置P3.3口為低電平,讀P1口(MOV A,P1),最后判斷P1口低4位哪位是低電平,若某位為低電平,則相應(yīng)按鍵被按下,如P1.0
37、為低電平(ACC.0=0),則K1鍵被按下。</p><p> 圖 3-5 陣列按鍵</p><p> 3.3.4 數(shù)碼顯示電路</p><p> 如圖3-6所示為數(shù)碼顯示電路,實(shí)驗(yàn)板使用了6個(gè)共陽(yáng)數(shù)碼管,P0口為段碼信號(hào)線,B1~B6為位控線,是P1口經(jīng)SN74F573(反向驅(qū)動(dòng)芯片,即輸入為高電平,則輸出為低電平,反之則輸出為高電平,該芯片也有一片選信號(hào)C
38、,當(dāng)此信號(hào)為高電平時(shí)有效)反向得到,再由B1~B6控制晶體管Q1~Q6,以達(dá)到控制每位數(shù)碼管的目的。</p><p> 系統(tǒng)采用動(dòng)態(tài)顯示,先向P0口送第一位數(shù)碼管需要顯示的段碼值,再給P1口送0FEH,延時(shí)1毫秒使第一位數(shù)碼管顯示,又向P0口送第二位數(shù)碼管需要顯示的段碼值,P1口送0FDH,延時(shí)1毫秒,使第二位數(shù)碼管顯示。依次遞推,直到最后一位數(shù)碼管,然后再循環(huán)。改變延時(shí)時(shí)長(zhǎng)可以調(diào)節(jié)數(shù)碼管顯示的亮度,由于單片機(jī)
39、執(zhí)行速度很快(微秒級(jí)),所以看上去數(shù)碼管一直亮著。</p><p> 圖 3-6 數(shù)碼顯示電路</p><p> 3.3.5 蜂鳴器電路</p><p> 其硬件原理圖如圖3-7所示。此電路用于定時(shí)時(shí)發(fā)出提示音。SPEAKER與P3.2口相連,當(dāng)SPEAKER輸出高電平時(shí)蜂鳴器不響,而SPEAKER輸出低電平時(shí)蜂鳴器發(fā)出響聲。只需控制SPEAKER輸出高低電平
40、的時(shí)間和變化頻率,就可以讓蜂鳴器發(fā)出不同的聲音。此電路用于產(chǎn)生定時(shí)器提示音。</p><p> 圖 3-7 蜂鳴器電路</p><p><b> 3.4 本章小節(jié)</b></p><p> 本章主要對(duì)芯片作了介紹,對(duì)其內(nèi)存單元作了詳細(xì)說(shuō)明,并對(duì)系統(tǒng)硬件(實(shí)驗(yàn)板)的結(jié)構(gòu)框圖和各功能電路作了說(shuō)明,以及這些電路在本設(shè)計(jì)中的用途。</p&g
41、t;<p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.1 數(shù)據(jù)單元分配</p><p> 4.1.1 數(shù)據(jù)存儲(chǔ)單元分配</p><p> 數(shù)據(jù)存儲(chǔ)單元分配如下表所示:</p><p> 4.1.2 標(biāo)志位單元分配</p><p> 標(biāo)志位單元(20H)分配
42、如下表所示:</p><p> 4.2 計(jì)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法</p><p> 時(shí)鐘的最小計(jì)時(shí)單位是秒,使用定時(shí)器的方式1,最大的定時(shí)時(shí)間也只能達(dá)到131毫秒。可把定時(shí)器的定時(shí)時(shí)間定為50毫秒,這樣,計(jì)數(shù)溢出20次即可得到時(shí)鐘的最小計(jì)時(shí)單位─秒。計(jì)數(shù)20次可以用軟件實(shí)現(xiàn),對(duì)定時(shí)器溢出次數(shù)進(jìn)行計(jì)數(shù),計(jì)滿20次即為1秒。從秒到分,從分到時(shí),以及日、月、年都是通過(guò)軟件累加并進(jìn)行比較的方法實(shí)
43、現(xiàn)的。</p><p> 4.3 實(shí)現(xiàn)時(shí)鐘程序設(shè)計(jì)步驟</p><p> 系統(tǒng)采用模塊化結(jié)構(gòu),主程序只需調(diào)用各個(gè)子程序模塊即可實(shí)現(xiàn)相應(yīng)功能。其模塊結(jié)構(gòu)圖如圖4-1所示。</p><p> 圖4-1 程序各模塊方框圖</p><p> 4.3.1 主程序模塊設(shè)計(jì)</p><p> 整個(gè)程序進(jìn)行模塊化設(shè)計(jì),主程序
44、只需調(diào)用相應(yīng)的程序即可。主程序流程如圖4-2所示。</p><p> 圖4-2 主程序流程圖</p><p> 4.3.2 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)</p><p> 當(dāng)T0中斷時(shí),執(zhí)行本程序,因T0設(shè)為50毫秒中斷,故中斷20次為1秒。中斷程序分別有20次計(jì)數(shù)(1秒),60次計(jì)數(shù)(1分),60次計(jì)數(shù)(1小時(shí)),24次計(jì)數(shù)(1天),28、29、30、31次計(jì)數(shù)(1
45、個(gè)月),12次計(jì)數(shù)(1年)。當(dāng)前位到設(shè)定數(shù)值時(shí)寫(xiě)0或1,下一位加1。由于本世紀(jì)是21世紀(jì),年位前兩位是4的倍數(shù),故判斷閏年時(shí)只需對(duì)年的后兩位進(jìn)行計(jì)算,能被4整除為閏年,否則為平年,年位只進(jìn)行加1,大于99時(shí)又重新開(kāi)始。計(jì)時(shí)中斷流程圖如圖4-3所示。</p><p> 圖4-3 計(jì)時(shí)子程序流程圖 圖4-4 顯示子程序流程圖</p><p> 4.3.3
46、 顯示子程序模塊的實(shí)現(xiàn)</p><p> 顯示原理在3.3.4節(jié)已給予了說(shuō)明,流程圖如圖4-4所示。</p><p> 4.3.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)</p><p> 當(dāng)設(shè)定時(shí)間時(shí),斷開(kāi)T0中斷,秒單元清0,進(jìn)入時(shí)、分單元設(shè)定。設(shè)定好后重裝T0初值,開(kāi)T0中斷。流程圖如圖4-6所示。</p><p> 圖4-6 時(shí)鐘設(shè)定子程流
47、程圖</p><p> 4.3.5 日期、定時(shí)設(shè)定子程序模塊的實(shí)現(xiàn)</p><p> 日期、定時(shí)的設(shè)定同時(shí)鐘設(shè)定。定時(shí)設(shè)定時(shí),把時(shí)鐘的秒位換成定時(shí)標(biāo)志位,“00”為當(dāng)路定時(shí)關(guān),“01”為當(dāng)路定時(shí)開(kāi),流程圖與時(shí)鐘設(shè)定程序相似。</p><p><b> 4.4 程序說(shuō)明</b></p><p> 4.4.1 定時(shí)器
48、初值計(jì)算</p><p> 因定時(shí)器工作于方式1,需要50ms的中斷,所以計(jì)數(shù)初值:</p><p> χ=216 - t×fosc/12=65536 - 50×10-3×11.0592×106/12=19456</p><p> 表示成十六進(jìn)制為χ=4C00H,故(TH0)=4CH,(TL0)=00H。</p&g
49、t;<p> 4.4.2 程序初始化</p><p> 程序初始化時(shí),清相應(yīng)內(nèi)存單元(20H~4FH共48個(gè)單元),送時(shí)間(00時(shí)00分00秒)、日期(07年10月01日)初值,送定時(shí)器T0、T1初值,TH0= TH1=4CH,TL0= TL1=00H,特殊寄存器(SP=50H、TMOD=11H)值等。</p><p> 4.4.3 誤差分析及校正</p>
50、<p> 當(dāng)T0中斷時(shí),需重裝定時(shí)初值,且要加上從斷開(kāi)T0中斷到允許T0中斷共有13個(gè)周期,以減小誤差,故理論重裝定時(shí)初值為(TH0)=4CH,(TL0)=13H。但該外接晶振電路的晶振頻率可調(diào),可能出現(xiàn)誤差,所以實(shí)際不是這個(gè)值。</p><p> 經(jīng)調(diào)試,當(dāng)定時(shí)初值為(TH0)=4CH,(TL0)=06H時(shí),24小時(shí)約慢2秒,所以每當(dāng)計(jì)時(shí)24小時(shí)之后,給秒單元(30H)送02H,使秒累加時(shí)從2加
51、起,24小時(shí)就少加2秒,即可使時(shí)間得到校正。</p><p> 4.4.4 實(shí)現(xiàn)閃動(dòng)設(shè)定</p><p> 閃動(dòng)可選用段碼送00H實(shí)現(xiàn),也可禁止當(dāng)前位顯示,選通位送0實(shí)現(xiàn)。本設(shè)計(jì)選用后者實(shí)現(xiàn)閃動(dòng),用定時(shí)器T1進(jìn)行控制。</p><p> 4.4.5 實(shí)現(xiàn)連續(xù)加1</p><p> 先判斷鍵是否松開(kāi),若松開(kāi),則只執(zhí)行一次加1程序段,進(jìn)行
52、單次加1;若未松開(kāi)則連續(xù)執(zhí)行加1程序段,實(shí)現(xiàn)連續(xù)加1。每執(zhí)行一次加1程序段就調(diào)用顯示子程序進(jìn)行延時(shí),以對(duì)調(diào)節(jié)速度進(jìn)行控制。本系統(tǒng)以5Hz的速度連續(xù)加1,這樣能快速對(duì)時(shí)間、日期、定時(shí)進(jìn)行設(shè)定。</p><p> 4.4.6 定時(shí)音與顯示相沖突問(wèn)題及解決方案</p><p> 由于蜂鳴器響時(shí)P3.2口的電平呈高頻變化,頻率1K~2K,其間隙時(shí)間為0.5~1毫秒,小于6 毫秒,因顯示時(shí)每個(gè)數(shù)
53、碼管顯示1毫秒,至少需要6毫秒,故蜂鳴器響時(shí)無(wú)法進(jìn)行顯示。為解決此問(wèn)題,可增加鎖存器,采用靜態(tài)顯示;也可增加一語(yǔ)音芯片,既可解決此問(wèn)題,也可把定時(shí)音換成音樂(lè)或語(yǔ)音提示,或增加其它功能,使系統(tǒng)功能更強(qiáng)。</p><p><b> 4.5 本章小節(jié)</b></p><p> 本章主要對(duì)系統(tǒng)的軟件設(shè)計(jì)進(jìn)行了詳細(xì)說(shuō)明,從數(shù)據(jù)單元及標(biāo)志單元的分配,到各子程序模塊的實(shí)現(xiàn)方法,
54、以及對(duì)時(shí)鐘的誤差分析、校正,定時(shí)音與顯示相沖突問(wèn)題及解決方案。</p><p><b> 5 系統(tǒng)調(diào)試</b></p><p> 該時(shí)鐘程序的功能模塊先后實(shí)現(xiàn)的順序?yàn)椋褐鞒绦颉鷷r(shí)間模塊→顯示模塊→鍵盤(pán)模塊→時(shí)間設(shè)定及其顯示模塊→日期及其顯示模塊→日期設(shè)定及其顯示模塊→定時(shí)及其顯示模塊→定時(shí)設(shè)定及其顯示模塊→定時(shí)提示音及與顯示相沖突的協(xié)調(diào)模塊。每完成一個(gè)模塊就與前一
55、個(gè)已完成的模塊結(jié)合起來(lái)調(diào)試,直至實(shí)現(xiàn)相應(yīng)功能,再編寫(xiě)下一模塊程序。在與主程序銜接時(shí),主程序和各子程序也需作相應(yīng)的改動(dòng),以便與子程序更好的銜接,特別是顯示子程序需作較大改動(dòng),以便對(duì)不同內(nèi)容進(jìn)行顯示。</p><p> 程序用偉福軟件進(jìn)行匯編語(yǔ)言程序編寫(xiě),該軟件還可進(jìn)行軟件仿真。用匯編語(yǔ)言編好程序后,先編譯,把匯編語(yǔ)言編譯成二進(jìn)制代碼和十六進(jìn)制代碼。若編譯無(wú)法進(jìn)行,說(shuō)明程序有語(yǔ)法錯(cuò)誤,需進(jìn)行修改。編譯成功后則可進(jìn)行
56、軟件仿真,仿真可單步運(yùn)行,也可連續(xù)運(yùn)行。仿真時(shí)應(yīng)調(diào)出數(shù)據(jù)窗口,看各單元數(shù)據(jù)是否正確,這是軟件仿真的目的。當(dāng)然,有些錯(cuò)誤軟件仿真不容易發(fā)現(xiàn),這就得把編譯得到二進(jìn)制代碼或十六進(jìn)制代碼下載到實(shí)驗(yàn)板上運(yùn)行(用Easy 51Pro下載軟件,與實(shí)驗(yàn)板相配的下載軟件。下載時(shí)先擦再寫(xiě),若不能能正常寫(xiě)入,則再擦,再寫(xiě),直到寫(xiě)入芯片),看是否正常,若不正常,再根據(jù)出錯(cuò)的地方返回用軟件仿真,查看相應(yīng)的數(shù)據(jù)單元,再修改程序,這樣反復(fù)調(diào)試,直至程序可用,在實(shí)驗(yàn)板
57、上能正常運(yùn)行。</p><p> 待程序調(diào)試成功后即可燒寫(xiě)到實(shí)驗(yàn)板上,讓其運(yùn)行,至此,完成系統(tǒng)調(diào)試。</p><p><b> 結(jié)束語(yǔ)</b></p><p> 經(jīng)過(guò)兩個(gè)多月的工作,基于單片機(jī)的電子時(shí)鐘系統(tǒng)的設(shè)計(jì)已經(jīng)完成。經(jīng)試驗(yàn)驗(yàn)證,滿足設(shè)計(jì)要求。由于加入了計(jì)時(shí)修正,在精度方面已經(jīng)相當(dāng)準(zhǔn)確了,不過(guò)還可以達(dá)到更高精度,需要精確計(jì)算定時(shí)器T0
58、中斷次數(shù)的誤差,再予以修正;在軟件的定時(shí)部分可以進(jìn)行改進(jìn),用循環(huán)程序?qū)崿F(xiàn),每次循環(huán)只需更改相應(yīng)單元即可,這樣使程序精簡(jiǎn)。由于時(shí)間原因,沒(méi)能實(shí)現(xiàn)這兩部分。該系統(tǒng)的擴(kuò)展功能由于硬件原因不能實(shí)現(xiàn),以后如硬件允許可以實(shí)現(xiàn)這部分功能,還可增加其它功能。</p><p> 本次設(shè)計(jì)主要涉及了單片機(jī)原理及接口技術(shù)的相關(guān)知識(shí)和匯編語(yǔ)言編程的諸多要領(lǐng)。設(shè)計(jì)中涉及的許多問(wèn)題,更是對(duì)以前所學(xué)的知識(shí)的回顧及在過(guò)去的三年中學(xué)到知識(shí)的系統(tǒng)
59、總結(jié),這次設(shè)計(jì)對(duì)我們將來(lái)的工作有很大的幫助。</p><p> 在設(shè)計(jì)中,我積極查閱資料,細(xì)心鉆研各個(gè)細(xì)節(jié),完成了多功能時(shí)鐘的開(kāi)發(fā)與調(diào)試,也讓我們明白了在設(shè)計(jì)中考慮問(wèn)題應(yīng)該全面。在設(shè)計(jì)中既鍛煉了我的動(dòng)手能力,又學(xué)會(huì)查閱資料,提煉需要的信息。</p><p> 由于本人水平有限,文中難免出現(xiàn)錯(cuò)誤與不足之處,懇請(qǐng)各位老師批評(píng)指正。</p><p><b>
60、 致謝</b></p><p> 首先要感謝我的家人,是他們讓我能上大學(xué);在大學(xué)里,先要學(xué)會(huì)學(xué)習(xí)才能學(xué)的更好,是老師教了我怎樣學(xué)習(xí),到現(xiàn)在能完成畢業(yè)設(shè)計(jì),都少不了老師的功勞;在整個(gè)設(shè)計(jì)過(guò)程中,從硬件電路圖到軟件編程,應(yīng)用了相當(dāng)多的知識(shí),包含了大學(xué)三年所學(xué)的知識(shí),在此向各位任課老師表示感謝。</p><p> 在設(shè)計(jì)過(guò)程中,指導(dǎo)老師xxx老師給予了我很大幫助,李老師對(duì)設(shè)計(jì)
61、中出現(xiàn)的問(wèn)題作了及時(shí)講解和耐心指導(dǎo),使我的設(shè)計(jì)得以順利完成。在此,特向xxx老師、xxx老師、xxx老師等表示感謝;同時(shí),很多同學(xué)也給我提供了很多幫助,也向幫助我的同學(xué)表示感謝。</p><p> 附錄A:實(shí)驗(yàn)板原理圖</p><p><b> 附錄B:程序清單</b></p><p> ORG 0000H</p>
62、<p> LJMP START</p><p> ORG 000BH</p><p> LJMP INTT0</p><p> ORG 001BH</p><p> LJMP INTT1</p><p> ;;;;;;;;;;;;主程序;;;;;;;;;;;;&l
63、t;/p><p> ORG 0020H</p><p> START: MOV R0,#20H ;清20H--4FH共48個(gè)單元</p><p> MOV R7,#30H ;20H,21H標(biāo)志用</p><p> CLEARA: MOV @R0,#00H</p>
64、<p> INC R0</p><p> DJNZ R7,CLEARA</p><p> CLR P2.2</p><p> CLR P2.1</p><p> CLR P2.0</p><p> MOV SP,#50H<
65、;/p><p> MOV 33H,#01H</p><p> MOV 34H,#0AH</p><p> MOV 35H,#07H</p><p> MOV TMOD,#11H ;設(shè)T0、T1為16位定時(shí)器</p><p> MOV TL0,#00H
66、 ;50MS定時(shí)初值(T0計(jì)時(shí)用)</p><p> MOV TH0,#4CH</p><p> MOV TL1,#00H</p><p> MOV TH1,#4CH</p><p> SETB EA</p><p> SETB ET0</p>
67、<p> SETB TR0</p><p> MOV R4,#14H</p><p> START1: LCALL DISPLAY</p><p> LCALL KEY</p><p> JB ACC.3,$+6</p><p> DATE1: L
68、CALL DATE</p><p> JB ACC.2,$+6</p><p> TIMEA: LCALL TIME</p><p> JB ACC.1,$+6</p><p> SETTIME1: LCALL SETTIME</p><p> JB
69、 ACC.0,$+6</p><p> JNB 0EH,$+6 ;定時(shí)顯示判斷</p><p> LCALL RING1</p><p> SJMP START1</p><p> ;;;;;;;;;;;;;;;;;;;計(jì)時(shí)程序;;;;;;;;;;;;;;;;;;;</p&g
70、t;<p> INTT0: PUSH ACC</p><p> PUSH PSW</p><p> CLR ET0</p><p> CLR TR0</p><p> MOV A,#06H ;TL=#06H,TH=#4CH</p><p&
71、gt; ADD A,TL0 ;低8位初值修正</p><p> MOV TL0,A ;重裝初值(低8位修正值)</p><p> MOV A,#4CH </p><p> ADDC A,TH0 ;高8位初值修正</p><p> MOV TH0,A
72、 ;重裝初值(高8位修正值)</p><p> SETB TR0</p><p> DJNZ R4, $+5 ;1s未到中斷退出</p><p> LJMP $+6</p><p> LJMP OUTT0</p><p> MOV R
73、4,#14H</p><p> INC 30H</p><p> MOV A,30H</p><p> CJNE A,#3CH,$+6</p><p> LJMP $+6</p><p> LJMP OUTT0</p><p> MOV
74、 30H,#00H</p><p> INC 31H</p><p> LCALL TIME1 ;調(diào)定時(shí)比較程序</p><p> MOV A,31H</p><p> CJNE A,#3CH,$+5</p><p> SJMP $+5</p&
75、gt;<p> LJMP OUTT0</p><p> MOV 31H,#00H</p><p> INC 32H</p><p> MOV A,32H</p><p> CJNE A,#18H,$+6</p><p> LJMP $+6<
76、;/p><p> LJMP OUTT0</p><p> MOV 32H,#00H</p><p> INC 33H</p><p> MOV30H,#02H;時(shí)間修正</p><p> MOV A,34H</p><p> CJNE A
77、,#02H,$+6</p><p> LJMP MON2</p><p> CJNE A,#04H,$+6</p><p> LJMP DAY30</p><p> CJNE A,#06H,$+6</p><p> LJMP DAY30</p><p
78、> CJNE A,#09H,$+6</p><p> LJMP DAY30</p><p> CJNE A,#0BH,$+6</p><p> LJMP DAY30</p><p> MOV A,33H</p><p> CJNE A,#20H,$+6&
79、lt;/p><p> LJMP LOOP1</p><p> LJMP OUTT0</p><p> DAY30: MOV A,33H</p><p> CJNE A,#1FH,$+6</p><p> LJMP LOOP1</p><p> LJ
80、MP OUTT0</p><p> MON2: MOV A,35H</p><p> MOV B,#04H</p><p> DIV AB</p><p> MOV A,B</p><p> JZ DAY29</p><p> MO
81、V A,33H</p><p> CJNE A,#1DH,$+6</p><p> LJMP LOOP1</p><p> LJMP OUTT0</p><p> DAY29: MOV A,33H</p><p> CJNE A,#1EH,$+6</p&g
82、t;<p> LJMP LOOP1</p><p> LJMP OUTT0</p><p> LOOP1: MOV 33H,#01H</p><p> INC 34H</p><p> MOV A,34H</p><p> CJNE A,#0D
83、H,$+6</p><p> LJMP $+6</p><p> LJMP OUTT0</p><p> MOV 34H,#01H</p><p> INC 35H</p><p> MOV A,35H</p><p> CJNE A
84、,#64H,$+6</p><p> LJMP $+6</p><p> LJMP OUTT0</p><p> MOV 35H,#00H</p><p> OUTT0: POP PSW</p><p> POP ACC</p><p>
85、SETB ET0</p><p><b> RETI</b></p><p> ;;;;;;;;;;;;;;;;;;;定時(shí)比較程序;;;;;;;;;;;;;;;</p><p> TIME1: JNB 0BH,TIME2</p><p> MOV A,31H</p><
86、;p> CJNE A,37H,TIME2</p><p> MOV A,32H</p><p> CJNE A,38H,TIME2</p><p> SETB 08H ;鬧鈴1顯示標(biāo)志位置位</p><p> SJMP RING</p><p
87、> TIME2: JNB 0CH,TIME3</p><p> MOV A,31H</p><p> CJNE A,3AH,TIME3</p><p> MOV A,32H</p><p> CJNE A,3BH,TIME3</p><p> SETB
88、 09H ;鬧鈴2顯示標(biāo)志位置位</p><p> SJMP RING</p><p> TIME3: JNB 0DH,OUTTIME</p><p> MOV A,31H</p><p> CJNE A,3DH,OUTTIME</p><p> M
89、OV A,32H</p><p> CJNE A,3EH,OUTTIME</p><p> SETB 0AH ;鬧鈴3顯示標(biāo)志位置位</p><p> SJMP RING</p><p> OUTTIME: RET</p><p> RING: SET
90、B 0EH</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;;;;;;;時(shí)鐘調(diào)整程序;;;;;;;;;;;;;;;;</p><p> TIME: LCALL DL1S</p><p> LCALL KEY</p><p> JB
91、 ACC.2,$+5</p><p> SJMP $+5</p><p> LJMP START1</p><p> CLR ET0</p><p> CLR TR0</p><p> MOV 30H,#00H</p><p>
92、 SETB 05H</p><p> SETB 06H ;5、6位閃爍標(biāo)志位置位</p><p> SETB ET1</p><p> SETB TR1</p><p> MOV R2,#06H</p><p> LCALL DISP
93、LAY</p><p> LCALL KEY</p><p> JNB ACC.2,$-6 ;等待鍵釋放</p><p> TIMEHOUR: LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.2,TIM
94、EMIN ;等待鍵按下</p><p> JB ACC.3,$-9</p><p> TIMEHOUR1: LCALL DL02S</p><p> LCALL KEY</p><p> JNB ACC.3,$+19 ;等待鍵釋放</p><p> IN
95、C 32H</p><p> MOV A,32H</p><p> CJNE A,#18H,$+6</p><p> MOV 32H,#00H</p><p> SETB 05H</p><p> SETB 06H</p><p>
96、SJMP TIMEHOUR</p><p> CLR 05H</p><p> CLR 06H</p><p> INC 32H</p><p> MOV A,32H</p><p> CJNE A,#18H,$+6</p><p>
97、; MOV 32H,#00H</p><p> SJMP TIMEHOUR1</p><p> TIMEMIN: CLR 05H</p><p> CLR 06H</p><p> SETB 03H ;3、4位閃爍標(biāo)志位置位</p><p>
98、; SETB 04H</p><p> LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.2,$-6 ;等待鍵釋放</p><p> TIMEMIN1: LCALL DISPLAY</p><p> LCA
99、LL KEY</p><p> JNB ACC.2,TIMEOUT ;等待鍵按下</p><p> JB ACC.3,$-9</p><p> TIMEMIN2: LCALL DL02S</p><p> LCALL KEY</p><p> JNB
100、ACC.3,$+19 ;等待鍵釋放</p><p> INC 31H</p><p> MOV A,31H</p><p> CJNE A,#3CH,$+6</p><p> MOV 31H,#00H</p><p> SETB 03H</p
101、><p> SETB 04H</p><p> SJMP TIMEMIN1</p><p> CLR 03H</p><p> CLR 04H</p><p> INC 31H</p><p> MOV A,31H</p>
102、;<p> CJNE A,#3CH,$+6</p><p> MOV 31H,#00H</p><p> SJMP TIMEMIN2</p><p> TIMEOUT: CLR 03H</p><p> CLR 04H</p><p> CLR
103、 ET1</p><p> CLR TR1</p><p> MOV R4,#14H</p><p> SETB ET0</p><p> SETB TR0</p><p> LCALL DISPLAY</p><p> LCALL
104、 KEY</p><p> JNB ACC.2,$-6 ;等待鍵釋放</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;;;;;;;T1中斷程序;;;;;;;;;;;;;;</p><p> INTT1: PUSH ACC</p>
105、;<p> PUSH PSW</p><p> MOV TL1,#00H</p><p> MOV TH1,#4CH</p><p> DJNZ R2,INTT1OUT</p><p> MOV R2,#06H</p><p> JNB 01H
106、,$+7</p><p> CPL 02H</p><p> SJMP INTT1OUT</p><p> JNB 03H,$+7</p><p> CPL 04H</p><p> SJMP INTT1OUT</p><p> JNB
107、 05H,$+5</p><p> CPL 06H</p><p> INTT1OUT: POP PSW</p><p> POP ACC</p><p><b> RETI</b></p><p> ;;;;;;;;;;;;;;;;;;;定時(shí)顯示與
108、設(shè)定;;;;;;;;;;</p><p> SETTIME: SETB 08H</p><p> LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.1,$-6 ;等待鍵釋放</p><p> MOV 40
109、H,#0FH ;顯示時(shí)長(zhǎng)</p><p> LCALL DL02S</p><p> LCALL KEY</p><p> JNB ACC.2,TIME1SET</p><p> JNB ACC.1,DISPLAYTIME2</p><p> DJNZ
110、 40H,$-12</p><p> CLR 08H</p><p><b> RET</b></p><p> DISPLAYTIME2: CLR 08H</p><p> SETB 09H</p><p> LCALL DISPLAY</p
111、><p> LCALL KEY</p><p> JNB ACC.1,$-6 ;等待鍵釋放</p><p> MOV 40H,#0FH ;顯示時(shí)長(zhǎng)</p><p> LCALL DL02S</p><p> LCALL KEY</p&g
112、t;<p> JNB ACC.2,TIME2SET1</p><p> JNB ACC.1,DISPLAYTIME3</p><p> DJNZ 40H,$-12</p><p> CLR 09H</p><p><b> RET</b></p>
113、<p> TIME2SET1: LJMP TIME2SET</p><p> DISPLAYTIME3: CLR 09H</p><p> SETB 0AH</p><p> LCALL DISPLAY</p><p> LCALL KEY</p><p>
114、 JNB ACC.1,$-6 ;等待鍵釋放</p><p> MOV 40H,#0FH ;顯示時(shí)長(zhǎng)</p><p> LCALL DL02S</p><p> LCALL KEY</p><p> JNB ACC.1,$+9</p><p&
115、gt; JNB ACC.2,TIME3SET1</p><p> DJNZ 40H,$-12</p><p> CLR 0AH</p><p> LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.1,$-6
116、 ;等待鍵釋放</p><p><b> RET</b></p><p> TIME3SET1: LJMP TIME3SET</p><p> TIME1SET: SETB 05H;5、6位閃爍標(biāo)志位置位</p><p> SETB 06H</p>
117、<p> SETB ET1</p><p> SETB TR1</p><p> MOV R2,#06H</p><p> LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.2,$-6
118、 ;等待鍵釋放</p><p> TIME1HOUR: LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.2,TIME1MIN ;等待鍵按下</p><p> JB ACC.3,$-9</p><p> TIME1H
119、OUR1: LCALL DL02S</p><p> LCALL KEY</p><p> JNB ACC.3,$+19 ;等待鍵釋放</p><p> INC 38H</p><p> MOV A,38H</p><p> CJNE A,#18
120、H,$+6</p><p> MOV 38H,#00H</p><p> SETB 05H</p><p> SETB 06H</p><p> SJMP TIME1HOUR</p><p> CLR 05H</p><p> CLR
121、 06H</p><p> INC 38H</p><p> MOV A,38H</p><p> CJNE A,#18H,$+6</p><p> MOV 38H,#00H</p><p> SJMP TIME1HOUR1</p><p>
122、 TIME1MIN: CLR 05H</p><p> CLR 06H</p><p> SETB 03H ;3、4位閃爍標(biāo)志位置位</p><p> SETB 04H</p><p> LCALL DISPLAY</p><p> LCA
123、LL KEY</p><p> JNB ACC.2,$-6 ;等待鍵釋放</p><p> TIME1MIN1: LCALL DISPLAY</p><p> LCALL KEY</p><p> JNB ACC.2,TIME1SIGN ;等待鍵按下</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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)--基于stc單片機(jī)的電子時(shí)鐘
- 畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于單片機(jī)控制的電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---用單片機(jī)實(shí)現(xiàn)電子時(shí)鐘
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的多功能電子時(shí)鐘設(shè)計(jì)
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--單片機(jī)電子時(shí)鐘
- 單片機(jī)電子時(shí)鐘設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 基于-單片機(jī)的電子時(shí)鐘的設(shè)計(jì)
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文---基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于51單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì).doc
評(píng)論
0/150
提交評(píng)論