基于proteus數(shù)字時(shí)鐘制作畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩43頁(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>  畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)</p><p>  數(shù)字時(shí)鐘制作 </p><p><b>  摘要</b></p><p>  時(shí)鐘是人們?nèi)粘I钪斜夭豢缮俚纳钣闷?。隨著人類科技文明的發(fā)展,人們對(duì)于時(shí)鐘的要求在不斷地提高。時(shí)鐘已不僅僅被看成一種用來(lái)顯示時(shí)間的工具,在很多實(shí)際應(yīng)用中它還需要能夠?qū)崿F(xiàn)更多其它的功能。高

2、精度、多功能、小體積、低功耗,是現(xiàn)代時(shí)鐘發(fā)展的趨勢(shì)。在這種趨勢(shì)下,時(shí)鐘的數(shù)字化、多功能化已經(jīng)成為現(xiàn)代時(shí)鐘生產(chǎn)研究的主導(dǎo)設(shè)計(jì)方向。</p><p>  本次數(shù)字時(shí)鐘電路采用AT89C51單片機(jī)作為控制核心,使用按鈕設(shè)計(jì)控制電路,結(jié)合LED數(shù)碼管、74LS373和排阻實(shí)現(xiàn)時(shí)、分、秒的顯示,采用揚(yáng)聲器實(shí)現(xiàn)鬧鐘功能。硬件電路設(shè)計(jì)主要包括中央處理單元電路、鍵盤(pán)掃描電路以及鬧鐘電路。軟件程序設(shè)計(jì)則采用匯編語(yǔ)言實(shí)現(xiàn)。本設(shè)計(jì)實(shí)現(xiàn)

3、了顯示時(shí)間、調(diào)整時(shí)間、鬧鐘定時(shí)等功能,達(dá)到了設(shè)計(jì)的要求和目的。并在Proteus軟件上進(jìn)行了仿真和調(diào)試。</p><p>  關(guān)鍵詞: 數(shù)字時(shí)鐘;AT89C51; LED數(shù)碼管</p><p><b>  Abstract</b></p><p>  The clock is the people daily life absolutely n

4、ecessary supplies. Along with the development of human civilization, people for clock's demands are rising steadily. The clock has not only been considered a used to show time tools, but also need to be able to achie

5、ve more other function. High precision, multi-function, small volume, and low power consumption is the trend of the development of the modern clock. In light of the trend, the clock's digital change and multifunction

6、 change has become th</p><p>  This digital clock circuit design use the AT89C51 single-chip microcontroller as control core, use the button design control circuit, combined with LED nixie tube, 74 LS373 and

7、 resistance to realize the clock display, use the speaker realize alarm clock function. Hardware circuit design includes the central processing unit circuit, keypad scanning circuit and the alarm clock circuit. Software

8、program design is realized by assembly language. This design realizes display the time, adjust the time,</p><p>  Keywords: Digital clock; AT89C51; 74LS37</p><p><b>  目 錄</b></p&

9、gt;<p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  第一章 諸論1</b></p><p><b>  1.1設(shè)計(jì)背景1</b></p><p>  1.2 數(shù)字溫度計(jì)設(shè)計(jì)方案論證1</p

10、><p>  1.2.1 方案一1</p><p>  1.2.2 方案二1</p><p>  1.2.3 方案三2</p><p>  1.3 方案三的總體設(shè)計(jì)框圖2</p><p>  第二章 主要元器件介紹3</p><p>  2.1 AT89C51的性能介紹3</p&g

11、t;<p>  2.1.1 AT89C51的主要特性3</p><p>  2.1.2 AT89C51的管腳說(shuō)明4</p><p>  2.1.3 振蕩器特性6</p><p>  2.1.4 芯片擦除6</p><p>  2.2 74LS373芯片6</p><p>  2.2.1 74L

12、S373的基本情況6</p><p>  2.2.2 74LS373的內(nèi)部結(jié)構(gòu)和性能參數(shù)7</p><p>  2.3七段數(shù)碼管的引腳圖及使用9</p><p>  2.3.1七段數(shù)碼管的引腳圖9</p><p>  2.3.2 數(shù)碼管使用條件10</p><p>  第三章 硬件設(shè)計(jì)11</p>

13、;<p>  3.1振蕩電路和復(fù)位電路11</p><p>  1.使用晶振CRYSTAL和瓷片電容構(gòu)成振蕩電路。11</p><p>  3.2 鬧鐘電路12</p><p>  3.3按鍵電路12</p><p>  3.4 顯示電路13</p><p>  第四章 軟件設(shè)計(jì)14</

14、p><p>  4.1 主程序流程圖14</p><p>  4.2 按鍵掃描子程序流程圖15</p><p>  4.2.1 當(dāng)前時(shí)間設(shè)置按鈕掃描15</p><p>  4.2.2 鬧鐘時(shí)間設(shè)置按鍵掃描16</p><p>  4.3 鬧鐘子程序流程圖16</p><p>  4.4

15、中斷服務(wù)子程序流程圖17</p><p>  4.5 顯示子程序流程圖17</p><p>  4.5.1 當(dāng)前時(shí)間顯示流程圖18</p><p>  4.5.2 鬧鐘時(shí)間顯示流程圖18</p><p>  第五章 仿真軟件20</p><p>  5.1 PROTEUS仿真軟件介紹20</p>

16、<p>  5.2 Proteus ISIS智能原理圖輸入系統(tǒng)20</p><p>  5.3 Proteus ISIS的界面和功能介紹21</p><p>  第六章 仿真調(diào)試24</p><p>  6.1 仿真原理圖24</p><p>  6.2 系統(tǒng)調(diào)試24</p><p>  6.

17、3 仿真26</p><p><b>  結(jié)束語(yǔ)27</b></p><p><b>  參考文獻(xiàn)28</b></p><p><b>  致 謝29</b></p><p>  附錄1 元器件清單30</p><p><b>  附

