畢業(yè)設計論文基于單片機數(shù)字時鐘設計_第1頁
畢業(yè)設計論文基于單片機數(shù)字時鐘設計_第2頁
畢業(yè)設計論文基于單片機數(shù)字時鐘設計_第3頁
畢業(yè)設計論文基于單片機數(shù)字時鐘設計_第4頁
畢業(yè)設計論文基于單片機數(shù)字時鐘設計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、x職業(yè)技術學院 畢業(yè)論文設計課題名稱:基于單片機數(shù)字時鐘設計 學生姓名: xxx 專業(yè)班級: xxx 學 號: xxx 指導教師: xxxx 2006年06月01日目錄一. 硬件設計.51.系統(tǒng)原理分析.52.硬件電路圖及功能.63.特殊功能.8二. 軟件設計.91.程序流程圖.92.實現(xiàn)主程序.10三.結(jié)束語.16三. 參考文獻.16前言在信息技術急速發(fā)展的今天,計算機科學日新月異。而單片機作為計算機科學的一個分支,在微機控制領域得到長足發(fā)展。在計算機網(wǎng)絡,通訊方面是微機的天下;而在微控制領域,小到電子表,大到家用電器,到處都有單片機的用武之地. 在當代繁忙的工作與生活中,時間與我們每一個人

2、都有非常密切的關系,每個人都受到時間的影響。為了更好的利用我們自己的時間,我們必須對時間有一個度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開始的機械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能計時功能,只是工作原理不同而已,在人們的使用過程中,逐漸發(fā)現(xiàn)了鐘表的功能太單一,沒有更大程度上的滿足人們的需求。因此在這里,我想能不能把一些輔助功能加入鐘表中去。在此設計中所設計的鐘表不但具有普通鐘表的功能,它還能實現(xiàn)多個額外的功能:溫度測量、電網(wǎng)頻率測量,而且還能進行遙控止鬧。本設計主要分為硬件電路設計和軟件實現(xiàn)兩大部分。硬件電路設計采用模塊設計:中央處理電路

3、、時鐘電路、電壓與電網(wǎng)頻率測量電路、v/f轉(zhuǎn)換電路、音樂鬧鐘電路、鍵盤電路和液晶顯示電路、指示燈電路、通信電路以及電源電路幾大部分;軟件采用匯編語言編程實現(xiàn).基于單片機數(shù)字鐘設計摘 要: 數(shù)字鐘在日常生活中最常見,應用也最廣泛。本文主要就是設計一款數(shù)字鐘,以89c51單片機為核心,配備液晶顯示模塊、時鐘芯片、等功能模塊。數(shù)字鐘采用12/24小時制方式顯示時間,定時信息,am、pm提示以及年月日顯示等功能。文章的核心主要從硬件設計和軟件編程兩個大的方面。硬件電路設計主要包括中央處理單元電路、時鐘電路、人機接口電路、信號處理電路、執(zhí)行電路等幾部分組成,為了用電池作電源,采用低功耗的cmos芯片及液

4、晶顯示器.軟件用匯編語言來實現(xiàn)。關鍵詞: 單片機 液晶顯示器模塊 數(shù)字鐘abstract: digital clock in their daily lives the most common, is the most widely applied. the main section is designed digital bell to shanpianji 89c51 core, with lcd modules, clock chips, and other functional modules. 12/24 hours using digital bell system display

5、 time, regular information, am, pm and the presentation . shows, and other functions. the article primarily from the core hardware design and software programming two major aspects. hardware circuit design include central processing units circuits, clock circuits, computer interface circuits, signal

6、 processing circuits, implementation of several components, such as circuits to batteries for power, the use of low consumption of cmos chips and liquid crystal displays. software used for the compilation of language.keywords:single chip computer; liquid crystal display modules; figures bell在信息技術急速發(fā)

