單片機簡易數(shù)字鐘設計及其報告_第1頁
單片機簡易數(shù)字鐘設計及其報告_第2頁
單片機簡易數(shù)字鐘設計及其報告_第3頁
單片機簡易數(shù)字鐘設計及其報告_第4頁
單片機簡易數(shù)字鐘設計及其報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

浙江XX學院電子信息學院課程設計報告PAGEPAGE12第12頁共13頁《單片機課程設計》課程設計報告題目:簡易數(shù)字鐘設計學年:2011~2012學期:一專業(yè):電氣工程及其自動化班級:094學號:000000000姓名:XXXXX指導教師:時間:浙江XXX學院電子信息學院目錄1設計簡介 22設計要求 23設計方案和系統(tǒng)結構 23.1電源模塊 33.2復位模塊 33.3時鐘模塊 33.48155擴展模塊 43.5LCD顯示模塊 53.6鍵盤模塊 64設計內容(包括硬件和軟件) 75測試結果 76設計總結 7附錄 7源程序 7總原理圖 7操作說明 71設計簡介本設計針對數(shù)字時鐘的顯示、計時、工作方式以及原理和設計方法等問題,通過應用以STC89C58單片機為核心芯片,以LCD1602液晶顯示屏為顯示器件,以及應用8155拓展輔助芯片等模塊作為硬件基礎,KEIL為編程軟件進行程序編寫,STC_ISP為程序燒寫軟件對單片機進行燒寫的方法,展開對數(shù)字時鐘的設計,獲得了我們這個單片內部定時/計時器為計時方式以及應用外部時鐘芯片PCF8563為技術方式的數(shù)字時鐘。2設計要求本設計要主要應用KEIL、STC_ISP為開發(fā)設計軟件,以C語言為編程語言進行編程設計,開發(fā)設計一個數(shù)字時鐘,設計的任務要求如下:具有秒、分、時、年、月、日、星期的計時及LCD顯示功能;具有外部調事功能。3設計方案和系統(tǒng)結構本設計采用的是分模塊的設計方法,對各個模塊進行分步設計,然后將各個模塊進行匯總,將各個模塊拼接在一起,來實現(xiàn)數(shù)字時鐘的設計要求,本設計的設計框圖如圖3-1。圖3-1設計原理框圖3.1電源模塊電源模塊完成交流交流轉直流的功能,將電網的220V交流轉換為可為芯片工作的+5V直流電源其原理圖如圖3.1-1。圖3.1-1直流穩(wěn)壓電源原理圖3.2復位模塊 復位模塊是為單片機的復位設計的,復位模塊包含了按鍵復位和上電復位兩種。上電復位是利用電容的充電來實現(xiàn)的。在上電的瞬間,RST引腳的電位與Vcc相同,隨著電容充電RST引腳的電位下降。上電復位所需的時間是振蕩周期建立時間加上2個機器周期,在這個時間內,RST電位保持高電平。一般只要保持真脈沖的寬度為10us,就可使單片機復位。電路原理圖如圖3.2-1.按鍵復位和上電圖3.2-1上電復位原理圖3.3時鐘模塊時鐘模塊本設計中采用了兩種一種為單片機內部的時鐘,也就是晶振電路的分頻實現(xiàn),用T0定時/計數(shù)器來實現(xiàn)計時的功能。如圖3.3-1。第二鐘應用外部時鐘芯片PCF8563如圖3.3-2.圖3.3-1單片機時鐘電路圖3.3-2外部時鐘芯片pcf8563原理圖3.48155擴展模塊8155模塊電路如圖3.4-1所示,其中U1為81C55芯片,特性如下:256字節(jié)的RAM;一組可編程6位IO口;兩組可編程8位IO口;可編程14位二進制計時計數(shù)器;多工地址和數(shù)據總線;內部地址鎖存。8155采用40腳雙列直插封裝,單一+5v電源,引腳分布如下圖所示:AD0—AD7為地址數(shù)據總線,單片機與8155之間的地址、數(shù)據、命令、狀態(tài)信息都是通過這個總線口傳送。CE為片選信號,輸入低電平有效。WR為寫信號,輸入低電平有效。RD為讀信號,輸入低電平有效。PA0~PA7、PB0~PB7可工作于基本I/O方式或選通方式,由寄存器的編程來選擇;PC0~PC5可作為輸入/輸出口線,也可以作為A口、B口選通方式工作時的狀態(tài)控制信號線。本實驗中,PA、PB口作為輸出,其中PA口與LCD1602引腳相連,PC為輸入口,PA與PC口構成鍵盤模塊的行列線。IO/M為I/O與RAM選擇信號。8155內部I/O口與RAM是分開編址的,因此要使用控制信號進行區(qū)分。IO/M=0,對RAM進行讀寫;IO/M=1,對I/O進行和計數(shù)器進行讀寫。8155詳細資料請參考PDF,本實驗8155的端口地址由單片機的P0口和P2.1以及P2.0決定。圖3.4-18155電路原理圖 3.5LCD顯示模塊顯示模塊電路如圖3.5-1所示,U2為顯示元件液晶LCD1602,整個液晶屏采用標準的16腳接口,其中GND為電源地,VDD接5V正電源,VO為液晶顯示屏對比度調整端,可通過一個可調電阻接地,本圖未接。RS為寄存器選擇端,高電平時選擇數(shù)據寄存器、低電平時選擇指令寄存器。RW為讀寫信號線,高電平時進行讀操作、低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或顯示地址,當RS為低電平RW為高電平時,可讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據。E端為使能端,當E端由低電平變成高電平時,液晶屏執(zhí)行命令。RS、RW、E端通過JP2分別與單片機的P1.5、P1.6、P1.7引腳相連。DB0—DB7為8位雙向數(shù)據線,通過JP1分別與并行I/O擴展芯片8155的PA0—PA7引腳相連。J1為跳線,該跳線主要功能為液晶背光的顯示與消隱。圖3.5-1LCD液晶顯示電路原理圖3.6鍵盤模塊1.模塊功能按鍵模塊主要提供實驗所需的控制功能以及向系統(tǒng)輸入數(shù)據,實驗箱采用矩陣式鍵盤組成4*4共16個鍵,在按鍵數(shù)量較多時可以節(jié)省I/O口線。2.模塊電路按鍵模塊電路如圖3.6-1所示,S1—S16組成4*4的行列結構。行列式鍵盤的接口方法很多,例如直接接口于單片機的I/O口;利用擴展的并行I/O口接口;用串行口擴展I/O接口;利用可編程的鍵盤顯示接口芯片8279、7279等。其中利用擴展的并行I/O接口方法方便靈活,本模塊采用的就是這種接口方式。下圖中4*4的按鍵通過8155的PA口和PC口組成,PA0—PA3為行線,PC0—PC3為列線。按鍵設置在行、列線的交電上。對按鍵的工作過程可以分為兩步:第一步是CPU檢測是否有鍵按下;第二步是識別出哪一個鍵按下。圖3.6-1按鍵原理圖4設計內容(包括硬件和軟件)圖4-1軟件流程圖圖4-2硬件流程圖5測試結果6設計總結附錄源程序#include<INIF.h>#include<lcd1602.h>ucharKEY_DOWN(void); //鍵值判斷函數(shù),定義見Key.cucharnum,w,i,mi=50,fen=10,shi=23,ni1=11,ni2=20,yu=12,ri=5;longintx;ucharaaa[16]={0};ucharbbb[16]={0};ucharrunnian(longintx);ucharxingqi(longintyear,ucharyue,ucharri);voiddisplay() { x=ni2*100; x=x+ni1; i=runnian(x); if(mi==60) { fen++; mi=0; } if(fen==60) { fen=0; shi++; } if(shi==24) { shi=0; ri++; } switch(yu) { case1:if(ri==32){yu++;ri=1;}break; case2:if(ri==29+i){yu++;ri=1;}break; case3:if(ri==32){yu++;ri=1;}break; case4:if(ri==31){yu++;ri=1;}break; case5:if(ri==32){yu++;ri=1;}break; case6:if(ri==31){yu++;ri=1;}break; case7:if(ri==32){yu++;ri=1;}break; case8:if(ri==32){yu++;ri=1;}break; case9:if(ri==31){yu++;ri=1;}break; case10:if(ri==32){yu++;ri=1;}break; case11:if(ri==31){yu++;ri=1;}break; case12:if(ri==32){yu++;ri=1;}break; } if(yu==13) { ni1++; yu=1; } if(ni1==100) { ni1=0; ni2++; } w=xingqi(x,yu,ri); switch(w) { case0:aaa[11]='M';aaa[12]='O';aaa[13]='N';break; case1:aaa[11]='T';aaa[12]='U';aaa[13]='E';break; case2:aaa[11]='W';aaa[12]='E';aaa[13]='D';break; case3:aaa[11]='T';aaa[12]='H';aaa[13]='U';break; case4:aaa[11]='F';aaa[12]='R';aaa[13]='I';break; case5:aaa[11]='S';aaa[12]='A';aaa[13]='T';break; case6:aaa[11]='S';aaa[12]='U';aaa[13]='N';break; } aaa[0]=ni2/10+'0'; aaa[1]=ni2%10+'0'; aaa[2]=ni1/10+'0'; aaa[3]=ni1%10+'0'; aaa[4]='-'; aaa[5]=yu/10+'0'; aaa[6]=yu%10+'0'; aaa[7]='-'; aaa[8]=ri/10+'0'; aaa[9]=ri%10+'0'; aaa[10]=''; bbb[0]=shi/10+'0'; bbb[1]=shi%10+'0'; bbb[2]=':'; bbb[3]=fen/10+'0'; bbb[4]=fen%10+'0'; bbb[5]=':'; bbb[6]=mi/10+'0'; bbb[7]=mi%10+'0'; lcd_string(aaa,1); lcd_string(bbb,2); delay(200); }main(){ ucharkey_value=0,key_value1; PORT=0x03; //8155的A,B口作為輸出,C為輸入口 lcd1602init(); lcd_clear(); TMOD=0x01; TH0=19456/256; TL0=19456%256; EA=1; ET0=1; TR0=1; while(1) { key_value=KEY_DOWN(); delay(200); display(); key_value1=KEY_DOWN(); while(key_value==key_value1){key_value1=KEY_DOWN();display();} switch(key_value) { case0x00:ni1++;break; case0x01:yu++;break; case0x02:ri++;break; case0x03:shi++;break; case0x04:fen++;break; case0x05:ni1--;break; case0x06:if(yu==1)yu=13;yu--;break; case0x08:shi--;break; case0x09:fen--;break; } } }ucharrunnian(longintx){ if((x%400==0)|(x%100!=0)&&(x%

溫馨提示

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

評論

0/150

提交評論