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

下載本文檔

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

文檔簡(jiǎn)介

1、xxx職業(yè)技術(shù)學(xué)院 課題名稱(chēng):?jiǎn)纹瑱C(jī)數(shù)字時(shí)鐘設(shè)計(jì) 學(xué)生姓名: 專(zhuān)業(yè)班級(jí): 學(xué) 號(hào): 指導(dǎo)教師: 一. 硬件設(shè)計(jì).51.系統(tǒng)原理分析.52.硬件電路圖及功能.63.特殊功能.8二. 軟件設(shè)計(jì).91.程序流程圖.92.實(shí)現(xiàn)主程序.10三.結(jié)束語(yǔ).16三. 參考文獻(xiàn).16前言在信息技術(shù)急速發(fā)展的今天,計(jì)算機(jī)科學(xué)日新月異。而單片機(jī)作為計(jì)算機(jī)科學(xué)的一個(gè)分支,在微機(jī)控制領(lǐng)域得到長(zhǎng)足發(fā)展。在計(jì)算機(jī)網(wǎng)絡(luò),通訊方面是微機(jī)的天下;而在微控制領(lǐng)域,小到電子表,大到家用電器,到處都有單片機(jī)的用武之地. 在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響。為了更好的利用我們自己的時(shí)間

2、,我們必須對(duì)時(shí)間有一個(gè)度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開(kāi)始的機(jī)械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能計(jì)時(shí)功能,只是工作原理不同而已,在人們的使用過(guò)程中,逐漸發(fā)現(xiàn)了鐘表的功能太單一,沒(méi)有更大程度上的滿(mǎn)足人們的需求。因此在這里,我想能不能把一些輔助功能加入鐘表中去。在此設(shè)計(jì)中所設(shè)計(jì)的鐘表不但具有普通鐘表的功能,它還能實(shí)現(xiàn)多個(gè)額外的功能:溫度測(cè)量、電網(wǎng)頻率測(cè)量,而且還能進(jìn)行遙控止鬧。本設(shè)計(jì)主要分為硬件電路設(shè)計(jì)和軟件實(shí)現(xiàn)兩大部分。硬件電路設(shè)計(jì)采用模塊設(shè)計(jì):中央處理電路、時(shí)鐘電路、電壓與電網(wǎng)頻率測(cè)量電路、v/f轉(zhuǎn)換電路、音樂(lè)鬧鐘電路、鍵盤(pán)電

3、路和液晶顯示電路、指示燈電路、通信電路以及電源電路幾大部分;軟件采用匯編語(yǔ)言編程實(shí)現(xiàn).基于單片機(jī)數(shù)字鐘設(shè)計(jì)摘 要: 數(shù)字鐘在日常生活中最常見(jiàn),應(yīng)用也最廣泛。本文主要就是設(shè)計(jì)一款數(shù)字鐘,以89c51單片機(jī)為核心,配備液晶顯示模塊、時(shí)鐘芯片、等功能模塊。數(shù)字鐘采用12/24小時(shí)制方式顯示時(shí)間,定時(shí)信息,am、pm提示以及年月日顯示等功能。文章的核心主要從硬件設(shè)計(jì)和軟件編程兩個(gè)大的方面。硬件電路設(shè)計(jì)主要包括中央處理單元電路、時(shí)鐘電路、人機(jī)接口電路、信號(hào)處理電路、執(zhí)行電路等幾部分組成,為了用電池作電源,采用低功耗的cmos芯片及液晶顯示器.軟件用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。關(guān)鍵詞: 單片機(jī) 液晶顯示器模塊 數(shù)字鐘

4、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 time, regular information, am, pm a

5、nd 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 processing circuits, implementation

6、 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在信息技術(shù)急速發(fā)展的今天,計(jì)算機(jī)科學(xué)日新月異。而單片機(jī)作為計(jì)算機(jī)科學(xué)的一個(gè)分支,在微機(jī)控

7、制領(lǐng)域得到長(zhǎng)足發(fā)展。在計(jì)算機(jī)網(wǎng)絡(luò),通訊方面是微機(jī)的天下;而在微控制領(lǐng)域,小到電子表,大到家用電器,到處都有單片機(jī)的用武之地. 在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響。為了更好的利用我們自己的時(shí)間,我們必須對(duì)時(shí)間有一個(gè)度量,因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開(kāi)始的機(jī)械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能計(jì)時(shí)功能,只是工作原理不同而已,在人們的使用過(guò)程中,逐漸發(fā)現(xiàn)了鐘表的功能太單一,沒(méi)有更大程度上的滿(mǎn)足人們的需求。因此在這里,我想能不能把一些輔助功能加入鐘表中去。在此設(shè)計(jì)中所設(shè)計(jì)的鐘表不但具有普

