可編程作息時(shí)間控制器設(shè)計(jì)(單片機(jī))_第1頁
可編程作息時(shí)間控制器設(shè)計(jì)(單片機(jī))_第2頁
可編程作息時(shí)間控制器設(shè)計(jì)(單片機(jī))_第3頁
可編程作息時(shí)間控制器設(shè)計(jì)(單片機(jī))_第4頁
可編程作息時(shí)間控制器設(shè)計(jì)(單片機(jī))_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、20132014學(xué)年第2學(xué)期之遲辟智美創(chuàng)作單片機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告學(xué)校:北華航天工業(yè)學(xué)院題目:可編程作息時(shí)間控制器設(shè)計(jì)專業(yè):惺惺惜惺惺班級(jí):Bxxxxx姓名:xxxxx學(xué)號(hào):惺惺惜惺惺信息學(xué)、指導(dǎo)教師:XX電子工程系2013年6月14日可編程作息時(shí)間控制器設(shè)計(jì)任務(wù)書課題名稱可編程作息時(shí)間控制器設(shè)計(jì)指導(dǎo)教師xx執(zhí)行時(shí)間20132014學(xué)年第一學(xué)期第16周學(xué)生姓名學(xué)號(hào)承當(dāng)任務(wù)ZzzZxxxx設(shè)計(jì)目的1、掌握匯編語言的基本結(jié)構(gòu)及應(yīng)用;2、掌握各個(gè)部份功能的設(shè)計(jì)及應(yīng)用;3、學(xué)會(huì)使用protues軟件進(jìn)行電路仿真.設(shè)計(jì)要求1、依照給定的時(shí)間模擬控制實(shí)現(xiàn)上下課打鈴、燈光控制(屏幕顯示);2、具有各日期

2、和時(shí)鐘顯示.摘要本課題是應(yīng)用AT89C52為核心控制器件的作息時(shí)間控制鐘,由鍵盤、聲音輸出模塊、電源轉(zhuǎn)換模塊和存儲(chǔ)模塊四部份組成.它利用AT89C52的按時(shí)/計(jì)數(shù)器來計(jì)算時(shí)間,并用存儲(chǔ)器記錄數(shù)據(jù),保證了系統(tǒng)的可靠性.AT89C52單片機(jī)是整個(gè)設(shè)計(jì)的核心控制器件,根據(jù)從鍵盤接受的數(shù)據(jù)控制整個(gè)設(shè)計(jì)的工作流程.整體性好,人性化強(qiáng),可靠性高,實(shí)現(xiàn)了對(duì)時(shí)間控制的智能化,解脫了傳統(tǒng)由人來控制時(shí)間的長短的方便,可對(duì)一些以24小時(shí)為周期的開關(guān)量進(jìn)行自動(dòng)控制.如上下課打鈴及擴(kuò)音設(shè)備的開與關(guān).采納AT89C52單片機(jī)來實(shí)現(xiàn)對(duì)上述開關(guān)量的控制,設(shè)有8位數(shù)碼管、可以實(shí)時(shí)顯示時(shí)間、系統(tǒng)還設(shè)有輸入鍵盤,用以修改實(shí)時(shí)實(shí)時(shí)時(shí)

3、鐘,體現(xiàn)了系統(tǒng)簡單、工作穩(wěn)定可靠、價(jià)廉、控制時(shí)間精確及系統(tǒng)體積小等特點(diǎn).首先設(shè)計(jì)各個(gè)模塊的屏幕顯示,其次是各個(gè)模塊需要調(diào)用的小法式,有PC機(jī)的日期和時(shí)鐘,響鈴聲音,按鍵,屏幕顯示以及延時(shí)的調(diào)用等等,最后是將各個(gè)功能模塊與其中需要的小法式通過正確的匯編語言組建起來.這樣便完成了源文件的建立.再通過.ASM源文件生成的.EXE可執(zhí)行文件進(jìn)行仿真.該仿真可以模擬實(shí)現(xiàn):與PC機(jī)日期時(shí)鐘堅(jiān)持一致的顯示功能,仿照已設(shè)定的響鈴時(shí)間進(jìn)行打鈴功能,根據(jù)已設(shè)定的早晚作息時(shí)間燈光控制的功能,鍵盤輸入修正響鈴時(shí)間,隨時(shí)手動(dòng)按鍵實(shí)現(xiàn)響鈴的功能.目錄摘要-2-目錄-4-第一章緒論-5-課題研究的目的與意義-5-研究內(nèi)容及

