【正文】
軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。 走時(shí)調(diào)整:按 一下 S13 對(duì)秒進(jìn)行調(diào)整,按 兩下 S13 對(duì)分進(jìn)行調(diào)整,按三下 S13對(duì)時(shí)進(jìn)行調(diào)整,按四下 S13 對(duì)日進(jìn)行調(diào)整,按五下 S13 對(duì)月進(jìn)行調(diào)整,按六下 S13對(duì)年 進(jìn)行調(diào)整, 按七下 S13 對(duì)定秒進(jìn)行調(diào)整,按八下 S13 對(duì)定分進(jìn)行調(diào)整,按九下S13 對(duì)定時(shí)進(jìn)行調(diào)整,按十下 S13 重新顯示時(shí)間, 按 一下 S14 對(duì)數(shù)據(jù)進(jìn)行加一,按一下 S15 對(duì) 數(shù)據(jù)進(jìn)行減一,按一下 S16 顯示年月日 5 秒 。 P1=~P1。 } } } } } } } void timer1() interrupt 3 // 定時(shí)器 1 中斷程序 { TH1=(6553650000)/256。 if(fen==60) { fen=0。 display_dshi(dshi)。num7)) { display_ri(ri)。 } while(s16==0)。 } if(num==7) { dmiao。 } if(num==3) { shi。 } if(num==9) { dshi++。 } if(num==5) { yue++。 if(num==1) { miao++。 if(num==10) num=0。 miao=0。 P2=6。 P0=table[0]。 delay(3)。 TL1=(6553650000)%256。 delay(3)。 // P2=5。 sh=dat/10。 ge=dat%10。 P2=6。 P0=table[sh]。 delay(3)。 } void display_dfen(uchar dat) //顯示定分 { uchar sh,ge。 P0=table[sh]。 delay(3)。 } void display_dshi(uchar dat) // 顯示 定時(shí) { uchar sh,ge。 P0=table[sh]。 void delay(uchar z) /******** 延時(shí)函數(shù) ***********/ { uchar x。 //*鍵盤(pán) S13 是根據(jù) num 值來(lái)選擇所調(diào)的內(nèi)容(時(shí)分秒,年月日,定時(shí)定分定秒) sbit s14=P3^1。 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與應(yīng)用 24 程序流程圖 這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示。 7. P1 口 ,P2 口 —— P1, P2 是一組帶內(nèi)部上拉電阻的 8 位雙向 I/O 口。當(dāng) P1^6 為高電平時(shí),蜂鳴器響。 74HC138 特有 3個(gè)使能輸入端:兩個(gè)低有效( E1 和 E2)和一個(gè)高有效( E3)。 在加電時(shí),復(fù)位電路通過(guò)電 容加給 RST 端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨 著 Vcc 對(duì)電容的充電過(guò)程而逐漸回落,即 RST 端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。 Pin31:EA/Vpp 程序存儲(chǔ)器的內(nèi)外部選通線, 8051 和 8751 單片機(jī),內(nèi)置有 4kB的程序存儲(chǔ)器,當(dāng) EA 為高電平并且程序地址小于 4kB 時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò) 4kB 地址則讀取外部指令數(shù)據(jù)。然而,初始復(fù)位不改變 RAM(包括工作寄存器 R0R7)的狀態(tài), 8052 的初始態(tài) 。 單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛 (Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓 (Princeton)結(jié)構(gòu)。 單片機(jī)的基本結(jié)構(gòu) MCS52 單片機(jī)內(nèi)部結(jié)構(gòu) 8052 單片機(jī)包含中央處理器、程序存儲(chǔ)器 (ROM)、數(shù)據(jù)存儲(chǔ)器 (RAM)、定時(shí) /計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明: 中央處理器 中央處理器 (CPU)是整個(gè)單片機(jī)的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與應(yīng)用 11 8 位二進(jìn)制數(shù)據(jù)或代碼, CPU 負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成 新一代的智能傳感器。 下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。 高效率和高性能 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開(kāi)始使用 RISC、流水線和 DSP 的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi) ROM( FLASH)和 RAM 的容量都突破了以往的數(shù)量和限制 。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用 I/O埠多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 5 8= 40 根 I/O 埠來(lái)驅(qū)動(dòng) 。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn) 1 秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加 1;若秒值達(dá)到 60,則將其清零,并將相應(yīng)的分字節(jié)值加 1;若分值達(dá)到 60,則清零分字節(jié),并將時(shí)字節(jié)值加 1;若時(shí)值達(dá)到 24,則將十字節(jié)清零 ,日子節(jié)加 1,同理還有月子節(jié)、年字節(jié) 。根據(jù)需要,可利用兩種方案實(shí)現(xiàn)。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 關(guān)鍵字 數(shù)字電子鐘 單片機(jī) 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與應(yīng)用 3 Abstract The late 20th century, electronic technology has been rapid development in its promotion, peration of modern electronic products will almost fields, a strong impetus to the development of social productive forces and social improvement in the level of information, while also further improve the performance of modern electronic products, replacement products have bee increasingly fast pace. Growing emphasis on modern life from the time the concept of time and money can be said to draw the equal sign. For those who are very strict and accurate grasp of time and things, time will not exactly bring a very big trouble, so as to control the display of digital clock than the clock pointer showed a big advantage. Digital display of time reading simple and fast, accurate display of time to seconds. The mechanical oscillator depends on the crystal may lead to errors. Digital Clock is a digital circuit implementation of the when, sub, seconds The figures show the timing device. Digital clock precision, stability, far more than the old mechanical clock. In this design, we use LED digital display hours, minutes, seconds, according to digital control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the timer count. In this design, the circuit has a display time of the this function, you can also re alize the time adjustment. Digital clock is its pact, low cost, travel time and high precision, easy to use, features and more, easy integration and loved by the general consumer, so widely used. Keywords digital electronic clock SCM 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與應(yīng)用 4 1. 緒論 數(shù)字電子鐘的背景 20 世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。對(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ù)碼管顯示的時(shí)間簡(jiǎn)單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒。 時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。 單片機(jī)模塊中最常見(jiàn)的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。 方案一:本方案采用 Dallas 公司的專用時(shí)鐘芯片 DS,1302。 該方案用四個(gè)鍵來(lái)調(diào)整時(shí)間、設(shè)置定時(shí)時(shí)間,當(dāng)定時(shí)時(shí)間到后蜂鳴器響, led 燈閃爍。故實(shí)際應(yīng)用時(shí)必須增加驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性 。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和 I/O 接口電路等。 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開(kāi)始使用高級(jí)語(yǔ)言(如 C 語(yǔ)言)來(lái)開(kāi)發(fā)單片機(jī)的程序。 ( 1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。 數(shù)據(jù)存儲(chǔ)器 (RAM) 8052 內(nèi)部有 128 個(gè) 8 位用戶數(shù)據(jù)存儲(chǔ)單元和 128 個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 RAM 只有 128 個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 INTEL 的 MCS52 系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品 16 位的 MCS96 系 列單片機(jī)則采用普林斯頓結(jié)構(gòu)。 8051 的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位。如 EA 為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。為了保證系統(tǒng)能夠可靠地復(fù)位, RST 端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。除非 E1 和 E2 置低且 E3 置高,否則 74HC138 將保持所有輸出為高。 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)與應(yīng)用 21 控制部分 圖 310 AT89S52 是美國(guó) ATMEL 公司生產(chǎn)的低功耗,高性能 CMOS 8 位單片