




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
前言本設(shè)計(jì)是基于單片機(jī)的定時(shí)鬧鐘設(shè)計(jì)。單片機(jī)是在一塊半導(dǎo)體芯片上集成了CPU、存儲(chǔ)器以及輸入和輸出接口電路的微型計(jì)算機(jī);其集成度高、功能強(qiáng)、通用性好,特別是它具有體積小、重量輕、能耗低、價(jià)格便宜、抗擾、能力強(qiáng)和使用方便,軟硬件結(jié)合、靈活穩(wěn)定、軟件硬化、硬件軟化,適合應(yīng)用于多種環(huán)境、可在惡劣環(huán)境中工作等特點(diǎn)。它不僅僅是一項(xiàng)技術(shù)性上的突破,同時(shí)也是對(duì)能源方面的有效節(jié)約與有效利用,因此深受國(guó)家有關(guān)技術(shù)部門和能源部門的重視和支持。其組合而成的配件產(chǎn)品在日常生活的使用過程中非常方便、簡(jiǎn)單且實(shí)用,深受著廣大消費(fèi)者的喜愛,從而使單片機(jī)技術(shù)在社會(huì)中得到了廣泛的發(fā)展和應(yīng)用。目前,已成為測(cè)量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部件。特別是20世紀(jì)70年代問世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快,推廣率高,市場(chǎng)利潤(rùn)率高。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。
本次設(shè)計(jì)的定時(shí)鬧鐘在硬件方面就采用了AT89C51芯片,用2個(gè)LED數(shù)碼管來(lái)進(jìn)行顯示。第一個(gè)LED用P0口進(jìn)行驅(qū)動(dòng),第二個(gè)LED用P2口進(jìn)行驅(qū)動(dòng),能夠比較準(zhǔn)確顯示分鐘數(shù)。通過S1、S2、S3、和S4四個(gè)功能按鍵可以實(shí)現(xiàn)對(duì)定時(shí)鬧鐘的啟動(dòng)、復(fù)位和定時(shí),定時(shí)時(shí)間到喇叭可以發(fā)出鬧鈴聲。在軟件方面采用匯編語(yǔ)言編程。整個(gè)定時(shí)鬧鐘系統(tǒng)能完成時(shí)間的顯示,調(diào)時(shí)和定時(shí)鬧鐘、復(fù)位等功能,并經(jīng)過系統(tǒng)仿真后得到了正確的結(jié)果目錄前言第一章設(shè)計(jì)目的及要求 41.1、設(shè)計(jì)目的 41.2、設(shè)計(jì)要求 41.2.1、課程設(shè)計(jì)要求 41.2.2、基本設(shè)計(jì)功能要求主要分為以下幾個(gè)部分: 4第二章方案設(shè)計(jì) 52.1、幾種常見的定時(shí)鬧鐘 52.1.1、普通機(jī)械鬧鐘 52.1.2、晶體管鬧鐘 52.1.3、石英電子鬧鐘 52.2、研究背景 52.3、本文研究的主要內(nèi)容 52.4、方案論證 62.4.1、方案 6第三章主要元器件介紹 73.1、AT89C51單片機(jī)介紹 73.1.1、AT89C51芯片簡(jiǎn)介 73.1.2、引腳說(shuō)明 73.2、時(shí)鐘電路 93.3、7SEG-BCD 9第四章硬件電路設(shè)計(jì) 104.1、晶振時(shí)鐘電路設(shè)計(jì) 104.2、復(fù)位電路設(shè)計(jì) 104.3、定時(shí)輸入電路設(shè)計(jì) 104.4、顯示電路設(shè)計(jì) 114.5、啟動(dòng)和復(fù)位計(jì)時(shí)電路 124.6、鬧鐘響鈴電路設(shè)計(jì) 12第五章軟件設(shè)計(jì)及主要子程序 135.1、軟件設(shè)計(jì)思路 135.2、主程序模塊 135.3、定時(shí)輸入子程序設(shè)計(jì) 145.4、顯示子程序設(shè)計(jì) 145.5、啟動(dòng)和復(fù)位子程序設(shè)計(jì) 145.6、計(jì)時(shí)響鈴子程序設(shè)計(jì) 14第六章系統(tǒng)仿真與調(diào)試 156.1、Keil編譯 156.2、Protues仿真平臺(tái) 156.2.1、Protues仿真簡(jiǎn)介及部分模塊仿真 156.2.2、硬件電路總圖與仿真 16第七章操作方法及效果 17第八章課程設(shè)計(jì)總結(jié) 20參考文獻(xiàn) 21附錄1 22匯編程序 22附錄2 25PCB生成圖 25附錄3 26定時(shí)鬧鐘原理圖 26
第一章設(shè)計(jì)目的及要求1.1、設(shè)計(jì)目的本次課程設(shè)計(jì)目的在于真正的把所學(xué)單片機(jī)理論知識(shí)應(yīng)用于實(shí)際,更加熟悉51單片機(jī)的硬件與軟件。能靈活運(yùn)用Keil進(jìn)行軟件編程調(diào)試以及用proteus軟件仿真。本次設(shè)計(jì)組成定時(shí)鬧鐘系統(tǒng),畫出系統(tǒng)硬件電路圖,設(shè)計(jì)編寫開關(guān)控制定時(shí)、LED顯示、聲響鈴、定時(shí)啟動(dòng)及復(fù)位等子程序。在調(diào)試程序時(shí),要求整個(gè)系統(tǒng)工作正常、顯示正確、結(jié)果滿意,掌握該芯片的工作原理并完成讀、寫程序的設(shè)計(jì)、編寫和調(diào)試。1.2、設(shè)計(jì)要求1.2.1、課程設(shè)計(jì)要求能熟練運(yùn)用51單片機(jī)實(shí)現(xiàn)硬件與軟件結(jié)合完成電子產(chǎn)品的設(shè)計(jì),把理論真正運(yùn)用于實(shí)踐,會(huì)用Keil等軟件編程調(diào)試運(yùn)行,熟悉應(yīng)用Proteus軟件仿真。強(qiáng)化編程練習(xí),注意查詢方式與中斷方式的區(qū)別等等。1.2.2、基本設(shè)計(jì)功能要求主要分為以下幾個(gè)部分:1)由于要顯示數(shù)字時(shí)間,所以需要2個(gè)數(shù)碼管。
2)時(shí)間的定時(shí)用時(shí)鐘電路,修改時(shí)間和定時(shí)用手動(dòng)按鍵控制,鬧鈴聲通過喇叭發(fā)出3)記時(shí)完成后,通過復(fù)位鍵將整個(gè)鬧鐘變?yōu)槌跏紶顟B(tài)
4)AT89C51單片機(jī)加上外圍器件(數(shù)字顯示器7SEG-MPX6-CC-BLUE,RESPACK-8排阻和SPEAKER喇叭)和應(yīng)用程序(ISIS
6
Professional軟件和WAVE6000編譯軟件),構(gòu)成相應(yīng)的應(yīng)用系統(tǒng)。
第二章方案設(shè)計(jì)2.1、幾種常見的定時(shí)鬧鐘2.1.1、普通機(jī)械鬧鐘這種機(jī)械鬧鐘結(jié)構(gòu)簡(jiǎn)單、使用方便、價(jià)格便宜,其中的原動(dòng)系以發(fā)條為貯能元件,機(jī)械式音樂鬧鐘上還帶有以鬧發(fā)條驅(qū)動(dòng)的帶撥針的滾輪,撥針按曲譜排列,撥動(dòng)音簧,演奏出音樂,但在使用中暴露了很多缺點(diǎn):機(jī)械鬧鐘的發(fā)條是靠金屬制成的,經(jīng)過較長(zhǎng)時(shí)間的磨損會(huì)影響到計(jì)時(shí)的精度。2.1.2、晶體管鬧鐘一種電機(jī)械鐘。又稱擺輪游絲式電子鐘。它采用機(jī)械式鐘的擺輪游絲振動(dòng)系統(tǒng),但以電池為能源。電池的能量通過一個(gè)晶體管開關(guān)電路直接傳遞給擺輪游絲系統(tǒng),從而維持?jǐn)[輪的不衰減振動(dòng)。通過\o"快慢針"快慢針調(diào)節(jié)游絲的工作長(zhǎng)度,可調(diào)節(jié)振動(dòng)周期。擺輪通過計(jì)數(shù)機(jī)構(gòu)驅(qū)動(dòng)齒輪傳動(dòng)系統(tǒng)和指針系統(tǒng),以指示時(shí)間。晶體管鐘可帶鬧時(shí)機(jī)構(gòu)和日歷機(jī)構(gòu),并可與收音機(jī)結(jié)合構(gòu)成鐘控收音機(jī)。但是這種鬧鐘在實(shí)際應(yīng)用中的計(jì)時(shí)很不準(zhǔn)確,并且耗電量也比較大,現(xiàn)在基本上已經(jīng)很少有人使用2.1.3、石英電子鬧鐘該類定時(shí)鬧鐘采用單片機(jī)作為基礎(chǔ),通過將程序?qū)懭雴纹瑱C(jī)中,來(lái)對(duì)鬧鐘進(jìn)行多功能的控制,所需要的硬件電路很少,采用這種鬧鐘具有極大的優(yōu)勢(shì),它的結(jié)構(gòu)簡(jiǎn)單,維修方便,并且造價(jià)低,功耗低,可以長(zhǎng)時(shí)間工作,并且計(jì)時(shí)準(zhǔn)確,誤差很小,在現(xiàn)在的生產(chǎn)和生活中的到了廣泛的應(yīng)用。2.2、研究背景電子鬧鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)間數(shù)字顯示的機(jī)械裝置,廣泛應(yīng)用于個(gè)人家庭,車站,碼頭,辦公室等公共場(chǎng)合,稱為人們?nèi)粘I钪胁豢苫蛉钡牡谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,是的數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超于老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)和生活帶來(lái)了極大的方便,而且大大地拓展了鐘表的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、自動(dòng)按時(shí)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)啟閉路燈、定慧寺開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。數(shù)字鐘已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,給人們的生活、學(xué)習(xí)、工作、娛樂帶來(lái)了極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的技術(shù),是數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)勢(shì),它還用于計(jì)時(shí)自動(dòng)報(bào)時(shí)及自動(dòng)控制領(lǐng)域。因此,研究定時(shí)數(shù)字鬧鐘及擴(kuò)大其應(yīng)用有著非常現(xiàn)實(shí)的意義。2.3、本文研究的主要內(nèi)容設(shè)計(jì)內(nèi)容完全按照前面的設(shè)計(jì)要求完成,完全滿足前面的設(shè)計(jì)要求。2.4、方案論證2.4.1、方案方案:設(shè)計(jì)選用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的電子鬧鐘功能。方案完全按照第1章的基本設(shè)計(jì)要求設(shè)計(jì)。AT89C51顯示模塊啟動(dòng)電路AT89C51顯示模塊啟動(dòng)電路鬧鐘響鈴復(fù)位電路置數(shù)分鐘數(shù)鬧鐘響鈴復(fù)位電路置數(shù)分鐘數(shù)圖2.1單片機(jī)控制方案
第三章主要元器件介紹3.1、AT89C51單片機(jī)介紹3.1.1、AT89C51芯片簡(jiǎn)介AT89C51是MCS—51系列單片機(jī)中的一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲(chǔ)器的8位CMOS微控制器,使用高密度、非易失存儲(chǔ)技術(shù)制造,并且與80C51引腳和指令系統(tǒng)完全兼容。主要性能:與MCS-51微控制器產(chǎn)品系列兼容。片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲(chǔ)器存儲(chǔ)數(shù)據(jù)保存時(shí)間為10年。寬工作電壓范圍:Vcc可為2.7V到6V全靜態(tài)工作;可從0Hz至16MHz程序存儲(chǔ)器具有3級(jí)加密保護(hù)128*8位內(nèi)部RAM32條可編程I/O線、兩個(gè)16位定時(shí)器/計(jì)數(shù)器、中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)優(yōu)先級(jí)、可編程全雙工串行通道、空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲(chǔ)內(nèi)容。89C51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對(duì)各種功能部件的控制是采用特殊功能寄存器的集中控制方式。微處理器、數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)各部分功能及說(shuō)明類似于8051單片機(jī)內(nèi)部結(jié)構(gòu)說(shuō)明。特殊功能寄存器共有21個(gè),用于對(duì)片內(nèi)的各功能的部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)具有特殊功能的RAM區(qū)。由上可見,89C51單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點(diǎn)。特別值得一提的是該單片機(jī)CPU中的位處理器,它實(shí)際上是一個(gè)完整的1位微計(jì)算機(jī),這個(gè)1位微計(jì)算機(jī)有自己的CPU、位寄存器、I/O口和指令集。1位機(jī)在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而8位機(jī)在數(shù)據(jù)采集,運(yùn)算處理方面有明顯的長(zhǎng)處。MCS-51單片機(jī)中8位機(jī)和1位機(jī)的硬件資源復(fù)合在一起,二者相輔相承,它是單片機(jī)技術(shù)上的一個(gè)突破,這也是MCS-51單片機(jī)設(shè)計(jì)的精美之處。3.1.2、引腳說(shuō)明圖3.1是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片。圖3.1AT89C51引腳圖P00~P07P0口8位雙向口線(在引腳的39~32號(hào)端子)。P10~P17P1口8位雙向口線(在引腳的1~8號(hào)端子)。P20~P27P2口8位雙向口線(在引腳的21~28號(hào)端子)。P30~P37P3口8位雙向口線(在引腳的10~17號(hào)端子)。1、P0口有三個(gè)功能:(1)外部擴(kuò)展存儲(chǔ)器時(shí),用作數(shù)據(jù)總線(如圖中的D0~D7為數(shù)據(jù)總線接口)(2)外部擴(kuò)展存儲(chǔ)器時(shí),用作地址總線(如圖中的A0~A7為地址總線接口)(3)不擴(kuò)展時(shí),可做一般的I/O口使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。2、P1口功能:P1口只做I/O口使用,其內(nèi)部有上拉電阻。3、P2口有兩個(gè)功能:(1)擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用;(2)做一般I/O口使用,其內(nèi)部有上拉電阻。4、P3口有兩個(gè)功能:除了作為I/O口使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來(lái)設(shè)置。當(dāng)作為輸入時(shí),上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效。5、ALE/PROG地址鎖存控制信號(hào):在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。PROG為編程脈沖的輸入端,在89C51單片機(jī)內(nèi)部有一個(gè)4KB的程序存儲(chǔ)器(ROM),ROM的作用就是用來(lái)存放用戶需要執(zhí)行的程序的,那么我們是怎樣把編寫好的程序存入進(jìn)這個(gè)ROM中的呢?實(shí)際上是通過編程脈沖輸入才能寫進(jìn)去的,這個(gè)脈沖的輸入端口就是PROG。6、PSEN外部程序存儲(chǔ)器讀選通信號(hào):在讀外部ROM時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部ROM單元的讀操作:(1)內(nèi)部ROM讀取時(shí),PSEN不動(dòng)作;(2)外部ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次;(3)外部RAM讀取時(shí),兩個(gè)PSEN脈沖被跳過不會(huì)輸出;(4)外接ROM時(shí),與ROM的EA腳相接。7、EA/VPP訪問程序存儲(chǔ)器控制信號(hào):(1)接高電平時(shí):CPU讀取內(nèi)部程序存儲(chǔ)器(ROM)(2)接低電平時(shí):CPU讀取外部程序存儲(chǔ)器(ROM)。8031單片機(jī)內(nèi)部是沒有ROM的,那么在應(yīng)用8031單片機(jī)時(shí),這個(gè)腳是一直接低電平的。8、RST復(fù)位信號(hào):當(dāng)輸入的信號(hào)連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作,當(dāng)復(fù)位后程序計(jì)數(shù)器PC=0000H,即復(fù)位后將從程序存儲(chǔ)器的0000H單元讀取第一條指令碼。9、XTAL1和XTAL2:外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。10、VCC:電源端接+5V電壓輸入。11、GND:接地端。3.2、時(shí)鐘電路單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時(shí)鐘方式。最常用的內(nèi)部時(shí)鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體為12MHz。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF~100pF之間取值。
上拉電阻:RESPACK-8
控制按鍵:BUTTON
本系統(tǒng)要進(jìn)行時(shí)間的調(diào)整和定時(shí),因此用4個(gè)手動(dòng)按鍵對(duì)其進(jìn)行控制。3.3、7SEG-BCD7SEG-BCD是1位4段共陰數(shù)碼管,顯示為紅色。它共有四個(gè)引腳,自帶譯碼器,只要將要輸入的二進(jìn)制編碼輸入這四個(gè)引腳,就會(huì)顯示數(shù)輸入的二進(jìn)制數(shù)對(duì)應(yīng)的數(shù)。這里使用了兩個(gè)7SEG-BCD,一個(gè)接在P0口,顯示分鐘數(shù)的十位,一個(gè)接在P2口,顯示分鐘數(shù)的個(gè)位。
第四章硬件電路設(shè)計(jì)硬件電路的設(shè)計(jì)主要包括、晶振時(shí)鐘電路設(shè)計(jì)、復(fù)位電路設(shè)計(jì)、定時(shí)輸入電路設(shè)計(jì)、顯示電路設(shè)計(jì)、啟動(dòng)和復(fù)位計(jì)時(shí)電路以及鬧鐘響鈴電路的設(shè)計(jì)。4.1、晶振時(shí)鐘電路設(shè)計(jì)單片機(jī)XTAL1和XTAL2分別接30pF的電容,中間再并一個(gè)12MHZ的晶振,形成單片機(jī)的晶振電路。圖4.1晶振電路4.2、復(fù)位電路設(shè)計(jì)圖4.2復(fù)位電路4.3、定時(shí)輸入電路設(shè)計(jì)定時(shí)輸入電路由兩個(gè)按鍵構(gòu)成,一個(gè)按鍵接在外部中斷0上,每次按下這個(gè)鍵,定時(shí)的分鐘數(shù)的十位數(shù)就加一,另一個(gè)按鍵接在外部中斷1上,每次按下這個(gè)鍵,定時(shí)分鐘數(shù)的個(gè)位數(shù)就加一。由這兩個(gè)鍵來(lái)控制定時(shí)的置數(shù)功能。圖4.3定時(shí)輸入電路4.4、顯示電路設(shè)計(jì)7SEG-BCD是1位4段共陰數(shù)碼管,顯示為紅色。它共有四個(gè)引腳,自帶譯碼器,只要將要輸入的二進(jìn)制編碼輸入這四個(gè)引腳,就會(huì)顯示出輸入的二進(jìn)制數(shù)對(duì)應(yīng)的數(shù)。這里使用了兩個(gè)7SEG-BCD,一個(gè)接在P0口,顯示分鐘數(shù)的十位,一個(gè)接在P2口,顯示分鐘數(shù)的個(gè)位。如下圖所示:圖4.4.1顯示電路同時(shí)P0口作為輸入輸出口使用時(shí)需要用到上拉電阻,這里用RESPACK-8
圖4.4.2上拉電阻4.5、啟動(dòng)和復(fù)位計(jì)時(shí)電路定時(shí)輸入電路由兩個(gè)按鍵構(gòu)成,一個(gè)按鍵是啟動(dòng)計(jì)時(shí)電路按鈕,接在P1.0上,每次按下這個(gè)鍵,定時(shí)就開始了,另一個(gè)按鍵是復(fù)位計(jì)時(shí)按鈕,接在P1.1上,每次按下這個(gè)鍵,整個(gè)定時(shí)鬧鐘系統(tǒng)就恢復(fù)到開機(jī)時(shí)的初始狀態(tài)。由這兩個(gè)鍵來(lái)控制定時(shí)鬧鐘的啟動(dòng)和復(fù)位功能。圖4.5啟動(dòng)和復(fù)位計(jì)時(shí)電路4.6、鬧鐘響鈴電路設(shè)計(jì)圖4.6鬧鐘響鈴電路第五章軟件設(shè)計(jì)及主要子程序5.1、軟件設(shè)計(jì)思路定時(shí)鬧鐘工作的主要過程是LED數(shù)碼管顯示初始化的時(shí)間分鐘數(shù)的值為59,通過按鍵輸入定時(shí)的分鐘數(shù),同時(shí)LED實(shí)時(shí)顯示時(shí)間分鐘數(shù),按下啟動(dòng)計(jì)時(shí)鍵后,定時(shí)鬧鐘開始計(jì)時(shí),每計(jì)時(shí)一分鐘,LED顯示的分鐘數(shù)減一,當(dāng)時(shí)間減到0后,蜂鳴器發(fā)出聲音表示鬧鐘已響,并且此時(shí)的LED顯示為0F,并停止繼續(xù)計(jì)數(shù),當(dāng)按下復(fù)位鍵后,定時(shí)鬧鐘恢復(fù)到初始化后的值。5.2、主程序模塊主程序主要完成初始化、設(shè)置中斷向量、檢查有無(wú)按鍵以及調(diào)用顯示等,當(dāng)初始化后就會(huì)自動(dòng)等待有無(wú)定時(shí)操作、啟動(dòng)操作和復(fù)位操作。主程序流程圖如下,(此模塊程序見附錄)。開始開始初始化顯示時(shí)間復(fù)位操作有誤?啟動(dòng)按鍵鍵?鍵?各位恢復(fù)到初始狀態(tài)NYNY計(jì)時(shí)響鈴程序開定時(shí)/計(jì)數(shù)器0中斷開外部中斷0和1圖5.1主程序流程圖5.3、定時(shí)輸入子程序設(shè)計(jì)定時(shí)輸入程序采用中斷的方式,一個(gè)按鍵接在外部中斷0上,每次按下這個(gè)鍵,定時(shí)的分鐘數(shù)的十位數(shù)就加一,當(dāng)加到6時(shí)自動(dòng)跳變到0;另一個(gè)按鍵接在外部中斷1上,每次按下這個(gè)鍵,定時(shí)分鐘數(shù)的個(gè)位數(shù)就加一,當(dāng)加到10,也就是0AH時(shí)自動(dòng)跳變到0。由這兩個(gè)鍵來(lái)控制定時(shí)的置數(shù)功能,完成了從0~60min的定時(shí)置數(shù)。(此模塊程序見附錄)5.4、顯示子程序設(shè)計(jì)由于是采用兩個(gè)7SEG-BCD分別做分鐘數(shù)的十位和各位,并且這兩個(gè)7SEG-BCD分別接在P0口和P2口上,因此直接將要輸出的數(shù)據(jù)輸入到P0口和P2口上即可。(此模塊程序見附錄)5.5、啟動(dòng)和復(fù)位子程序設(shè)計(jì)啟動(dòng)和復(fù)位子程序都采用查詢的方式,先檢測(cè)P1.1口是否為1,當(dāng)復(fù)位鍵按下時(shí),P1.1口的值為0,若為0,則跳轉(zhuǎn)到復(fù)位子程序,將各個(gè)寄存器的值恢復(fù)成開機(jī)時(shí)的狀態(tài);若為1,則跳轉(zhuǎn)到M0子程序,檢測(cè)P1.0口是否為1,當(dāng)啟動(dòng)鍵按下后,P1.0口的值為0,若為0,則跳轉(zhuǎn)到啟動(dòng)子程序,打開定時(shí)/計(jì)數(shù)器中斷,并開啟計(jì)數(shù)器;若為1,則跳回主程序的開始部分循環(huán)。(此模塊程序見附錄)5.6、計(jì)時(shí)響鈴子程序設(shè)計(jì)給計(jì)數(shù)器計(jì)入的處置為3CB0H,也就是說(shuō)每計(jì)時(shí)50ms,定時(shí)/計(jì)數(shù)器產(chǎn)生一次中斷,每執(zhí)行一次中斷,在中斷中對(duì)寄存器R5中的值減一,因此給R5中寫入20,當(dāng)R5減到0時(shí),正好計(jì)時(shí)為一秒鐘,R5每次減到0,就給它重新賦值20,并且將R4中的值減1,給R4中計(jì)入60,當(dāng)R4減為0時(shí)正好計(jì)時(shí)一分鐘,此時(shí)給R4重新賦值60,并將P2口的輸出值減1,當(dāng)該口也減到0后,給他重新賦值10,并且給P0口輸出值減1,當(dāng)這些寄存器中的值均為0時(shí),給P1.7位置1,此時(shí)蜂鳴器發(fā)出響聲,并且把定時(shí)/計(jì)數(shù)器中斷關(guān)閉。(此模塊程序見附錄)
第六章系統(tǒng)仿真與調(diào)試6.1、Keil編譯KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。如果使用C語(yǔ)言編程,那么Keil幾乎就是不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。本次設(shè)計(jì)采用匯編語(yǔ)言編程,生成.hex文件以供裝載到Protues中的單片機(jī)進(jìn)行仿真。圖6.1程序代碼編寫6.2、Protues仿真平臺(tái) 6.2.1、Protues仿真簡(jiǎn)介及部分模塊仿真Protues軟件是英國(guó)Labcenterelectronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。迄今為止是世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯。目標(biāo)代碼的加載方法為,在Protues編輯環(huán)境雙擊AT89C51,彈出下圖所示的對(duì)話框,在PROGRAMFILM一欄中單擊打開按鈕,選中Keil中生成的naozhong.hex文件,在CLOCKFREQUENCY欄中設(shè)置系統(tǒng)工作頻率為12MHZ,單擊OK完成目標(biāo)代碼的加載。圖6.2程序代碼加載6.2.2、硬件電路總圖與仿真點(diǎn)擊運(yùn)行按鈕啟動(dòng)系統(tǒng)仿真,初始狀態(tài)顯示的分鐘數(shù)為59。硬件總圖如下:圖6.2總圖
第七章操作方法及效果點(diǎn)擊運(yùn)行后,開機(jī)是自動(dòng)顯示的分鐘數(shù)是59圖7.1定時(shí)鬧鐘開機(jī)通過對(duì)定時(shí)輸入電路的兩個(gè)按鍵,一個(gè)按鍵接在外部中斷0上,每次按下這個(gè)鍵,定時(shí)的分鐘數(shù)的十位數(shù)就加一,另一個(gè)按鍵接在外部中斷1上,每次按下這個(gè)鍵,定時(shí)分鐘數(shù)的個(gè)位數(shù)就加一。由這兩個(gè)鍵來(lái)控制定時(shí)的置數(shù)功能。圖7.2定時(shí)鬧鐘定時(shí)置數(shù)之后如果按下啟動(dòng)計(jì)時(shí)鍵,則開始計(jì)時(shí),如果按下復(fù)位鍵,則進(jìn)行復(fù)位操作,將各個(gè)寄存器的值變?yōu)槌跏蓟瘯r(shí)的值,并將P1.7位清0,即關(guān)閉蜂鳴器。圖7.3定時(shí)鬧鐘啟動(dòng)計(jì)時(shí)
圖7.4定時(shí)鬧鐘復(fù)位
第八章課程設(shè)計(jì)總結(jié)通過本次單片機(jī)原理及應(yīng)用課程設(shè)計(jì)使我充分認(rèn)認(rèn)到了課程設(shè)計(jì)的理要性和必要性,本次設(shè)計(jì)使我對(duì)已學(xué)過的基礎(chǔ)知識(shí)有了更深入的理解。單片機(jī)課程設(shè)計(jì),從理論到實(shí)踐,對(duì)所學(xué)的課本知識(shí)有了更深一步的認(rèn)識(shí),掌握的更加全面、深入。實(shí)驗(yàn)過程中,遇到了不少困難的問題:對(duì)單片機(jī)匯編語(yǔ)言的理解不夠深刻,對(duì)于簡(jiǎn)短的程序可以明白,但是,到一個(gè)大的程序中,理解掌握就有一定的難度了,這樣就需要更近一步地理解其中的知識(shí)點(diǎn)。
實(shí)驗(yàn)的設(shè)計(jì)當(dāng)中有很多的程序調(diào)用,這就需要認(rèn)真處理好內(nèi)部的程序之間的使用。通過這次的課程設(shè)計(jì)加深了對(duì)單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去。
實(shí)驗(yàn)過程的細(xì)節(jié)讓我更加地確定做什么事情都要細(xì)心、仔細(xì),不放過任何一個(gè)小小的點(diǎn),只有這樣,我們才以最高的效率完成任務(wù)。同時(shí),不要忽視了同伴的作用,當(dāng)自己在一個(gè)問題上懸而未決,這時(shí)同伴的一句話提醒,就可以讓你豁然開朗,柳暗花明。很多實(shí)驗(yàn)當(dāng)中遇到的問題讓我明白:1.
在設(shè)計(jì)程序之前,務(wù)必要對(duì)所學(xué)單片機(jī)課程的內(nèi)容有一個(gè)系統(tǒng)的了解,知道單片機(jī)片內(nèi)片外的內(nèi)容及其功能。
2.
設(shè)計(jì)程序關(guān)鍵要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖。模塊化的設(shè)計(jì)思想在程序設(shè)計(jì)中的作用是重大的,它可以為你提供一個(gè)比較清晰的思路,并且很容易找到頭緒,不至于在編寫一個(gè)程序時(shí)感覺到無(wú)從下手。
3.
在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,"反復(fù)修改,不斷改進(jìn)"是程序設(shè)計(jì)的必經(jīng)之路。程序剛開始編好時(shí),一般情況下會(huì)存在很多錯(cuò)誤,要不斷地修改,不斷的改進(jìn)才能達(dá)到預(yù)期的目的,編寫程序的時(shí)間并不是很長(zhǎng),主要是花很多時(shí)間去修改程序。
4.
要養(yǎng)成注釋程序的好習(xí)慣,讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便。剛開始我在編寫程序時(shí),很不習(xí)慣于寫注釋,感覺很麻煩,而且沒用,但是在修改的過程中我就遇到了較大的麻煩,以至于不得不重新的作了注釋,以增加程序的易讀性,從而使修改過程變得容易一些??傊?,通過這次課程設(shè)計(jì)不僅使我鞏固了本課程所學(xué)的基本知識(shí),還使我具有了撰寫科研報(bào)告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué)習(xí)中一定會(huì)起到不小的作用,一切的辛苦和艱難都是值得的
參考文獻(xiàn)[1].郭文川主編.MCS-51單片機(jī)原理、接口及應(yīng)用.北京:電子工業(yè)出版社,2012
[2].
余發(fā)山主編.單片機(jī)原理及應(yīng)用技術(shù).中國(guó)礦業(yè)大學(xué)出版社2003.12[3].
張毅剛.
單片機(jī)原理及接口技術(shù).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990
[4].何立民.單片機(jī)應(yīng)用技術(shù)大全.北京:北京航空航天大學(xué)出版社,
1994
[5].譚浩強(qiáng).單片機(jī)課程設(shè)計(jì).
北京:清華大學(xué)出版社,1989
[6].李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1992
附錄1匯編程序;*******************************************************ORG0000HLJMPMAINORG0003HLJMPSETTIME1ORG000BHLJMPTIMEORG0013HLJMPSETTIME2ORG0100HMAIN:MOVSP,#30HMOVR0,#05HMOVR1,#09HMOVR4,#3CHMOVR5,#14HMOVTMOD,#01H;采用定時(shí)/計(jì)數(shù)器0,方式1MOVTH0,#3CHMOV
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ī)器學(xué)習(xí)與過程控制的協(xié)同優(yōu)化研究-洞察闡釋
- 鹽資源數(shù)字化評(píng)估-洞察闡釋
- 倉(cāng)儲(chǔ)租賃合同附帶倉(cāng)儲(chǔ)數(shù)據(jù)分析服務(wù)
- 柴油環(huán)保油品研發(fā)與應(yīng)用合作協(xié)議
- 彩鋼瓦品牌代理銷售與市場(chǎng)推廣合同
- 財(cái)務(wù)外包合同范本(含服務(wù)范圍及質(zhì)量要求)
- 茶葉品牌加盟與區(qū)域保護(hù)合同模板
- 生物可吸收材料在肩關(guān)節(jié)修復(fù)中的應(yīng)用-洞察闡釋
- 高鐵站停車場(chǎng)車位租賃及高鐵旅客服務(wù)協(xié)議
- 殘疾人庇護(hù)性工坊用工管理與支持協(xié)議
- DB32/T 4220-2022消防設(shè)施物聯(lián)網(wǎng)系統(tǒng)技術(shù)規(guī)范
- 車位轉(zhuǎn)讓合同協(xié)議書
- 合伙經(jīng)營(yíng)貨車輛協(xié)議書
- 2025年農(nóng)村個(gè)人果園承包合同
- 湖北省武漢市2025屆高三年級(jí)五月模擬訓(xùn)練試題數(shù)學(xué)試題及答案(武漢五調(diào))
- 醫(yī)師掛證免責(zé)協(xié)議書
- 2025年數(shù)控技術(shù)專業(yè)畢業(yè)考試試題及答案
- 濟(jì)南民政離婚協(xié)議書
- 車牌租賃協(xié)議和抵押合同
- 2025年內(nèi)蒙古自治區(qū)初中學(xué)業(yè)水平考試數(shù)學(xué)模擬試題 (一)(含答案)
評(píng)論
0/150
提交評(píng)論