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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、11.0592MHz1附錄(fl)2程序設計(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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論