單片機課程設計 簡易數字鐘_第1頁
單片機課程設計 簡易數字鐘_第2頁
單片機課程設計 簡易數字鐘_第3頁
單片機課程設計 簡易數字鐘_第4頁
單片機課程設計 簡易數字鐘_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、課程設計說明書(2012 /2013學年第 二 學期)課程名稱 : 單片機應用 題 目 : 簡易數字鐘 專業班級 :學生姓名 :學 號: 指導教師 : 韓昱 苗敬利等 設計周數 : 2周 設計成績 :2013年 6 月 26 日目錄第一章 課程設計目的*3第二章 課程設計任務*32.1設計題目*32.2原始數據及主要任務*32.3技術要求*3第三章 課程設計內容*33.1方案設計*43.2 CD4511芯片功能和使用方法*4 3.3MCS-51單片機定時器/計數器介*5 3.4 綜合電路設計*63.5單元電路設計*73.5.1鍵盤單元*73.5.2數碼管顯示*83.5.3時鐘產生單元*83.5

2、.4蜂鳴器電路單元*8第四章原理和仿真*93.6 原理圖和仿真圖*93.7系統調試*103.8 實習心得體會*11參考文獻*13附錄(c語言程序)*14一、課程設計目的:1.1綜合利用所學單片機知識完成一個單片機應用系統設計并在實驗室實現,從而加深對單片機軟硬知識的理解,獲得初步的應用經驗。1.2學習AT89C51定時/計數器的原理及基本應用,掌握多位數碼管動態顯示方法以及芯片CD4511等的特點。1.3掌握Keil uVision2 的使用方法和PROTEUS軟件使用過程。二、課程設計任務 2.1設計題目:簡易數字鐘設計2.2原始數據及任務:采用AT89S51作為控制單元,實現簡易數字鐘設計

3、。1、確定總體設計方案;2、設計鍵盤輸入電路;3、設計顯示電路;4、合理分配地址,編寫系統程序;5、利用Protel設計硬件電路原理圖和PCB圖;6、軟硬件聯機調試。2.3技術要求設計一臺以MCS-51為核心的簡易數字鐘。四位數碼管顯示小時和分鐘,中間的那個點來區分小時和分鐘;每秒用LED閃爍一下;用了4個按鍵,一個是選擇鍵,一個是加鍵,一個確認鍵。時間要精確,整點報時,聲音間隔為一秒,并且可以調整時間調整位閃爍提示。三、課程設計內容3.1:方案設計過程如下(1)根據題目要求利用protel設計原理圖,請老師檢查是否有錯誤。(2)利用仿真軟件protus鋪設電路,進行合理安排布局。(3)學習k

4、eil編程軟件,按照功能要求進行編程。(4)在確認無誤后,將程序加載到protus進行仿真。(5)根據原理圖進行硬件焊接電路板和檢測。單元器件選擇主要器件如下:STC90C52AD+單片機(DIP40);4位共陰數碼顯示管,4個470歐電阻,1個; 300歐電阻,7個; NPN三極管4個1k歐電阻,4個; 晶振:12MHz,1個;10K電阻,4個; 按鍵開關:4個;LED二極管1個; 蜂鳴器1個; PNP三極管1個。3.2CD4511簡介說明和使用方法簡介:CD4511 是一片 CMOS BCD鎖存/7 段譯碼/驅動器,用于驅動共陰極 LED (數碼管)顯示器的 BCD 碼七段碼譯碼器。具有B

5、CD轉換、消隱和鎖存控制、七段譯碼及驅動功能的CMOS電路能提供較大的拉電流。可直接驅動共陰LED數碼管。 使用方法:其中a b c d 為 BCD 碼輸入,a為最低位。LT為燈測試端,加高電平時,顯示器正常顯示,加低電平時,顯示器一直顯示數碼“8”,各筆段都被點亮,以檢查顯示器是否有故障。BI為消隱功能端,低電平時使所有筆段均消隱,正常顯示時, B1端應加高電平。另外 CD4511有拒絕偽碼的特點,當輸入數據越過十進制數9(1001)時,顯示字形也自行消隱。LE是鎖存控制端,高電平時鎖存,低電平時傳輸數據。ag是 7 段輸出,可驅動共陰LED數碼管。另外,CD4511顯示數“6”時,a段消隱

6、;顯示數“9”時,d 段消隱,所以顯示 6、9 這兩個數時,字形不太美觀,若要多位計數,只需將計數器級聯,每級輸出接一只 CD4511 和 LED 數碼管即可。所謂共陰 LED 數碼管是指 7 段 LED 的陰極是連在一起的,在應用中應接地。限流電阻要根據電源電壓來選取,電源電壓5V時可使用300的限流電阻。其真值表如下圖所示:3.3MCS-51單片機內部定時器/計數器中斷系統簡介用定時計數器T0,工作于定時,采用方式1,對6MHZ的系統時鐘進行定時計數,形成定時時間50ms。計1200次分計數器自增1,時計數器加到24則時計數器清0。然后把分、時計數器分成十位和個位放到4個數碼管的顯示緩沖區