8、通鐘表的功能,它還能實(shí)現(xiàn)多個(gè)額外的功能:溫度測(cè)量、電網(wǎng)頻率測(cè)量,而且還能進(jìn)行遙控止鬧。本設(shè)計(jì)主要分為硬件電路設(shè)計(jì)和軟件實(shí)現(xiàn)兩大部分。硬件電路設(shè)計(jì)采用模塊設(shè)計(jì):中央處理電路、時(shí)鐘電路、電壓與電網(wǎng)頻率測(cè)量電路、v/f轉(zhuǎn)換電路、音樂(lè)鬧鐘電路、鍵盤(pán)電路和液晶顯示電路、指示燈電路、通信電路以及電源電路幾大部分;軟件采用匯編語(yǔ)言編程實(shí)現(xiàn).ds181320溫度傳感器液晶顯示鍵盤(pán)輸入與控制 8051 ds12887實(shí)時(shí)時(shí)鐘鬧鈴指示門(mén)控電 路波形整形電 源基準(zhǔn)時(shí)鐘信號(hào)發(fā)生器圖1.系統(tǒng)結(jié)構(gòu)圖一.硬件設(shè)計(jì)1.系統(tǒng)原理分析系統(tǒng)設(shè)計(jì)中用到89c51單片機(jī)的部分功能:包括內(nèi)部定時(shí)器,鍵盤(pán)擴(kuò)展,程序中斷,口通信等。用一個(gè)四

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

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

11、只進(jìn)行時(shí)鐘計(jì)時(shí)功能及保留其內(nèi)部ram的數(shù)據(jù)(d)本電路mc146818 osc1 osc2時(shí)基脈沖輸入方式與個(gè)人電腦相同采用外部時(shí)基脈沖輸入,由4069 32.768khz 10p 2m組成時(shí)鐘輸入osc1(osc2開(kāi)路)(e)8051 p1口接6個(gè)七段顯示器分別顯示時(shí)分秒,由timer1每3ms中斷一次執(zhí)行掃描顯示工作(4).讀取mc146818時(shí)間讀取mc146818的時(shí)鐘值有下列3種方法:(a)檢查a寄存器的uip=0,表示未進(jìn)行周期更新,至少有244us的時(shí)間可讀取.(b)更新周期結(jié)束中斷(設(shè)定b寄存器uie=1),約有1秒的時(shí)間可讀取.(c)周期性中斷法(設(shè)定b寄存器pie=1),約

12、有1984+244us的時(shí)間可讀.(5).本專(zhuān)題采用更新周期結(jié)束中斷時(shí),約有1秒的時(shí)間可讀mc146818的時(shí)間值,其步驟如下:(a)硬件:mc146818的/irq接8051int1,當(dāng)更新周期結(jié)束時(shí),由/irq產(chǎn)生低電平,對(duì)8051int1產(chǎn)生中斷.(b)設(shè)定mc146818b寄存器的uie=1,更新周期結(jié)束中斷使能位,中斷時(shí)由/irq輸出低電平.(c)產(chǎn)生中斷后,須讀取mc146818c寄存器一次,將/riq清除為0,否則會(huì)產(chǎn)生中斷錯(cuò)誤.(6).rtc地址設(shè)置:p27 p26 p25 p24 p23 p22 p20 p07 p06 p05 p04 p03 p02 p01 p00x x x

13、 x x x 0 x x x x x x x xrtc equ 0000;定義mc146818起始地址=秒地址各寄存器讀寫(xiě)地址如下:rtc 秒;rtc+2 分;rtc+4 時(shí);rtc+0ah a寄存器;rtc+0bh b寄存器;rtc+0ch c寄存器;3.特殊功能1. 溫度檢測(cè)方案選擇采用集成溫度傳感器 ds18b20 。該傳感器結(jié)構(gòu)簡(jiǎn)單,不需外接電路,數(shù)據(jù)傳輸采用 one-wire總線(xiàn),可用一根 i/o數(shù)據(jù)線(xiàn)即供電又傳輸數(shù)據(jù),在-10 -+85范圍內(nèi)精度為0.5,完全能滿(mǎn)足題目1的要求,且分辨率較高,重復(fù)性和可靠性好。2、 鬧鈴響及報(bào)警模塊 鬧鈴響采用帶音樂(lè)芯片的揚(yáng)聲器,過(guò)、欠壓報(bào)警采用不

14、同聲音的蜂鳴器完成報(bào)警功能。二.軟件設(shè)計(jì)1. 程序流程圖圖4.程序流程圖2.實(shí)現(xiàn)主程序ptc equ 0000h ;定義mc146818起始地址=秒地址time equ 30h ;存放時(shí)分秒起始地址30h50hptr equ20h ;顯示器掃描指針 org 00hjmp startorg 13hjmp exet1 ;int1中斷子程序org 1bhjmp timer1 ;timer1中斷子程序start: mov sp,#70h ;設(shè)置堆棧 mov tmod,#10 mov tl1,#low(65536-3000);3ms中斷一次掃描七段顯示器 mov th1,#high(65536-3000

