萬年歷實(shí)驗(yàn)報告_第1頁
萬年歷實(shí)驗(yàn)報告_第2頁
萬年歷實(shí)驗(yàn)報告_第3頁
萬年歷實(shí)驗(yàn)報告_第4頁
萬年歷實(shí)驗(yàn)報告_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

洛陽理工學(xué)院課程設(shè)計(jì)報告PAGE洛陽理工學(xué)院單片機(jī)課程設(shè)計(jì)題目:萬年歷姓名:謝文明學(xué)號:Z08050243專業(yè)班級:計(jì)算機(jī)應(yīng)用技術(shù)2班指導(dǎo)老師:張煥龍PAGE1目錄摘要 21.課設(shè)要求 32.硬件電路設(shè)計(jì)及相關(guān)組件的應(yīng)用 32.1所需器件 32.2部分組件相關(guān)介紹 33.模塊劃分及實(shí)現(xiàn)方式 53.1微處理器 53.2顯示電路 53.3按鍵電路 53.4復(fù)位電路 53.5鬧鈴電路 64.硬件設(shè)計(jì) 64.1硬件電路的總體框圖設(shè)計(jì) 64.2硬件電路原理圖設(shè)計(jì) 74.3實(shí)物圖 75.軟件設(shè)計(jì) 85.1主程序設(shè)計(jì) 85.11顯示函數(shù) 85.12蜂鳴器函數(shù) 95.13修改函數(shù) 96.課設(shè)總結(jié) 12參考文獻(xiàn) 12PAGE5摘要本設(shè)計(jì)是電子萬年歷。具備三個功能:能顯示:年、月、日、時、分、秒及星期信息,并具有可調(diào)整日期和時間功能。我選用的是單片機(jī)STC89C52來實(shí)現(xiàn)電子萬年歷的功能。該電子萬年歷能夠成功實(shí)現(xiàn)時鐘運(yùn)行,調(diào)整,顯示年月日時分秒等信息。該電子萬年歷使用12MHZ晶振與單片機(jī)STC89C52相連接,通過軟件編程的方法實(shí)現(xiàn)了以24小時為一個周期,同時顯示小時、分鐘和秒的要求。利用單片機(jī)定時器及計(jì)數(shù)器產(chǎn)生定時效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù)。同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。電子萬年歷設(shè)計(jì)與制作可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來完成。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功能模塊的組合來實(shí)現(xiàn),焊接的過程比較復(fù)雜,成本也非常高。若用單片機(jī)來設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過軟件編程來完成,這樣一來就降低了硬件電路的復(fù)雜性,從而使得其成本降低,更適合我們大學(xué)生自主研發(fā)。所以在該設(shè)計(jì)與制作中我選用了單片機(jī)STC89C52,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外,單片機(jī)STC89C52的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B的RAM、32條I/O口線、2個16位定時計(jì)數(shù)器、5個中斷源、一個全雙工串行口等。因此,采用單片機(jī)STC89C52原理制作的電子萬年歷,不僅僅在原理上能夠成功實(shí)現(xiàn)計(jì)時等功能,也更經(jīng)濟(jì),更適用,更符合我們實(shí)際生活的需要,對我們大學(xué)生來說也更加有用。 1.課設(shè)要求本設(shè)計(jì)是電子萬年歷。具備三個功能:能顯示:年、月、日、時、分、秒及星期信息,并具有可調(diào)整日期和時間功能。利用單片機(jī)定時器及計(jì)數(shù)器產(chǎn)生定時效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù)。同時通過端口讀入當(dāng)前外部控制狀態(tài)(按鍵)來改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。還具備定時功能當(dāng)時鐘走到某時刻是蜂鳴器發(fā)聲。2.硬件電路設(shè)計(jì)及相關(guān)組件的應(yīng)用2.1所需器件萬年歷元件名稱型號參數(shù)數(shù)量單片機(jī)STC89C521晶振11.0592MHZ1電容30uF210uF1電阻1K8101按鈕4四輸入與門74LS211數(shù)碼管四位一體、共陰極2蜂鳴器8Ω、0.5W1三極管901212.2部分組件相關(guān)介紹STC89C52是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳分布請參照單片機(jī)引腳圖如圖所示: 1.電源 Vcc(引腳號40),芯片電源,接+5V;Vss(引腳號20),電源接地端。 2.晶振 XTAL1(引腳號18)內(nèi)部振蕩電路反相放大器的輸入端,是外接晶振的一個引腳。當(dāng)采用外部振蕩器時,此引腳接地。 XTAL2(引腳號19)內(nèi)部振蕩器的反相放大器輸出端,是外接晶振的另一端。當(dāng)采用外部振蕩器時,此引腳接外部振蕩源。3.I/O線

