




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要本設(shè)計(jì)是簡(jiǎn)單定時(shí)鬧鐘系統(tǒng),不僅能實(shí)現(xiàn)系統(tǒng)要求的功能:(1)能顯示時(shí)時(shí)-分分-秒秒,(2)能設(shè)定和修改定時(shí)時(shí)間,(3)定時(shí)時(shí)間到后能發(fā)出報(bào)警聲;而且還有附加功能,即還能設(shè)定和修改當(dāng)前所顯示的時(shí)間。本設(shè)計(jì)采用單片機(jī)AT89C51作為核心元件,12MHZ晶振,由P0口輸出所要顯示的字形段碼,由P2口輸出字位信號(hào)。在其基礎(chǔ)上擴(kuò)展外圍芯片與電路,附加時(shí)鐘電路及LED電路。LED采用共陰極接法,低電平有效選中相應(yīng)的LED。單片機(jī)具有集成度高、功能強(qiáng)、通用性好、特別是它能耗低、價(jià)格便宜、可靠性高、抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn),所以單片機(jī)現(xiàn)在廣泛的應(yīng)用到家用電器、機(jī)電產(chǎn)品、兒童玩具、機(jī)器人、辦公自動(dòng)
2、化產(chǎn)品等領(lǐng)域。為了進(jìn)一步的熟悉并掌握單片機(jī)的應(yīng)用及開(kāi)發(fā),認(rèn)真的做好此次課程設(shè)計(jì)非常必要。一個(gè)單片機(jī)的定時(shí)鬧鐘系統(tǒng)離不開(kāi)軟件和硬件,硬件是軟件的依托,軟件是硬件的內(nèi)核。設(shè)計(jì)硬件電路時(shí)應(yīng)該先設(shè)計(jì)一個(gè)單片機(jī)的最小系統(tǒng),它是單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)基礎(chǔ),然后在此基礎(chǔ)上添加外圍器件,如顯示器、按鍵等構(gòu)成鬧鐘的硬件電路圖。在設(shè)計(jì)應(yīng)用程序時(shí)遵循模塊化的設(shè)計(jì)方法,在明確了設(shè)計(jì)方向之后按照分成的幾大模塊分別畫(huà)出流程圖,然后根據(jù)流程圖寫(xiě)出程序,在每個(gè)模塊編寫(xiě)好之后分別調(diào)試、修改、完善。最后在主程序下調(diào)用再次調(diào)試、修改。軟硬件都設(shè)計(jì)好之后在Proteus環(huán)境下仿真,看它們是否配套,只有在Proteus下仿真沒(méi)有出現(xiàn)問(wèn)題
3、才能說(shuō)明設(shè)計(jì)的定時(shí)鬧鐘成功了。本次設(shè)計(jì)嚴(yán)格按照上面的步驟,經(jīng)過(guò)多次的修改、完善后終于可以在Proteus下很好的運(yùn)行,設(shè)計(jì)成功。通過(guò)這次設(shè)計(jì)讓我更深入了解單片機(jī)基本電路、如何控制和定時(shí)器和中斷編程的基本方法,從而鍛煉了我學(xué)習(xí)、設(shè)計(jì)和開(kāi)發(fā)軟、硬件的能力。目錄1概述41.1單片機(jī)簡(jiǎn)介41.2 本設(shè)計(jì)簡(jiǎn)介52系統(tǒng)總體方案及硬件設(shè)計(jì)62.1本設(shè)計(jì)總體方案62.2單片機(jī)AT89C51簡(jiǎn)介62.3 數(shù)碼管顯示電路102.4 本設(shè)計(jì)輸入輸出電路123 軟件設(shè)計(jì)133.1系統(tǒng)軟件設(shè)計(jì)說(shuō)明133.2 LED的編程思想143.3 程序調(diào)試143.4 程序流程圖144 Proteus軟件仿真164.1仿真步驟164
4、.2 仿真過(guò)程中出現(xiàn)的錯(cuò)誤及解決措施164.3仿真結(jié)果16(1)設(shè)定當(dāng)前時(shí)間17(2)設(shè)定定時(shí)時(shí)間185 課程設(shè)計(jì)體會(huì)22參考文獻(xiàn)23附1:源程序代碼24附2:系統(tǒng)原理圖331概述1.1單片機(jī)簡(jiǎn)介u 單片機(jī)基本概念單片機(jī)是一種特殊的計(jì)算機(jī),它是在一塊半導(dǎo)體上集成了CPU、存儲(chǔ)器、以及輸入輸出接口電路,這種芯片被稱(chēng)為單片微型計(jì)算機(jī),簡(jiǎn)稱(chēng)單片機(jī)。由于單片機(jī)的集成度高、功能強(qiáng)、通用性好,貼別是他具有體積小、重量輕、能耗低、價(jià)格便宜、可靠性高、抗干擾能力強(qiáng)和使用方便等特點(diǎn),使的單片機(jī)迅速得到了推廣,目前已成為測(cè)量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部件。u 單片機(jī)產(chǎn)生與發(fā)展單片機(jī)是應(yīng)工業(yè)測(cè)控系統(tǒng)
5、數(shù)字化、智能化的迫切要求提出的。超大規(guī)模集成電路的出現(xiàn),通用CPU及其外圍電路技術(shù)的發(fā)展成熟,偉大偏激的誕生和發(fā)展提供了可能。單片機(jī)的發(fā)展完全從工業(yè)測(cè)控對(duì)象、環(huán)境、接口等特點(diǎn)出發(fā),不斷增強(qiáng)其控制功能,保證在工業(yè)測(cè)控環(huán)境中的可靠性,器接口界面也是按照能靈活、方便的構(gòu)成工業(yè)測(cè)控用計(jì)算機(jī)系統(tǒng)而設(shè)計(jì)的。它的出現(xiàn)標(biāo)志著計(jì)算機(jī)技術(shù)在工業(yè)領(lǐng)域中的應(yīng)用開(kāi)始走向完善與成熟。8位單片機(jī)從1976年開(kāi)始至今,其技術(shù)已有了巨大的發(fā)展,目前仍是單片機(jī)的主流機(jī)型。其發(fā)展階段大致分為單片機(jī)探索階段、單片機(jī)完善階段、MCU形成階段和MCU完善階段。u 單片機(jī)的發(fā)展方向(1)主流機(jī)型發(fā)展趨勢(shì)(2)全盤(pán)CMOS化趨勢(shì)(3)RIS
6、C體系結(jié)構(gòu)的大發(fā)展(4)大力發(fā)展專(zhuān)用性單片機(jī)(5)單片機(jī)中的軟件嵌入u 單片機(jī)的應(yīng)用領(lǐng)域(一)單機(jī)應(yīng)用(1)智能產(chǎn)品(2)智能儀表(3)測(cè)控系統(tǒng)(4)智能接口(二)多機(jī)應(yīng)用(1)多功能彌散系統(tǒng)(2)并行多機(jī)控制系統(tǒng)(3)局部網(wǎng)絡(luò)系統(tǒng)u 單片機(jī)分類(lèi)(1)按應(yīng)用領(lǐng)域(2)按通用性(3)按總線(xiàn)結(jié)構(gòu)分(4)按位數(shù)分類(lèi)1.2 本設(shè)計(jì)簡(jiǎn)介u 課程設(shè)計(jì)的目的和意義課程設(shè)計(jì)是在學(xué)完單片機(jī)原理及接口技術(shù)課程之后綜合利用所學(xué)單片機(jī)知識(shí)完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)并在實(shí)驗(yàn)室實(shí)現(xiàn),從而加深對(duì)單片機(jī)軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),為走出校門(mén)從事單片機(jī)應(yīng)用的相關(guān)工作打下基礎(chǔ).u 課程設(shè)計(jì)的要求1)能顯示:時(shí)時(shí)分分秒秒2
7、)能夠設(shè)定定時(shí)時(shí)間、修改定時(shí)時(shí)間3)定時(shí)時(shí)間到能發(fā)出報(bào)警聲u 課程設(shè)計(jì)的內(nèi)容 這一次課程設(shè)計(jì),所設(shè)計(jì)的是一個(gè)定時(shí)鬧鐘,能顯示時(shí)-分-秒,能夠設(shè)計(jì)定時(shí)時(shí)間,修改定時(shí)時(shí)間,并且定時(shí)時(shí)間到了能發(fā)出報(bào)警聲。 設(shè)計(jì)的部分分為軟件及硬件,軟件部分寫(xiě)出鬧鐘的工作方式以及它是如何工作的,而硬件部分是軟件的載體,畫(huà)出正確的電路圖然后在軟件的控制下才能使設(shè)計(jì)的定時(shí)鬧鐘正常工作。2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1本設(shè)計(jì)總體方案本設(shè)計(jì)使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。 本系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,利用7段
8、共陰LED作為顯示器件。接入共陰LED顯示器,可顯示時(shí),分鐘,秒,單片機(jī)外圍接有定時(shí)報(bào)警系統(tǒng),定時(shí)時(shí)間到,揚(yáng)聲器發(fā)出報(bào)警聲,提示預(yù)先設(shè)定時(shí)間電器的起停時(shí)間到,從而控制電器的起停。電路由下列部分組成:時(shí)鐘電路、復(fù)位電路、控制電路、LED顯示,報(bào)警電路,芯片選用AT89C51單片機(jī)。2.2單片機(jī)AT89C51簡(jiǎn)介AT89C51是一個(gè)低電壓,高性能CMOS型8位單片機(jī),片內(nèi)含4KB的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器(ROM)和128B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)
9、置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51為用戶(hù)提供了許多高性?xún)r(jià)比應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線(xiàn)編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。主要特性:·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:1000寫(xiě)/擦循環(huán)·數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0H
10、z-24Hz·三級(jí)程序存儲(chǔ)器鎖定·128×8位內(nèi)部RAM·32可編程I/O線(xiàn)·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路引腳使用說(shuō)明:VCC:供電電壓。GND:接地。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外部必須被拉高
11、。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),
12、它利用內(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)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:管腳備選功能P3.0RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5
13、T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。ST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE
14、只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/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端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作
15、電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度圖2-12.3 數(shù)碼管顯示電路單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫(xiě)。LED顯示器由于結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,體積小,亮度高,電壓低,可靠性高,壽命長(zhǎng),響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機(jī)接口方便而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成
16、顯示字段的顯示部件,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。LED七段數(shù)碼顯示器由8個(gè)發(fā)光二極管組成顯示字符,根據(jù)內(nèi)部發(fā)光二極管的連接形式不同,LED有共陰極和共陽(yáng)極兩種,本系統(tǒng)采用共陰極。LED的結(jié)構(gòu)及連接如圖2-2所示圖2-2LED顯示原理當(dāng)選用共陰極的LED時(shí),所有發(fā)光二極管陰極連在一起接地,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極加入高電平時(shí),對(duì)應(yīng)的二極管點(diǎn)亮。因此要顯示某字形就應(yīng)使此字形的相應(yīng)段的二極管點(diǎn)亮,實(shí)際上就是送一個(gè)用不同電平組合代表的數(shù)據(jù)字來(lái)控制LED的顯示,此數(shù)據(jù)為字符的段碼或稱(chēng)為字型碼。字型碼與LED顯示器各段的關(guān)系為D7D6D5D4
17、D3D2D1D0dpgfedcba表2-1dp為小數(shù)點(diǎn),字符0、1、2F的段碼如表2-2所示字符段碼(共陰)段碼(共陽(yáng))03FHCOH106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90HA77H88HB7CH83HC39HC6HD5EHA1HE79H86HF71H8EH-40HBFH.80H7FH熄滅00HFFH表2-2下圖是本系統(tǒng)采用的共陰極LED七段數(shù)碼顯示器:圖2-32.4 本設(shè)計(jì)輸入輸出電路該系統(tǒng)輸入電路采用的是P1口以及4個(gè)上拉電阻,其阻值為10千歐。其圖如下:圖2-4系統(tǒng)的輸出電路采用的是P0口和P2口,喇叭
18、口采用P3.7口。其電路如下圖:圖2-53 軟件設(shè)計(jì)3.1系統(tǒng)軟件設(shè)計(jì)說(shuō)明該系統(tǒng)軟件程序主要有主程序模塊,定時(shí)中斷服務(wù)程序,中斷等待服務(wù)程序,鍵盤(pán)服務(wù)程序,顯示子程序服務(wù)程序等六大模塊組成。在AT89C51外圍的一個(gè)17管腳即P3.7管口上加揚(yáng)聲器,通過(guò)軟件與硬件的結(jié)合可實(shí)現(xiàn)定時(shí)報(bào)警功能。圖中按鍵從上往下設(shè)定為S1,S2,S3,S4,S1與p1.4相連,S2與p1.3相連,S3與p1.2相連,S4與p1.1相連。當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S4鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S2,分鐘加1;按一下S3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S1退出當(dāng)前時(shí)間設(shè)定狀態(tài);當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下
19、S3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S2,小時(shí)加1;按一下S4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S1退出定時(shí)時(shí)間設(shè)定狀態(tài)。3.2 LED的編程思想本設(shè)計(jì)使用LED數(shù)碼管顯示,LED顯示器具有耗電少、成本低、配置簡(jiǎn)單靈活、安裝方便、耐震動(dòng)、使用壽命長(zhǎng)等優(yōu)點(diǎn),因而應(yīng)用廣泛。該方案控制最簡(jiǎn)單,但是只能顯示有限的符號(hào)和數(shù)字,對(duì)于設(shè)計(jì)中復(fù)雜的顯示功能顯然不能勝任。雖然點(diǎn)陣液晶可以顯示多種字符和圖形,擁有友好的人機(jī)界面及強(qiáng)大的顯示功能。特別適用于智能控制的可編程人性化顯示。但是考慮到本設(shè)計(jì)的實(shí)際要求,使用數(shù)碼管顯示就足以達(dá)到要求了。七段LED由七個(gè)發(fā)光二極管按日字排開(kāi),所有發(fā)光二極管的
20、陽(yáng)極連在一起成共陽(yáng)極,陰極連在一塊稱(chēng)共陰極接法。當(dāng)采用芯片驅(qū)動(dòng)時(shí)不需要加限流電阻,其他情況下一般應(yīng)外接限流電阻。動(dòng)態(tài)顯示電路有顯示塊,字形碼封鎖驅(qū)動(dòng)器,字位鎖存驅(qū)動(dòng)器三部分組成。3.3 程序調(diào)試 1)將程序輸入到偉福的環(huán)境下; 2)用單步運(yùn)行和斷點(diǎn)運(yùn)行方式調(diào)試程序; 3)調(diào)試T0中斷服務(wù)程序,首先在記數(shù)單元39H、3AH、3BH、3CH單元中預(yù)置數(shù),調(diào)試秒單元向分單元進(jìn)位及分單元向時(shí)單元的進(jìn)位,最后將T0中斷服務(wù)程序統(tǒng)調(diào)通過(guò); 4)在39H、3AH、3BH、3CH單元中預(yù)置數(shù),調(diào)試顯示程序; 5)調(diào)
21、試主程序,使鬧鐘走時(shí)系統(tǒng)工作正常。3.4 程序流程圖本設(shè)計(jì)程序流程圖如3-1所示:判斷鬧鐘時(shí)間到否程序初始化調(diào)用顯示程序開(kāi)始P1.1是否按下?調(diào)用時(shí)間設(shè)定程序P1.2是否按下?Y調(diào)用鬧鐘時(shí)間設(shè)定程序NNYYYY圖3-14 Proteus軟件仿真4.1仿真步驟第一步:用偉褔軟件對(duì)程序進(jìn)行編譯,編譯通過(guò)后,會(huì)自動(dòng)生成HEX文件。第二步:在Proteus的元件庫(kù)中找到AT89C51以及相應(yīng)的元件,按照硬件設(shè)計(jì)中的說(shuō)明把各部件連接起來(lái)組成一個(gè)定時(shí)鬧鐘的硬件系統(tǒng)。第三步:把在偉福環(huán)境調(diào)試下生成的.HEX文件裝入到AT89C51里,點(diǎn)擊運(yùn)行符號(hào)就可以使軟硬件的配套設(shè)施在Proteus的環(huán)境下仿真實(shí)現(xiàn)。第四
22、步:驗(yàn)證系統(tǒng)能否實(shí)現(xiàn)所要求的功能,并檢驗(yàn)錯(cuò)誤。4.2 仿真過(guò)程中出現(xiàn)的錯(cuò)誤及解決措施1)當(dāng)把程序生成的.HEX文件裝入到AT89C51后運(yùn)行時(shí),顯示模塊出現(xiàn)數(shù)字顯示錯(cuò)誤,但是軟硬件都沒(méi)有錯(cuò)誤,經(jīng)檢查是它們不配套,在修改掃描顯示控制字而且改變硬件布線(xiàn)順序后方顯示正常。2)鬧鐘在定時(shí)時(shí)間到的時(shí)候沒(méi)有出現(xiàn)報(bào)警聲,但是經(jīng)檢查軟硬件均沒(méi)有出現(xiàn)錯(cuò)誤,而且在這里也不會(huì)出現(xiàn)因?yàn)檐浻布慌涮锥霈F(xiàn)問(wèn)題,并且把揚(yáng)聲器去掉換成發(fā)光二極管后,二極管可以根據(jù)要求明或者滅。在經(jīng)過(guò)反復(fù)的檢查以及實(shí)驗(yàn)后才知道應(yīng)該使接揚(yáng)聲器的接口輸出交流信號(hào)才可以使揚(yáng)聲器正常工作,經(jīng)過(guò)反復(fù)比較決定運(yùn)用軟件產(chǎn)生一個(gè)交流的信號(hào)才解決了這個(gè)問(wèn)題,但
23、是還沒(méi)有解決聲音小的問(wèn)題。3)在設(shè)計(jì)的初期把主程序設(shè)計(jì)成順序結(jié)構(gòu),但是在運(yùn)行的時(shí)候沒(méi)有注意到這個(gè)問(wèn)題,沒(méi)有按照軟件說(shuō)明中的順序操作,以至于鬧鐘鬧時(shí)出現(xiàn)錯(cuò)誤,在改變按下按鍵的順序后鬧鐘工作正常。4.3仿真結(jié)果圖中按鍵從上往下設(shè)定為S1,S2,S3,S4,S1與p1.4相連,S2與p1.3相連,S3與p1.2相連,S4與p1.1相連。(1)設(shè)定當(dāng)前時(shí)間當(dāng)需要設(shè)定當(dāng)前時(shí)間時(shí),按一下S4鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下S2,分鐘加1;按一下S3,小時(shí)加1。如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后按S1退出當(dāng)前時(shí)間設(shè)定狀態(tài)。開(kāi)始仿真時(shí),顯示如圖4-1所示:圖4-1先按S4,再按S2時(shí),如圖4-2所示:圖4-2先按
24、S4,再按S2,再按S3時(shí),如圖4-3所示:圖4-3如圖4-4:設(shè)定當(dāng)前時(shí)間是02:02:54。圖4-4(2)設(shè)定定時(shí)時(shí)間當(dāng)要設(shè)定定時(shí)時(shí)間時(shí),按下S3,進(jìn)入定時(shí)時(shí)間設(shè)定狀態(tài),按一下S2,小時(shí)加1;按一下S4,分鐘加1。如此反復(fù)來(lái)設(shè)定要設(shè)定的定時(shí)時(shí)間。設(shè)好后,按下S1退出定時(shí)時(shí)間設(shè)定狀態(tài)。開(kāi)始仿真時(shí),直接按S3進(jìn)行鬧鐘設(shè)定,如圖4-5所示:圖4-5按S2后,如圖4-6所示:圖4-6按S4后,如圖4-7所示:圖4-7如圖4-8所示圖:設(shè)定定時(shí)時(shí)間為07:06.圖4-8圖4-9是達(dá)到設(shè)定時(shí)間的仿真圖: 圖4-9與圖4-8不同的是:(1)當(dāng)?shù)竭_(dá)時(shí)間07:05:59時(shí),“0706”這幾個(gè)字匯不停的閃爍,
25、且字型管腳全為高電平,如圖4-11所示.圖4-10圖4-11(2)揚(yáng)聲器發(fā)出報(bào)警聲,且揚(yáng)聲器兩端同時(shí)變?yōu)楦唠娖剑趫D4-8中揚(yáng)聲器一端為高電平,另一端為低電平。圖4-12 圖4-8中揚(yáng)聲器狀態(tài)圖4-13 圖4-9中揚(yáng)聲器狀態(tài)5 課程設(shè)計(jì)體會(huì) 單片機(jī)是一門(mén)應(yīng)用性很強(qiáng)的學(xué)科,課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程,為自己今后從事與單片機(jī)控制系統(tǒng)有關(guān)的工作打下了基礎(chǔ)。雖然在做課程設(shè)計(jì)以前已經(jīng)系統(tǒng)的把單片機(jī)課本認(rèn)真的學(xué)習(xí)了一下,但是在剛開(kāi)始時(shí)還是有點(diǎn)一頭霧水,不知道該從哪里下手。令人
26、欣慰的是經(jīng)過(guò)幾周的學(xué)習(xí),雖然過(guò)程很艱辛,問(wèn)了很多朋友,但是總算實(shí)現(xiàn)了定時(shí)鬧鐘的功能,所有的努力都很值得。這幾周的大部分時(shí)間都在研究程序怎么處理,在這個(gè)過(guò)程中加深了我對(duì)匯編語(yǔ)言命令的應(yīng)用,而且也更加了解到軟硬件配套的重要性。以下是我本次單片機(jī)課程設(shè)計(jì)的幾點(diǎn)心得與體會(huì):1. 在設(shè)計(jì)程序之前,務(wù)必要對(duì)所學(xué)單片機(jī)課程的內(nèi)容有一個(gè)系統(tǒng)的了解,知道單片機(jī)片內(nèi)片外的內(nèi)容及其功能。2. 設(shè)計(jì)程序采用什么編程語(yǔ)言并不是非常重要,關(guān)鍵要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖。模塊化的設(shè)計(jì)思想在程序設(shè)計(jì)中的作用是十分大的,它可以為你提供一個(gè)比較清晰的思路,并且很容易找到頭緒,不至于在設(shè)想一個(gè)程序時(shí)感覺(jué)到無(wú)從下手。3
27、. 在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,"反復(fù)修改,不斷改進(jìn)"是程序設(shè)計(jì)的必經(jīng)之路。程序剛開(kāi)始編好時(shí),一般情況下會(huì)存在很多錯(cuò)誤,要不斷地修改,不斷的改進(jìn)才能達(dá)到預(yù)期的目的,編寫(xiě)程序的時(shí)間并不是很長(zhǎng),主要是修改程序會(huì)花很多時(shí)間。4. 要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便。剛開(kāi)始我在編寫(xiě)程序時(shí),很不習(xí)慣于寫(xiě)注釋?zhuān)杏X(jué)很麻煩,而且沒(méi)用,但是在修改的過(guò)程中我就遇到了較大的麻煩,以至于不得不重新的作了注釋?zhuān)栽黾映绦虻囊鬃x性,從而使修改過(guò)程變得容易一些。 總之,通過(guò)這次課程設(shè)計(jì)不僅使我
28、鞏固了本課程所學(xué)的基本知識(shí),還使我具有了撰寫(xiě)設(shè)計(jì)報(bào)告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué)習(xí)中一定會(huì)起到不小的作用,看到自己幾周的小成果,感覺(jué)一切的辛苦和艱難都是值得的。參考文獻(xiàn)1余發(fā)山著.單片機(jī)原理及應(yīng)用技術(shù)江蘇:中國(guó)礦業(yè)大學(xué)出版社. 2003年.97-1182閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,19893廖常初.現(xiàn)場(chǎng)總線(xiàn)概述J.電工技術(shù),1999.4金顯賀,王昌長(zhǎng),王忠東,等.一種用于在線(xiàn)檢測(cè)局部放電的數(shù)字濾波技術(shù).清華大學(xué)學(xué)報(bào)(自然科學(xué)版),1993,33(4):62-675劉國(guó)鈞,陳紹業(yè),王鳳翥.圖書(shū)館目錄.北京:高等教育出版社,1957.15-1
29、86康華光.數(shù)字電子技術(shù). 北京: 高等教育出版社,20037吳金戌.8051單片機(jī)實(shí)踐與應(yīng)用. 北京: 清華大學(xué)出版社,20038樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例. 北京: 北京航空航天出版社,20049黃仁欣.單片機(jī)原理及應(yīng)用技術(shù). 北京: 清華大學(xué)出版社, 200510 何立民. 單片機(jī)高級(jí)教程 第1版北京:北京航空航天大學(xué)出版社,2001 11趙曉安. MCS-51單片機(jī)原理及應(yīng)用. 天津:天津大學(xué)出版社,2001.3 12李廣第 單片機(jī)基礎(chǔ) 第1版北京:北
30、京航空航天大學(xué)出版社,1999 13徐惠民、安德寧 單片微型計(jì)算機(jī)原理接口與應(yīng)用 第1版 北京:北京郵電大學(xué)出版社,1996 14夏繼強(qiáng). 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程. 北京:北京航空航天大學(xué)出版社, 2001 附1:源程序代碼ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ;×××××主程序部分:××××× ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;秒鐘BIN MOV 21H,#00H ;分鐘BIN MOV 22H,#00H ;
31、小時(shí)BIN MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位計(jì)數(shù)器 MOV TH0,#03CH ;賦計(jì)數(shù)初值 MOV TL0,#0B0H MOV IE,#10000111B SETB TR0 ;T0啟動(dòng)計(jì)數(shù) MOV R2,#14H MOV P2,#0FFH LOOP: LC
32、ALL TIMEPRO LCALL DISPLAY1 JB P1.1,M1 LCALL SETTIME ;調(diào)用設(shè)定時(shí)間程序 LJMP LOOP M1:JB P1.2,M2 LCALL SETATIME ;調(diào)用設(shè)定時(shí)間程序 LJMP LOOP M2:JB P1.4,M4 LCALL LOOKATIME ;調(diào)用設(shè)定鬧鐘時(shí)間程序 M4:LJMP LOOP DELAY:MOV R4,#030H ;延時(shí)時(shí)間 DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET ;××
33、5;××設(shè)定時(shí)間程序:××××× SETTIME: L0:LCALL DISPLAY1 ;調(diào)用時(shí)間允許程序 MM1: JB P1.2,L1 MOV C,P1.2 JC MM1 LCALL DELAY1 ;調(diào)用延時(shí) JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 ;判斷P1.2是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.2 JNC MSTOP1 INC 22H ;小時(shí)增加1 MOV A,22H CJNE A,#18H,GO12 ;判斷小時(shí)是否到24時(shí)?未到繼續(xù)循環(huán) M
34、OV 22H,#00H ;小時(shí)復(fù)位 MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 ;延時(shí) JC L1MSTOP2: MOV C,P1.3 JNC MSTOP2 ;判斷P1.3是否釋放?釋放則繼續(xù) LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.3 JNC MSTOP2 INC 21H ;分鐘增加一 MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H ;分鐘復(fù)位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,
35、#0AH ;將A中的內(nèi)容分成高低兩部分 DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.4,L0 MOV C,P1.4 JC L2 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JC L2STOP1: MOV C,P1.4 ;判斷按鍵P1.4是否釋放? JNC STOP1 LCALL DELAY1 ;調(diào)用延時(shí) MOV C,P1.4 JNC STOP1 LJMP LOOP;×××××設(shè)置鬧鐘
36、時(shí)間××××× SETATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行 N0:LCALL DISPLAY2 MM2: JB P1.3,N1 ;判斷P1.3是否按下? MOV C,P1.3 JC MM2 LCALL DELAY1 JC MM2MSTOP3: MOV C,P1.3 ;判斷P1.3是否釋放? JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;設(shè)定小時(shí)增加1 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H ;時(shí)鐘復(fù)位 MOV 38H,#00
37、H MOV 39H,#00H LJMP N0 N1:JB P1.1,N2 ;判斷P1.1是否按下? MOV C,P1.1 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;判斷P1.1是否釋放? JNC MSTOP4 LCALL DELAY1 MOV C,P1.1 JNC MSTOP4 INC 23H ;設(shè)定鬧鐘分鐘增加1 MOV A,23H CJNE A,#60,GO21 ;判斷A是否到60分? MOV 23H,#00H ;分鐘復(fù)位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;將A中的內(nèi)容分成高低
38、兩部分 DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 ;判斷P1.4是否按下? MOV C,P1.4 JC N2 LCALL DELAY1 MOV C,P1.4 JC N2STOP2: MOV C,P1.4 ;判斷P1.4是否釋放? JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK ;判斷分鐘是否運(yùn)行到
39、設(shè)定的鬧鐘的分鐘? MOV A,22H MOV B,24H CJNE A,B,BK ;判斷時(shí)鐘是否運(yùn)行到設(shè)定的鬧鐘的時(shí)鐘? SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;調(diào)用時(shí)間鬧鐘響應(yīng)程序 BK:RET TIMEOUT: X1:LCALL BZ ;調(diào)用喇叭響應(yīng)程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 ;判斷P1.4是否按下? LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ: CLR P3.7 ;喇叭響應(yīng)程序 MOV R7,#250 ;響應(yīng)延時(shí)時(shí)間 T2: MOV R6,#12
40、4 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RET LOOKATIME:LCALL DISPLAY2 ;調(diào)用時(shí)間運(yùn)行程序 MM: JB P1.4,LOOKATIME ;判斷按鍵P1.4是否按下 MOV C,P1.4 JC MM LCALL DELAY1 MOV C,P1.4 JC MMSTOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H ;時(shí)間延時(shí)DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET;×××××時(shí)間運(yùn)行程序
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南省安全員《C證》考試題庫(kù)及答案
- 南京審計(jì)大學(xué)《數(shù)學(xué)學(xué)科與教學(xué)指導(dǎo)實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南醫(yī)學(xué)院《數(shù)字時(shí)代品牌傳播》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱城市職業(yè)學(xué)院《會(huì)計(jì)電算化實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實(shí)操-保險(xiǎn)行業(yè)的賬務(wù)處理示例
- 2025青海省建筑安全員A證考試題庫(kù)附答案
- 南京城市職業(yè)學(xué)院《主任工作技能》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北國(guó)土資源職業(yè)學(xué)院《精神分析理論與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 徐州工業(yè)職業(yè)技術(shù)學(xué)院《三維建模與貼圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州高博軟件技術(shù)職業(yè)學(xué)院《微電子工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 工作室成員成長(zhǎng)檔案模板(內(nèi)部版)課件
- (完整版)馬克思主義基本原理概論知識(shí)點(diǎn)
- 弱電系統(tǒng)巡查記錄表(辦公樓)
- 預(yù)防接種人員崗位培訓(xùn)習(xí)題(Ⅰ類(lèi)培訓(xùn)練習(xí)題庫(kù)共385題)
- 現(xiàn)場(chǎng)經(jīng)濟(jì)簽證單范本
- 《網(wǎng)店運(yùn)營(yíng)與管理》課件(完整版)
- 《跨境電商B2B操作實(shí)務(wù)》教學(xué)大綱
- 河口區(qū)自然資源
- 精益改善項(xiàng)目管理制度
- 2012數(shù)據(jù)結(jié)構(gòu)英文試卷A及答案
- 機(jī)翼結(jié)構(gòu)(課堂PPT)
評(píng)論
0/150
提交評(píng)論