4、采納方法-5-1.2.1主要研究內(nèi)容-5-1.2.2主要采納方法-5-1.3課題的研究原理-6-第2章可編程作息時(shí)間控制器的方案設(shè)計(jì)-7-2.1總體方案組成框圖及設(shè)計(jì)流程圖-7-2.2具體步伐實(shí)施-9-2.2.1日期和時(shí)鐘顯示功能的設(shè)計(jì)-9-上下課打鈴功能的設(shè)計(jì)-11-燈光顯示功能的設(shè)計(jì)-14-修改響鈴時(shí)間功能的設(shè)計(jì)-14-模擬手動(dòng)控制功能的設(shè)計(jì)-15-第3章可編程作息時(shí)間控制器的protues仿真-17-3.1仿真結(jié)果-17-3.2性能及誤差分析-19-附錄-20-參考文獻(xiàn)-27-第一章緒論1.1課題研究的目的與意義20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展.在其推動(dòng)下,現(xiàn)代電子產(chǎn)物幾乎滲透到了社

5、會(huì)的各個(gè)領(lǐng)域,有力的推動(dòng)和提高了社會(huì)生產(chǎn)力的發(fā)展與信息化水平,同時(shí)也使現(xiàn)代電子產(chǎn)物性能進(jìn)一步提升,產(chǎn)物更新?lián)Q代的節(jié)奏也越來越快.時(shí)間對(duì)人來說總是那么珍貴,工作的忙碌性和繁雜讓人容易忘記以后時(shí)間.然而遇到重年夜事情的時(shí)候,一旦忘記時(shí)間,就會(huì)給自己或他人造成更年夜的麻煩.對(duì)學(xué)校來說作息時(shí)間尤為重要.如今,在電子計(jì)算機(jī)基礎(chǔ)上發(fā)展而來的可編程作息時(shí)間控制器,它可以利用電子計(jì)算機(jī)的內(nèi)部時(shí)間,通過法式判斷處置,完成對(duì)作息時(shí)間的精確控制,而且由于是法式控制,所以可通過改變法式而進(jìn)而靈活改變作息時(shí)間,同時(shí)可以實(shí)時(shí)顯示時(shí)間,并實(shí)現(xiàn)打鈴功能.可編程時(shí)間控制器可實(shí)現(xiàn)對(duì)時(shí)間控制的智能化,解脫由人控制時(shí)間的長短分歧的方

6、便,而且可以在需要時(shí)人工切入控制,完美的滿足作息時(shí)間控制.研究內(nèi)容及采納方法1.2.1主要研究內(nèi)容用C語言編寫作息時(shí)間控制法式,依照給定的時(shí)間模擬控制,上下課打鈴、燈光控制(屏幕顯示),而且具備日期和時(shí)鐘顯示.給定的時(shí)間可修改,可模擬手動(dòng)控制,用揚(yáng)聲器模擬打鈴.主要采納方法通過匯編語言編程,先在數(shù)據(jù)段中開幾段緩沖區(qū),以寄存需要顯示的提示信息以及存儲(chǔ)PC機(jī)內(nèi)部時(shí)鐘日期等等,調(diào)用子法式的清屏部份來顯示已經(jīng)設(shè)定好的屏幕部份,再調(diào)用DOS的日期及時(shí)鐘調(diào)用功能,讀取PC機(jī)內(nèi)部日期和時(shí)鐘,并將數(shù)據(jù)存入顯示緩沖區(qū),然后調(diào)用時(shí)間和日期顯示功能,把法式設(shè)計(jì)成用刷新的方式來不竭獲取系統(tǒng)時(shí)間,這樣就有了一秒一秒走動(dòng)