7、展的今天,計算機科學日新月異。而單片機作為計算機科學的一個分支,在微機控制領域得到長足發(fā)展。在計算機網(wǎng)絡,通訊方面是微機的天下;而在微控制領域,小到電子表,大到家用電器,到處都有單片機的用武之地. 在當代繁忙的工作與生活中,時間與我們每一個人都有非常密切的關系,每個人都受到時間的影響。為了更好的利用我們自己的時間,我們必須對時間有一個度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開始的機械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能計時功能,只是工作原理不同而已,在人們的使用過程中,逐漸發(fā)現(xiàn)了鐘表的功能太單一,沒有更大程度上的滿足人們的需求。因此在這里

8、,我想能不能把一些輔助功能加入鐘表中去。在此設計中所設計的鐘表不但具有普通鐘表的功能,它還能實現(xiàn)多個額外的功能:溫度測量、電網(wǎng)頻率測量,而且還能進行遙控止鬧。本設計主要分為硬件電路設計和軟件實現(xiàn)兩大部分。硬件電路設計采用模塊設計:中央處理電路、時鐘電路、電壓與電網(wǎng)頻率測量電路、v/f轉(zhuǎn)換電路、音樂鬧鐘電路、鍵盤電路和液晶顯示電路、指示燈電路、通信電路以及電源電路幾大部分;軟件采用匯編語言編程實現(xiàn).ds181320溫度傳感器液晶顯示鍵盤輸入與控制 8051 ds12887實時時鐘鬧鈴指示門控電 路波形整形電 源基準時鐘信號發(fā)生器圖1.系統(tǒng)結(jié)構(gòu)圖一.硬件設計1.系統(tǒng)原理分析系統(tǒng)設計中用到89c51

9、單片機的部分功能:包括內(nèi)部定時器,鍵盤擴展,程序中斷,口通信等。用一個四聯(lián)體的共陰極八段顯示器,可通過一個輸入輸出口作為顯示器數(shù)據(jù)發(fā)送端;另一個輸入輸出口的四位作為顯示器各位的片選信號,另四位作為鍵盤擴展口使用。采用一個頻率為32.768 khz的晶振構(gòu)成時鐘電路。系統(tǒng)原理圖如圖1:顯示器單片機串口鍵盤圖2. 系統(tǒng)原理圖2.硬件電路圖及其功能圖3.硬件電路圖其功能為: 功能說明(1).內(nèi)定時間為12點00分00秒,提供新產(chǎn)品或換電池時使用.如里沒有內(nèi)定時間在首次開機進,會造成時間亂碼,至于開機時是使用內(nèi)定時間還是rtc內(nèi)部時間由rtc使用者ram 0e地址的內(nèi)容來決定,其內(nèi)容為1表示rtc內(nèi)部

10、已有時間值,讀取rtc內(nèi)部時間表示,非1則表示rtc內(nèi)部尚末有時間值,定入內(nèi)定時間并顯示(2).時間調(diào)整每按p3.0(rxd)一次加1秒每按p3.1(rxd)一次加1分每按p3.2(rxd)一次加1時(3).硬件電路說明(a)8054alr為電位檢測器,引腳1-out,引腳2-vcc,引腳3-gnd當vcc大于4.5時,out為hi,小于4.5v為l0(b)當外部電源存在時,3906三極管飽和,使vb約為+5v,8054alr的out腳為hi,由8051的p2.0控制ml146818的ke腳,p2.0=0時使能,可進行存取(c)當外部電源消失時,3906三極管截止,使vb由鎳鎘電池提供為3.6

11、v使8054alr的out腳為l0,此時mc146818的ke必為hi,只進行時鐘計時功能及保留其內(nèi)部ram的數(shù)據(jù)(d)本電路mc146818 osc1 osc2時基脈沖輸入方式與個人電腦相同采用外部時基脈沖輸入,由4069 32.768khz 10p 2m組成時鐘輸入osc1(osc2開路)(e)8051 p1口接6個七段顯示器分別顯示"時""分""秒",由timer1每3ms中斷一次執(zhí)行掃描顯示工作(4).讀取mc146818時間讀取mc146818的時鐘值有下列3種方法:(a)檢查a寄存器的uip=0,表示未進行周期更新,至少有