18、錄2 程序31</b></p><p><b>  第一章 諸論</b></p><p><b>  1.1設(shè)計(jì)背景</b></p><p>  時(shí)鐘是人們必不可少的生活用品。從古代的滴漏更鼓到近代的機(jī)械鐘,從電子表到目前的數(shù)字時(shí)鐘,為了準(zhǔn)確的測(cè)量和記錄時(shí)間,人們一直在努力改進(jìn)計(jì)時(shí)工具。鐘表的數(shù)字化,大力推動(dòng)

19、了計(jì)時(shí)的精確性和可靠性。在單片機(jī)構(gòu)成的裝置中,數(shù)字時(shí)鐘是必不可少的部件。它的用途十分廣泛,只要有計(jì)時(shí)的存在,便要用到數(shù)字時(shí)鐘的原理及結(jié)構(gòu);同時(shí)在日期中,它以其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛(ài)。</p><p>  隨著人類科技文明的發(fā)展,人們對(duì)于時(shí)鐘的要求在不斷地提高。時(shí)鐘已不僅僅被看成一種用來(lái)顯示時(shí)間的工具,在很多實(shí)際應(yīng)用中它還需要能夠?qū)崿F(xiàn)更多其它的功能。高精度、多功能

20、、小體積、低功耗,是現(xiàn)代時(shí)鐘發(fā)展的趨勢(shì)。在這種趨勢(shì)下,時(shí)鐘的數(shù)字化、多功能化已經(jīng)成為現(xiàn)代時(shí)鐘生產(chǎn)研究的主導(dǎo)設(shè)計(jì)方向。</p><p>  本次設(shè)計(jì)的數(shù)字時(shí)鐘與傳統(tǒng)的時(shí)鐘相比,具有高精度、多功能、小體積、低功耗的優(yōu)勢(shì),其時(shí)間采用數(shù)字顯示。該設(shè)計(jì)控制器使用單片機(jī)AT89C51作為中央處理的核心,六位數(shù)碼管作為時(shí)間數(shù)字的顯示屏,實(shí)現(xiàn)了顯示時(shí)間、調(diào)整時(shí)間、鬧鐘定時(shí)等功能,達(dá)到了設(shè)計(jì)的要求和目的。</p>&

21、lt;p>  1.2 數(shù)字溫度計(jì)設(shè)計(jì)方案論證</p><p><b>  1.2.1 方案一</b></p><p>  基于FPGA的多功能數(shù)字時(shí)鐘的設(shè)計(jì)方法:DCM(數(shù)字時(shí)鐘管理器)。DCM使用完全數(shù)字反饋系統(tǒng)確保多個(gè)時(shí)鐘同步,使用完全數(shù)字延線技術(shù)可以精確控制時(shí)鐘的頻率和相位。用戶可以編程控制時(shí)鐘任意倍率和分頻及任意相位移動(dòng),使用非常方便可靠。</p&

22、gt;<p>  缺點(diǎn):設(shè)計(jì)較為復(fù)雜,成本高,無(wú)法實(shí)現(xiàn)溫度測(cè)量功能。</p><p><b>  1.2.2 方案二</b></p><p>  基于VHDL的多功能數(shù)字時(shí)鐘的設(shè)計(jì)利用VHDL硬件描述語(yǔ)言設(shè)計(jì)的多功能數(shù)字時(shí)鐘的思路,在MAX+PLUSⅡK開(kāi)發(fā)環(huán)境中編譯和仿真了所設(shè)計(jì)的程序,并在可編程邏輯器上下載驗(yàn)證。</p><p&g

23、t;  缺點(diǎn):結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)功能不全面。</p><p><b>  1.2.3 方案三</b></p><p>  基于AT89C51單片機(jī)的多功能數(shù)字時(shí)鐘系統(tǒng)具有高精度、多功能、小體積、低功耗等特點(diǎn)。系統(tǒng)的設(shè)計(jì)是在模塊化的基礎(chǔ)上設(shè)計(jì)系統(tǒng)的?;谥悄芑湍K化的前提下設(shè)計(jì)數(shù)字時(shí)鐘的,通過(guò)對(duì)設(shè)計(jì)目標(biāo)的分析,分立出各個(gè)模塊,然后根據(jù)各個(gè)模塊的功能,選擇適當(dāng)?shù)男酒M(jìn)行設(shè)計(jì)

24、的。對(duì)智能化、模塊化設(shè)計(jì)具有較強(qiáng)的推廣應(yīng)用價(jià)值。</p><p>  綜上所述,我們可以看到,設(shè)計(jì)方案三綜合性能良好、造價(jià)低廉、且簡(jiǎn)單易行。所以我選用第三種設(shè)計(jì)方案。</p><p>  1.3 方案三的總體設(shè)計(jì)框圖</p><p>  數(shù)字時(shí)鐘的電路設(shè)計(jì)總體方框圖如圖1.1所示,使用AT89C51單片機(jī)作為控制核心,用七段數(shù)碼管來(lái)實(shí)現(xiàn)時(shí)間數(shù)字顯示。</p&g

25、t;<p>  圖1.1 總體設(shè)計(jì)方框圖</p><p>  第二章 主要元器件介紹</p><p>  2.1 AT89C51的性能介紹</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS

26、8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>  2.1.1 AT89C51的主要特性</p><p>  ?與MCS-51 兼容 </

27、p><p>  ?4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p>  ?壽命:1000寫(xiě)/擦循環(huán)</p><p>  ?數(shù)據(jù)保留時(shí)間:10年</p><p>  ?全靜態(tài)工作:0Hz-24MHz</p><p>  ?三級(jí)程序存儲(chǔ)器鎖定</p><p>  ?128×8位內(nèi)部RAM</p

28、><p>  ?32可編程I/O線</p><p>  ?兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ?5個(gè)中斷源 </b></p><p><b>  ?可編程串行通道</b></p><p>  ?低功耗的閑置和掉電模式</p><p>  