7、,通過數碼管顯示出來。在處理過程中加上了按鍵判斷程序,能對按鍵處理。3.4綜合電路設計本系統共有兩部分構成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤輸入部分、復位部分、晶振部分、顯示部分、報警部分部分組成,軟件部分對應的由主程序、初始化程序、LED顯示程序、鍵盤掃描程序、啟動程序、關閉程序、按鍵功能程序、EEPROM讀寫程序和延時程序等組成。其原理框圖如下圖3.4.1鍵盤單元鍵盤設計如下圖所示(P0口需要通過上拉電阻接到+5V電源,這點需注意,上拉電阻接法如下)其中12個鍵的功能分配如下S1: 選擇鍵 S2:加鍵 S3:減鍵 S4:確認鍵采用掃描控制端口P0的值來確定有沒有鍵按下

8、,按下的是那個鍵。3.4.2數碼管顯示我們采用共陰數碼管顯示共4個,段選端接P2口,位選段接P1口,具體接法如下:數碼管位選端由P1口高四位的4個端口控制,分別通過NPN接到數碼管的公共端,其接法如上圖:數碼管顯示是單片機中應用最為廣泛的一種顯示方式之一,共陰極數碼管0到9十個數的代碼如下:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;3.4.3時鐘產生單元51單片機的時鐘信號通常用兩種電路形式得到:內部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構成了內部振蕩方式。由于單片機內部有一個高增

9、益反相放大器,當外接晶振后,就構成了自激振蕩器并產生振蕩時鐘脈沖。內部振蕩方式的外部電路如下圖所示。圖中,電容器C起穩定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MH2,采用6MHz的情況也比較多。內部振蕩方式所得的時鐘情號比較穩定,實用電路中使用較多。外部振蕩方式是把外部已有的時鐘信號引入單片機內。這種方式適用來使單片機的時鐘與外部信號保持同步。3.4.4 蜂鳴器電路單元:如圖下所示 第四章 原理和仿真3.5protel系統原理圖如下:Protus仿真圖如下:3.6系統調試硬件調試時可先檢查面包板及焊接的質量情況,在檢查無誤后可通電檢查LED顯示器的點亮狀況

10、。若亮度不理想,可以調整P3口的電阻大小,一般情況下取200電阻即可獲得滿意的亮度效果。 硬件調試:硬件調試是利用基本測試儀器(萬用表等),檢查用戶系統硬件中存在的故障。硬件調試可分為靜態調試與動態調試兩步進行。靜態調試:是在用戶系統未工作時的一種硬件檢測。第一步:目測。檢查外部的各種元件或者是電路是否有斷點。第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線與地線之間是否有短路現象。第三步:加電檢測。給板加電,檢測所有插座或是器件的電源端是否符合要求的值第四步:聯機檢查。因為只有用單片機開發系統才能完成對用戶系統的調試。動態調試:是在用戶系統工作的情況下發現和排除用戶

11、系統硬件中存在的器件內部故障、器件連接邏輯錯誤等的一種硬件檢查。動態調試的一般方法是由近及遠、由分到合。由分到合是指首先按邏輯功能將用戶系統硬件電路分為若干塊,當調試電路時,與該元件無關的器件全部從用戶系統中去掉,這樣可以將故障范圍限定在某個局部的電路上。當各塊電路無故障后,將各電路逐塊加入系統中,在對各塊電路功能及各電路間可能存在的相互聯系進行調試。由分到合的調試既告完成。由近及遠是將信號流經的各器件按照距離單片機的邏輯距離進行由近及遠的分層,然后分層調試。調試時,仍采用去掉無關元件的方法,逐層調試下去,就會定位故障元件了。軟件調試:軟件調試是通過對程序的匯編、連接、執行來發現程序中存在的語

12、法錯誤與邏輯錯誤并加以排除糾正的過程。可以利用仿真器加以調試,對系統單個單元進行調試,當單元電路成功后,在對整個程序調試,最后在用CPU芯片調試。通過軟硬結合的方式對電路板進行硬件調試,硬件沒錯誤之后,開始進行軟件編程,直到整個功能實現,并進行優化。3.7 課程設計心得體會和收獲:我經過這兩個星期單片機課程設計的學習,我們組從畫原理圖。到的protus仿真圖修改,再到程序的編寫和電路板的焊接都主要是我自己解決的,錯了向老師和同學們請教然后再次去修改。在這個過程中我不僅加深了對單片機理論的理解,懂得了更多理論的知識,而且我還學會了將理論知識更好的運用到實際當中去。課程設計是對我們能力的訓練,隨著