12、244us的時間可讀取.(b)更新周期結(jié)束中斷(設定b寄存器uie=1),約有1秒的時間可讀取.(c)周期性中斷法(設定b寄存器pie=1),約有1984+244us的時間可讀.(5).本專題采用更新周期結(jié)束中斷時,約有1秒的時間可讀mc146818的時間值,其步驟如下:(a)硬件:mc146818的/irq接8051int1,當更新周期結(jié)束時,由/irq產(chǎn)生低電平,對8051int1產(chǎn)生中斷.(b)設定mc146818b寄存器的uie=1,更新周期結(jié)束中斷使能位,中斷時由/irq輸出低電平.(c)產(chǎn)生中斷后,須讀取mc146818c寄存器一次,將/riq清除為0,否則會產(chǎn)生中斷錯誤.(6).

13、rtc地址設置:p27 p26 p25 p24 p23 p22 p20 p07 p06 p05 p04 p03 p02 p01 p00x x x x x x 0 x x x x x x x xrtc equ 0000;定義mc146818起始地址=秒地址各寄存器讀寫地址如下:rtc 秒;rtc+2 分;rtc+4 時;rtc+0ah a寄存器;rtc+0bh b寄存器;rtc+0ch c寄存器;3.特殊功能1. 溫度檢測方案選擇采用集成溫度傳感器 ds18b20 。該傳感器結(jié)構(gòu)簡單,不需外接電路,數(shù)據(jù)傳輸采用 one-wire總線,可用一根 i/o數(shù)據(jù)線即供電又傳輸數(shù)據(jù),在-10 -+85范圍

14、內(nèi)精度為±0.5,完全能滿足題目±1的要求,且分辨率較高,重復性和可靠性好。2、 鬧鈴響及報警模塊 鬧鈴響采用帶音樂芯片的揚聲器,過、欠壓報警采用不同聲音的蜂鳴器完成報警功能。二.軟件設計1. 程序流程圖圖4.程序流程圖2.實現(xiàn)主程序ptc equ 0000h ;定義mc146818起始地址=秒地址time equ 30h ;存放"時分秒"起始地址30h50hptr equ20h ;顯示器掃描指針 org 00hjmp startorg 13hjmp exet1 ;int1中斷子程序org 1bhjmp timer1 ;timer1中斷子程序start:

15、 mov sp,#70h ;設置堆棧 mov tmod,#10 mov tl1,#low(65536-3000);3ms中斷一次掃描七段顯示器 mov th1,#high(65536-3000) mov ptr,#00h ;顯示掃描指針為0 mov ie,#8ch ;timer1 int1中斷使能 setb tr1 ;啟動timer1 mov dptr,#rtc+0ah ;a寄存器32.768khz dv2=0 dv1=1 dv0=0 mov a,#20h movx dptr,#rtc+0bh;b寄存器set=1更新周期停止,進行時鐘設定 mov a,#80h movx dptr,a mov

16、dptr,#rtc+0eh ;讀取rtc 0e地址內(nèi)容判斷是否為1? movx a,dptr cjnz a,#01h,start0 jmp start1start0: ;不是則寫入內(nèi)定時間12:00:00 mov dptr,#rtc ;秒地址 mov a,#00h ;00秒 movx dptr,a mov dptr,#rtc+2 ;分地址 mov a,#00h ;00分 movx dptr,a mov dptr,#rtc+4 ;時地址 mov a,#12h ;12時 movx dptr,a mov dptr,#rtc+0eh ;rtc 0e地址寫入1,表示內(nèi)部已有時間值的識別碼 mov a,#

