基于89C51單片機電子時鐘論文(共18頁)_第1頁
基于89C51單片機電子時鐘論文(共18頁)_第2頁
基于89C51單片機電子時鐘論文(共18頁)_第3頁
基于89C51單片機電子時鐘論文(共18頁)_第4頁
基于89C51單片機電子時鐘論文(共18頁)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、鄭州輕工業(yè)學院(xuyun)微控制器應(yīng)用(yngyng)系統(tǒng)設(shè)計 題 目: 電子時鐘(shzhng)仿真設(shè)計 學生姓名: 張 康 專業(yè)班級: 電子信息工程12-2班 學 號: 541201030252 院 (系): 電子信息工程學院 電子(dinz)時鐘仿真設(shè)計背景(bijng) 隨著電子技術(shù)的不斷發(fā)展,單片機技術(shù)在設(shè)計中所體現(xiàn)出來的優(yōu)勢越來越明顯,它不僅是電子信息類專業(yè)的一個重要部分,而且在其他類專業(yè)工程中也是不可缺少的。廣泛地應(yīng)用于家電、工業(yè)過程控制、儀器儀表、智能武器、航天(hngtin)和空間飛行器等領(lǐng)域,已成為新一代一些電子設(shè)備不可缺少的核心部件。目前世界上單片機年產(chǎn)量已達十億多片,

2、通常是當年微處理器產(chǎn)量的4-5倍以上。用最少的芯片就能夠?qū)崿F(xiàn)最強大的功能。可以想見,這是將來電子產(chǎn)品的主流方向,他將無可置疑地一步步取代其它同類產(chǎn)品,其數(shù)量之大和應(yīng)用面之廣,是其他任何類型的計算機所無法比擬的。單片機是應(yīng)工程測控需要而誕生的。它把計算機最基本的功能電路,如CPU、程序存儲器、數(shù)據(jù)存儲器、I/O接口、定時、計數(shù)器、中斷系統(tǒng)等集成到一塊芯片上,形成單片形態(tài)的計算機。單片機通常以最小系統(tǒng)運行,在家用電器中和常用的智能儀器儀表中常??梢浴皢纹惫ぷ?,同時單片機在我們?nèi)粘I钪腥~經(jīng)常見到,同時單片機在我們?nèi)粘I钪幸步?jīng)常見到,如電子表、舞廳里的一些等國的控制、工廠一些自動化控制等。將來只

3、要有自動控制方面的都會離不開單片機的開發(fā)和使用,對于現(xiàn)代的自動化控制起著舉足輕重的作用??傮w方案設(shè)計1、設(shè)計方案的對比、選擇及確定電子時鐘的核心內(nèi)容是對時間的處理。具體說是對各位時間的正常運行、進位、調(diào)節(jié)和定時。用什么來處理時間就成為了關(guān)鍵問題。大體思路有兩種,一種是直接用89C51內(nèi)部的定時器,另一種是用專門的時間處理芯片。決定選取89C51內(nèi)部時鐘來設(shè)計電子時鐘。而在芯片的選擇上,使用了以下幾種芯片:AT89C51、DS18B20和LM016L。系統(tǒng)設(shè)計思路此設(shè)計即在液晶屏上顯示年、月、日、時、分、秒、星期及溫度(原理框圖如圖1.1),電路包括一下幾個部分:鍵盤、單片機、溫度傳感器及顯示電

4、路。各部分(b fen)說明:鍵盤用于校正(jiozhng)、調(diào)節(jié)液晶上顯示的時間。單片機通過輸出各種電脈沖信號開驅(qū)動控制各部分(b fen)正常工作。溫度傳感器用來采集溫度值。單片機發(fā)送的信號經(jīng)過顯示電路通過譯碼最終在液晶上顯示出來。系統(tǒng)工作過程:1、時間的主要處理過程是在CPU中完成的。CPU會隨時對時間進行讀取數(shù)據(jù)的操作。在讀取了相應(yīng)的寄存器的值后,CPU將讀取的值進行處理,再通過I/O口把數(shù)據(jù)傳入LM016L。 2、LM016L在接受到數(shù)據(jù)后在相應(yīng)的位置上進行顯示。 3、溫度信號會通過DS18B20進行采集,然后通過CPU處理后同樣傳給LM016L。系統(tǒng)的設(shè)計按照系統(tǒng)的工作過程,將CP