29、?片內(nèi)振蕩器和時(shí)鐘電路</p><p>  2.1.2 AT89C51的管腳說(shuō)明</p><p>  圖2.1.2 AT89C51管腳圖</p><p>  1.AT89C51的管腳圖如圖2.1.2所示,其說(shuō)明如下:</p><p><b>  VCC:供電電壓。</b></p><p><

30、b>  GND:接地。</b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P

31、1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接 收、輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉

32、高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。當(dāng)P2口用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p>  P3口: P3口管腳是8個(gè)帶有內(nèi)部上拉電

33、阻的雙向I/O口,可接收輸出 4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p>  P3.0 RXD(串行輸入口);</p><p>  P3.1 TXD(串行輸

34、出口);</p><p>  P3.2 /INT0(外部中斷0);</p><p>  P3.3 /INT1(外部中斷1);</p><p>  P3.4 T0(記時(shí)器0外部輸入);</p><p>  P3.5 T1(記時(shí)器1外部輸入);</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通);</p&g

35、t;<p>  P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通);</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高 電平時(shí)間。</p><p>  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址 的地位字節(jié)。在FLAS

36、H編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p&

37、gt;  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取值期間,每 個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在

38、FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  XTAL2:來(lái)自反向振蕩器的輸出。</p><p>  2.1.3 振蕩器特性</p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振

39、蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  2.1.4 芯片擦除</p><p>  整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列

40、全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p>  2.2 74L

41、S373芯片</p><p>  2.2.1 74LS373的基本情況</p><p>  74LS373是常用的地址鎖存器芯片,它實(shí)質(zhì)是一個(gè)是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要一塊74LS373芯片。</p><p>  74LS373為三態(tài)輸出的八 D 透明鎖存器,共有 54/74S373 和 54/74LS373 兩種線路

42、結(jié)構(gòu)型式,其主要電器特性的典型值如表2.2.1所示:</p><p>  表2.2.1(注:不同廠家具體值有差別):</p><p>  1.74LS373的特點(diǎn):</p><p><b>  ·三態(tài)總線驅(qū)動(dòng)輸出</b></p><p><b>  ·置數(shù)全并行存取</b><

43、;/p><p><b>  ·緩沖控制輸入</b></p><p>  ·使能輸入有改善抗擾度的滯后作用</p><p>  2.2.2 74LS373的內(nèi)部結(jié)構(gòu)和性能參數(shù)</p><p>  74LS373的輸出端 O0~O7 可直接與總線相連,當(dāng)三態(tài)允許控制端 OE 為低電平時(shí),O0~O7 為正常邏輯

44、狀態(tài),可用來(lái)驅(qū)動(dòng)負(fù)載或總 線。當(dāng) OE 為高電平時(shí),O0~O7 呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但 鎖存器內(nèi)部的邏輯操作不受影響。 當(dāng)鎖存允許端 LE 為高電平時(shí),O 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時(shí),O 被鎖存在 已建立的數(shù)據(jù)電平。 當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。</p><p><b>  引出端符號(hào): </b><

45、/p><p>  D0~D7 數(shù)據(jù)輸入端 </p><p>  OE 三態(tài)允許控制端(低電平有效) </p><p>  LE 鎖存允許端 </p><p>  O0~O7 輸出端 </p><p><b>  1.外部引腿圖:</b></p><

46、p><b>  圖 2.2.2-1</b></p><p><b>  2.邏輯圖</b></p><p><b>  圖 2.2.2-2</b></p><p><b>  3.真值表</b></p><p>  表 2.2.2-3 真值表<

47、/p><p><b>  H:高電平;</b></p><p><b>  L:低電平;</b></p><p><b>  ×:不定;</b></p><p><b>  Z:高阻態(tài);</b></p><p>  QO:建立

48、穩(wěn)態(tài)輸入條件前Q 的電平.</p><p>  2.3七段數(shù)碼管的引腳圖及使用</p><p>  在LED顯示電路中,我使用共陰極的七段數(shù)碼管作為L(zhǎng)ED顯示電路的主要元器件。</p><p>  2.3.1七段數(shù)碼管的引腳圖</p><p>  圖2.3.1-1所示的是七段數(shù)碼管的引腳圖,其中共陽(yáng)極數(shù)碼管引腳圖和共陰極的是一樣的。</

49、p><p>  圖2.3.1-1 七段數(shù)碼管的引腳圖</p><p>  圖2.3.1-2 七段數(shù)碼管的引腳圖</p><p>  LED數(shù)碼管根據(jù)LED的接法不同分為:共陰極和共陽(yáng)極。不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.3.1-2是共陰極和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。</p>

50、;<p>  將多只LED的陰極連在一起即為共陰式,而將多只LED的陽(yáng)極連在一起即為共陽(yáng)式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將"b"和"c"段接上正電源,其它端接地或懸空,那么"b"和"c"段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將&quo

51、t;a"、"b"、"d"、"e"和"g"段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它字符的顯示原理類同。</p><p>  2.3.2 數(shù)碼管使用條件</p><p>  1.?dāng)?shù)碼管使用條件如下:</p><p>  (1) 段及小數(shù)點(diǎn)上加限流電阻;</p

52、><p><b>  (2) 使用電壓:</b></p><p>  a.段:根據(jù)發(fā)光顏色決定; </p><p>  b.小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定;</p><p><b>  (3) 使用電流:</b></p><p>  a.靜態(tài):總電流 80mA(每段 10mA);<

53、;/p><p>  b.動(dòng)態(tài):平均電流 4-5mA 峰值電流 100mA</p><p><b>  第三章 硬件設(shè)計(jì)</b></p><p>  系統(tǒng)整體硬件電路由中央處理單元電路(AT89C51)、振蕩電路(Crystal)、復(fù)位電路(電解電容)、顯示電路(七段數(shù)碼管)、按鍵掃描電路(按鈕)、鬧鐘電路(揚(yáng)聲器)這六個(gè)部分組成。各部分之間相互協(xié)作