7、的日期時(shí)鐘顯示,在此過程需要用到延時(shí)法式,所以把延時(shí)法式獨(dú)自做成一個(gè)子法式,然后在需要的時(shí)候調(diào)用它,使得時(shí)間顯示法式更加精煉,此時(shí)日期和時(shí)鐘顯示功能已經(jīng)完成;而后設(shè)計(jì)燈光控制(屏幕顯示),采納比力跳轉(zhuǎn)的方式即可,當(dāng)達(dá)到設(shè)定的時(shí)間區(qū)域時(shí)通過比力來判斷是亮燈還是滅燈;隨后是上下課打鈴的模擬,需要調(diào)用DOS顯示功能,將設(shè)定好的時(shí)間在屏幕上顯示出來,然后調(diào)用PC機(jī)內(nèi)部時(shí)鐘,判斷時(shí)鐘與給按時(shí)間是否相同,進(jìn)而判斷是否響鈴,若響鈴則調(diào)用設(shè)定好的響鈴法式,并實(shí)現(xiàn)屏幕模擬顯示;給按時(shí)間修改是調(diào)用鍵盤I/O中斷功能號(hào),獲取鍵值的方法來進(jìn)入,先確定應(yīng)該修改哪個(gè)響鈴,再將新的響鈴時(shí)間數(shù)據(jù)存入要修改時(shí)鐘的緩沖區(qū),并將其

8、覆蓋來實(shí)現(xiàn);模擬手動(dòng)控制、用揚(yáng)聲器模擬打鈴,同樣采納調(diào)用鍵盤I/O中斷功能號(hào),獲取鍵值的方法,判斷是否與設(shè)定的手動(dòng)按鍵相同,若相同則進(jìn)入手動(dòng)控制,進(jìn)入后調(diào)用響鈴法式,而后自動(dòng)退出響鈴,開始其他響應(yīng)功能.課題的研究原理將按時(shí)鬧鐘改造為4路可調(diào)鬧鐘,從而實(shí)現(xiàn)打鈴等功能.當(dāng)四路鬧鐘中的任一路到時(shí),均會(huì)點(diǎn)亮燈、打鈴.如有需求,可對(duì)法式進(jìn)行調(diào)整,增加鬧鐘的路數(shù),及到時(shí)后的處置方式第2章可編程作息時(shí)間控制器的方案設(shè)計(jì)總體方案組成框圖及設(shè)計(jì)流程圖時(shí)間作息控制的主體電路應(yīng)包括秒信號(hào)發(fā)生器、時(shí)間顯示電路按鍵電路、供電電源以及鬧鈴指示電路等幾部份.時(shí)間作息控制的系統(tǒng)組成框圖如圖2-1-1所示:圖2-1-1時(shí)間作息

9、控制的系圖位、時(shí)鐘等電作息時(shí)間控制器的年夜致設(shè)計(jì)思路統(tǒng)組成框LED顯示電路按鈕電路聲光指示電路圖2調(diào)用清方案實(shí)施流程圖具體步伐實(shí)施電源1割共電日期和時(shí)鐘顯示估厶匕帖、兒系統(tǒng)日期時(shí)間而且轉(zhuǎn)二進(jìn)功能的設(shè)計(jì)制為ACSII碼日期和時(shí)鐘顯示流程圖圖2-2-1是時(shí)鐘等的緩沖區(qū),便于功能,將數(shù)據(jù)由二在數(shù)據(jù)段中開調(diào)日期和時(shí)鐘的DOS功中和日期設(shè)計(jì)的年后續(xù)法式的使用,進(jìn)制轉(zhuǎn)換為ASCII碼,存儲(chǔ)并顯示.廠顯示日期、時(shí)間和界面數(shù)據(jù)段存儲(chǔ)顯示時(shí)間提示占|辟存儲(chǔ)日期時(shí)間能調(diào)用中的顯示圖2-2示流程圖開辟存儲(chǔ)日期時(shí)間緩沖區(qū)設(shè)定和修正時(shí)間一代碼段中調(diào)用日期、二進(jìn)制轉(zhuǎn)換瓚ASC11碼存儲(chǔ)動(dòng)控沖區(qū)日期和時(shí)鐘設(shè)計(jì)步伐分析該模塊

