電子時(shí)鐘課程設(shè)計(jì)proteus環(huán)境下的電子時(shí)鐘設(shè)計(jì)_第1頁
電子時(shí)鐘課程設(shè)計(jì)proteus環(huán)境下的電子時(shí)鐘設(shè)計(jì)_第2頁
電子時(shí)鐘課程設(shè)計(jì)proteus環(huán)境下的電子時(shí)鐘設(shè)計(jì)_第3頁
電子時(shí)鐘課程設(shè)計(jì)proteus環(huán)境下的電子時(shí)鐘設(shè)計(jì)_第4頁
電子時(shí)鐘課程設(shè)計(jì)proteus環(huán)境下的電子時(shí)鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計(jì)說明書設(shè)計(jì)題目: proteus環(huán)境下的電子時(shí)鐘設(shè)計(jì) 系 別: 電控系 專業(yè)班級: 學(xué)生姓名: 學(xué) 號: 指導(dǎo)老師: 日 期: 目錄1.設(shè)計(jì)要求.31.1實(shí)驗(yàn)?zāi)康?31.2系統(tǒng)功能31.2.1基本功能31.2.2擴(kuò)展功能32.系統(tǒng)設(shè)計(jì)32.1實(shí)驗(yàn)原理32.2實(shí)驗(yàn)分析42.2.1電路的總體設(shè)計(jì)42.2.2程序的總體設(shè)計(jì)43.單元電路設(shè)計(jì)63.1輸入部分63.2輸出部分73.3晶振與復(fù)位電路74程序設(shè)計(jì)84.1延時(shí)模塊84.2中斷服務(wù)程序94.3主程序115.系統(tǒng)仿真146.參考文獻(xiàn)161.設(shè)計(jì)要求1.1實(shí)驗(yàn)?zāi)康?. 學(xué)習(xí)8051定時(shí)器時(shí)間計(jì)時(shí)處理、按鍵掃描及l(fā)ed數(shù)碼管顯示的設(shè)計(jì)方

2、法。2. 設(shè)計(jì)任務(wù)及要求 利用實(shí)驗(yàn)平臺上4個(gè)led數(shù)碼管, 設(shè)計(jì)帶有鬧鈴功能的數(shù)字時(shí)鐘1.2系統(tǒng)功能1.2.1基本功能1. 在4位數(shù)碼管上顯示當(dāng)前時(shí)間。顯示格式“時(shí)時(shí)分分” 2. 由led閃動(dòng)做秒顯示。3. 利用按鍵可對時(shí)間及鬧玲進(jìn)行設(shè)置,并可顯示鬧玲時(shí)間。當(dāng)鬧玲時(shí)間到蜂鳴器發(fā)出聲響,按停止鍵使可使鬧玲聲停止。4.實(shí)現(xiàn)秒表功能(百分之一秒顯示)1.2.2擴(kuò)展功能1.日歷功能(能對年,月,日,星期進(jìn)行顯示,分辨平年,閏年以及各月天數(shù),并調(diào)整)2.音樂鬧鈴(鈴音可選擇,鬧鈴被停止后,閃爍顯示當(dāng)前時(shí)刻8秒后,或按鍵跳入正常時(shí)間顯示狀態(tài))3.定時(shí)功能(設(shè)定一段時(shí)間長度,定時(shí)到后,閃爍提示)4.倒計(jì)時(shí)功

3、能(設(shè)定一段時(shí)間長度,能實(shí)現(xiàn)倒計(jì)時(shí)顯示,時(shí)間長減到0時(shí),閃爍提示)5.鬧鈴重響功能(鬧鈴被停止后,以停止時(shí)刻開始,一段時(shí)間后鬧鈴重響,且重響時(shí)間的間隔可調(diào))2.系統(tǒng)設(shè)計(jì)2.1實(shí)驗(yàn)基本原理利用單片機(jī)定時(shí)器完成計(jì)時(shí)功能,定時(shí)器0計(jì)時(shí)中斷程序每隔0.01s中斷一次并當(dāng)作一個(gè)計(jì)數(shù),設(shè)定定時(shí)1秒的中斷計(jì)數(shù)初值為100,每中斷一次中斷計(jì)數(shù)初值減1,當(dāng)減到0時(shí),則表示1s到了,秒變量加1,同理再判斷是否1min鐘到了,再判斷是否1h到了。為了將時(shí)間在led數(shù)碼管上顯示,可采用靜態(tài)顯示法和動(dòng)態(tài)顯示法,由于靜態(tài)顯示法需要譯碼器,數(shù)據(jù)鎖存器等較多硬件,可采用動(dòng)態(tài)顯示法實(shí)現(xiàn)led顯示,通過對每位數(shù)碼管的依次掃描,使