54、,構(gòu)成一個(gè)統(tǒng)一的有機(jī)整體,實(shí)現(xiàn)多功能數(shù)字時(shí)鐘的功能。各部分的硬件電路設(shè)計(jì)如下:</p><p>  3.1振蕩電路和復(fù)位電路</p><p>  1.使用晶振CRYSTAL和瓷片電容構(gòu)成振蕩電路。</p><p>  圖3.1-1振蕩電路</p><p>  2.使用電解電容、按鈕和電阻構(gòu)復(fù)位電路,單片機(jī)根據(jù)掃描到的相應(yīng)端口的電平判斷是否滿足

55、程序跳轉(zhuǎn)條件,從而實(shí)現(xiàn)數(shù)字時(shí)鐘的復(fù)位功能。</p><p>  圖3.1-2 復(fù)位電路</p><p><b>  3.2 鬧鐘電路</b></p><p><b>  圖3.2 鬧鐘電路</b></p><p>  使用揚(yáng)聲器作為鬧鐘電路的主要元器件,通過(guò)接口從AT89C51單片機(jī)接受信號(hào),實(shí)現(xiàn)鬧

56、鐘功能。</p><p><b>  3.3按鍵電路</b></p><p><b>  圖3.3 按鍵電路</b></p><p>  通過(guò)使用九個(gè)按鍵分別實(shí)現(xiàn)實(shí)際時(shí)間和鬧鐘時(shí)間的設(shè)置,AT89C51單片機(jī)根據(jù)掃描到的相應(yīng)端口的電平判斷是否滿足程序跳轉(zhuǎn)條件,從而實(shí)現(xiàn)實(shí)際時(shí)間和鬧鐘時(shí)間的設(shè)置。</p><

57、;p><b>  3.4 顯示電路</b></p><p><b>  圖3.4 顯示電路</b></p><p>  通過(guò)使用7SEG-MPX6-CC、電阻和74LS373芯片構(gòu)成LED顯示電路,經(jīng)接口從AT89C51單片機(jī)接受信號(hào),實(shí)現(xiàn)數(shù)字時(shí)間顯示功能。</p><p><b>  第四章 軟件設(shè)計(jì)&l

58、t;/b></p><p>  按照設(shè)計(jì)方案的要求,在硬件電路的基礎(chǔ)上,使用匯編語(yǔ)言進(jìn)行軟件設(shè)計(jì),為增加程序可讀性,可分為以下五個(gè)功能模塊:</p><p>  主程序,主程序流程圖如圖4.1所示;</p><p>  按鍵掃描子程序, 按鍵掃描子程序流程圖如圖4.2所示;</p><p>  鬧鐘子程序,鬧鐘子程序流程圖如圖4.3所示

59、;</p><p>  中斷服務(wù)子程序, 中斷服務(wù)子程序流程圖如圖4.4所示;</p><p>  時(shí)間顯示子程序, 時(shí)間顯示子程序流程圖如圖4.5.1和圖4.5.2所示。</p><p>  4.1 主程序流程圖</p><p>  主程序是先開(kāi)始,然后初始化并啟動(dòng)定時(shí)器,在定時(shí)器啟動(dòng)后進(jìn)行按鍵掃描檢測(cè),檢測(cè)完后使用中斷服務(wù)實(shí)現(xiàn)計(jì)數(shù),最后就

60、是顯示時(shí)間。主程序流程圖如圖4.1所示。</p><p>  圖4.1 主程序流程圖</p><p>  4.2 按鍵掃描子程序流程圖</p><p>  按鍵掃描子程序分為兩部分:當(dāng)前時(shí)間設(shè)置和鬧鐘時(shí)間設(shè)置。按鍵掃描子程序流程圖如圖4.2所示。</p><p>  圖4.2按鍵掃描子程序流程圖</p><p>  4

61、.2.1 當(dāng)前時(shí)間設(shè)置按鈕掃描</p><p>  當(dāng)前時(shí)間設(shè)置按鍵掃描的過(guò)程如下: </p><p>  (1) 首先檢測(cè)時(shí)間設(shè)置按鍵,如果按下,就檢測(cè)時(shí)針按鍵;如果沒(méi)有,就返回開(kāi)始。</p><p>  (2) 如果時(shí)針按鍵按下,時(shí)針就加1;如果沒(méi)有,就檢測(cè)分針按鍵。</p><p>  (3) 如果分針按鍵按下,分針就加1;如果沒(méi)有,就

62、檢測(cè)時(shí)針按鍵。</p><p>  (4) 如果時(shí)針按鍵按下,時(shí)針就加1;如果沒(méi)有,就把時(shí)間顯示出來(lái)。</p><p>  4.2.2 鬧鐘時(shí)間設(shè)置按鍵掃描</p><p>  鬧鐘時(shí)間設(shè)置按鍵掃描的過(guò)程如下:</p><p>  (1) 首先檢測(cè)查看鬧鐘按鍵,如果按下,就顯示鬧鐘時(shí)間;如果沒(méi)有,就檢測(cè)鬧鐘設(shè)置按鍵。</p>&

63、lt;p>  (2)如果鬧鐘設(shè)置按鍵按下,就檢測(cè)鬧鐘時(shí)針設(shè)置按鍵;如果沒(méi)有,就返回開(kāi)始。</p><p>  (3) 如果鬧鐘時(shí)針設(shè)置按下,鬧鐘時(shí)針就加1;如果沒(méi)有,就檢測(cè)鬧鐘分針設(shè)置按鍵。</p><p>  (4) 如果鬧鐘分針設(shè)置按鍵按下,鬧鐘分針就加1;如果沒(méi)有,就檢測(cè)鬧鐘完成設(shè)置按鍵。</p><p>  (5) 如果鬧鐘完成設(shè)置按鍵按下,鬧鐘設(shè)置完