10、設(shè)計(jì)中,先在數(shù)據(jù)段開了兩段緩沖區(qū),以存儲(chǔ)顯示日期和時(shí)間的提示Timeis以及從PC機(jī)讀到的日期和時(shí)間.而后是調(diào)用DOS的日期功能,其功能號(hào)是2ah,日期分別存于ex,dx中,在該設(shè)計(jì)中調(diào)用出來的日期時(shí)間均是二進(jìn)制數(shù),如果要在界面中顯示必需要轉(zhuǎn)換成ASCII碼.每一次數(shù)制轉(zhuǎn)換后均要將轉(zhuǎn)換后的數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)段開辟的存儲(chǔ)緩沖區(qū)tbuf內(nèi),接下來即可調(diào)用DOS的的9號(hào)顯示功能,只需將提示信息、日期及時(shí)間的存儲(chǔ)緩沖區(qū)的偏移地址賦予dx,再使用DOS功能,調(diào)用9號(hào)的顯示功能即可.這樣,日期和時(shí)間的第一次顯示時(shí)間完成,由于PC機(jī)的日期時(shí)間一直在變動(dòng),所以需要不竭調(diào)用PC機(jī)的顯示時(shí)間并顯示,因此需要再回轉(zhuǎn)至最

11、初的調(diào)用日期法式,這樣,顯示日期時(shí)間的功能才真正完成.下面是針對(duì)數(shù)制轉(zhuǎn)換和日期時(shí)間的顯示做的更為細(xì)致的解讀.數(shù)制轉(zhuǎn)換通常在計(jì)算機(jī)傍邊,從鍵盤輸入的十進(jìn)制數(shù)的每一位數(shù)碼或者是向CRT輸出的十進(jìn)制的每一位數(shù),均是以它的ASCII碼暗示的.而在機(jī)器中的一個(gè)十進(jìn)制數(shù),是以相應(yīng)的二進(jìn)制數(shù)寄存或者是以BCD碼的形式寄存因此,如果我們想將PC機(jī)中讀取的日期時(shí)間顯示到.EXE的界面中,必需將從中讀取的二進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼.本設(shè)計(jì)是先將二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),再將十進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼的,使其在屏幕上顯示出來.由于調(diào)用該小法式段的顯示數(shù)值都是十位數(shù)或個(gè)位數(shù),所以該段小法式的設(shè)計(jì)思路是使用減法,統(tǒng)計(jì)需要

12、轉(zhuǎn)換的數(shù)值中有幾多10、1,即為十進(jìn)制數(shù)中的十、個(gè)位上的數(shù),然后將十進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼輸出首先,在數(shù)據(jù)段中已經(jīng)設(shè)計(jì)好了被減數(shù),即const內(nèi)的數(shù)據(jù),用需要數(shù)據(jù)轉(zhuǎn)換的數(shù)據(jù)已經(jīng)在之前的數(shù)據(jù)中賦值給了ax,使用subax,si語句實(shí)現(xiàn)上述的減法,若不夠減,則需要重復(fù)減,并累計(jì)次數(shù),直至不夠減為止,累計(jì)的次數(shù)即為該數(shù)據(jù)十位數(shù)的數(shù)值,此時(shí)仍舊通過ordI,30h語句轉(zhuǎn)換為ASCII碼,并將轉(zhuǎn)換后的數(shù)據(jù)都存儲(chǔ)于bx中.日期時(shí)鐘顯示功能9號(hào)DOS功能調(diào)用可實(shí)現(xiàn)日期時(shí)鐘顯示功能,由于需要在.EXE界面顯示提示信息mess1中的相關(guān)內(nèi)容,因此調(diào)用BIOS功能,置光標(biāo)于0行0列,將ah賦值2即可置光標(biāo),dh