5、U相應(yīng)的I/O口分配給對應(yīng)的芯片完成相應(yīng)的控制和數(shù)據(jù)的傳輸。簡單地概括為以CPU為中心,將DS18B20的時間和溫度信號通過CPU處理后輸入到LM016L進行輸出顯示。單元模塊設(shè)計AT89C51單片機系統(tǒng)設(shè)計AT89C51是一種低電壓、高性能CMOS8位微處理器,內(nèi)部有2K字節(jié)的閃速PEROM,該芯片采用ATMEL公司的高密度、非揮發(fā)性存儲器工藝制成,且與工業(yè)標準MCS-51系列的引腳和指令兼容,F(xiàn)LASH系列存儲器為快速擦寫存儲器。其最小系統(tǒng)設(shè)計如圖所示: DS18B20溫度傳感器電路設(shè)計DS18B20溫度傳感器是美國Dallas公司生產(chǎn)(shngchn)的最新的單線數(shù)字溫度傳感器,支持“1

6、-Wire”接口(ji ku)。其DQ端經(jīng)上拉電阻接在P3.3引腳。 液晶(yjng)LM016L電路設(shè)計液晶LM016L用來顯示時間、日期、星期及溫度。其數(shù)據(jù)口與P0口相連,P2.0、P2.1和P2.2分別控制數(shù)據(jù)命令選擇端、讀寫選擇端及使能端。 鍵盤(jinpn)電路鍵盤用來(yn li)調(diào)節(jié)時間。分別于P1.4、P1.5、P1.6和P1.7連接。電路如圖所示。鍵盤(jinpn)功能描述: Key_2鍵為時間設(shè)置鍵 Key_3鍵為時間加一鍵 Key_4鍵為時間減一鍵 程序設(shè)計流程主程序設(shè)計流程開始 鍵盤(jinpn)掃描程序設(shè)計流程調(diào)時方法(fngf):按下Key_2鍵為設(shè)置時間按鍵次數(shù)功

7、能1設(shè)置時間秒2設(shè)置時間分3設(shè)置時間時4設(shè)置日期日5設(shè)置日期月6設(shè)置日期年7設(shè)置鬧鈴秒8設(shè)置鬧鈴分9設(shè)置鬧鈴時10設(shè)置鬧鈴開關(guān)11設(shè)置完成液晶電路(dinl)部分函數(shù)分為(fn wi):液晶寫入指令函數(shù)、液晶寫入數(shù)據(jù)函數(shù)和液晶初始化函數(shù)開始開始產(chǎn)生下降沿,指令執(zhí)行結(jié)束送入數(shù)據(jù)數(shù)據(jù)/指令選擇置為數(shù)據(jù)讀寫選擇置為寫數(shù)據(jù)/指令選擇置為指令結(jié)束產(chǎn)生下降沿,指令執(zhí)行送入數(shù)據(jù)讀寫選擇置為寫 液晶(yjng)寫入指令函數(shù) 液晶寫入數(shù)據(jù)函數(shù)開始設(shè)置液晶屏工作模式開顯示,不顯示光標結(jié)束向液晶屏寫入時間固定格式時間從第二行第一位之后開始顯示向液晶屏寫入日期固定格式 顯示(xinsh)類函數(shù)其中包括:溫度顯示子函數(shù)

8、、時間格式顯示子函數(shù)、日期格式顯示子函數(shù)、寫星期(xngq)函數(shù)和顯示日期和時間子函數(shù)。結(jié)束在相應(yīng)位置上顯示讀取個位數(shù)讀取十位數(shù)開始 附:溫度顯示子函數(shù)、時間格式(g shi)顯示子函數(shù)、日期格式顯示子函數(shù)和顯示日期和時間子函數(shù)均符合此程序流程圖。結(jié)束顯示SUN顯示STA顯示FRI顯示THU顯示W(wǎng)ED顯示TUE顯示MON開始確定星期字符顯示的位置 判斷是星期幾星期為日星期為六星期為五星期為四星期為三星期為二星期為一 寫星期(xngq)函數(shù)系統(tǒng)(xtng)功能和指標參數(shù)本次設(shè)計中,基本的程序(chngx)要求已達到,既可以修改時間和鬧鈴,在鬧鈴響時,長按減一鍵停止響。時間精度有待提高??偨Y(jié)通過這