64、成并顯示當(dāng)前時(shí)間;如果沒(méi)有,就返回開(kāi)始。</p><p>  4.3 鬧鐘子程序流程圖</p><p>  鬧鐘子程序的功能包括顯示鬧鐘時(shí)間、設(shè)置鬧鐘時(shí)間和鬧鐘停止這三個(gè)功能,其流程圖如圖4.3所示。</p><p>  圖4.3鬧鐘子程序流程圖</p><p>  4.4 中斷服務(wù)子程序流程圖</p><p>  1

65、.定時(shí)器中斷時(shí)的工作過(guò)程是:</p><p>  先將累加器A和寄存器PSW入棧;</p><p>  然后檢測(cè)1秒是否到,如果到,秒單元加1;如果沒(méi)到,就檢測(cè)1分鐘。</p><p>  如果1分鐘到,則秒單元清零,分單元加1;如果沒(méi)到,就檢測(cè)1小時(shí)。</p><p>  如果1小時(shí)到,則分單元清零,時(shí)單元加1;如果沒(méi)到,就檢測(cè)1天。<

66、;/p><p>  如果1天到,則時(shí)單元清零,天單元加1;如果沒(méi)到,就顯示時(shí)間。</p><p>  圖4.4 中斷服務(wù)子程序流程圖</p><p>  4.5 顯示子程序流程圖</p><p>  顯示子程序分為兩個(gè)部分:當(dāng)時(shí)間顯示和鬧鐘時(shí)間顯示,他們的流程圖如圖4.5.1和圖4.5.2所示。</p><p>  4.5

67、.1 當(dāng)前時(shí)間顯示流程圖</p><p>  當(dāng)前時(shí)間顯示子程序可實(shí)現(xiàn)當(dāng)前時(shí)間的時(shí)、分、針顯示,其流程圖如下:</p><p>  圖4.5.1當(dāng)前時(shí)間顯示流程圖</p><p>  4.5.2 鬧鐘時(shí)間顯示流程圖</p><p>  鬧鐘時(shí)間顯示子程序可實(shí)現(xiàn)鬧鐘時(shí)間的時(shí)、分顯示,其流程圖如下:</p><p>  圖

68、4.5.2鬧鐘時(shí)間顯示流程圖</p><p><b>  第五章 仿真軟件</b></p><p>  5.1 PROTEUS仿真軟件介紹</p><p>  Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,是目前最好的仿真單片機(jī)及外圍

69、器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì),是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p>  Proteus軟件是一款功能強(qiáng)大的電路設(shè)計(jì)分析軟件。在利用其進(jìn)行單片機(jī)的軟件仿真

70、時(shí),僅僅是使用了其部分功能(如使用其中的ISIS智能原理圖輸入系統(tǒng)來(lái)繪制電路原理圖)。因此這里主要介紹該部分的相關(guān)知識(shí)。</p><p>  5.2 Proteus ISIS智能原理圖輸入系統(tǒng)</p><p>  1.Proteus ISIS 是Proteus軟件的核心,具有以下特性:</p><p> ?。?)出版高質(zhì)量的原理圖:ISIS提供給用戶圖形外觀,包括線

71、寬、填充類型、字符庫(kù)等的全部控制,使用戶生成精美的原理圖。通過(guò)個(gè)性化設(shè)置,可以生成印刷質(zhì)量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用;</p><p>  (2)良好的用戶界面:用戶只需要單擊元件的引腳或者先前布好的線,就能實(shí)現(xiàn)布線。而且擺放、移動(dòng)和刪除操作能都直接用鼠標(biāo)實(shí)現(xiàn),無(wú)需去單擊菜單或圖標(biāo);</p><p> ?。?)自動(dòng)走線:只要單擊想要連接的兩個(gè)引腳

72、,就能簡(jiǎn)單地實(shí)現(xiàn)走線。自動(dòng)走線也能在元件移動(dòng)時(shí)操作,自動(dòng)解決相應(yīng)連線。節(jié)點(diǎn)能夠自動(dòng)布置和移除,使連接導(dǎo)線簡(jiǎn)單快捷,大大縮短繪圖時(shí)間,又避免一些可能的錯(cuò)誤;</p><p> ?。?)層次設(shè)計(jì):ISIS支持層次圖設(shè)計(jì),特殊的元件能夠定義為通過(guò)電路圖表示的模塊,能夠任意設(shè)定層次。模塊可畫(huà)成標(biāo)準(zhǔn)元件,在使用中可放置和刪除端口的子模塊電路;</p><p> ?。?)總線支持:使用總線器件和總線布

73、線使電路設(shè)計(jì)簡(jiǎn)明清晰;</p><p> ?。?)豐富的器件庫(kù):超過(guò)27000種元器件,可方便地創(chuàng)建新元件。 ISIS的元件庫(kù)包含8000多個(gè)元件,有標(biāo)準(zhǔn)符號(hào)、三極管、二極管、CMOS、微處理器、存儲(chǔ)器元件、模擬IC和運(yùn)算放大器等;</p><p> ?。?)智能的器件搜索:通過(guò)模糊搜索可以快速定位所需要的器件。</p><p>  2.Proteus ISIS 可

74、運(yùn)行于Windows 98/2000/XP/Windows 7環(huán)境,對(duì)計(jì)算機(jī)的配置要求不是很高。在運(yùn)行Proteus ISIS的執(zhí)行程序后,先出現(xiàn)一個(gè)啟動(dòng)畫(huà)面,隨機(jī)進(jìn)入Proteus ISIS的編輯環(huán)境,如圖5.2所示。</p><p>  圖5.2 Proteus ISIS的編輯環(huán)境</p><p>  5.3 Proteus ISIS的界面和功能介紹</p><p&

75、gt;  如圖5.3所示,Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。</p><p>  圖5.3 Proteus 窗口界面圖</p><p> ?。?)原理圖編輯窗口</p><p>  用于繪