13、的賦值暗示行,dI的賦值暗示列,使用Ieadx,messI語句,將messI的偏移地址賦予dx,使用movah,9和int21h語句完成DOS的9號(hào)功能調(diào)用,這樣.EXE界面就呈現(xiàn)了mess1中的相關(guān)內(nèi)容;再使用BIOS功能調(diào)用,將光標(biāo)置于17行21列顯示日期時(shí)間的提示信息timeis,方法與上述介紹的相同,最后即可將光標(biāo)置于17行37列,顯示PC機(jī)的日期和時(shí)間.2.2.2上下課打鈴功能的設(shè)計(jì)上下課打鈴設(shè)計(jì)流程圖如圖是上下課打鈴設(shè)計(jì)的年夜體思路,先于數(shù)據(jù)段設(shè)存儲(chǔ)緩沖區(qū),存儲(chǔ)設(shè)定的響鈴時(shí)間,將響鈴時(shí)間由二進(jìn)制換成ASCII代碼,調(diào)用DOS的顯示功能,顯示響鈴時(shí)間,再調(diào)PC機(jī)時(shí)間與設(shè)定的響鈴時(shí)間比

14、力,相同時(shí)響鈴,分歧時(shí)跳轉(zhuǎn)數(shù)據(jù)段設(shè)存儲(chǔ)緩沖區(qū)上下課打鈴設(shè)計(jì)本部份設(shè)計(jì)息,tbufl響鈴時(shí)定好的響鈴時(shí)間設(shè)定好的響鈴時(shí)是上下課打鈴設(shè)計(jì)流程圖V圖步伐分析中,先在數(shù)據(jù)段開辟了四段緩沖區(qū),分別是bel響鈴提示信間存儲(chǔ)區(qū),timeh設(shè)定好的響鈴吋間中小時(shí)的中的分鐘存儲(chǔ)區(qū),進(jìn)入代碼段后,便開始將t間由二進(jìn)制數(shù)轉(zhuǎn)換成aSci代碼,并將轉(zhuǎn)換后的信息存于面顯介紹鈴這里便不再重復(fù)了.這是tbufl中已經(jīng)tbufl,對(duì)數(shù)制轉(zhuǎn)換的內(nèi)容上文中界包括我最初設(shè)定將上述二十個(gè)響間進(jìn)行比力,若述的顯示、調(diào)用力的法式和響鈴(1)PC機(jī)時(shí)間首先我將存存儲(chǔ)區(qū),timem設(shè)imeh和timem中的二十個(gè)響鈴時(shí)間,使用DOS功能調(diào)用中

15、的鈴時(shí)間顯示在界面上隨后需要調(diào)用PC機(jī)的時(shí)間與我設(shè)定的時(shí)相等則響鈴,”響鈴后返回,若吋間不同等樣也返回,去重復(fù)上以及比力的過程接下來我會(huì)鈴比力Pc機(jī)時(shí)間與我設(shè)定的時(shí)間比9號(hào)顯示功能即可法式做較為細(xì)致的分析,與設(shè)定響鈴時(shí)間比力儲(chǔ)響鈴時(shí)間的timeh和獅隨后使用DOS功能調(diào)用語取,對(duì)pc機(jī)時(shí)間的讀??;開始比力,先假設(shè)設(shè)定的響鈴均已比PC機(jī)時(shí)間與設(shè)定好的響鈴時(shí)間比力,進(jìn)行比力直至將設(shè)定好的響鈴時(shí)間均比力完畢,然后進(jìn)行后續(xù)工作.(2)響鈴功能設(shè)計(jì)分析IBMPC機(jī)系列計(jì)算機(jī)的發(fā)聲系統(tǒng)主要由按時(shí)器/計(jì)數(shù)器8253/8254芯片來提以使該設(shè)計(jì)更加清晰明了.movah,2ch相同則跳轉(zhuǎn)響鈴法式em的偏移地址分

16、別賦給了si和di,int21h來完成PC機(jī)時(shí)間的讀存于ch、cl中.接下來便,緩沖區(qū)后區(qū)時(shí)間為空,則應(yīng)領(lǐng)先將,若不相等則繼續(xù)響鈴高音頻信號(hào),最后通過并行接口芯片8255的PB端口控制驅(qū)動(dòng)電路使系統(tǒng)的揚(yáng)聲器發(fā)聲.8253/8254芯片共有3個(gè)自力的計(jì)數(shù)通道,其中2號(hào)通道分配給系統(tǒng)的揚(yáng)聲器頻率控制,它的I/.O端口地址為42H,8253/8254的工作方式與音頻頻率均由8253/8254的控制寄存器(I/O端口地址42H)控制.而且8253/8254有6種工作方式,對(duì)揚(yáng)聲器發(fā)聲總是選用方式3,因此為了讓發(fā)生器工作,需要通過moval,0b6h和out43h,al來完成音頻頻率的設(shè)置,通過mova