9、次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為 HYPERLINK /z/Search.e?sp=S社會服務(wù)&ch=link 社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。參考文獻【1】張俊漠. 單片機中級教程-原理與應(yīng)用(yngyng)(第2版). 北京:北京航天航空大學出版社,2006【2】趙曉安. MCS-51

10、單片機原理及應(yīng)用(yngyng). 天津:天津大學出版社,2001.3【3】李廣第單片機基礎(chǔ)(jch)(第1版)北京:北京航空航天大學出版社,1999 【4】徐惠民、安德寧單片微型計算機原理接口與應(yīng)用 第1版 北京:北京郵電大學出版社,1996【5】何立民從Cygnal 80C51F看8位單片機發(fā)展之路 單片機與嵌入式系統(tǒng)應(yīng)用,2002年,第5期:P5-8附錄(fl) 附錄(fl)1原器件(qjin)清單:芯片器件數(shù)目芯片器件數(shù)目AT89C511電阻 1K1DS18B201按鈕5LM016L1蜂鳴器1電容 33pF2三極管2N54011108排阻13.6V直流電源1喇叭1電解電容40uF1晶振

11、11.0592MHz1附錄(fl)2程序設(shè)計(chn x sh j)原理圖:附錄(fl)3主程序:#include#define uchar unsigned char#define uint unsigned intsbit rs=P05;sbit rw=P06;sbit e=P07; sbit k1=P32;sbit k2=P31;sbit k3=P30;uchar count,k1value;char year,month,day,hour,min,second;uchar code table=5-17 2009 sun;uchar code table1= 00:00:00;void

12、 delay(uint z) uint x,y; for(x=z;x0;x-) for(y=120;y0;y-);void write_command(uchar command) rs=0; e=0; P2=command; delay(5); e=1; delay(5); e=0; void write_datas(uchar datas) rs=1; e=0; P2=datas; delay(5); e=1; delay(5); e=0; void write_time(uchar add,uchar datas) uchar high,low; high=datas/10; low=d

13、atas%10; write_command(0 x80+0 x40+add); write_datas(0 x30+high); write_datas(0 x30+low);void keyscan() if(k1=0) delay(5); if(k1=0) k1value+; while(!k1); if(k1value=1) TR0=0; write_command(0 x0f); write_command(0 x80+0 x40+11); if(k1value=2) write_command(0 x80+0 x40+8); if(k1value=3) write_command(

14、0 x80+0 x40+5); if(k1value=4) k1value=0; write_command(0 x0c); TR0=1; if(k1value!=0) if(k2=0) delay(5); if(k2=0) while(!k2); if(k1value=1) second+; if(second=60) second=0; write_time(11,second); write_command(0 x80+0 x40+11); if(k1value=2) min+; if(min=60) min=0; write_time(8,min); write_command(0 x

15、80+0 x40+8); if(k1value=3) hour+; if(hour=24) hour=0; write_time(5,hour); write_command(0 x80+0 x40+5); if (k1value!=0) if(k3=0) delay(5); if(k3=0) while(!k3); if(k1value=1) second-; if(second=-1) second=59; write_time(11,second); write_command(0 x80+0 x40+11); if(k1value=2) min-; if(min=-1) min=59;

16、 write_time(8,min); write_command(0 x80+0 x40+8); if(k1value=3) hour-; if(hour=-1) hour=23; write_time(5,hour); write_command(0 x80+0 x40+5); void main() uchar num; rw=0; e=0; write_command(0 x38); write_command(0 x0c); write_command(0 x06); write_command(0 x01); write_command(0 x80); for(num=0;num15;num+) write_datas(tablenum); delay(20); write_command(0 x80+0 x40); for(num=0;num14;num+) write_datas(table1num); delay(20); TMOD=0 x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1) keyscan(); void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; co

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論