4、對應(yīng)數(shù)碼管亮,同時(shí)向該數(shù)碼管送對應(yīng)的字碼,使其顯示數(shù)字。由于數(shù)碼管掃描周期很短,由于人眼的視覺暫留效應(yīng),使數(shù)碼管看起來總是亮的,從而實(shí)現(xiàn)了各種顯示。2.2實(shí)驗(yàn)設(shè)計(jì)分析針對要實(shí)現(xiàn)的功能,采用at89s51單片機(jī)進(jìn)行設(shè)計(jì),這樣,既能做到經(jīng)濟(jì)合理又能實(shí)現(xiàn)預(yù)期的功能。在程序方面,采用分塊設(shè)計(jì)的方法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項(xiàng)功能。2.2.1 電路的總體設(shè)計(jì)此次設(shè)計(jì)主要是應(yīng)用單片機(jī)來設(shè)計(jì)電子時(shí)鐘,硬件部分主要分以下電路模塊:顯示電路用8個(gè)共陰數(shù)碼管分別顯示,星期(年份),小時(shí)、分鐘(月份)和秒(日),通過動(dòng)態(tài)掃描進(jìn)行顯示,從而避免了譯碼器的使用,同時(shí)節(jié)約了i/0端口,使電路更

5、加簡單。單片機(jī)采用at89s51系列,這種單片機(jī)應(yīng)用簡單,適合電子鐘設(shè)計(jì)??蚣苋缦拢簡纹瑱C(jī)輸入部分晶振和復(fù)位輸出部分2.2.2程序的總體設(shè)計(jì)程序設(shè)計(jì)的整體思路為:接通電源,數(shù)碼管顯示星期數(shù),時(shí),分,秒。并且走時(shí)顯示led燈每隔1秒改變一次明暗,此為正常工作模式。以下為在該工作方式下模式選擇的按鍵方式:框圖如下:主程序開始顯示星期,時(shí),分,秒是否有調(diào) 轉(zhuǎn)?t0中斷秒,分,時(shí)等進(jìn)位閃爍提示顯示日期并調(diào)整響鈴提示時(shí)間調(diào)整鬧鈴設(shè)置定時(shí)設(shè)置鈴聲測試秒表模式回主程序定時(shí)到按0鍵按0鍵鬧鈴到按1鍵按2鍵按3鍵按4鍵按5鍵按7鍵7鍵恢復(fù)按4鍵按8鍵按0鍵按0鍵倒計(jì)時(shí)啟動(dòng)并顯示回主程序秒表暫停秒表清零回主程序按

6、7鍵3.單元電路設(shè)計(jì)模塊電路主要分為:輸入部分、輸出部分、復(fù)位和晶振電路。3.1 輸入部分輸入信號主要是各種模式選擇和調(diào)整信號,由按鍵開關(guān)提供。以下為輸入部分樣例:在本實(shí)驗(yàn)中主要用用p3口輸入按鍵信號,還用到了特殊的p0口。對于p0口,由于其存在高阻狀態(tài),為了實(shí)現(xiàn)開關(guān)功能,給其添加上拉電阻,具體如下圖所示:3.2 輸出部分本電路的輸出信號為7段數(shù)碼管的位選和段選信號,鬧鈴脈沖信號,提示燈信號。本實(shí)驗(yàn)的數(shù)碼管是共陰的,為了防止段選信號不能驅(qū)動(dòng)數(shù)碼管,故在p1口連接上拉電阻后,再送段選信號,以提高驅(qū)動(dòng),位選信號直接從p2口接入,如下圖:鬧鈴由p2.6端輸出,模塊如下:3.3 晶振與復(fù)位電路本實(shí)驗(yàn)單