17、l,03h及out61h,al來開揚(yáng)聲器,實(shí)現(xiàn)響鈴.燈光顯示功能的設(shè)計(jì)修改響鈴時(shí)間功能的設(shè)計(jì)2.2.4.1修改響鈴時(shí)間設(shè)計(jì)流程圖圖2-2-3介紹了本模塊的年夜體思路,首先在數(shù)據(jù)段設(shè)置存儲(chǔ)時(shí)間的緩沖區(qū),其次是調(diào)用鍵盤輸入功能,算的修改響鈴的個(gè)數(shù)和修改的起始位置,最后數(shù)據(jù)段修存鈴時(shí)間緩沖計(jì)流程圖224.2修改響鈴在本模塊設(shè)計(jì)中,首先需要在數(shù)據(jù)段中開辟出修正提示信一息和存儲(chǔ)時(shí)間的該功能將輸入的時(shí)間替代原時(shí)間完成修改響鈴時(shí)間的功能.能,的前兩位數(shù)緩沖區(qū),當(dāng)接收得手控修正響鈴時(shí)鍵盤輸入功能,調(diào)用鍵盤輸入功能掃描到的鍵盤信息均存儲(chǔ)于緩沖區(qū)內(nèi)第一位為緩沖區(qū)位數(shù),第二位為字符個(gè)數(shù),將字符個(gè)數(shù)除以6即可獲得修正

18、響鈴的時(shí)間個(gè)數(shù)由于鍵盤輸入字的意義是沖第幾個(gè)響鈴初開始修正改因響鈴要將前兩位數(shù)由ASCI碼轉(zhuǎn)換成十進(jìn)制數(shù),將轉(zhuǎn)換獲得的數(shù)據(jù)存儲(chǔ),對(duì)鍵盤輸入時(shí)間替代原響鈴時(shí)間功能的實(shí)現(xiàn),需要根據(jù)前面獲得的數(shù)據(jù),先跳轉(zhuǎn)至修正響鈴時(shí)間的地址處,然后將鍵盤輸入的響鈴時(shí)間覆蓋原時(shí)間,計(jì)算從第成上述獲得修正響鈴的個(gè)數(shù)為止.在模塊的設(shè)計(jì)中計(jì)算修改幾個(gè)響鈴和應(yīng)從第幾個(gè)開始修改這兩個(gè)小部份較為關(guān)鍵,下面是其更為詳細(xì)的介_鍵盤輸入時(shí)間取代原時(shí)間(1)計(jì)算修改幾個(gè)響鈴調(diào)用鍵盤輸入功能,字符串存入緩沖區(qū),第一位為緩沖區(qū)位數(shù),第二位為字符個(gè)數(shù),自第三位開始存儲(chǔ)輸入字符串,取緩沖區(qū)內(nèi)第二個(gè)數(shù)值將其存于ax中,由于鍵盤輸入的數(shù)據(jù)均為00,

19、00這種形式,所以每兩個(gè)響鈴時(shí)間均隔五個(gè)字符,因此movcx,06h和divex兩語句即可獲得修改響鈴時(shí)間的個(gè)數(shù).(2)計(jì)算從第幾個(gè)開始修改調(diào)出鍵盤輸入的前兩位數(shù)字即可但由于鍵盤掃描的數(shù)字是以ASCII碼形式暗示,而計(jì)算機(jī)中以二進(jìn)制數(shù)形成存儲(chǔ),因此需要通過subdh,30h這種類似的語句進(jìn)行數(shù)字轉(zhuǎn)換,并通過地址循環(huán)遞減的方式,找到需要修正響鈴時(shí)間的地址.模擬手動(dòng)控制功能的設(shè)計(jì)2.2.5.1模擬手動(dòng)控制設(shè)計(jì)流程圖圖2-2-4介紹了本模塊設(shè)計(jì)的年夜體思路,調(diào)用鍵盤I/O中斷功能號(hào)1,進(jìn)行鍵盤掃描,判斷當(dāng)掃描到Esc時(shí),退出界面顯示,為S或s實(shí)現(xiàn)響鈴功能,即手動(dòng)控制響鈴.為C或c時(shí),跳轉(zhuǎn)至修改響鈴時(shí)