(1)P0口(引腳號32~39):單片機(jī)的雙向數(shù)據(jù)總線和低8位地址總線。在訪問外部存儲器時實(shí)現(xiàn)分時操作,先用作地址總線,在ALE信號的下降沿,地址被鎖存;然后用作為數(shù)據(jù)總線。它也可以用作雙向輸入/輸出口。P0口能驅(qū)動8個LSTTL負(fù)載。

(2)P1口(引腳號1~8):準(zhǔn)雙向輸入/輸出口,它能驅(qū)動4個LSTTL負(fù)載。

(3)P2口(引腳號21~28):準(zhǔn)雙向輸入/輸出口。在訪問外部存儲器時,用作高8位地址總線。P2口能驅(qū)動4個LSTTL負(fù)載。

(4)P3口(引腳號10~17):準(zhǔn)雙向輸入/輸出口,它能驅(qū)動4個LSTTL負(fù)載。P3口的每一引腳還有另外一種功能:

P3.0——RXD:串行口輸入端

P3.1——TXD:串行口輸出端

P3.2——:外部中斷0中斷請求輸入端

P3.3——:外部中斷1中斷請求輸入端

P3.4——T0:定時器/計(jì)數(shù)器0外部輸入端

P3.5——T1:定時器/計(jì)數(shù)器1外部輸入端

P3.6——:外部數(shù)據(jù)存儲器寫選通信號