76、制電路原理圖的,藍(lán)色方框內(nèi)為可編輯區(qū),元件要放到它里面。注意,這個(gè)窗口是沒(méi)有滾動(dòng)條的,可以通過(guò)預(yù)覽窗口來(lái)改變?cè)韴D的可視范圍。 </p><p><b>  (2)預(yù)覽窗口</b></p><p>  它有兩個(gè)功能:一、當(dāng)從元件列表選擇一個(gè)元件時(shí),顯示該元件的預(yù)覽圖;二、當(dāng)你的鼠標(biāo)箭頭落在原理圖編輯窗口時(shí),顯示整張?jiān)韴D的縮略圖,并會(huì)顯示一個(gè)綠色的方框,綠色的方框里面

77、的內(nèi)容就是當(dāng)前原理圖窗口中顯示的內(nèi)容。因此,可用鼠標(biāo)在它上面點(diǎn)擊來(lái)改變綠色的方框的位置,從而改變?cè)韴D的可視范圍。</p><p> ?。?)模型選擇工具欄</p><p> ?、?主要模型(Main Modes)</p><p>  ●1 用于編輯元件參數(shù) (默認(rèn)選擇的);</p><p>  ●2 選擇元件(components);<

78、;/p><p><b>  ●3 放置連接點(diǎn);</b></p><p>  ●4 放置標(biāo)簽(用總線時(shí)會(huì)用到);</p><p><b>  ●5 放置文本;</b></p><p>  ●6 用于繪制總線;</p><p>  ●7 用于放置子電路 。</p>&l

79、t;p> ?、?配件模型(Gadgets Modes))選擇工具欄 </p><p>  ●1 終端接口(terminals) ,有 VCC、地、輸出、輸入等接口;</p><p>  ●2 器件引腳:用于繪制各種引腳;</p><p>  ●3 仿真圖表(graph) :用于各種分析,如 Noise Analysis;</p><p>

80、;<b>  ●4 錄音機(jī);</b></p><p>  ●5 信號(hào)發(fā)生器(generators);</p><p>  ●6 電壓探針:使用仿真圖表時(shí)要用到;</p><p>  ●7 電流探針:使用仿真圖表時(shí)要用到;</p><p>  ●8 虛擬儀表:有示波器等。</p><p>  ③ 2

81、D 圖形(2D Graphics) </p><p><b>  ●1 畫(huà)各種直線;</b></p><p><b>  ●2 畫(huà)各種方框;</b></p><p><b>  ●3 畫(huà)各種圓;</b></p><p><b>  ●4 畫(huà)各種圓弧;</b&g

82、t;</p><p>  ●5 畫(huà)各種多邊形;</p><p><b>  ●6 畫(huà)各種文本;</b></p><p><b>  ●7 畫(huà)符號(hào);</b></p><p><b>  ●8 畫(huà)原點(diǎn)等。</b></p><p><b>  元件列

83、表</b></p><p>  用于挑選元件(components)終端接口(terminals)信號(hào)發(fā)生器(generators)仿真圖表(graph)等。舉例,當(dāng)你選擇“元件(components)”單擊“P”按鈕會(huì)打開(kāi)挑選元件對(duì)話框,選擇了一個(gè)元件后該元件會(huì)在元件列表中顯示,以后要用到該元件時(shí),只需在元件列表中選擇即可。</p><p><b>  (5)方向工

84、具欄 </b></p><p>  旋轉(zhuǎn):旋轉(zhuǎn)角度只能是 90 的整數(shù)倍。成水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。</p><p>  使用方法:先右鍵單擊元件,再點(diǎn)擊(左擊)相應(yīng)的旋轉(zhuǎn)圖標(biāo)。</p><p><b> ?。?)仿真工具欄</b></p><p><b>  仿真控制按鈕 </b><

85、;/p><p><b>  ●1 運(yùn)行;</b></p><p><b>  ●2 單步運(yùn)行;</b></p><p><b>  ●3 暫停;</b></p><p><b>  ●4 停止。</b></p><p><b>

86、;  第六章 仿真調(diào)試</b></p><p>  使用Proteus軟件進(jìn)行仿真調(diào)試</p><p><b>  6.1 仿真原理圖</b></p><p>  根據(jù)設(shè)計(jì)方案,將各部分電路進(jìn)行組合,可得仿真原理圖如6.1所示:</p><p>  圖6.1 仿真原理圖</p><p>

87、;<b>  6.2 系統(tǒng)調(diào)試</b></p><p>  1.雙擊單片機(jī)出現(xiàn)如圖6.2-1所示的畫(huà)面,在Program File一欄中選擇仿真項(xiàng)目的源程序代碼文件,點(diǎn)擊OK。</p><p>  圖6.2-1 加載源程序圖</p><p>  2.點(diǎn)擊菜單中的“Source”—“Build All”,得到如圖6.2-2所示的“Build Lo

88、g” 。</p><p>  圖6.2-2 檢查日志圖</p><p><b>  6. 3 仿真</b></p><p>  單擊Play按鈕,進(jìn)入仿真狀態(tài),得到仿真結(jié)果如圖6.3-1和圖6.3-2所示:</p><p>  圖6.3-1 仿真結(jié)果一</p><p>  圖6.3-2 仿真結(jié)果二

89、</p><p><b>  結(jié)束語(yǔ)</b></p><p>  經(jīng)過(guò)幾周的努力,我終于完成了這一份數(shù)字時(shí)鐘的設(shè)計(jì)。本次數(shù)字時(shí)鐘電路采用AT89C51單片機(jī)作為控制核心,使用按鈕設(shè)計(jì)控制電路,結(jié)合LED顯示屏、74LS373和電阻來(lái)實(shí)現(xiàn)了時(shí)、分、秒的顯示,采用揚(yáng)聲器實(shí)現(xiàn)鬧鐘功能。雖然達(dá)到了設(shè)計(jì)要求,但是還存在有待改善和提高的地方。</p><p&g

