版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機的電子時鐘設計1 引言1.1 設計目的,要求和實現功能1.1.1 設計目的基于單片機電子時鐘的課程設計,是利用單片機設計一個電子時鐘,使不斷具有電子時鐘的功能,而且還具有秒表的功能。通過液晶1602顯示出來,做時鐘時在1602上顯示小時,分,秒,可以通過按鈕對時,分,秒分別做調整。做跑表時顯示范圍000.0999.9秒。當啟動按鈕時秒表開始計時,按下停止則停止計時,當按下復位按鈕時秒表回零。1.1.2設計要求 (1) 要求設計電氣原理圖; (2) 要求設計出程序流程圖; (3) 要求給出軟件流程圖并編寫程序源代碼; (4) 完成系統(tǒng)的調試,給出調試結果并分析。1.1.3 實現功能 (
2、1)可以實現時鐘的功能; (2)可以實現跑表的功能; (3)可以通過按鍵來調整時間; (4)可以通過按鍵來控制跑表的走和停。1.2系統(tǒng)總體方案設計1.2.1單片機芯片的選擇AT89C52是一個低壓,高性能CMOS的8位單片機,片內含8K bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATML公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統(tǒng),片內置同用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應用1。1.2.2 總體設計方案及論證電子時鐘的整體設計較簡單,包括單片機、自動復位電路、時
3、鐘電路、鍵盤電路、顯示電路。利用AT89C52單片機內部的定時0進行中斷定時,配合軟件延時和按鍵程序實現時,分,秒的計時,達到可以對時間的調整等功能。利用AT89C52內部的定時器1進行中斷定時,實現秒表的計時和控制。在復位電路中,C選用10uF而R選用10K在0.1S內,RST引腳所接收到的電壓是51.5V。在5V正常工作的52單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號所以在開機0.1S內,單片機系統(tǒng)自動復位9。在時鐘電路中,在單片機XTAL1和XTAL2引腳上跨接上一個晶振和兩個穩(wěn)頻電容,本次課程設計電容使用的是30pF的瓷片電容,可對振蕩器進行頻率微
4、調使振蕩信號頻率與晶振頻率一致。晶振使用的是12MHZ,接上瓷片電容,可以與單片機內的電路構成一個穩(wěn)定的自激振蕩器2。在本次課程設計中,不采用LED數碼管而是采用LCD1602,主要是由于在某些方面液晶顯示比數碼管優(yōu)點更加突出。顯示電路采用液晶1602顯示,共顯示兩行,第一行顯示秒表,第二行顯示時鐘。1602液晶顯示器具有微功耗,體積小,顯示內容豐富,超薄輕巧,控制簡單,顯示明確易懂等優(yōu)點。單片機芯片時鐘電路復位電路按鍵電路液晶1602顯示數據圖1.1單片機控制系統(tǒng)原理框圖2 單片機和電子時鐘簡介2.1 單片機簡介本次采用的AT89C52單片機與早期Intel的8051/8751/8031芯片
5、的外部引腳和指令系統(tǒng)完全兼容,只不過用Flash ROM代替了ROM/EPROM而已。與8051相比,具有節(jié)電工作模式,即休閑方式及掉電方式。在一小塊芯片上,集成了一個微型計算機的各個組成部分3,即包括:(1) 一個8位的80C51微處理器(CPU)。(2) 片內256字節(jié)數據存儲器RAM/SFR,用以存放可以讀/寫的數據,如運算的中間結構、最終結果以及欲顯示的數據等。(3) 片內4KB程序存儲器Flash ROM,用以存放程序,一些原始數據和表格。(4) 4個8位并行I/O端口P0P3,每個端口既可以用作輸入,也可以用作輸出。(5) 兩個16位的定時器/計數器,每個定時器/計數器都可以設置成
6、計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制。(6) 具有5個中斷源,兩個中斷優(yōu)先級的中斷控制系統(tǒng)。(7) 一個全工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現單片機之間或單片機與PC機之間的串行通信。(8) 片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接,最高允許振蕩頻率為24MHZ。另外89C51是用靜電邏輯來設計的,其工作頻率可下降到0HZ,并提供兩種可用軟件來選擇的省電方式空閑方式(IDLE MODE)和掉電方式(POWER DOWN MODE)。在空閑方式中,CPU停止工作,而RAM,定時器/計數器,串行口和中斷系
7、統(tǒng)都允許繼續(xù)工作。此時的電流可降到大約為正常工作方式的15%。在掉電方式中,片內振蕩器停止工作,由于時鐘被“凍結”,使一切功能都暫停,故只保存片內RAM中的內容,直到下一次硬件復位為止。這種方式下的電流可降到15uA以下,最小可降到0.6uA。圖2-1為單片芯片內部結構圖4。圖2-2為89C52單片機結構圖4。圖2.1單片機內部結構圖圖2.2 89C52單片機結構框圖2.2電子時鐘簡介2.2.1 簡介電子鐘亦稱數顯鐘(數字顯示鐘),是一種用數字電路技術實現時、分、秒計時的裝置,與機械時鐘相比,直觀性為其主要顯著特點,且因非機械驅動,具有更長的使用壽命,相較石英鐘的石英機芯驅動,更具準確性。電子
8、鐘已成為人們日常生活中必不可少的必需品,廣泛用于個人家庭以及車站、碼頭、劇院、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大地方便。相對于其他時鐘類型,它的特點可歸結為“兩強一弱 ”:比機械鐘強在觀時顯著,比石英鐘強在走時準確,但是它的弱點為顯時較為單調。2.2.2 功能描述電子鐘的時鐘功能:具有可選的24h(小時)或12h(小時)的計時方式,顯示時、分、秒;具有快速校準時、分、秒的功能;能設置起鬧時刻、響鬧時間為1min(分鐘),超過1min(分鐘)自動停止;具有人工止鬧功能,止鬧后不再重新操作,將不再發(fā)生起鬧;具有整點報時功能。但是在本次課程設計中,并沒有使用一般的定時功能,而是
9、在時鐘的基礎上增加了秒表的功能,使液晶在顯示時鐘的功能同時具有秒表的功能,在按下秒表后,時鐘停止顯示,但并不會停止計時,秒表結束后,時鐘顯示出正常的時間值。隨著科技的進步與發(fā)達,部分電子鐘還帶投影功能,同時衍生為許多其他產品的輔助功能。2.2.3 工作原理電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,秒表顯示為000.0秒999.9秒。做時鐘時,顯示方式為“00:00:00”,由定時器T0進行計時,當計時到1秒時,秒顯示加1,當秒加到60時,秒顯示清零,同時分顯示加1,當分加到60時,分顯示清零,同時時顯示加1,當時
10、顯示加到24時,時顯示清零。在調整時間的按鍵電路中,分別有三個按鍵,第一個為功能鍵,即選擇調整位置,當按下一次時,光標顯示調整秒,當按下兩次時,光標顯示調整分,當按下三次時,光標顯示調整時,當功能鍵按下四次是,時鐘恢復正常走動。第二個為加1鍵,當功能鍵按下次數為一到三次時,按下加1鍵,則光標閃爍位置數值加1。第三個為減1鍵,當功能鍵按下次數為一到三次時,按下減1鍵時,光標閃爍位置數值減1。做秒表時,顯示方式為“000.0”由定時器T1進行計時,當計時到1秒時,秒顯示加1,當秒加到999時,數據清零。在控制秒表的按鍵電路中,只有一個按鍵,當按鍵被按下一次時,秒表開始計時,當按鍵被按下二次時,秒表
11、停止計時,同時把秒表所計數值送給時鐘顯示。當按下復位按鍵時,秒表清零。3 硬件電路設計本系統(tǒng)硬件電路設計由單片機最小系統(tǒng)設計、控制電路設計、按鍵電路設計、液晶顯示電路設計三部分組成。最小系統(tǒng)只要是為了使單片機正常工作。包括電源部分和時鐘部分等。控制電路主要由開關和按鍵組成,由操作者根據相應的工作需要進行操作。顯示電路主要是為了顯示時間值和秒表值。電路主要硬件包括單片機芯片AT89C52、按鍵、顯示模塊1602,以及一些其它的電容電阻和晶振,杜邦線。3.1 系統(tǒng)整體電路圖系統(tǒng)整體電路圖如圖3-1,其中四個按鍵分別接P3.0,P3.1,P3.2,P3.3和P3.4口,液晶1602的RS,RW,EP
12、分別接P1.0,P1.1,P1.2。P3口則作為液晶的數據傳送端口。開始接通電源時,液晶1602第一行顯示“000:0”,第二行顯示“00:00:00”,同時第二行顯示秒的部分開始走動,當控制秒標的按鍵按下時,第一行數據開始走動。再按下一次時,秒表停止走動,并把所計的時間加到電子時鐘上,保證時鐘能正常工作。分別按下時鐘的功能鍵,加1鍵和減1鍵可對時間進行調整。圖3.1系統(tǒng)整體電路圖3.2 局部電路設計3.2.1 復位電路復位電路說明:由電容,電阻和按鍵組成,當系統(tǒng)一上電,RST腳將會出現高電平,并且,這個高電平持續(xù)的時間由電路的RC值來決定。一般教科書推薦C取10uF,R取10K。在本次課程設
13、計中C取值為10uF,R取值為10K。當然也有其它取法,原則是讓RC組合可以在RST腳上產生不少于2個機器周期的高電平2。至于如何具體計算,可以參考電路分析相關書籍。.復位電路用途:單片機復位電路就好比電腦的重啟部分,當電腦在使用中出現死機,按下重啟按鈕電腦內部的程序從頭開始執(zhí)行。單片機也一樣,當單片機系統(tǒng)在運行中,受到環(huán)境干擾出現程序跑飛時,按下復位按鈕內部的程序自動從頭開始執(zhí)行。復位電路的工作原理:在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復位一次,當按鍵按下的時候系統(tǒng)再次復位,如果釋放后再按下,系統(tǒng)還會復位。所以通過按鍵的斷開和閉合在運行的系統(tǒng)中控制其復位。在電路圖中電容的大小是10uF,電阻的
14、大小是10K??梢运愠鲭娙莩潆姷诫娫措妷旱?.7倍,需要的時間是0.1S。在5V正常工作的52單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號所以在開機0.1S內,單片機系統(tǒng)自動復位5。復位電路如下圖所示:圖3.2復位電路圖3.2.2 時鐘電路單片機工作時,從取指令到譯碼再進行微操作,必須在時鐘信號控制下才能有序地進行,時鐘電路就是為單片機工作提供基本時鐘的。單片機的時鐘信號通常有兩種產生方式:內部時鐘方式和外部時鐘方式。在單片機XTAL1和XTAL2引腳上跨接上一個晶振和兩個穩(wěn)頻電容,可以與單片機片內的電路構成一個穩(wěn)定的自激振蕩器。晶振的取值范圍一般為024M
15、Hz,常用的晶振頻率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的單片機還可以選擇更高的頻率。外接電容的作用是對振蕩器進行頻率微調,使振蕩信號頻率與晶振頻率一致,同時起到穩(wěn)定頻率的作用,一般選用2030pF的瓷片電容。外部時鐘方式則是在單片機XTAL1引腳上外接一個穩(wěn)定的時鐘信號源,它一般適用于多片單片機同時工作的情況,使用同一時鐘信號可以保證單片機的工作同步。時序是單片機在執(zhí)行指令時CPU發(fā)出的控制信號在時間上的先后順序。AT89C52單片機的時序概念有4個,可用定時單位來說明,包括振蕩周期、時鐘周期、機器周期和指令周期5。 振蕩周期:是片內振蕩電路或片外為單片
16、機提供的脈沖信號的周期。時序中1個振蕩周期定義為1個節(jié)拍,用P表示。 時鐘周期:振蕩脈沖送入內部時鐘電路,由時鐘電路對其二分頻后輸出的時鐘脈沖周期稱為時鐘周期。時鐘周期為振蕩周期的2倍。時序中1個時鐘周期定義為1個狀態(tài),用S表示。每個狀態(tài)包括2個節(jié)拍,用P1、P2表示。 機器周期:機器周期是單片機完成一個基本操作所需要的時間。一條指令的執(zhí)行需要一個或幾個機器周期。一個機器周期固定的由6個狀態(tài)S1S6組成。 指令周期:執(zhí)行一條指令所需要的時間稱為指令周期。一般用指令執(zhí)行所需機器周期數表示。AT89C52單片機多數指令的執(zhí)行需要1個或2個機器周期,只有乘除兩條指令的執(zhí)行需要4個機器周期。 了解了以
17、上幾個時序的概念后,我們就可以很快的計算出執(zhí)行一條指令所需要的時間。例如:若單片機使用12MHz的晶振頻率,則振蕩周期=1/(12MHz)=1/12us,時鐘周期=1/6us,機器周期=1us,執(zhí)行一條單周期指令只需要1us,執(zhí)行一條雙周期指令則需要2us5。知道了單片機的時序,為后面編寫定時器的程序提供了很大的幫助,可以通過計算設定不同的初值,來控制中斷的進行。這樣使得電子時鐘和秒表的走動更加精確,達到我們想要的目的。電路如圖3-3。 圖3.3單片機最小系統(tǒng)時鐘電路圖3.2.3 鍵盤控制電路本次課程設計是以單片機的P3口作為信號輸入口,使用的按鍵是彈性小按鍵,當被按下時閉合,松手后自動斷開。
18、單片機檢測按鍵的原理是:單片機的I/O口既可作為輸出也可作為輸入使用,當檢測按鍵時用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機的I/O口相連,開始時先給該I/O口賦一高電平,然后讓單片機不斷檢測該I/O口是否變?yōu)榈碗娖剑敯存I閉合時,即相當于該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O口變?yōu)榈碗娖絼t說明按鍵被按下,然后去執(zhí)行相應的指令6。按鍵的連接方法非常簡單,如圖3-4。當按鍵被按下時,理想波形與實際波形之間是有區(qū)別的,實際波形在按下和釋放的瞬間都有抖動的現象,抖動時間的長短與按鍵的機械特性有關,一般為510ms。通常我們手動按下鍵然后立即釋放,這個動作中穩(wěn)定閉合
19、的時間超過20ms,因此單片機在檢測鍵盤是否按下時都要加上去抖動的操作,有專用的去抖電路,也有專用的去抖芯片,但我們通常用軟件延時的方法就能容易解決抖動問題,而沒有必要再添加多余的硬件電路7。在本次課程設計中都是用軟件延時的方法去除按鍵抖動。通過按鍵可以對時鐘和秒表進行調整,使用起來比較方便,但在使用按鍵的過程中應當注意,按鍵是否接對,軟件去抖是否起作用,還應注意按鍵的接口是否正確。不然,在后面的使用中,不但達不到預期的效果,還會使得設計出錯。在設計好電路圖,編寫好按鍵電路的程序后,應當清楚每個按鍵的功能。按鍵電路是電子時鐘以及秒表中不可或缺的一部分,正確應用好按鍵電路,才能正確的對電子時鐘和
20、秒表進行調試。圖3.4單片按鍵控制電路3.2.4液晶顯示電路LCD1602字符顯示器模塊是2行X16個字符的LCD顯示器。該器件由32個字符點陣塊組成,可以顯示ASCII碼表中的所有可顯示字符。下面為1602各個引腳接法:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫
21、入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令第714腳:D0D7為8位雙向數據線。 第1516腳:空腳。圖3-5為液晶各管腳接線圖。仿真圖中,液晶的管腳與實物有點區(qū)別,仿真圖中沒有15腳和16腳6。圖3.5液晶顯示電路圖 4 軟件設計整個系統(tǒng)的功能是由硬件電路配合軟件來實現的,開始設計好程序,設計好電路圖,根據電路圖定型硬件后,軟件的功能也就基本定下來了。其中液晶顯示數據傳輸主要由最小系統(tǒng)統(tǒng)一工作,定時器準確定時,通過按鍵調整程序,然后通過I/O口傳送給顯示器進行顯示
22、。所以,在整個系統(tǒng)的軟件設計中,應正確設計個部分程序。這里使用C語言編寫單片機控制程序??刂葡到y(tǒng)CPU采用AT89C52單片機,當系統(tǒng)上電時,系統(tǒng)硬件在軟件程序的支持下開始正常工作。4.1 程序流程圖開始液晶顯示是否定義各端口是被按下次數aK2被按下?是否有鍵按下?無效按鍵次數顯示清0否否是秒表開始計時秒表停止計時b=2是b=1復位鍵被按下?K1被按下?秒表停止計時(續(xù):流程圖接下頁)分閃爍時閃爍秒閃爍顯示正常K3被按下?a=2a=4a=3a=1有鍵按下?否K4被按下?否 是是無效數值減1數值加1結束圖4.1系統(tǒng)流程圖4.2 主程序清單本次程序設計使用的是C語言編程,C語言與匯編語言相比具有程
23、序模塊化結構較強,淺顯易懂,層次清楚等優(yōu)點8。系統(tǒng)具體程序如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint num,count,num1,flag,num2;char shi,fen,miao; sbit ep=P12; sbit rs=P10; sbit rw=P11; sbit s1=P31; sbit s2=P32; sbit s3=P33; sbit temp=P30; uchar code table="000:0" uchar code table
24、1="00:00:00" void delay(uint z) uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-); void write_com(uchar com) rs=0; ep=0; rw=0; delay(5); P2=com; ep=1; delay(5); ep=0; void write_date(uchar date) rs=1;rw=0;ep=0;P2=date;delay(5);ep=1;ep=0; void init() write_com(0x38);delay(5);write_com(0x0c);
25、delay(5);write_com(0x06);delay(5);write_com(0x01);delay(5);write_com(0x80+0x05);for(num=0;num<5;num+)write_date(tablenum);delay(5);write_com(0x80+0x44);for(num=0;num<8;num+)write_date(table1num);delay(5);TMOD=0X11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-65436)/256;TL1=(65536-654
26、36)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=0; void write_aaa(uchar add,uchar date) uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge); void display(uint add,uint date,uint date1) uint ge,shi,bai; bai=date/100; shi=date/10%10; ge=date%10; write_com(0x80+add)
27、; write_date(0x30+bai); write_date(0x30+shi); write_date(0x30+ge); write_date(':'); write_date(0x30+date1); void keyscan() if(s1=0)delay(5);if(s1=0)num1+;while(!s1);if(num1=1)TR0=0;write_com(0x80+0x40+10);write_com(0x0f);if(num1=2)write_com(0x80+0x40+7);if(num1=3)write_com(0x80+0x40+4);if(nu
28、m1=4)num1=0;write_com(0x0c);TR0=1;if(num1!=0)if(s2=0)delay(5);if(s2=0);while(!s2);if(num1=1)miao+;if(miao=60)miao=0;write_aaa(10,miao);write_com(0x80+0x40+10);if(num1=2)fen+;if(fen=60)fen=0;write_aaa(7,fen);write_com(0x80+0x40+7);if(num1=3)shi+;if(shi=24)shi=0;write_aaa(4,shi);write_com(0x80+0x40+4)
29、;if(s3=0)delay(5);if(s3=0)while(!s3);if(num1=1)miao-;if(miao=-1)miao=59;write_aaa(10,miao);write_com(0x80+0x40+10);if(num1=2)fen-;if(fen=-1)fen=59;write_aaa(7,fen);write_com(0x80+0x40+7);if(num1=3)shi-;if(shi=-1)shi=23;write_aaa(4,shi);write_com(0x80+0x40+4); void main() uint flag2,miao1=0,fen1=0; i
30、nit();while(1)keyscan(); if(temp=0) delay(5); while(temp=0); flag2=0; flag=0; num2=0;while(flag2=0) TR0=0; TR1=1; display(5,num2,flag); if(temp=0) while(temp=0); miao1=num2%60; fen1=num2/60; miao=miao+miao1; fen=fen1+fen; if(miao>60)|(miao=60) miao=0; fen+; if(fen>60)|(fen=60) fen=0; shi+; if(
31、shi>24)|(shi=24)shi=0; TR1=0; TR0=1; flag2+; while(1); void timer0()interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+; if(count=20)count=0;miao+; if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;write_aaa(4,shi);write_aaa(7,fen); write_aaa(10,miao); void timer1() interrupt
32、 3 TH1=(65536-65436)/256;TL1=(65536-65436)%256;flag+;if(flag=10) flag=0; num2+; if(num2=1000) num2=0; 5 系統(tǒng)仿真與實踐5.1 Proteus軟件介紹Proteus的ISIS是一款Labcenter出品的電路分析實物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業(yè)的單片機軟件仿真系統(tǒng)。 全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,在同類產品中具有明顯的優(yōu)勢。 具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS一232動態(tài)仿真、1C調試器
33、、SPI調試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。 支持大量的存儲器和外圍芯片。總之該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大 ,可仿真51、AVR、PIC。 Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內
34、容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節(jié)的矛盾和現象10。5.2 仿真模型的建立過程通過上面的簡單介紹,對Proteus軟件有了初步的了解,下面通過對Proteus軟件進行操作,繪出系統(tǒng)電路圖,進行實時仿真。首先,打開Proteus軟件在元件庫中選取AT89C52單片機芯片,在圖紙上選擇合適位置放置芯片,然后選擇合適的大小,這樣初步的選芯片過程便完成了。其次,繪畫復位電路,繼續(xù)從元件庫中選取按鍵,電阻,電容,電源和地。選好后,擺放在適當的位置,擺放位置時應注意布局大小和美觀程度。擺好后,進行連線。接下來要繪
35、畫時鐘電路,步驟和畫復位電路相同。先在元件庫中選取12MHZ的晶振,30pF的瓷片電容和地。擺好位置后進行連線。畫好上面的電路后,接著畫液晶顯示電路和按鍵電路。在元件庫中分別選取一個1602液晶顯示,幾個按鍵,電源和地。然后進行連線,按鍵地連在一起,然后,另一端分別接到P3.0P3.3口。液晶數據端接至P2口,使能端等連接到P1口。在接線時應當注意接線正確,不然,達不到想要的結果。在繪好所有的電路圖后,進行最后一個步驟,當然,也是最重要的一步,既把編好的程序進行調試,編譯后生成的.hex文件下載到單片機芯片內。然后點擊開始工作按鍵,進行實時仿真。下面是建立的系統(tǒng)仿真圖。圖5.1 系統(tǒng)仿真圖5.
36、3 程序調試及結果5.3.1 調試方法編好程序,進行編譯之后,先在仿真軟件上進行調試,使能得到預期的結果。然后將程序下載到單片機芯片內,在焊好的實物正極加上5V電壓之后,分別調整時間功能鍵,加1鍵和減1鍵,看各個按鍵功能是否和預想的一致。如果一致則說明程序編寫正確,如果不一致,應該檢查按鍵程序是否編寫正確,按鍵是否去抖,中斷程序是否正確,定時器是否能正常計時,仔細調整直至能達到預想的效果。檢查完時鐘程序之后,再檢查秒表的程序,看實物上秒表是否能正常工作,如果不能正常工作,則應該檢查按鍵程序和中斷以及定時器的程序,進行仔細調整11。5.3.2 調試結果分析根據仿真得到的結果,可進行分析,如下圖:
37、圖5.2 系統(tǒng)仿真結果圖中液晶顯示第一行顯示秒表,前面三位代表秒鐘數,圖中的“014”代表秒表計時到14秒,后面的“5”代表逢十進一秒。第二行顯示為電子時鐘,最前面兩位為時顯示位,圖中的“23”代表時間為23時,中間兩位為分鐘顯示位,圖中的“32”代表為32分,還有28分鐘時將會到24時。最后兩位為秒鐘的顯示位,圖中的“47”表示秒已到達47秒,還有13秒分鐘將會變?yōu)?3分。整個第二行表示時間23時32分47秒。芯片左邊的按鍵為復位按鍵,若被按下,則顯示器上顯示清零。芯片右邊第一個按鍵控制秒表,按下一次秒表開始走動,按下兩次秒表停止走動。第二個按鍵為時鐘的功能鍵,按下一次,秒顯示位置光標閃爍,
38、按下二次分顯示閃爍,按下三次時顯示閃爍,按下四次時鐘正常走動。第三個按鍵為加1鍵,按下一次,則光標閃爍位置數值加1,第四個按鍵為減1鍵,按下一次,光標閃爍位置數值減1。調試程序的過程并不是一帆風順,在這期間遇到過許許多多的問題。如在最開始寫液晶顯示的程序時,要求是通過功能按鍵,使得光標分別在時,分,秒的位置閃爍,然而寫好程序之后,結果卻不盡人意,光標閃爍位置始終在同一個位置,達不到想要的結果。在仔細檢查程序時才發(fā)現是液晶顯示程序出了點小錯誤。還有就是,在寫好按鍵程序后,進行調試,總是出現按鍵后,得不到加一和減一的結果,而是一下子變化非常大,這種問題則是由于按鍵去抖有問題。在大整體工作基本完成時,最后就是讓秒表和時鐘,一起在液晶顯示上工作,這是最關鍵,同時也是最難的問題,為了解決這個問題,我們組成員一起研究書本,向老師,同學請教,最后終于在我們的不屑努力下,發(fā)現原來是我們在定義單片機接口的時候出了錯。5.4 系統(tǒng)實物實現實物實現是本次課程設計的最終目標,在克服了一個個困難之后,終于在我們這一組所有成員的共同努力下,做出了最后的實物,看似簡單的一件小作品,背后卻是我們四個人歷時兩周共同努力的結果。如上圖,中間位置為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版工廠經營理念轉讓合同3篇
- 2025年度新能源汽車動力電池回收利用合同范本4篇
- 2024食用菌種植基地環(huán)境保護與生態(tài)修復合同3篇
- 2024版美容院產品購銷合同
- 2025年度商業(yè)地產項目租賃收益分成合同范本4篇
- 編制加油站生產建設項目可行性研究報告編制說明
- 2025年綠色建筑裝修垃圾清運及節(jié)能減排合同2篇
- 2025年度個人樓房房買賣合同標準范本下載4篇
- 2025年社區(qū)商業(yè)綜合體商鋪租賃管理協(xié)議3篇
- 2025年版影視作品版權轉讓合同范本3篇
- 辦公家具項目實施方案、供貨方案
- 2022年物流服務師職業(yè)技能競賽理論題庫(含答案)
- ?;钒踩僮饕?guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術規(guī)程
- 高邊坡施工危險源辨識及分析
- 中海地產設計管理程序
- 簡譜視唱15942
- 《城鎮(zhèn)燃氣設施運行、維護和搶修安全技術規(guī)程》(CJJ51-2006)
- 項目付款審核流程(visio流程圖)
- 循環(huán)系統(tǒng)詳細講解
評論
0/150
提交評論