15、) mov ptr,#00h ;顯示掃描指針為0 mov ie,#8ch ;timer1 int1中斷使能 setb tr1 ;啟動(dòng)timer1 mov dptr,#rtc+0ah ;a寄存器32.768khz dv2=0 dv1=1 dv0=0 mov a,#20h movx dptr,#rtc+0bh;b寄存器set=1更新周期停止,進(jìn)行時(shí)鐘設(shè)定 mov a,#80h movx dptr,a mov dptr,#rtc+0eh ;讀取rtc 0e地址內(nèi)容判斷是否為1? movx a,dptr cjnz a,#01h,start0 jmp start1start0: ;不是則寫(xiě)入內(nèi)定時(shí)間12

16、: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 ;時(shí)地址 mov a,#12h ;12時(shí) movx dptr,a mov dptr,#rtc+0eh ;rtc 0e地址寫(xiě)入1,表示內(nèi)部已有時(shí)間值的識(shí)別碼 mov a,#01h movx dptr,astart1: mov dptr,#rtc+0bh ;是則b寄存器uie=1,rtc中斷使能開(kāi)始計(jì)時(shí)(十進(jìn)制,24小時(shí)制) mov a,#12h movx dpt

17、r,aloop: jnb p3.0,sec0 ;是否按p3.0?是則秒加1 jnb p3.1,min0 ;是否按p3.1?是則分加1 jnb p3.2,hur0 ;是否按p3.2?是則時(shí)加1 jnb loopsec0: jmp sec ;間接跳躍 min0: jmp min ;間接跳躍hur0: jmp hur ;間接跳躍sec: call delay ;按鈕消除抖動(dòng) jnb p3.0,$ ;檢測(cè)按鈕是否放開(kāi)? call delay ;按鈕消除抖動(dòng) mov dptr,#rtc+0bh mov a,#80h ;b寄存器set=1更新周期停止,進(jìn)行時(shí)鐘設(shè)定 movx dptr,a mov dptr

18、,#rtc ;讀取秒寄存器內(nèi)的值 movx a,dptr cjne a,#59h,sec1 ;是否為59h,是則存入0 mov a,00h jmp sec2sec1: add a,#01h ;不是則秒加1,做十進(jìn)制調(diào)整 da asec2: mov dptr,#rtc ;寫(xiě)入秒寄存器 movx dptr,a mov b,#10h ;將秒個(gè)位數(shù)與十位數(shù)分別寫(xiě)入ram 30h 31h div ab mov time+1,a mov time,bsec3: mov dptr,#rtc+0bh ;b寄存器uie=1 rtc中斷使能開(kāi)始計(jì)時(shí)(十進(jìn)制,24小時(shí)制) mov a,#12h movx dptr,

19、a jmp loopmin: call delay ;按鈕消除抖動(dòng) jnb p3.1,$ ;檢測(cè)按鈕是否放開(kāi)? call delay ;按鈕消除抖動(dòng) mov dptr,#rtc+0bh mov a,#80h ;b寄存器set=1更新周期停止,進(jìn)行時(shí)鐘設(shè)定 movx dptr,a mov dptr,#rtc+2 ;讀取分寄存器內(nèi)的值 movx a,dptr cjne a,#59h,min1 ;是否為59,是則存入0 mov a,#00h jmp min2min1: add a,#01h ;不是則分加1,作十進(jìn)制調(diào)整 da amin2: mov dptr,#rtc+2 ;寫(xiě)入分寄存器 movx d

20、ptr,a mov b,#10h ;將分個(gè)位數(shù)與十位數(shù)分別寫(xiě)入ram 32h 33h div ab mov time+3,a mov time+2,b jmp sec3hur: call delay ;按鈕消除抖動(dòng) jmp p3.2,$ ;檢測(cè)按鈕是否放開(kāi)? call delay ;按鈕消除抖動(dòng) mov dptr,#rtc+0bh mov a,#80h ;b寄存器set=1更新周期停止,進(jìn)行時(shí)鐘設(shè)定 movx dptr,a mov dptr,#rtc+4 ;讀取時(shí)寄存器內(nèi)的值 movx a.dptr cjne a,#32h,hur1 ;是否為23h,是則存入0 mov a,#00h jmp h

21、ur2hur1: add a,#01h ;不是則時(shí)加1,做十進(jìn)制調(diào)整 da ahur2: mov dptr,#rtc+4 ;寫(xiě)入時(shí)寄存器 movx dptr,a mov b,#10h ;將時(shí)個(gè)位數(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-3000);重設(shè)中斷時(shí)間3ms mov th1,#high(65536-3000) mov a,ptr cjne a,#06h,tim10;是否已掃描指針加時(shí)間ram地址,顯示該時(shí)間地址的內(nèi)容 add a,#time mov r0,a mov a,ptr ;顯示器掃描碼(在十進(jìn)數(shù))加數(shù)據(jù)碼(個(gè)位數(shù))輸出至p1顯示 swap a orl a,r0 mov p1,a inc ptr ;掃描下一個(gè)顯示器 pop psw pop acc retiext1: ;int1中斷子程序 push acc push psw mov dptr,#rtc+0ch;讀c寄存器,清除中斷標(biāo)志位irqf movx a,dptr mov dptr,#rtc ;讀秒寄存器的值 movx a,dptr mov b,#10h ;將十位數(shù)個(gè)位數(shù)分別存入31h 30

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論