90、t;  通過(guò)這份設(shè)計(jì),我發(fā)現(xiàn)自己在編寫(xiě)軟件程序方面的不足,也提高了我設(shè)計(jì)硬件電路和編寫(xiě)軟件程序的能力。同時(shí),通過(guò)這份畢業(yè)設(shè)計(jì),讓我明白:實(shí)踐和理論有很大的聯(lián)系,又高于理論。要把課本上所學(xué)的知識(shí)跟實(shí)際聯(lián)系起來(lái),才能把理論變成實(shí)際。本次電路的設(shè)計(jì)既鞏固了我從課本上所學(xué)的知識(shí),也使我把理論與實(shí)際結(jié)合起來(lái),增強(qiáng)了學(xué)習(xí)的興趣,考驗(yàn)了我們借助圖書(shū)館、互聯(lián)網(wǎng)搜索、查閱相關(guān)資料的綜合能力。</p><p>  在學(xué)習(xí)過(guò)程中,要理

91、論聯(lián)系實(shí)際、學(xué)以致用,把所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,通過(guò)實(shí)踐把所學(xué)的理論知識(shí)進(jìn)行鞏固。以上,就是我在這次畢業(yè)設(shè)計(jì)中的收獲,這為我以后從事電子電路設(shè)計(jì)、研制電子產(chǎn)品領(lǐng)域的工作提供了寶貴的經(jīng)驗(yàn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李朝青. 單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版). 杭州; 北京航空航天大學(xué)出版社,1998</p&g

92、t;<p>  [2] 李廣弟. 單片機(jī)基礎(chǔ)[M]. 北京; 北京航空航天大學(xué)出版社,1994</p><p>  [3] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京; 高等教育出版社,1989</p><p>  [4] 梁炳東. 單片機(jī)原理與應(yīng)用(第一版).北京;人民郵電出版社,2009.</p><p>  [5] 高衛(wèi)東,辛友順,韓彥征. 5

93、1單片機(jī)原理與實(shí)踐[M]. 北京; 北京航空航天大學(xué)出版社,2008</p><p><b>  致 謝</b></p><p>  這份關(guān)于數(shù)字時(shí)鐘制作的畢業(yè)設(shè)計(jì)是在xxx老師的熱情關(guān)懷和悉心指導(dǎo)下完成的。從設(shè)計(jì)的選題,相關(guān)資料的查尋,到論文的撰寫(xiě)這一整個(gè)過(guò)程中,xxx老師以其廣博的知識(shí)、豐富的經(jīng)驗(yàn) 、清晰的思路,為我細(xì)心指導(dǎo)和幫助。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作

94、作風(fēng)和孜孜不倦的求學(xué)精神令我受益匪淺,在此,我對(duì)鄭譽(yù)煌老師表示衷心的感謝!</p><p>  在完成這份畢業(yè)設(shè)計(jì)的過(guò)程中,我也得到了許多同學(xué)的建議和幫助,在此一并致以真誠(chéng)的謝意,感謝所有幫助過(guò)我的老師和同學(xué)們!</p><p>  最后,感謝在百忙中抽出時(shí)間對(duì)本畢業(yè)設(shè)計(jì)(論文)進(jìn)行評(píng)審并提出寶貴意見(jiàn)的老師們,謝謝!</p><p><b>  附錄1 元

95、器件清單</b></p><p>  表附錄1 元器件清單</p><p><b>  附錄2 程序</b></p><p>  M_SET BIT P1.0 ;時(shí)間設(shè)置按鍵</p><p>  H_DE BIT P1.1 ;時(shí)針部分設(shè)置</p><p>  M_DE

96、 BIT P1.2 ;分針部分設(shè)置</p><p>  S_DE BIT P1.3 ;秒針?lè)衷O(shè)置</p><p>  N_SHOW BIT P1.4 ;查看鬧鐘按鍵</p><p>  NH_SET BIT P1.5 ;鬧鐘設(shè)置按鍵</p><p>  NH_DE BIT P1.6 ;鬧鐘時(shí)針部分設(shè)置鍵

97、</p><p>  NM_DE BIT P1.7 ;鬧鐘分針?lè)衷O(shè)置鍵</p><p>  N_OK BIT P3.5 ;鬧鐘設(shè)置完成按鍵</p><p>  SECOND EQU 30H ;定義秒計(jì)數(shù)單元</p><p>  MINUTE EQU 31H ;定義分計(jì)數(shù)單元</p><p&

98、gt;  HOUR EQU 32H ;定義時(shí)計(jì)數(shù)單元</p><p>  TCNT EQU 33H ;一秒計(jì)數(shù)存儲(chǔ)區(qū)</p><p>  HH EQU 40H ;鬧鐘時(shí)針存儲(chǔ)區(qū)</p><p>  MM EQU 41H ;鬧鐘分針存儲(chǔ)區(qū)</p><p>  ;************

99、初始化;設(shè)置常量 *************** </p><p>  ORG 0000H</p><p>  LJMP START ;轉(zhuǎn)開(kāi)始</p><p>  ORG 001BH</p><p>  LJMP INT_T0 ;轉(zhuǎn)中斷</p><p>  ORG 0060H</p&

100、gt;<p>  START: MOV SP, #60H</p><p>  MOV PSW, #00H</p><p>  MOV P0, #0FFH</p><p>  MOV P2, #00H</p><p>  MOV DPTR, #TABLE</p><p> 

101、 MOV R0, #20H</p><p>  MOV R7, #5FH</p><p>  Q1: MOV @R0, #00H ;初始化存儲(chǔ)器</p><p><b>  INC R0</b></p><p>  DJNZ R7, Q1</p><p>  MOV HOU

102、R, #00 ;設(shè)置時(shí)鐘處置0點(diǎn)整</p><p>  MOV MINUTE,#0</p><p>  MOV SECOND,#0</p><p>  MOV HH,#01 ;設(shè)置鬧鐘時(shí)間1點(diǎn)10分</p><p>  MOV MM,#10</p><p>  CLR P3.4 ;清鬧鐘