7、片機(jī)時(shí)鐘用內(nèi)部時(shí)鐘,模塊如下:復(fù)位電路為手動(dòng)復(fù)位構(gòu)成,模塊如下:各模塊拼接組合,電路總體設(shè)計(jì)圖如下:4.程序設(shè)計(jì)4.1延時(shí)模塊數(shù)碼管顯示動(dòng)態(tài)掃描時(shí),用到延時(shí)程序,這里使用延遲1ms的程序,此程序需要反復(fù)調(diào)用程序如下:d_1ms:mov r7,#2d_5:mov r2,#250djnz r2,$djnz r7,d_5ret除數(shù)碼管動(dòng)態(tài)掃描外,數(shù)碼管的閃爍提示,以及音樂模塊也用到了延時(shí),只是延時(shí)的長短不同罷了,在此不再贅述。4.2中斷服務(wù)程序進(jìn)入t0定時(shí)中斷修正,重裝計(jì)數(shù)初值按7鍵秒表的百分之一秒位,秒位,分位,時(shí)位的進(jìn)位 dec pnumpnum=0,已到1秒mov pnum,#100重裝中斷計(jì)

8、數(shù)值inc second 秒位加1r3,r4所存定時(shí)長度減1分,時(shí),日周,月,年的進(jìn)位 reti 中斷返回本實(shí)驗(yàn)中,計(jì)數(shù)器t0,t1中斷都有運(yùn)用,其中t0中斷為時(shí)鐘定時(shí)所用,t1中斷用于音樂播放。 no yes yes no計(jì)數(shù)器t1工作于方式1, 當(dāng)調(diào)用響鈴程序時(shí),其計(jì)數(shù)功能開啟,為音樂音調(diào)不同頻率的方波的形成,提供延時(shí)。其中斷服務(wù)程序就是根據(jù)音調(diào)改變音樂方波輸出口電平的高低,用語句 cpl實(shí)現(xiàn)。 中斷服務(wù)程序中日歷的實(shí)現(xiàn)較為復(fù)雜,要考慮平年,閏年,特殊的2月,每月的天數(shù)的不盡相同。具體的邏輯判斷方法為:首先,要考慮年份是不是閏年,閏年的判斷方法是:將年份除以100,若能整除,則將年份除以4

9、00,若還能整除,則為閏年,若不能,則為平年;若不能被100整除,則判斷是否能被4整除,若能,則為閏年,若不能則為平年。只有2月與平、閏年相關(guān),因此在閏年和平年的子程序中,要判斷是不是2月,若是則在相應(yīng)的年中進(jìn)行日期的增加,若不是則轉(zhuǎn)入平時(shí)的月份。其中1、3、5、7、8、10、12月是每月31天,4、6、9、11月為每月30天。日歷進(jìn)位判斷流程圖如下:年份能否被100整除ny年份是否能被4整除年份是否能被400整除nn平年閏年yy是不是2月是不是2月y日=28之后返回為1nny日=29之后返回為1若月份為1、3、5、7、8、10、12月則調(diào)用31天的程序若月份為4、6、9、11則調(diào)用30天的程

10、序本實(shí)驗(yàn)用8個(gè)數(shù)碼管,剛好能顯示年,月,日,掃描顯示與時(shí)間的掃描顯示類似。年比較特殊,由兩個(gè)寄存器存儲,個(gè)位,十位為0時(shí),表明年數(shù)能被100整除,若此時(shí)千位,百位組成兩位數(shù)能被4整除,則年數(shù)被400整除,為閏年。若十位,個(gè)位組成兩位數(shù)能被4整除,則年數(shù)能被4整除,為閏年。4.3主程序主程序主要對按鍵進(jìn)行掃描,以及判斷定時(shí)和鬧鈴時(shí)間是否已到,若到則調(diào)用相關(guān)程序,該段程序如下:main:jnb p3.0,datetz ;按下0鍵,顯示日期并可對日期進(jìn)行調(diào)整jnb p3.1,zstz1 ;按下1鍵,顯示時(shí)間,并可調(diào)時(shí)jnb p3.2,nltzz ;按下2鍵,進(jìn)行鬧鈴設(shè)置jnb p3.3,dstz ;