20、間的法式段.模擬手動(dòng)控制主要實(shí)現(xiàn)的功能是只要按下鍵盤的S或s鍵,便開始響鈴,因此在設(shè)計(jì)時(shí)先要調(diào)用鍵盤I/O中斷功能號(hào)1,獲取鍵值到AL,然后將鍵值A(chǔ)L與lbh作比力,通過cmpal,lbh和jzquit判斷是否按下Esc鍵,若是,則跳出.EXE的界面,若不是,則將鍵值A(chǔ)L與S、s分別作比力,通過cmpal,S以及cmpal,s和jzshou判斷是否按下S或s鍵,若是跳轉(zhuǎn)至響鈴位置,即實(shí)現(xiàn)手動(dòng)控制響鈴的功能,若不是再通過cmpal,C以及cmpal,c和jzcorrect判斷是否按下C或c鍵,若是則跳轉(zhuǎn)至修改響鈴時(shí)間的位置.第3章可編程作息時(shí)間控制器的protues仿真3.1仿真結(jié)果當(dāng)K1被按下

21、一次后,“小時(shí)”顯示的數(shù)碼管就閃爍,其他位就沒有變動(dòng),閃爍就說明可以對(duì)該位上進(jìn)行“小時(shí)”上調(diào)整;當(dāng)K1被按下兩次后,“分鐘”顯示的數(shù)碼閃爍并可以調(diào)整;當(dāng)K1被按下三次后,“秒”顯示的數(shù)碼閃爍并可以調(diào)整.K2,K3分別作為調(diào)整時(shí)間時(shí)前進(jìn)和后退把持.P2最后接的引腳到LED發(fā)光二極管上,當(dāng)按鍵被按下時(shí),該發(fā)光二級(jí)管就會(huì)被點(diǎn)亮.P3上接了一個(gè)喇叭和開關(guān),當(dāng)一按時(shí)間到了時(shí),喇叭就會(huì)發(fā)聲,開關(guān)可以控制喇叭發(fā)聲.該作息時(shí)間控制器有四個(gè)按鍵:KI,K2,K3.初始加電時(shí)數(shù)碼管顯示時(shí)鐘計(jì)數(shù)初值并運(yùn)行.按K1鍵進(jìn)行校時(shí),可以分別按K2和K3鍵進(jìn)行對(duì)時(shí)及分進(jìn)行獨(dú)自校時(shí),使其校正到標(biāo)準(zhǔn)時(shí)間.時(shí)鐘正常顯示運(yùn)行狀態(tài)時(shí),

22、按K2鍵顯示閃爍并進(jìn)行按時(shí)時(shí)間設(shè)置,按K1鍵和K3進(jìn)行分和時(shí)的按時(shí)時(shí)間設(shè)定.該電路顯示的誤差主要由晶振自身的誤差所造成,晶振的誤差約為0.00010.000001.在軟件的編程過程中所發(fā)生的誤差比力小,另外在中斷的過程中,只會(huì)在第一次計(jì)時(shí)時(shí)發(fā)生時(shí)間的偏移,而它所發(fā)生累計(jì)誤差很小,可以忽略.綜合以上分析,性能穩(wěn)定.在整個(gè)設(shè)計(jì)過程中,充沛發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識(shí).這次課程設(shè)計(jì)的制作過程是我的一次再學(xué)習(xí),再提高的過程.在課程設(shè)計(jì)中我充沛地運(yùn)用了年夜學(xué)期間所學(xué)到的知識(shí).我從資料的收集中,掌握了很多單片機(jī)、LED數(shù)碼管的知識(shí),讓我對(duì)我所學(xué)過的知識(shí)有所鞏固和提高,而且讓我對(duì)現(xiàn)今