103、標(biāo)志,P3.4接揚(yáng)聲器,鬧鐘時(shí)間到</p><p>  MOV TMOD, #10H</p><p>  MOV TH1, #(65536-50000)/256</p><p>  MOV TL1, #0B0H</p><p><b>  SETB EA</b></p><p>

104、<b>  SETB ET1</b></p><p>  SETB TR1 ;啟動(dòng)定時(shí)器T1工作</p><p>  ;************ 按鍵掃描子程序 ***************</p><p>  LOOP: LCALL DISPLAY ;顯示當(dāng)前時(shí)間</p><p>  LC

105、ALL KEY ;掃描按鍵</p><p>  LCALL ALARM_CLOCK ;查看鬧鐘時(shí)間</p><p><b>  SJMP LOOP</b></p><p>  KEY: LCALL DISPLAY;</p><p>  JNB M_SET, S1</p><

106、p>  JNB H_DE, S2</p><p>  JNB M_DE, S3</p><p>  JNB S_DE, S4</p><p>  JNB N_SHOW, S5 ;查看鬧鐘時(shí)間</p><p>  JNB NH_SET,S6 ;設(shè)置鬧鐘 </p><

107、p><b>  RET</b></p><p>  S1: LCALL DISPLAY ;時(shí)間設(shè)置按鍵</p><p>  CPL TR1 ;定時(shí)器改變開(kāi)關(guān)狀態(tài)</p><p><b>  MOV R5,#1</b></p><p>  LCALL DELAY1<

108、;/p><p>  LJMP KEY</p><p>  S2: LCALL DELAY ;設(shè)置時(shí)針部分 </p><p>  JB H_DE, KEY</p><p>  INC HOUR ;時(shí)針加1</p><p>  MOV A, HOUR</p>&

109、lt;p>  CJNE A, #24, J1</p><p>  MOV HOUR, #0</p><p>  LJMP KEY</p><p>  S3: LCALL DELAY ;設(shè)置分針部分</p><p>  JB M_DE, KEY</p><p>  INC

110、MINUTE ;分針加1</p><p>  MOV A, MINUTE</p><p>  CJNE A, #60, J2</p><p>  MOV MINUTE, #0</p><p>  LJMP KEY</p><p>  S4: LCALL DELAY ;設(shè)置秒針部分<

111、;/p><p>  JB S_DE, KEY</p><p>  INC SECOND ;秒針加1</p><p>  MOV A, SECOND</p><p>  CJNE A, #60, J3</p><p>  MOV SECOND, #0</p><p

112、>  LJMP KEY</p><p>  S5: LCALL DELAY ;查看鬧鐘時(shí)間</p><p>  MOV R5,#50</p><p>  TU: LCALL DISPLAY1</p><p>  LCALL DELAY</p><p>  DJNZ R5,TU</p>&

113、lt;p><b>  LJMP LOOP</b></p><p>  S6: LCALL DISPLAY1 ;鬧鐘設(shè)置按鍵</p><p>  JB NH_DE,S7</p><p>  INC HH ;鬧鐘時(shí)針加1</p><p><b>  MOV A,HH</b>&l

114、t;/p><p>  CJNE A,#24,J4</p><p><b>  MOV HH,#0</b></p><p><b>  LJMP LOOP</b></p><p>  S7: LCALL DISPLAY1 ;設(shè)置鬧鐘時(shí)針部分</p><p>  JB NM_DE,

115、S8</p><p>  INC MM ;鬧鐘分針加1 </p><p><b>  MOV A,MM</b></p><p>  CJNE A,#60,J5</p><p><b>  MOV MM,#0</b></p><p><b>  L

116、JMP S6</b></p><p>  S8: JB N_OK,S6 ;鬧鐘設(shè)置完成按鍵</p><p>  JNB N_OK,$</p><p>  LCALL DISPLAY</p><p><b>  LJMP LOOP</b></p><p>  J0: JB M_

117、SET,AA </p><p>  LCALL DISPLAY</p><p><b>  SJMP J0</b></p><p>  J1: JB H_DE,AA</p><p>  LCALL DISPLAY</p><p><b>  SJMP J1</b><

118、/p><p>  J2: JB M_DE ,AA</p><p>  LCALL DISPLAY</p><p><b>  SJMP J2</b></p><p>  J3: JB S_DE,AA</p><p>  LCALL DISPLAY</p><p><b

119、>  SJMP J3</b></p><p>  J4: MOV R4,#10</p><p>  UU:LCALL DISPLAY1</p><p>  DJNZ R4,UU</p><p><b>  LJMP S6</b></p><p>  J5: MOV R4,#10&

120、lt;/p><p>  UU1: LCALL DISPLAY1</p><p>  DJNZ R4,UU1</p><p><b>  LJMP S6</b></p><p>  AA: LJMP LOOP</p><p>  ;************ 鬧鐘子程序 ***************&

121、lt;/p><p>  ALARM_CLOCK: MOV A,HOUR</p><p><b>  MOV B,HH</b></p><p>  CJNE A,B,LL ;當(dāng)A不等于B時(shí)候跳轉(zhuǎn)</p><p>  MOV A,MINUTE</p><p><b>  MOV B,MM

122、</b></p><p>  CJNE A,B,LL ;當(dāng)A不等于B時(shí)候跳轉(zhuǎn)</p><p>  X1: LCALL DISPLAY</p><p><b>  CPL P3.4</b></p><p>  LCALL DELAY</p><p>  JB N_OK,X1<

123、;/p><p>  JNB N_OK,$ ;鬧鐘持續(xù)一分鐘,按下P3.5,鬧鐘停止</p><p>  CLR P3.4 </p><p><b>  LL:RET</b></p><p>  ;************ 中斷子程序 ***************</p><p>  

124、INT_T0: PUSH ACC</p><p>  PUSH PSW</p><p>  MOV TH1, #(65536-50000)/256</p><p>  MOV TL1, #0B0H</p><p>  INC TCNT</p><p>  MOV A, TCNT<

溫馨提示

  • 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)論