11、按下3鍵,進(jìn)行定時(shí)設(shè)置jnb p3.4,ceshi ;鬧鈴測試jnb p3.6,stopwatchtz ;按下6鍵,進(jìn)入秒表方式acall disp ;調(diào)用時(shí)鐘顯示子程序jnb p0.6,rering ;判斷是否開啟鬧鈴重響功能re: jnb p2.7,dspdkq ;判斷是否開啟鬧鈴功能,沒開則去判斷定時(shí)fmqpd: ;判斷定時(shí)值r4,r3是否到零、鬧鈴時(shí)刻是否已到mov a,hour;subb a,38h;jz fen ;判斷小時(shí)數(shù)是否到鬧鈴所定時(shí)間,若到,則對分進(jìn)行判斷;若不到,則對定時(shí)進(jìn)行判斷ajmp dspdkqfen:mov a,minute;subb a,37h;jz miao

12、;判斷分是否到鬧鈴所定時(shí)間,若到,則對秒進(jìn)行判斷;若不到,則對定時(shí)進(jìn)行判斷ajmp dspdkqmiao:mov a,secondsubb a,#0jz shengyin1 ;判斷秒是否到鬧鈴所定時(shí)間,若到,則時(shí),分,秒都到達(dá)鬧鈴時(shí)刻,進(jìn)入響鈴子程序;若不到則判斷定時(shí)ajmp dspdkqrering: ;鬧鈴重響判斷程序jnb f0, re ;標(biāo)志位f0為0,不進(jìn)行鬧鈴重響設(shè)定cpl f0mov 3ch,#1 ;定時(shí)判斷標(biāo)志位賦1, 定時(shí)判斷功能開啟jnb p0.7,m1 ;鬧鈴重響間隔時(shí)間選取mov r4,#0 ;鬧鈴重響間隔30秒mov r3,#30ajmp mainm1: ;鬧鈴重響間

13、隔60秒mov r4,#1mov r3,#0ajmp maindspdkq: ;判斷是否應(yīng)該進(jìn)行定時(shí)判斷mov a,3ch ;3ch是引入的判斷因子,當(dāng)其為0時(shí),不對定時(shí)時(shí)間是否到0進(jìn)行判斷jnz dspd2 ;當(dāng)3ch不是0時(shí),跳轉(zhuǎn)到定時(shí)判斷程序ajmp maindspd2:mov a,r4;jz s_pd ;r4所存定時(shí)分?jǐn)?shù)為0,則轉(zhuǎn)而判斷r3所存定時(shí)秒數(shù)ajmp main;s_pd:mov a,r3;jnz main ;r4,r3所存參數(shù)減為0, 定時(shí)長度已到j(luò)nb p0.6,shengyin2 ;鬧鈴重響功能開啟時(shí),跳入響鈴程序ajmp tishi ;不是鬧鈴重響定時(shí),則定時(shí)時(shí)間到時(shí),

14、跳入提示程序ajmp mainceshi:acall ringajmp mainshengyin1: ;調(diào)用響鈴子程序 lcall ringajmp mainshengyin2:setb f0 ;鬧鈴重響標(biāo)志位設(shè)定lcall ring ;響鈴clr f0 ;標(biāo)志位復(fù)位ajmp mainnltzz: ajmp nltz1 ;跳入鬧鈴調(diào)整程序dstz:ajmp dstz1 ;跳入定時(shí)調(diào)整程序datetz:ajmp datetz1 ;跳入日期調(diào)整程序stopwatchtz: ajmp stopwatchtz1 ;跳入秒表程序5.系統(tǒng)仿真通過硬件仿真平臺proteus,可以將設(shè)計(jì)效果仿真出來,根據(jù)效果,有目的的改變設(shè)計(jì),優(yōu)化程序。1.普通時(shí)間顯示模式仿真圖,表示:星期一 9點(diǎn)10分38秒2.日期調(diào)節(jié),顯示模式仿真圖,表示:2010年7月10日3.鬧鈴調(diào)節(jié)顯示仿真圖,表示鬧鈴時(shí)刻為8點(diǎn)整4.定時(shí),倒計(jì)時(shí)顯示仿真圖,表示此時(shí)定時(shí)初值已經(jīng)減到54秒,及還有54秒定時(shí)到。定時(shí)最大值為59分59秒。5.秒表顯示仿真圖,表示秒表已經(jīng)從0記到8.28秒。秒表可計(jì)時(shí)到小時(shí),其中小時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論