




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
PAGE1- 目錄第一章前言1第二章設計目的與要求2第三章系統(tǒng)原理分析3第四章硬件介紹4第五章軟件實現(xiàn)與流程55.1主程序55.2數(shù)據(jù)的顯示程序75.3鍵盤響應程序8第六章結(jié)束語9參考文獻10附錄一程序代碼11附錄二程序仿真圖15PAGE2-第一章前言時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學技術的不斷發(fā)展,人們對時間計量的精度要求越來越高,應用越來越廣。怎樣讓時鐘更好的為人民服務,怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設計出新型時鐘?,F(xiàn)今,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術,因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時,分,秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎。在一個單片機應用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標準定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:DS1302,DS12887,X1203等都可以滿足高精度的要求。本文主要介紹用單片機內(nèi)部的定時/計數(shù)器來實現(xiàn)電子時鐘的方法,本設計由單片機AT89S51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機電子時鐘。第二章設計目的與要求進行電路硬件設計和系統(tǒng)軟件編程,以及仿真調(diào)試或制作。一般3~5人一組,每組完成的內(nèi)容不能雷同。選擇設計基于單片機的時鐘顯示器,數(shù)字鐘是一個將“時”、“分”、“秒”顯示計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒99毫秒,另外應有校時功能。實現(xiàn)的功能:在數(shù)字鐘正常進行顯示時,其顯示周期為00:00:00至23:59:59,其中有五個按鍵,按下“暫?!辨I時鐘停止走動,按下“開始”鍵時鐘開始走動,按下“秒設置”時鐘秒位自加1,加至60時向分位進1,按下“分設置”時鐘分位自加1,加至60時向時位進1,按下“時設置”時鐘秒位自加1,加至24時顯示00。第三章系統(tǒng)原理分析系統(tǒng)設計中用到89C51單片機的部分功能:包括內(nèi)部定時器,鍵盤擴展,程序中斷,串口通信等。用一個六位的共陰極七段顯示器,可通過一個輸入/輸出口作為顯示器數(shù)據(jù)發(fā)送端;另一個輸入/輸出口的六位作為顯示器各位的片選信號,另一個輸入/輸出口作為鍵盤擴展口使用。系統(tǒng)原理圖如圖1所示。P2.0-7P2.0-7單片機數(shù)碼顯示器按鍵P3.0-5P1.0-4圖1系統(tǒng)原理圖圖2數(shù)字鐘仿真圖第四章硬件介紹AT89C51:芯片共有40個引腳,引腳的排列順序為從靠芯片的缺口左邊那列逆時針數(shù)起,依次為1,2,3,4、、、40,其中芯片的1腳頂上有一個凹點。在單片機的40個引腳中,電源引腳2根,外接晶體振蕩器引腳2根,控制引腳4根以及4組8為可編程I/O引腳32根。主要特性:與MCS-51兼容;4K字節(jié)可編程閃爍存儲器;壽命:1000寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0Hz-24Hz;三級程序存儲器鎖定:128*8位內(nèi)部RAM;32可編程I/O線;兩個16位定時器/計數(shù)器;5個中斷源;可編程串行通道;低功耗的閑置和掉電模式;片內(nèi)振蕩器和時鐘電路。主要管腳說明:P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。六位共陰級數(shù)碼管:cc表示共陰極的ac是共陽極的設計中所用的是7段六位共陰級數(shù)碼管,如果要實現(xiàn)動態(tài)顯示必須位碼(1-6)輪流通低電位,也就是片選,段碼控制數(shù)碼管的顯示.0-b,1-g,2-a,3-f,4-c,5-e,6-h,7-d。圖3數(shù)碼管顯示原理圖如圖3數(shù)碼管顯示原理圖所示,使用LED顯示器時,要注意是共陰還是共陽,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。我們用的是共陰LED顯示器,根據(jù)電路連接圖顯示16進制數(shù)的編碼已列在下表。0x3f,0x06,0x5b,0x4f,0x66,0x6d,0 1 2 3450x7d,0x07,0x7f,0x6f,0x77,0x7c,6 7 8 9AB0x39,0x5e,0x79,0x71,0x00CDEF無顯示動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效,由另一位控制顯示碼值。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。我們這里正是利用的數(shù)碼管動態(tài)顯示來完成顯示功能。第五章軟件實現(xiàn)與流程5.1主程序由于系統(tǒng)的主要功能都是由子程序來完成的,主程序基本上沒什么事可做,只是利用調(diào)用子程序的方式實現(xiàn)的,主程序流程圖如圖3所示。開始開始初始化調(diào)用顯示子程序調(diào)用按鍵操作子程序1?結(jié)束YN圖3主程序流程圖5.2數(shù)據(jù)的顯示程序時鐘數(shù)字顯示涉及到兩個操作:發(fā)數(shù)據(jù)和改片選信號。先發(fā)片選,再發(fā)數(shù)據(jù)。用延時程序進行一個消影操作,這樣就很好地解決了重影問題。這樣做的關鍵在于,在極短的一段時間內(nèi)讓顯示器都不亮,等一切準備工作都做好了以后再發(fā)數(shù)據(jù),只要顯示頻率足夠快,是看不出顯示器有閃爍的。代碼如下:shi=hour/10;ge=hour%10;P3=0xfe;P2=table1[shi];delay(5);P3=0xfd;P2=table1[ge];dp=1;delay(5);這段顯示程序流程圖如圖4:開始開始求時/分/秒的個位、十位片選顯示時/分/秒十位延時消影顯示時/分/秒個位縣市小數(shù)點結(jié)束圖4數(shù)據(jù)顯示流程圖5.3鍵盤響應程序鍵盤分編碼鍵盤和非編碼鍵盤,鍵盤上閉合鍵的識別由專用的硬件編碼器實現(xiàn),并產(chǎn)生按鍵編碼號或鍵值的稱為編碼鍵盤,如計算機鍵盤。而靠軟件編程來識別的稱為非編碼鍵盤,在單片機組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤,也有用到編碼鍵盤的,我們這里用的就是非編碼鍵盤。如圖4鍵盤圖所示,當按鈕按下時;端口會變成低電平,我們設計一段掃描程序來判斷那個端口是低電平來判斷是否有按鍵按下。鍵盤處理程序流程相對簡單,只是簡單的判鍵與處理。當設置按鍵按下為低電平時,對應位數(shù)加1至滿進制。開始開始檢測“暫?!卑存ISet1=0?標記為1按鍵按下?秒/分/時自增1至滿進制結(jié)束向高位增1NNNY圖5按鍵響應程序流程第六章結(jié)束語通過這次單片機設計,我加深了對課本專業(yè)知識的理解,平常都是理論知識的學習,在此次課程設計中,真正做到了自己查閱資料、完成一個基本電路的設計。在此次的數(shù)字鐘設計過程中,我更進一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。當然,在這個過程中我也遇到了困難,通過查閱資料,相互討論,我準確地找出錯誤所在并及時糾正了,這也是我最大的收獲,使自己的實驗動手能力有了進一步的提高,讓我對以后的工作學習有了更大的信心?;仡櫰鸫舜卧O計,感慨頗多,從理論到實踐,我學到很多很多的東西,不僅鞏固了以前所學過的知識,而且學到了很多在書本上沒有學到過的內(nèi)容。通過這次課程設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才是真正的知識,才能提高自己的實際動手能力和獨立思考的能力。在設計的過程遇到了各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計,把以前所學過的知識重新溫故,鞏固了所學的知識。此次的課程設計,還讓我知道了最重要的是心態(tài),在你拿到題目時會覺得困難,但是只要充滿信心,腳踏實地,就肯定會完成的。參考文獻[1]張齊、朱寧西編著.《單片機系統(tǒng)設計與開發(fā)--基于Proteus單片機仿真和C語言編程》北京:機械工業(yè)出版社.2008年[2]馬忠梅編著.《單片機的C語言應用程序設計(第4版)》.北京:北京航天航空大學出版社.2007年[3]李學禮編著.《基于Proteus的8051單片機實例教程》電子工業(yè)出版社,2008年[4]戴佳戴、衛(wèi)恒、劉博文編著.《51單片機C語言應用程序設計實例精講》電子工業(yè)出版社.2008年[5]侯玉寶編著.《基于Proteus的51系列單片機設計與仿真》電子工業(yè)出版社.2008年附錄一程序代碼#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitset1=P1^0;//暫停sbitset2=P1^1;//開始sbitsets=P1^2;//秒設置sbitsetm=P1^3;//分設置sbitseth=P1^4;//時設置sbitdp=P2^7;//小數(shù)點ucharcodetable1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchart0,hour,fen,miao,ge,shi,flag;voiddelay(uintz)//延時子程序z的取值為這個函數(shù)的延時ms數(shù),如delay(200);大約延時200ms{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidinit(){TMOD=0x01;//TMOD的值表示定時器工作方式選擇TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;//開總中斷ET0=1;//允許定時器0中斷TR0=1;//啟動定時器}voidtimer0()interrupt1//定時器0的中斷號是1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0++;if(t0==20){t0=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;hour++;if(hour==24)hour=0;}}}}voiddisplay(ucharhour,ucharfen,ucharmiao){shi=hour/10;ge=hour%10;P3=0xfe;P2=table1[shi];delay(5);P3=0xfd;P2=table1[ge];dp=1;delay(5);shi=fen/10;ge=fen%10;P3=0xfb;P2=table1[shi];delay(5);P3=0xf7;P2=table1[ge];dp=1;delay(5);shi=miao/10;ge=miao%10;P3=0xef;P2=table1[shi];delay(5);P3=0xdf;P2=table1[ge];delay(5);}voidkeyscan(){if(set1==0){delay(5);if(set1==0){TR0=0;flag=1;}while(!set1);}if(flag==1){if(sets==0){delay(5);if(sets==0){miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;hour++;if(hour==24)hour=0;}}}while(!sets);}}if(setm==0){delay(5);if(setm==0){fen++;if(fen==60){fen=0;hour++;if(hour==24)hour=0;}}while(!setm);}if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店清潔服務承包合同范本
- 2025年北京市住宅交易市場買賣合同解析
- 2025年醫(yī)療器械購銷合同協(xié)議
- 標準房產(chǎn)繼承合同書范本
- 2025年信息技術服務合同履行補充協(xié)議
- 2025年建筑工作人員聘請合同
- 2025年企業(yè)勞動合同糾紛處理實務
- 有線電視傳輸服務合同范本
- 長期獨家經(jīng)銷合同落地市場布局再掀波瀾
- 2025年兒童游樂場設計與施工合同模板
- 山東省春季高考技能考試-汽車專業(yè)必刷必練題庫(600題)
- 膝關節(jié)前十字韌帶扭傷查房
- 2024建設工程人工材料設備機械數(shù)據(jù)分類和編碼規(guī)范
- 倉庫高位貨架管理制度培訓課件
- 工會經(jīng)費列支范圍及工會經(jīng)費支出范圍
- 道教文化的映射:《三國演義》中的道教元素分析
- 成人高考課件
- 高中英語高考讀后續(xù)寫巧用動作鏈專項練習(附參考答案和解析)
- 哲學與人生全套課件146P
- 敬老院設備采購投標方案(技術方案)
- 充電樁采購安裝售后服務方案
評論
0/150
提交評論