13、科學技術的不斷發展,單片機已運用廣泛。在生活當中可謂是無所不在,小到遙控器、手機,大到電腦等家用電器,可以說跟我們的生活息息相關。因此作為二十一世紀的大學生來說掌握單片機的開發及時是十分重要的。回想兩個星期的課程設計,真的是感慨頗多,從剛剛開始的容易上手到后面的摸不著方向,通過查詢資料請教老師解決了所有的問題。通過這次的課程設計,讓我懂得了理論與實際的結合時非常重要的,只有結合起來才能得出想要的結論,從理論當中得出結論,從而提高自己的實際動手能力和獨立思考能力。在設計的過程中發現自己的不足之處,對以前所學的知識理解的不夠深刻,掌握的不夠不夠牢固,比如對單片機的匯編語言不能理解,不懂得一些元件的

14、運用等等。課程設計結束后,一定要把自己以前沒學有車的重新溫過一次。在設計中遇到的許多的問題,都在老師的幫助下和同學的指導下完成了,讓我體會到了團隊合作的重要性,同時也感謝同學和老師對我的指導。參考文獻1電力電子技術基礎(第五版)康華光主編 高等教育出版社。2單片機原理及應用 張毅剛 主編 高等教育出版社。3電路設計與制版Protel 99入門與提高 老虎工作室編制。4PROTEUS入門實用教程第2版周潤景蔡雨恬編著機 械 工 業 出 版。5單片機10天征服你郭天祥 哈爾濱工程大學錄制。附錄: C語言實驗程序如下#include <reg52.h>#define uchar unsi

15、gned char#define uint unsigned intuchar code table=0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90; uchar t0,t1,min,hour,function,a0,a1,a2,a3;bit shan;void delay(uint count) ;uchar keychuli();uchar key();void display(uchar,uchar,uchar,uchar);void send();void ini();void chuli();/*主函數*void main()ini();wh

16、ile(1)display(16,16,16,17); if(key()=1) /當k1按下后則定時器驅動時鐘開始走TR0=1;function=1;shan=0;while(1)send();/ 送數display(a0, a1, a2, a3); / 顯示chuli(); /處理/*初始化程序*voidini()TMOD=0x01,TH0=0x3c,TL0=0xb0;TH1=0x3c,TL1=0xb0; / 定時50ms中斷一次EA=1,ET0=1,TR0=0;ET1=1;TR1=0;/*鍵值處理程序*void chuli()switch(key()case 0:break;case 1:

17、/ 當按鍵k1按下后function+;/ 判斷按下的次數switch(function)case 1:TR0=1;TR1=0;shan=0;break;/一次條秒同時閃爍case 2: /兩次調分同時閃爍case 3:/三次調分同時閃爍case 4:TR0=0;TR1=1;shan=1;break;/四次跳出調整狀態時鐘繼續走時case 5:function=1;TR0=1;TR1=0;shan=0;break;/輪流循環break;case 2:/k2鍵上調switch(function) case 1:break;case 2:min+;if(min=60)min=0;break;cas

18、e 3:hour+;if(hour=24) hour=0;break;break; case 4: /k3鍵下調switch(function)case 1:break;case 2:min-;if(min=255) min=59;break;case 3:hour-;if(hour=255) hour=23;break;break;/*定時器0的中斷服務程序*void timer0() interrupt 1 using 3TH0=0x3c,TL0=0xb0;t0+;if(t0=1200)t0=0;min+;if(min=60)min=0;hour+;if(hour=24)hour=0;/*

19、定時器1的中數服務程序,對shan取反,以使燈閃爍*void timer1() interrupt 3 using 2TH0=0x3c,TL0=0xb0;t1+;if(t1=40)t1=0;shan=shan;uchar keychuli() uchar k; k=P1; /P1口內容送K k=k; /取反 k=(k&0xff); /屏蔽高4位,如果掃描8鍵,屏蔽該句。 return(k); /返回鍵值 /*函數原型:key();功能:鍵盤掃描函數,函數返回值即鍵值。uchar key() uchar keyzhi,keyzhii; /電子鐘鍵盤按鍵鍵值臨時存放 keyzhi=keychuli(); /調P1口處理函數 if(keyzhi!=0) /有鍵動作延時去抖動,否則函數返回 send(); display(a0, a1, a2, a3); display(a0, a1, a2, a3); keyzhi=keychuli(); /再次調P1口處理函數 if(keyzhi!=0) /真正

溫馨提示

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

評論

0/150

提交評論