51電子時(shí)鐘畢業(yè)設(shè)計(jì)說(shuō)明書
《51電子時(shí)鐘畢業(yè)設(shè)計(jì)說(shuō)明書》由會(huì)員分享,可在線閱讀,更多相關(guān)《51電子時(shí)鐘畢業(yè)設(shè)計(jì)說(shuō)明書(31頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 I 摘 要 現(xiàn)代生活的人們?cè)絹?lái)越重視起了時(shí)間觀念,可以說(shuō)是時(shí)間和金錢劃上了等號(hào)。對(duì)于 那些對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來(lái)說(shuō),時(shí)間的不準(zhǔn)確會(huì)帶來(lái)非常大的麻煩,所 以以數(shù)碼管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢(shì)。本次設(shè)計(jì)主要對(duì)電子 時(shí)鐘進(jìn)行設(shè)計(jì),采用 AT89C51 單片機(jī)來(lái)保證電子時(shí)鐘的工作,并用 LED 數(shù)碼管時(shí)、分、 秒,以 24 小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來(lái)進(jìn)行顯示,用 12MHz 的晶振產(chǎn)生振 蕩脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對(duì)時(shí) 間的調(diào)整。 Abstract Modern life of people more and
2、more attention to the concept of time, can be said to be the time and money is a sign. For those who hold the person or thing is very strict in time and accurately, the time of inaccurate will bring great trouble, so as to control the display of digital clock than the clock pointer showed a big adva
3、ntage. The design of the main design of the electronic clock, use AT89C51 microcontroller to ensure the electronic clock, and the LED digital tube, FENs and MIAOs, 24 SHIs timer mode, according to digital control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the time
4、r count. In this design, the circuit has its time the function, but also can achieve the adjustment of time. II 目錄 第一章 緒論 .1 1.1 設(shè)計(jì)背景 .1 1.2 單片機(jī)的發(fā)展 .1 第二章 設(shè)計(jì)方案 .4 2.1 任務(wù)要求 .4 2.2 設(shè)計(jì)原理 .4 2.3 設(shè)計(jì)方案的確定 .4 第三章 硬件設(shè)計(jì) .5 3.1 單片機(jī)的選型 .5 3.2 時(shí)鐘電路 .7 3.3 復(fù)位電路 .7 3.4 顯示電路 .7 3.5 按鍵電路 .9 3.6 74LS245 驅(qū)動(dòng)器 .10 3.7
5、系統(tǒng)原理圖 .11 第四章 軟件設(shè)計(jì) .13 4.1 主程序 .13 4.2 調(diào)時(shí)子程序 .14 4.3 定時(shí)中斷子程序 .15 4.4 軟件消抖 .17 第五章 調(diào)試與運(yùn)行 .19 5.1 PROTEUS ISIS 的介紹 .19 5.2 仿真結(jié)果 .19 第六章 總結(jié) .21 參考文獻(xiàn) .22 致謝 .23 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 I 附錄 .24 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 1 第一章 緒論 1.1 設(shè)計(jì)背景 數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的鐘表。與機(jī)械鐘相比具有更高的準(zhǔn) 確性和直觀性,具有更長(zhǎng)的使用壽命,已得到廣泛的使用。數(shù)字鐘的設(shè)計(jì)方法有許多種,例 如可用中
6、小規(guī)模集成電路組成電子鐘,也可以利用專用的電子鐘芯片配以顯示電路及其所需 要的外圍電路組成電子鐘,還可以利用單片機(jī)來(lái)實(shí)現(xiàn)電子鐘等等。這些方法都各有其特點(diǎn), 其中利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活,以便于功能的擴(kuò)展。 近年來(lái)隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用越來(lái)越普 及了,并且由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn), 使單片機(jī)在電子和一些自動(dòng)化行業(yè)中應(yīng)用也越來(lái)越廣泛了。數(shù)字鐘的組成模塊主要由一個(gè) AT89C51 單片機(jī)模塊、用于放大信號(hào)來(lái)驅(qū)動(dòng)數(shù)碼管顯示的 74LS245、用于顯示時(shí)間的數(shù)碼管 顯示模塊、還有用于復(fù)位的按鍵部分,還有電源等部
7、分組成。 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、 劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集 成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便 等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。 1.2 單片機(jī)的發(fā)展 單片機(jī)經(jīng)過(guò) 1、2、3、3 代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、 大存儲(chǔ)容量、強(qiáng) I/O 功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢(shì)不外乎以下幾個(gè)方面: 1、多功能 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和 I/O 口都集成在一塊芯片上,使得單片機(jī)可以實(shí)
8、現(xiàn)更多的功能。比如 A/D、PWM、PCA(可編程計(jì)數(shù)器陣列) 、WDT(監(jiān)視定時(shí)器-看家狗) 、 高速 I/O 口及計(jì)數(shù)器的捕獲/比較邏輯等。 有的單片機(jī)針對(duì)某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。 例如,有的芯片以 51 內(nèi)核為核心,集成了 USB 控制器、SMART CARD 接口、MP2 解碼器、CAN 或者 I*I*C 總線控制器等,LED、LCD 或 VFD 顯示驅(qū)動(dòng)器也開始集成在 8 位單片機(jī)中。 2、高效率和高性能 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用 RISC、流水線和 DSP 的設(shè)計(jì)技術(shù),使 單片機(jī)的性能有了明顯的提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率
9、得到提高;同樣頻率的單片機(jī)運(yùn) 行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi) ROM(FLASH)和 RAM 的容量都突破了以往的數(shù)量和限制。 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級(jí)語(yǔ)言(如 C 語(yǔ)言)來(lái)開發(fā)單片機(jī)的 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 2 程序。使用高級(jí)語(yǔ)言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性, 便于改進(jìn)和擴(kuò)充功能。 3、低電壓和低功耗 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于 CMOS 等工藝的大量 采用,很多單片機(jī)可以在更低的電壓下工作(1.2V 或 0.9V) ,功耗已經(jīng)降低到 uA 級(jí)。這些 特性使得單片
10、機(jī)系統(tǒng)可以在更小電源的支持下工作更長(zhǎng)的時(shí)間。 4、低價(jià)格 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來(lái)的直接好處就是成本的降低。目前世界各大公司為 了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。 下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。 (1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰 箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。 (2)辦公自動(dòng)化領(lǐng)域 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動(dòng)、打印機(jī)、 復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。 (3)商業(yè)應(yīng)用領(lǐng)域 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但
11、更加注重設(shè)備的穩(wěn)定性、可靠性和安 全性。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等, 可靠性更高。 (4)工業(yè)自動(dòng)化 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核 心的單片機(jī)和多機(jī)系統(tǒng)。 (5)智能儀表與集成智能傳感器 目前在各種電氣測(cè)量?jī)x表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來(lái)代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè) 量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成 新一代的智能傳感器。 (6)現(xiàn)代交通與航空航天領(lǐng)域 通常應(yīng)用于電子綜合顯示系統(tǒng)、動(dòng)力監(jiān)控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視 系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗
12、、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 3 第二章 設(shè)計(jì)方案 2.1 任務(wù)要求 1.通過(guò)單片機(jī)內(nèi)定時(shí)器控制走時(shí),準(zhǔn)確持續(xù)走時(shí),調(diào)時(shí)不影響走時(shí)。 2.在 LED 數(shù)碼管上顯示時(shí)、分、秒。 3.能對(duì)時(shí)間進(jìn)行校準(zhǔn)。 2.2 設(shè)計(jì)原理 采用 AT89C51 芯片作為硬件核心,其內(nèi)部采用 Flash ROM,具有 4KB ROM 存儲(chǔ)空間,能 于 3V 的超低壓工作,本系統(tǒng)的計(jì)時(shí)方案是利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷定時(shí), 配合軟件延時(shí)實(shí)現(xiàn)對(duì)時(shí)、分、秒的計(jì)時(shí)。 圖 1.1 2.3 設(shè)計(jì)方案的確定 電子鐘的電路圖主要由單片機(jī)(AT89C51) 、按鍵電路、驅(qū)動(dòng)顯示
13、電路和 LED 顯示器四部 分組成,它主要實(shí)現(xiàn)時(shí)鐘的顯示,以及對(duì)時(shí)、分、秒進(jìn)行調(diào)整,即實(shí)現(xiàn)調(diào)時(shí)的功能。 (1)顯示方案 數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。 方案一:動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一 起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨(dú)立的 I/O 線控制, 當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個(gè)數(shù)碼管會(huì)顯示出 字形,取決于單片機(jī)對(duì)位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通 控制打開,該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各
14、個(gè)數(shù)碼管 的的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù) 碼管的點(diǎn)亮?xí)r間為 12ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上 各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù), 時(shí)鐘電路 復(fù)位電路 按鍵 AT89C51 LED 數(shù)碼管 74LS24 5 位選 段選時(shí)鐘電路 復(fù)位電路 按鍵 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 4 不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗 更低。 方案二: 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單 片機(jī)的 I/
15、O 端口進(jìn)行驅(qū)動(dòng),或者使用如 BCD 碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的 優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用 I/O 端口多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 58=40 根 I/O 端口來(lái)驅(qū)動(dòng),要知道一個(gè) 89S51 單片機(jī)可用的 I/O 端口才 32 個(gè)呢:) ,實(shí)際 應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 由于本次設(shè)計(jì)是對(duì)時(shí)間進(jìn)行顯示,如采用靜態(tài)顯示,則所占用的 I/O 口較多,電路較復(fù) 雜,所以在此選擇的是方案二,采用動(dòng)態(tài)顯示。 (2)按鍵方案 方案一:獨(dú)立式按鍵。按鍵的各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵獨(dú)立地與一根數(shù)據(jù)輸入線 (單片機(jī)并行接口或其他芯片的并行
16、接口)連接。獨(dú)立式鍵盤配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但 每個(gè)按鍵必須占用一根接口線,在按鍵數(shù)量不多時(shí),接口線占用多。 方案二:?jiǎn)蝹€(gè)按鍵。只有一個(gè)按鍵實(shí)現(xiàn)所有控制功能。 本次設(shè)計(jì)選擇方案一使用三個(gè)按鍵。 (3)計(jì)時(shí)方案 采用軟件控制: 利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行定時(shí),配合軟件定時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方 案能夠使設(shè)計(jì)者,在設(shè)計(jì)的過(guò)程中容易實(shí)現(xiàn),且節(jié)省硬件成本,因此本系統(tǒng)將采用軟件方法 實(shí)現(xiàn)計(jì)時(shí)。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 5 第三章 硬件設(shè)計(jì) 3.1 單片機(jī)的選型 由于 AT89C51 芯片的普及性和便捷性,所以選擇它作為 AT89C51 提供以下標(biāo)準(zhǔn)功能: 4k 字節(jié) Flash 閃速
17、存儲(chǔ)器,128 字節(jié)內(nèi)部 RAM,32 個(gè) I/O 口線,兩個(gè) 16 位定時(shí)/計(jì)數(shù)器, 一個(gè) 5 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí), AT89C51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。 圖 3-1 AT89C51 管腳說(shuō)明: VCC:供電電壓。 GND:接地。 (1) P0 端口: P0 是一個(gè) 8 位漏極開路型雙向 I/O 端口,端口置 1(對(duì)端口寫
18、 1)時(shí)作高 阻抗輸入端。作為輸出口時(shí)能驅(qū)動(dòng) 8 個(gè) TTL。 在訪問(wèn)外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0 口是分時(shí)轉(zhuǎn)換的地址(低 8 位)/數(shù)據(jù)總線,訪 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 6 問(wèn)期間內(nèi)部的上拉電阻起作用。 對(duì)內(nèi)部 Flash 程序存儲(chǔ)器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接 上拉電阻。 (2) P1 端口: P1 是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 I/0 端口。輸出時(shí)可驅(qū)動(dòng) 4 個(gè) TTL。端口置 1 時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。 對(duì)內(nèi)部 Flash 程序存儲(chǔ)器編程時(shí),接收低 8 位地址信息。 (3) P2 端口: P2 是一個(gè)帶有內(nèi)部上拉電阻的
19、 8 位雙向 I/0 端口。輸出時(shí)可驅(qū)動(dòng) 4 個(gè) TTL。端口置 1 時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部 Flash 程序存儲(chǔ)器 編程時(shí),接收高 8 位地址和控制信息。 在訪問(wèn)外部程序和 16 位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高 8 位地址。而在訪問(wèn) 8 位地址 的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。 (4) P3 口:P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電 流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下 拉為低電平,P3 口將輸出電流這是由于上拉的緣故。 P3 口也可作為 A
20、T89C51 的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷 0) P3.3 /INT1(外部中斷 1) P3.4 T0(計(jì)時(shí)器 0 外部輸入) P3.5 T1(計(jì)時(shí)器 1 外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。 在 FLA
21、SH 編程期間,此引腳用于輸入編程脈沖。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩 次/PSEN 有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH) ,不管是 否有內(nèi)部程序存儲(chǔ)器。注意加密方式 1 時(shí),/EA 將內(nèi)部鎖定為 RESET;當(dāng)/EA 端保持高電平 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 7 時(shí),此間內(nèi)部程序存儲(chǔ)器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP) 。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的
22、輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 3.2 時(shí)鐘電路 晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的方波信號(hào),可保證數(shù)字鐘的走時(shí)準(zhǔn)確 及穩(wěn)定.不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶體振蕩器電路。如圖 2-1 所示。 圖 3-2 單片機(jī)時(shí)鐘電路圖 3.3 復(fù)位電路 當(dāng)上電時(shí),電源對(duì)電容充電,對(duì)單片機(jī)復(fù)位,使單片機(jī)從 00H 開始執(zhí)行程序。 如下圖 2-3 所示: 圖 3-3 上電復(fù)位電路 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位如上圖所示。上 電瞬間 RST 引腳獲得高電平,隨著電容 C1 的充電,RST 引腳的高電平將逐漸下降。 3.4 顯示電路 七段
23、LED 顯示器的原理 由于系統(tǒng)要顯示的內(nèi)容較簡(jiǎn)單,顯示量不多,所以選用數(shù)碼管既方便又經(jīng)濟(jì)。LED 有共 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 8 陰極和共陽(yáng)極兩種。如圖 2-4 所示。 二極管的陰極連接在一起,通常此公共陰極接地,而共陽(yáng)極則將發(fā)光二極管的陽(yáng)極連接 在一起,接入+5V 的電壓。一位顯示器由 8 個(gè)發(fā)光二極管組成,其中 7 個(gè)發(fā)光二極管構(gòu)成字 型“8”的各個(gè)筆劃(段)ag,另一個(gè)小數(shù)點(diǎn)為 dp 發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加 一定的正向電壓時(shí),該段筆劃即亮;不加電壓則暗。 圖 3-4 LED 數(shù)碼管結(jié)構(gòu)原理圖及實(shí)物圖 LED 顯示數(shù)碼管通常由硬件 7 段譯碼集成電路,完成從數(shù)字到顯示
24、碼的譯碼驅(qū)動(dòng)。本系 統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢(shì)還在于比硬件譯碼有 更大的靈活性。所謂軟件譯碼,即由單片機(jī)軟件完成從數(shù)字到顯示碼的轉(zhuǎn)換。從 LED 數(shù)碼管 結(jié)構(gòu)原理可知,為了顯示字符,要為 LED 顯示數(shù)碼管提供顯示段碼,組成一個(gè)“8”字形字 符的 7 段,再加上 1 個(gè)小數(shù)點(diǎn)位,共計(jì) 8 段,因此提供給 LED 數(shù)碼管的顯示段碼為 1 個(gè)字節(jié)。 各段碼位與顯示段的對(duì)應(yīng)關(guān)系如表 2-2。 表 2-2 各段碼位的對(duì)應(yīng)關(guān)系 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 9 段碼位 D0 D1 D2 D3 D4 D5 D6 D7 顯示段 A B C D E F G DP 將 AT
25、89C2051 的 P2.0P2.7 分別與共陰數(shù)碼管的 ag 及 dp 相連,高電平的位對(duì)應(yīng)的 LED 數(shù)碼管的段暗,低電平的位對(duì)應(yīng)的 LED 數(shù)碼管的段亮,這樣,當(dāng) P0 口輸出不同的段碼, 就可以控制數(shù)碼管顯示不同的字符。 表 2-3 LED 顯示段碼 字型 共陽(yáng)極段碼 共陰極段碼 0 C0H 3FH 1 F9H 06H 2 A4H 5BH 3 BOH 4FH 4 99H 66H 5 92H 6DH 6 82H 7DH 7 F8H 07H 8 80H 7FH 9 90H 6FH 數(shù)碼管顯示器有二種工作方式,即靜態(tài)顯示方式和動(dòng)態(tài)掃描顯示方式。 動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量
26、的 I/O 端口,而且功耗更低,所以 本次設(shè)計(jì)使用動(dòng)態(tài)顯示。 3.5 按鍵電路 按鍵的開關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng)的 I/O 端 口形成一個(gè)負(fù)脈沖。閉合和釋放過(guò)程都要經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定,這一過(guò)程是處于高、 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 10 低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開關(guān)的機(jī)械特性有關(guān), 一般在 5-10ms 之間。為了避免 CPU 多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本文 采用的是獨(dú)立式按鍵,直接用 I/O 口線構(gòu)成單個(gè)按鍵電路,按鍵占用一條 I/O 口線。如圖 2-5 所示。 圖 3-5 按鍵電路 圖 3
27、-6 按鍵實(shí)物圖 為了充分利用單片機(jī) I/O 口本設(shè)計(jì)采用動(dòng)態(tài)顯示,單片機(jī) P1 口接段碼,P2 口接位選, 然而 P1 不能直接驅(qū)動(dòng)數(shù)碼管,所以應(yīng)使用驅(qū)動(dòng)。 3.6 74LS245 介紹 74LS245 是常用的芯片,用來(lái)驅(qū)動(dòng) led 或者其他的設(shè)備,它是 8 路同相三態(tài)雙向總線收 發(fā)器,可雙向傳輸數(shù)據(jù)。 74LS245 還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。 當(dāng) 80C51 單片機(jī)的 P1 口總線負(fù)載達(dá)到或超過(guò) P1 最大負(fù)載能力時(shí),必須接入 74LS245 等 總線驅(qū)動(dòng)器。 當(dāng)片選端/CE 低電平有效時(shí),DIR=“0” ,信號(hào)由 B 向 A 傳輸;(接收) DIR=“1”,信號(hào)
28、由 A 向 B 傳輸;(發(fā)送)當(dāng) CE 為高電平時(shí),A、B 均為高阻態(tài)。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 11 E 是 H 時(shí),A,B 為高阻 E 為 L,DIR 為 L 時(shí),BA E 為 L,DIR 為 H 時(shí),AB 圖 3-7 74LS245 引腳圖及實(shí)物圖 3.7 系統(tǒng)原理圖 AT89C51 的 P3 口接入三個(gè)按鍵,對(duì)時(shí)、分、秒進(jìn)行調(diào)整。P1 口輸出字段碼,控制要顯 示的字符,外接 74LS245 芯片,驅(qū)動(dòng) LED 顯示。P2 口輸出字位碼,去控制要顯示的位,其 原理圖如圖 2-7 所示。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 12 P1.01 P1.12 P1.23 P1.34 P1.4
29、5 P1.56 P1.67 P1.78 RST9 P3.0/RXD10 P3.1/TXD11 P3.2/INT012 P3.3/INT113 P3.4/T014 P3.5/T115 P3.6/WR16 P3.7/RD17 XTAL218 XTAL119 GND20 A8/P2.0 21A9/P2.1 22A10/P2.2 23A11/P2.3 24 A12/P2.4 25A13/P2.5 26A14/P2.6 27 A15/P2.7 28PSEN 29ALE/PROG 30 EA 31AD7/P0.7 32AD6/P0.6 33 AD5/P0.5 34AD4/P0.4 35AD3/P0.3 3
30、6 AD2/P0.2 37AD1/P0.1 38AD0/P0.0 39 Vcc 40 U1 AT89C51C1 22PF C222PF X1 12MHZ S1 SW-PB S2 SW-PB S3 SW-PB RST C310ufVCC VCC VCC G19 DIR1 A12 B1 18A23 B2 17 A34 B3 16A45 B4 15 A56 B5 14A67 B6 13 A78 B7 12A89 B8 11 U2 74LS245 R110k RST S0S1 S2S3 S4S5 S6S7 VCC b0b1 b2b3 b4b5 12 34 56 7 a b c d e f g8 dp
31、9 GND a bf c g de dp a b c d e f g dp 9 GND a bf c g de dp a b c d e f g dp 9 GND a bf c g de dp a b c d e f g dp 9 GND a bf c g de dp a b c d e f g dp 9 GND a bf c g de dp a b c d e f g dp 9 GND a bf c g de dp b0 b1 b2 b3 b4 b5 S0S1 S2S3 S4S5 S6S7 A0A1 A2A3 A4A5 A6A7 A0A1 A2A3 A4A5 A6A7 圖 3-8 電子鐘原理
32、圖 當(dāng)接入電源時(shí),數(shù)字電子鐘以秒為單位開始計(jì)時(shí)。運(yùn)行狀態(tài)下,按下控制按鍵 S1,對(duì) 小時(shí)進(jìn)行調(diào)整;按下 S2 調(diào)整分鐘;按下 S3 對(duì)秒清零。這樣通過(guò)三個(gè)按鍵,分別對(duì)時(shí)、分、 秒進(jìn)行調(diào)整,從而實(shí)現(xiàn)調(diào)時(shí)。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 13 第四章 軟件設(shè)計(jì) 4.1 主程序 初始化將時(shí)、分、秒各單元的內(nèi)容清空,置 T0 為計(jì)數(shù)器方式 1,分別給計(jì)數(shù)器的高 8 位和低 8 位賦計(jì)數(shù)初值,啟動(dòng) T0 工作。鍵入一個(gè)按鍵,如執(zhí)行此動(dòng)作,秒值加 1,否則重 新鍵如按鍵。 主程序模塊:主程序流程圖,如圖 3-1 所示 圖 4-1 主程序流程圖 N 內(nèi)存單元清零 調(diào)時(shí)子程序 顯示程序 T0 為 16 位計(jì)
33、數(shù)器 允許 T0 中斷 開始 按鍵控制子 程序 Y 中斷返回 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 14 4.2 調(diào)時(shí)子程序 調(diào)時(shí)子程序用于調(diào)整時(shí)間。以秒為例,按下按鍵 S2,判斷 S2 是否真的被按下,若沒(méi)有 鍵按下,轉(zhuǎn)到 MIN_SET 程序段,再次鍵入按鍵,重新判斷。若按鍵按下了,則調(diào)用延 時(shí)程序,消除抖動(dòng)現(xiàn)象分值加 1,當(dāng)分值大于 60 時(shí),分清零,進(jìn)行下一次計(jì)時(shí),同時(shí) 分加一,并轉(zhuǎn)到 DISP 顯示。此過(guò)程循環(huán)執(zhí)行,其程序流程圖如圖 4-2 所示: 圖 4-2 鍵輸入程序流程圖 MIN_SET: CALL DISP ;調(diào)用顯示程序 JNB P3.2,MIN_SET ;P3.2 按下跳到調(diào)分
34、程序 INC 76H ;分的個(gè)位加 1 MOV R5,76H CJNE R5,#10,MIS1 ;個(gè)位不為 10 跳到 MIS1 MOV 76H,#0 ;個(gè)位清零 INC 77H ;十位加 1 MOV R5,77H CJNE R5,#6,MIS1 ;十位不為 6 跳到 MIS1 MOV 77H,#0 ;分清零 MOV 76H,#0 RET MIS1: RET ;調(diào)分返回 顯示 S2 是否按下 否按下 分值加 1 分是否大 于 60 清零 N 調(diào)用延時(shí) Y Y N 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 15 4.3 定時(shí)器中斷子程序 圖 4-3 定時(shí)器中斷流程圖 N 24 小時(shí)是否到 分單元清零,時(shí)單
35、元加 1 N N N Y Y 時(shí)單元清零 時(shí)間顯示 中斷返回 開始 是否運(yùn)行 60 秒時(shí)間是否到 60 分鐘是否到 秒單元加 1 秒單元清零,分單元加 1 Y Y 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 16 INTT0: PUSH ACC ;入棧,保護(hù)現(xiàn)場(chǎng) PUSH PSW CLR ET0 ;關(guān)閉中觀允許 CLR TR0 ;關(guān)閉中斷 MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正 ADD A,TL0 ;低 8 位初值修正 MOV TL0,A MOV A,#3CH ;高 8 位初值修正 ADDC A,TH0 MOV TH0,A SETB TR0 ;開啟定時(shí)器 T0 DJNZ R4,OUT ;20 次中
36、斷未到中斷退出 ADDS: MOV R4,#14H ;20 次中斷到重賦初值 MOV R0,#71H ;指向秒計(jì)時(shí)單元 ACALL ADD1 ;調(diào)用 ADD1 MOV A,R3 ;秒數(shù)據(jù)放入 A CLR C ;清零進(jìn)位標(biāo)志 CJNE A,#60H,ADDMM ;秒是否到了 60,是則跳轉(zhuǎn) ADDMM: JC OUT ;小雨 60 秒中斷退出 ACALL CLR0 ;等于 60 秒調(diào)用 CLR0 清零秒 MOV R0,#77H ;指向分計(jì)時(shí)單元 ACALL ADD1 ;調(diào)用 ADD1 MOV A,R3 ;分?jǐn)?shù)據(jù)放入 A CLR C ;清零進(jìn)位標(biāo)志 CJNE A,#60H,ADDH ;分是否到了
37、60,是則跳轉(zhuǎn) ADDH: JC OUT ;小于 60 分時(shí)中斷退出 ACALL CLR0 ;等于 60 分調(diào)用 CLR0 清零秒 MOV R0,#79H ;指向時(shí)計(jì)時(shí)單元 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 17 ACALL ADD1 ;調(diào)用 ADD1 MOV A,R3 ;時(shí)數(shù)據(jù)放入 A CLR C ;清零進(jìn)位標(biāo)志 CJNE A,#24H,HOUR ;時(shí)是否到了 24,是則跳轉(zhuǎn) 4.4 軟件消抖 按鍵抖動(dòng)時(shí)間一般為 5ms10ms,因此去抖動(dòng) 10MS,軟件消抖有定時(shí)器定時(shí),和利用延 時(shí)子程序兩種方式。 DL1MS: MOV R6,#10 DL1: MOV R7,#249 DL2: NOP NO
38、P DJNZ R7,DL2 DJNZ R6,DL1 RET END 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 18 第五章 調(diào)試與運(yùn)行 5.1 Proteus ISIS 的介紹 Proteus ISIS 是英國(guó) Labcenter 公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于 Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是: 實(shí)現(xiàn)了單片機(jī)仿真和 SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī) 及其外圍電路組成的系統(tǒng)的仿真、RS232 動(dòng)態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分
39、析儀、信號(hào)發(fā)生器等。支持主流單 片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000 系列、8051 系列、AVR 系列、PIC12 系 列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各種外圍芯片。提供軟件調(diào)試功 能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄 存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟 件編譯和調(diào)試環(huán)境,如 Keil C51 uVision2 等軟件。 具有強(qiáng)大的原理圖繪制功能??傊?該軟件是一款集單片機(jī)和 SPICE 分析于一身的仿真軟件,功能極其強(qiáng)大。 5.2 調(diào)試和運(yùn)行 在
40、 KEIL (單片機(jī)匯編) C51 軟件中編寫好的程序,將程序放入單片機(jī)仿真軟件中,結(jié) 合硬件電路進(jìn)行調(diào)試與運(yùn)行。 1.程序通電開始狀態(tài) XTAL218XTAL119 ALE30E31PSN29 RST9 P0./AD0390.1/ 138P0.2/AD2370.3/ 336P0.4/AD435 0.5/ 534P0.6/AD630.7/ 732 P1.0/T21 1./2EX2P1.23 1.34P1.45 1.56P1.67 1.78 P3.0/RXD103.1/T 1P3.2/IN0123./IT113P3.4/014 P3.7/RD173.6/W163.5/T115 P2.7/A152
41、8 P2.0/A8212.1/92P2./A10232.3/1 24P2.4/A1225 2.5/13262.6/1427 U1 AT89C52 C12pFC2 2pFC3 10uF X112mhzR1 10k A02B018 13117 A24B216 35315 A46B414 57513 A68B612 7971 CE19 AB/A1 U2 74LS245 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 19 2.按動(dòng) S1 鍵,對(duì)時(shí)調(diào)時(shí) XTAL218XTAL119 ALE30E1PSN29 RST9 P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435 .5/54P0.6/
42、AD63.7/72 P1.0/T21 ./EX2P1.23 .34P1.45 .56P1.67 .78 P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014 P3.7/RD17.6/W6.5/T15 P2.7/A1528 P2.0/A821.1/9P2./A023.3/1 4P2.4/A225 .5/136.6/47 U1 AT89C52 C12pFC2 2pFC3 10uF X112mhzR1 10k A02B018 1317 A24B216 3535 A46B414 5753 A68B612 797 CE19 AB/A U2 74LS245 3.按動(dòng) S2 鍵,對(duì)分
43、調(diào)時(shí) XTAL218XTAL119 ALE30EA31PSEN29 RST9 P0./AD039P0.1/A138P0.2/AD237P0.3/A336 P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732 P1.0/T21P1./T2EX2P1.23P1.34 P1.45P1.56P1.67P1.78 P3.0/RXD10P3.1/TX1P3.2/INT012P3./IT113 P3.4/T014P3.7/RD17P3.6/W16P3.5/T115 P2.7/A1528 P2.0/A821P2.1/A92P2./A1023P2.3/A124 P2.4/A1225P2.5
44、/A1326P2.6/A1427 U1 AT89C52 C12pF C22pF C310uF X112mhz R110k A02B018 A13B117 A24B216 A35B315 A46B414 A57B513 A68B612 A79B71 CE19AB/A1 U2 74LS245 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 20 3.按動(dòng) S3 鍵,對(duì)秒清零 XTAL218XTAL119 ALE30EA31PSEN29 RST9 P0./AD039P0.1/A138P0.2/AD237P0.3/A336 P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732 P1.0/T21P
45、1./T2EX2P1.23P1.34 P1.45P1.56P1.67P1.78 P3.0/RXD10P3.1/TX1P3.2/INT012P3./IT113 P3.4/T014P3.7/RD17P3.6/W16P3.5/T115 P2.7/A1528 P2.0/A821P2.1/A92P2./A1023P2.3/A124 P2.4/A1225P2.5/A1326P2.6/A1427 U1 AT89C52 C12pF C22pF C310uF X112mhz R110k A02B018 A13B117 A24B216 A35B315 A46B414 A57B513 A68B612 A79B71
46、CE19AB/A1 U2 74LS245 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 21 第六章 總結(jié) 在數(shù)字電子鐘的設(shè)計(jì)過(guò)程中,出現(xiàn)了很多的問(wèn)題。在調(diào)試運(yùn)行過(guò)程中,我的對(duì)程序和圖 進(jìn)行了很多次的修改最終終于定下最為合適的結(jié)果。數(shù)字電子鐘在運(yùn)行時(shí)會(huì)產(chǎn)生一定延時(shí)誤 差,產(chǎn)生誤差的主要原因是我們用軟件計(jì)時(shí),計(jì)1秒是采用定時(shí)器的中斷服務(wù)程序。當(dāng)數(shù)字 鐘運(yùn)行1秒,執(zhí)行中斷程序需要一定時(shí)間,這個(gè)時(shí)間就是所產(chǎn)生的誤差,這個(gè)誤差是不可避 免的。同時(shí),單片機(jī)工作也會(huì)受到環(huán)境的影響,比如溫度、濕度,以及其它電子設(shè)備的干擾。 因此,應(yīng)該讓數(shù)字鐘工作在適度溫度、干燥和電子干擾較少的環(huán)境下,還有一種方法就是采 用實(shí)時(shí)時(shí)鐘芯片,
47、這樣可以使誤差降低到最少。此次設(shè)計(jì)的數(shù)字電子鐘過(guò)于簡(jiǎn)單化,現(xiàn)在的 很多種數(shù)字電子鐘已經(jīng)擁有很多功能,比如說(shuō)加實(shí)時(shí)時(shí)鐘芯片,加溫度控制,加鬧鐘等功能 來(lái)完善這個(gè)電子鐘。 隨著時(shí)間的推移,計(jì)算機(jī)革命的完成,信息高速公路的飛速發(fā)展,我們的工業(yè)已經(jīng)和自動(dòng) 化控制密不可分了.單片機(jī)應(yīng)用在我國(guó)才剛剛起步,有著廣闊的前景。培養(yǎng)單片機(jī)應(yīng)用人才, 特別是在工程技術(shù)人員中普及單片機(jī)知識(shí)有著重要的現(xiàn)實(shí)意義。而數(shù)字鐘具備單片機(jī)最小系 統(tǒng)的基本組成,對(duì)于我們了解單片機(jī)有很大的幫助。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 22 參考文獻(xiàn) 1.李全利主編,單片機(jī)原理及應(yīng)用技術(shù),高等教育出版社,2010 2.李東生.張勇,許四毛.
48、 Protell99SE 電路設(shè)計(jì)技術(shù)入門與應(yīng)用M.北京:電子工業(yè) 出版社,2002; 3.揚(yáng)剛主.電子系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)出版社M 2004 4.盧結(jié)成. 電子電路實(shí)驗(yàn)及應(yīng)用課題設(shè)計(jì)M.中國(guó)科學(xué)技術(shù)大學(xué)出版社,2002 年 5.李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)M.北京航空航天出版社,2001.7 6.謝維成,楊加國(guó).單片機(jī)原理與應(yīng)用及 C51 程序設(shè)計(jì)M.清華大學(xué)出版社,2007.2 7. 關(guān)宗安,仲叢久.基于單片機(jī)實(shí)現(xiàn)的多路定時(shí)控制器的設(shè)計(jì).沈陽(yáng)航空工業(yè)學(xué)院學(xué)報(bào). 2004 年 6 月 8.何希慶,高偉.MCS-51 單片機(jī)原理、實(shí)驗(yàn)、實(shí)例M.山東:山東大學(xué)出版社.1989 9.劉飛
49、等,兩種數(shù)字鐘電路設(shè)計(jì)比較J 湖北師范學(xué)院學(xué)報(bào) .2003,2(23):40-43 10.胥筱門,單片機(jī)系統(tǒng)的試驗(yàn)及應(yīng)用J 電子制作.1999,(6):20-30 11.房小翠,王金鳳.單片微型計(jì)算機(jī)與機(jī)電接口技術(shù)M.北京國(guó)防工業(yè)出版社.2002 12.姜治臻.單片機(jī)技術(shù)及應(yīng)用.高等教育出版社.2009 年 4 月 13.周潤(rùn)景,張麗娜基于 PROTEUS 的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真M北京:航空航 天 大學(xué)出版社 ,2006.P321P326 14.李廣弟等 單片機(jī)基礎(chǔ) 北京航空航天出版社, 2001.7 15.何立民主編, 單片機(jī)應(yīng)用技術(shù)選編 北京航空航天大學(xué)出版社 2004.3 無(wú)錫職業(yè)
50、技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 23 致謝 首先衷心地感謝我的畢業(yè)設(shè)計(jì)指導(dǎo)老師曾老師。本設(shè)計(jì)從選題到完成,從理論上的探討 到實(shí)際問(wèn)題的解決,無(wú)處不飽含著曾老師的心血。曾老師的悉心指導(dǎo)和建議給了我極大的幫 助和支持,使我受益匪淺,在此論文完成之際,謹(jǐn)向曾老師致以深深的謝意和崇高的敬意。 同時(shí)感謝的還有我的家人,是他們讓我能上大學(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í),在此 向各位任課老師表示感謝。 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 24 附錄 程序清單
51、ORG 0000H ;程序開始地址 LJMP MAIN ;跳到 MAIN ORG 000BH ;T0 中斷程序入口 LJMP INTT0 ;跳到 T0 開始執(zhí)行程序 ORG 0100H MAIN: MOV R0,#70H ;準(zhǔn)備 70H-79H 10 個(gè)字節(jié)空間 MOV R7,#09H CLRDISP: MOV R0,#00H ;將 70H-79H 初始化為 00H INC R0 DJNZ R7,CLRDISP MOV TMOD,#01H ;設(shè) T0 為 16 位定時(shí)器 MOV TL0,#0B0H ;賦初始值 MOV TH0,#3CH SETB EA ;CPU 開中斷 SETB ET0 ;允許
52、 T0 中斷 SETB TR0 ;啟動(dòng) T0 MOV R4,#14H ;1S 設(shè)定初始值 LOOP: LCALL DISP ;調(diào)用顯示程序 JB P3.0,LOOP1 ;判斷 P3.0 有無(wú)按下 LCALL HOUR_SET ;調(diào)用小時(shí)設(shè)定程序 AJMP LOOP LOOP1: JB P3.2,LOOP2 ;判斷 P3.2 有無(wú)按下 LCALL MIN_SET ;調(diào)用分設(shè)定程序 AJMP LOOP LOOP2: JB P3.4,LOOP3 ;判斷 P3.4 有無(wú)按下 LCALL CLR0 ;調(diào)用清零程序,這里只清零秒 AJMP LOOP LOOP3: AJMP LOOP HOUR_SET: C
53、ALL DISP ;調(diào)用顯示程序 JNB P3.0,HOUR_SET;P3.0 按下跳到調(diào)小時(shí)程序 INC 78H ;小時(shí)的個(gè)位加 1 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 25 MOV R6,78H CJNE R6,#10,HOUR1;個(gè)位不為 10 跳到 HOUR1 MOV 78H,#0 ;個(gè)位清零 INC 79H ;十位加 1 JMP HOUR2 ;跳到 HOUR2 HOUR1: MOV R6,78H CJNE R6,#4,HOUR2 ;個(gè)位不為 4 跳到 HOUR2 MOV R6,79H CJNE R6,#2,HOUR2 ;十位不為 2 跳到 HOUR2 MOV 78H,#0 ;小時(shí)清零 M
54、OV 79H,#0 HOUR2: RET ;調(diào)時(shí)返回 MIN_SET: CALL DISP ;調(diào)用顯示程序 JNB P3.2,MIN_SET ;P3.2 按下跳到調(diào)分程序 INC 76H ;分的個(gè)位加 1 MOV R5,76H CJNE R5,#10,MIS1 ;個(gè)位不為 10 跳到 MIS1 MOV 76H,#0 ;個(gè)位清零 INC 77H ;十位加 1 MOV R5,77H CJNE R5,#6,MIS1 ;十位不為 6 跳到 MIS1 MOV 77H,#0 ;分清零 MOV 76H,#0 RET MIS1: RET ;調(diào)分返回 INTT0: PUSH ACC ;入棧,保護(hù)現(xiàn)場(chǎng) PUSH
55、PSW CLR ET0 ;關(guān)閉中觀允許 CLR TR0 ;關(guān)閉中斷 MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正 ADD A,TL0 ;低 8 位初值修正 MOV TL0,A 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 26 MOV A,#3CH ;高 8 位初值修正 ADDC A,TH0 MOV TH0,A SETB TR0 ;開啟定時(shí)器 T0 DJNZ R4,OUT ;20 次中斷未到中斷退出 ADDS: MOV R4,#14H ;20 次中斷到重賦初值 MOV R0,#71H ;指向秒計(jì)時(shí)單元 ACALL ADD1 ;調(diào)用 ADD1 MOV A,R3 ;秒數(shù)據(jù)放入 A CLR C ;清零進(jìn)位標(biāo)志
56、CJNE A,#60H,ADDMM;秒是否到了 60,是則跳轉(zhuǎn) ADDMM: JC OUT ;小雨 60 秒中斷退出 ACALL CLR0 ;等于 60 秒調(diào)用 CLR0 清零秒 MOV R0,#77H ;指向分計(jì)時(shí)單元 ACALL ADD1 ;調(diào)用 ADD1 MOV A,R3 ;分?jǐn)?shù)據(jù)放入 A CLR C ;清零進(jìn)位標(biāo)志 CJNE A,#60H,ADDH ;分是否到了 60,是則跳轉(zhuǎn) ADDH: JC OUT ;小于 60 分時(shí)中斷退出 ACALL CLR0 ;等于 60 分調(diào)用 CLR0 清零秒 MOV R0,#79H ;指向時(shí)計(jì)時(shí)單元 ACALL ADD1 ;調(diào)用 ADD1 MOV A,
57、R3 ;時(shí)數(shù)據(jù)放入 A CLR C ;清零進(jìn)位標(biāo)志 CJNE A,#24H,HOUR ;時(shí)是否到了 24,是則跳轉(zhuǎn) HOUR: JC OUT ;小于 24 時(shí)時(shí)中斷退出 ACALL CLR0 ;調(diào)用 CLR0 OUT: MOV 72H,76H ;將分的存儲(chǔ)地址轉(zhuǎn)移 MOV 73H,77H MOV 74H,78H ;將時(shí)的存儲(chǔ)地址轉(zhuǎn)移 MOV 75H,79H 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 27 POP PSW ;恢復(fù)現(xiàn)場(chǎng) POP ACC SETB ET0 RETI CLR0: CLR A ;清零 A MOV R0,A ;清零 R0 存放地址中的數(shù)據(jù) DEC R0 ;R0 地址減 1 MOV R
58、0,A RET ADD1: MOV A,R0 ;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到 A DEC R0 ;指向前一地址 SWAP A ;A 中數(shù)據(jù)高四位與低四位交換 ORL A,R0 ;前一地址中數(shù)據(jù)放入 A 中低四位 ADD A,#01H ;A 加 1 操作 DA A ;十進(jìn)制調(diào)整 MOV R3,A ;移入 R3 寄存器 ANL A,#0FH ;高四位變 0 MOV R0,A ;放回前一地址單元 MOV A,R3 ;取回 R3 中暫存數(shù)據(jù) INC R0 ;指向當(dāng)前地址單元 SWAP A ;A 中數(shù)據(jù)高四位與低四位交換 ANL A,#0FH ;高四位變 0 MOV R0,A ;數(shù)據(jù)放入當(dāng)削地址單元中 RET
59、;子程序返回 DISP: MOV R1,#70H ;指向顯示數(shù)據(jù)首址 MOV R5,#01H ;掃描控制字初值 PLAY: MOV A,R5 ;掃描字放入 A MOV P2,A ;從 P2 口輸出 MOV A,R1 ;取顯示數(shù)據(jù)到 A MOV DPTR,#TABLE ;取段碼表地址 MOVC A,A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼 MOV P1,A ;段碼放入 P1 口 無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書 28 LCALL DL1MS ;顯示 1MS INC R1 ;指向下一地址 MOV A,R5 ;掃描控制字放入 A JB ACC.5,ENDOUT ;ACC.5=0 時(shí)一次顯示結(jié)束 RL A ;A 中數(shù)據(jù)循環(huán)左移 MOV R5,A ;放回 R5 內(nèi) AJMP PLAY ;跳回 PLAY 循環(huán) ENDOUT: CLR P2.5 ;一次顯示結(jié)束,P2 口復(fù)位 RET ;子程序返回 TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DL1MS: MOV R6,#10 DL1: MOV R7,#249 DL2: NOP NOP DJNZ R7,DL2 DJNZ R6,DL1 RET END
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六級(jí)上冊(cè)科學(xué)ppt課件-誰(shuí)選擇了它們-教科版
- 護(hù)理核心制度培訓(xùn)一_圖文課件
- 部編《池子與河流》課件
- SWOT分析法(非常全面)課件
- 主題班會(huì)我的成長(zhǎng)目標(biāo)課件
- 城市交通擁堵及治理總結(jié)課件
- 輸血相關(guān)性急性肺損傷課件
- 議論文的謀篇布局與論點(diǎn)的提出ppt課件
- 六級(jí)上冊(cè)科學(xué)ppt課件-地球的近鄰——月球-冀人版
- 疾病預(yù)防、冬季保暖-課件
- 中考英語(yǔ)語(yǔ)法復(fù)習(xí)之狀語(yǔ)從句ppt課件集4
- 《百分?jǐn)?shù)的意義和讀寫》參考ppt課件
- 主題班會(huì)堅(jiān)持就是勝利課件
- 第二章--用人單位對(duì)大學(xué)生的要求概況ppt課件
- 教科版六年級(jí)科學(xué)上冊(cè)第三單元檢測(cè)卷(含答案)課件