17、01h movx dptr,astart1: mov dptr,#rtc+0bh ;是則b寄存器uie=1,rtc中斷使能開始計時(十進制,24小時制) mov a,#12h movx dptr,aloop: jnb p3.0,sec0 ;是否按p3.0?是則秒加1 jnb p3.1,min0 ;是否按p3.1?是則分加1 jnb p3.2,hur0 ;是否按p3.2?是則時加1 jnb loopsec0: jmp sec ;間接跳躍 min0: jmp min ;間接跳躍hur0: jmp hur ;間接跳躍sec: call delay ;按鈕消除抖動 jnb p3.0,$ ;檢測按鈕是否

18、放開? call delay ;按鈕消除抖動 mov dptr,#rtc+0bh mov a,#80h ;b寄存器set=1更新周期停止,進行時鐘設定 movx dptr,a mov dptr,#rtc ;讀取秒寄存器內(nèi)的值 movx a,dptr cjne a,#59h,sec1 ;是否為59h,是則存入0 mov a,00h jmp sec2sec1: add a,#01h ;不是則秒加1,做十進制調(diào)整 da asec2: mov dptr,#rtc ;寫入秒寄存器 movx dptr,a mov b,#10h ;將秒個位數(shù)與十位數(shù)分別寫入ram 30h 31h div ab mov ti

19、me+1,a mov time,bsec3: mov dptr,#rtc+0bh ;b寄存器uie=1 rtc中斷使能開始計時(十進制,24小時制) mov a,#12h movx dptr,a jmp loopmin: call delay ;按鈕消除抖動 jnb p3.1,$ ;檢測按鈕是否放開? call delay ;按鈕消除抖動 mov dptr,#rtc+0bh mov a,#80h ;b寄存器set=1更新周期停止,進行時鐘設定 movx dptr,a mov dptr,#rtc+2 ;讀取分寄存器內(nèi)的值 movx a,dptr cjne a,#59h,min1 ;是否為59,是

20、則存入0 mov a,#00h jmp min2min1: add a,#01h ;不是則分加1,作十進制調(diào)整 da amin2: mov dptr,#rtc+2 ;寫入分寄存器 movx dptr,a mov b,#10h ;將分個位數(shù)與十位數(shù)分別寫入ram 32h 33h div ab mov time+3,a mov time+2,b jmp sec3hur: call delay ;按鈕消除抖動 jmp p3.2,$ ;檢測按鈕是否放開? call delay ;按鈕消除抖動 mov dptr,#rtc+0bh mov a,#80h ;b寄存器set=1更新周期停止,進行時鐘設定 mo

21、vx dptr,a mov dptr,#rtc+4 ;讀取時寄存器內(nèi)的值 movx a.dptr cjne a,#32h,hur1 ;是否為23h,是則存入0 mov a,#00h jmp hur2hur1: add a,#01h ;不是則時加1,做十進制調(diào)整 da ahur2: mov dptr,#rtc+4 ;寫入時寄存器 movx dptr,a mov b,#10h ;將時個位數(shù)與十位數(shù)分別定入ram 34h 35h div ab mov time+5,a mov time+4,b jmp sec3timer1: push acc push psw mov tl1,#low(65536-

22、3000);重設中斷時間3ms mov th1,#high(65536-3000) mov a,ptr cjne a,#06h,tim10;是否已掃描指針加時間ram地址,顯示該時間地址的內(nèi)容 add a,#time mov r0,a mov a,ptr ;顯示器掃描碼(在十進數(shù))加數(shù)據(jù)碼(個位數(shù))輸出至p1顯示 swap a orl a,r0 mov p1,a inc ptr ;掃描下一個顯示器 pop psw pop acc retiext1: ;int1中斷子程序 push acc push psw mov dptr,#rtc+0ch;讀c寄存器,清除中斷標志位irqf movx a,dptr mov dptr,#rtc ;讀秒寄存器的值 movx a,dptr mov b,#10h ;將十位數(shù)個位

溫馨提示

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

評論

0/150

提交評論