P3.7——:外部數(shù)據(jù)存儲器讀選通信號3.模塊劃分及實(shí)現(xiàn)方式 3.1微處理器在設(shè)計(jì)過程中使用12MHZ晶振與單片機(jī)STC89C52相連接,通過軟件編程的方法實(shí)現(xiàn)了以24小時為一個周期同時顯示小時,分鐘和秒的要求,該定時鬧鐘設(shè)有九個按鍵,使之具備了校時、定時功能。利用單片機(jī)定時器及計(jì)數(shù)器產(chǎn)生定時效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù)。同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。3.2顯示電路就時鐘而言,通常可采用液晶顯示或數(shù)碼管顯示。根據(jù)實(shí)驗(yàn)器材使用的是數(shù)碼管顯示利用動態(tài)掃描 3.3按鍵電路由于我設(shè)計(jì)的是電子萬年歷,需要實(shí)現(xiàn)多種功能的顯示,并要能夠切換顯示和調(diào)節(jié)年月日,因此,在設(shè)計(jì)過程中按鍵的設(shè)計(jì)就顯得尤為重要。在設(shè)計(jì)過程中我一共采用了4個按鍵,盡量在小的空間里實(shí)現(xiàn)最多的功能。其中R1鍵是年月日與時間顯示切換鍵,R3鍵按下一次就能夠更換一次顯示位。在調(diào)整顯示環(huán)境下R2鍵是顯示調(diào)整位的的加1鍵,R4鍵是實(shí)現(xiàn)確認(rèn)/調(diào)數(shù),按一下進(jìn)入調(diào)數(shù)模式再摁一下表示確認(rèn)。按鍵電路如圖所示: 3.4復(fù)位電路 單片機(jī)的復(fù)位有上電復(fù)位和按鈕手動復(fù)位兩種。這次課設(shè)采用上電復(fù)位的上電復(fù)位是利用電容充電來實(shí)現(xiàn)的,即上電瞬間RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。圖中的R是施密特觸發(fā)器輸入端的一個10K?下拉電阻,時間常數(shù)為10×10-6×10×103=100ms。只要VCC的上升時間不超過1ms,振蕩器建立時間不超過10ms,這個時間常數(shù)足以保證完成復(fù)位操作。上電復(fù)位所需的最短時間是振蕩周期建立時間加上2個機(jī)器周期時間,在這個時間內(nèi)RST的電平應(yīng)維持高于施密特觸發(fā)器的下閾值。3.5鬧鈴電路當(dāng)數(shù)碼管顯示的時間和設(shè)定的鬧鐘時間相等時,蜂鳴器發(fā)聲持續(xù)一段時間。 4.硬件設(shè)計(jì)4.1硬件電路的總體框圖設(shè)計(jì)STCSTC89C52按鍵電路顯示電路復(fù)位電路等輔助電路鬧鐘電路 4.2硬件電路原理圖設(shè)計(jì)該萬年歷是以單片機(jī)STC89C52為核心來完成的。在硬件電路中采用P0口作為2個四位液晶顯示電路的驅(qū)動接口,這是由于P0口輸出驅(qū)動電路工作處于開漏狀態(tài),它的驅(qū)動能力強(qiáng),故只需外接上拉電阻便可以把LED數(shù)碼管點(diǎn)亮。因?yàn)楣碴幍腖ED數(shù)碼管它的驅(qū)動電流是分開的,在單片機(jī)進(jìn)行動態(tài)掃描的時候不會影響彼此的電流,故該電路中的8位LED數(shù)碼管均用共陰極的數(shù)碼管。8位LED數(shù)碼管的位選線分別由相應(yīng)的P2.0~P2.7控制,而將其相應(yīng)的段選線并聯(lián)在一起,由一個8位的I/O口控制,即P0口。P1口與4個按鍵相連,以成功實(shí)現(xiàn)萬年歷校時的功能。電路原理圖如圖所示:4.3實(shí)物圖5.軟件設(shè)計(jì) 5.1主程序設(shè)計(jì)設(shè)計(jì)主要函數(shù)為初始化函數(shù)、中斷函數(shù)、鍵盤掃描、延時函數(shù)、顯示函數(shù)、蜂鳴器函數(shù)、主函數(shù)。5.11顯示函數(shù) 本系統(tǒng)使用共陰極數(shù)碼管顯示。選碼由P0口輸出高電平有效。代碼:voidshow(structshijiant)//顯示函數(shù);{inti;P2=0x7f;//顯示時,年,分i=t.hour/10;if((temp==0x00)&&(confirm==1))P0=(a[i]+0x80);elseP0=a[i];delay(10);P2=0xbf;i=t.hour%10;if(temp==0x01&&confirm==1)P0=a[i]+0x80;else P0=a[i];delay(10);P2=0xdf;//顯示-P0=a[10]; delay(10); P2=0xef;//顯示分,月,秒 i=t.minute/10; if(temp==0x03&&confirm==1)P0=a[i]+0x80;elseP0=a[i]; delay(10); P2=0xf7; i=t.minute%10; if(temp==0x04&&confirm==1)P0=a[i]+0x80;elseP0=a[i]; delay(10);P2=0xfb;//顯示-? P0=a[10]; delay(10); P2=0xfd;//顯示秒,日,毫秒 i=t.second/10; if(temp==0x06&&confirm==1)P0=a[i]+0x80;elseP0=a[i]; delay(10); P2=0xfe; i=t.second%10; if(temp==0x07&&confirm==1)P0=a[i]+0x80;elseP0=a[i];delay(10); }5.12蜂鳴器函數(shù) voidfengming()//蜂鳴器;{uinti;settime=t1;for(i=0;i<200;i++){p10=!p10;delay(20);}}5.13修改函數(shù)structshijianset0(structshijiant)//修改時分秒;定時{switch(temp){ case0x00:{if(t.hour/10==2)t.hour-=30;t.hour+=10;break;}case0x01:{if(t.hour%10==9)t.hour-=10;t.hour+=1;if(t.hour/10==2&&(t.hour/10)>4)t.hour-=(t.hour%10);break;}case0x03:{if(t.minute/10==5)t.minute-=60;t.minute+=10;break;}case0x04:{if(t.minute%10==9)t.minute-=10;t.minute+=1;//if(t.minute/10==6)t.minute=60;break;}case0x06:{if(t.second/10==5)t.second-=60;t.second+=10;break;}case0x07:{if(t.second%10==9)t.second-=10;t.second+=1;//if(t.second/10==6)t.second-=(t.second%10);break;}default:break; }returnt;}voidset1()//修改年月日{(diào)//TR1=0; switch(temp){ case0x00:{if(year.hour/10==9)year.hour-=100;year.hour+=10;break;}case0x01:{ if(year.hour%10==9)year.hour-=10;year.hour+=1;break;}case0x03:{if(year.minute/10==1)year.minute-=20;year.minute+=10;break;}case0x04:{if(year.minute%10==9)year.minute-=10;year.minute+=1;if(year.minute/10==1&&(year.minute/10)>2)year.minute-=(year.minute%10);break;}case0x06:{if(year.second/10==3)year.second-=40;year.second+=10;break;}case0x07:{if(year.second%10==9)year.second-=10;year.second+=1;if(year.minute==2) { if(!((nian%4==0&&nian%100!=0)||(nian%400==0))) if(year.second==28){year.second=20;} else if(year.second==29){year.second=20;}}elseif((year.minute==1)||(year.minute==3)||(year.minute==5)||(year.minute==7)||(year.minute==8)||(year.minute==10)||(year.minute==12)){if((year.second/10==3)&&(year.second/10)>1)year.second=31;}else{if(year.second/10==3)year.second=30;}

溫馨提示

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

評論

0/150

提交評論