23、單片機(jī)、LED的最新發(fā)展技術(shù)有所了解.在整個(gè)過程中,我學(xué)到了新知識(shí),增長了見識(shí).在今后的日子里,我仍然要不竭地充分自己,爭取在所學(xué)領(lǐng)域有所作為.腳踏實(shí)地,認(rèn)真嚴(yán)謹(jǐn),實(shí)事求是的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、享樂耐勞的精神是我在這次設(shè)計(jì)中最年夜的收益.我想這是一次意志的磨練,是對(duì)我實(shí)際能力的一次提升,也會(huì)對(duì)我未來的學(xué)習(xí)和工作有很年夜的幫手.在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印.也練就了我的耐心,做什么事都在有耐心.此次課程設(shè)計(jì)中學(xué)了很多很多工具,這是最重要的.參考文獻(xiàn):1胡輝編著單片機(jī)原理與應(yīng)用華北水利水電出書社,2008.源法式:#includereg52.h#

24、defineuintunsignedintucharnum=0;uchartemp=0;ucharcount=0;ucharaa,i,j;ucharhour,min,sec;#defineucharunsignedchar/記錄按鍵KEY1的次數(shù)的變量/記錄按時(shí)器0中斷次數(shù)的變量/記錄按時(shí)器1中斷次數(shù)的變量ucharcodetable二0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;sbit_led=P27;sbitkey1=P20;sbitkey2=P21;sbitkey3=P22;sbitSPK=P30;sbitK1=

25、P37;voiddelay(uintz);/延時(shí)函數(shù)voiddisplay(uchara,ucharb,ucharc,uchard,uchare,ucharf,ucharaa);/顯示函數(shù)voidread_key();/讀按鍵函數(shù)voidled();/voidAlarm(uchart);/*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*i(C*jAKi*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*/iLfi-fjypppppp/voidmain()P2=0 xff;hour=6;min=29;sec=50;TMOD=Oxll;/同時(shí)控制按時(shí)器T1和

26、TO采納模式1工作(16位計(jì)數(shù)器)THO=(65536-5OOOO)/256;TLO=(65536-5OOOO)%256;TH1=(65536-5OOOO)/256;TL1=(65536-5OOOO)%256;EA=1;ETO=1;ET1=1;TRO=1;/運(yùn)行控制位TR1=1;SPK=O;while(1)if(hour=6)&(min=3O)&(sec=O)|(hour=8)&(min=OO)&(sec=O)|(hour=9)&(min=5O)&(sec=O)|(hour=1O)&(min=OO)&(sec=O)|(hour=11)&(min=5O)&(sec=O)|(hour=14)&(m

27、in=OO)&(sec=O)|(hour=15)&(min=5O)&(sec=O)|(hour=16)&(min=OO)&(sec=O)|(hour=17)&(min=5O)&(sec=O)|(hour=23)&(min=OO)&(sec=O)if(K1=1)Alarm(9O)Alarm(12O);Alarm(9O)Alarm(12O);read_key();if(temp=20)temp=0;sec+;if(sec=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=24)hour=0;if(count15)display(tablehour/10,tab

28、lehour%10,tablemin/10,tablemin%10,tablesec/10,tablesec%10,0 x00);/*顯示函數(shù)*/voiddisplay(uchara,ucharb,ucharc,uchard,uchare,ucharf,ucharaa)if(num=0)P1=0 x24&aa;P0=0 xbf;delay(2);elseP1=0 x24;P0=0 xbf;delay(2);if(num=1)P1=0 x01&aa;P0=a;delay(2);elseP1=0 x01;P0=a;delay(2);/hourif(num=1)P1=0 x02&aa;P0=b;delay(2);elseP1=0 x02;P0=b;delay(2);/hourif(num=2)P1=0 x08&aa;P0=c;delay(2);elseP1=0 x08;P0=c;delay(2);/minif(num=2)P1=0 x10&aa;P0=d;delay(2);else二z)AepId沁戛oCJOXOHId一(NInnu)t。一;二z)AeppodO寸X0上d一二z)Ae

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論