單片機(jī)實訓(xùn)報告模板.doc_第1頁
單片機(jī)實訓(xùn)報告模板.doc_第2頁
單片機(jī)實訓(xùn)報告模板.doc_第3頁
單片機(jī)實訓(xùn)報告模板.doc_第4頁
單片機(jī)實訓(xùn)報告模板.doc_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機(jī)實訓(xùn)設(shè)計報告題目:可調(diào)電子時鐘的設(shè)計學(xué)院:交通信息學(xué)院專業(yè):電氣自動化技術(shù)班級:電氣091姓名:學(xué)號:(長號)指導(dǎo)老師:一、實驗內(nèi)容 利用CPU的定時器和實驗儀上提供的數(shù)碼顯示電路,設(shè)計一個可調(diào)電子時鐘。顯示格式如下:XX XX XX ,由左向右分別為:時、分、秒。同時還可以通過鍵盤(開關(guān))對電子時鐘的時間進(jìn)行加減,達(dá)到可調(diào)。二、實驗內(nèi)目的1、 掌握定時器的使用和編程方法;2、 掌握中斷處理程序的編程方法;3、 掌握數(shù)碼顯示電路的驅(qū)動程序編程方法;4、 掌握鍵盤電路的程序編程方法;5、 掌握模塊子程序的編程方法;6、 掌握硬件的線路的設(shè)計及連線方法。三、實驗說明設(shè)計定時器每50ms中斷一次,在中斷服務(wù)程序中,對中斷次數(shù)進(jìn)行計數(shù),50ms計數(shù)20次,就是1秒,然后再對秒計數(shù)得到分的值,對分計數(shù)得到小時的值,分別將各值送到相應(yīng)的段地址端口和位地址端口,通過數(shù)碼管顯示結(jié)果,達(dá)到電子時鐘的效果。在電子時鐘的基礎(chǔ)上,程序增加了鍵盤程序,對電子時鐘進(jìn)行可調(diào)(對秒/分/時進(jìn)行加/減,此功能的增加使電子時鐘功能更強(qiáng)、更實用。四、硬件電路設(shè)計原理圖圖1 總電路圖圖2 鍵盤控制電路五、軟件設(shè)計(一) 程序設(shè)計框圖開始置定時器模式及常數(shù)開始設(shè)置初始常數(shù)啟動定時器設(shè)置秒、分、時初值鍵盤掃描調(diào)用顯示子程序設(shè)置定時器初值啟動定時器初始化顯示參數(shù)查表修正A值段碼輸出位選通置定時器模式及常數(shù)下一位選通延遲10MS關(guān)閉位選通開始關(guān)中斷、保護(hù)現(xiàn)場秒單元內(nèi)容加1到1分鐘否?秒單元內(nèi)容清零分單元內(nèi)容加1分單元內(nèi)容清零時單元內(nèi)容加1時單元內(nèi)容清零恢復(fù)現(xiàn)場開中斷到1小時否?到24小時否?中斷返回開始按鍵掃描P1.0P1.1P1.2P1.3P1.4P1.5秒加1分加1時加1秒減1分減1時減1顯示(二)實驗程序設(shè)計步驟 、用定時器編寫延遲子程序;2、編寫學(xué)號顯示子程序;3、編寫從09秒用數(shù)碼管顯示子程序;4、據(jù)時分秒的要求,編寫定時器0中斷服務(wù)子程序;5、結(jié)合以上子程序,與主程序相組合成電子時鐘程序;6、編寫鍵盤控制加子程序;7、組合以上子程序,與主程序相組合成可調(diào)電子時鐘程序;#include/ /程序定義typedef unsigned char uchar;unsigned int number;void delay(unsigned char);void display();void key();void init();uchar ledsbuf8;uchar ledsbuf18; sbit p10=P10; sbit p11=P11; sbit p12=P12; sbit p13=P13; sbit p14=P14; sbit p15=P15;uchar a4;uchar b4;void chbcd(); /計時器void init(); /開始unsigned int number;void time() interrupt 1 if(-number=0) /number=0 1秒鐘到 number=4000; if(+a3)=60) a3=0; if(+a2)=60) a2=0; if(+a1)=24) a1=0; if(+b3)=32) b3=01; if(+b2)=12) b2=01; if(b1+=99) b1=0;b0+; /控制顯示數(shù)字code unsigned char ledtab= 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71,0x40;void main() uchar i; a0=00,a1=23,a2=59,a3=50; b0=20,b1=11,b2=03,b3=30; number=4000 ; init(); chbcd(); while(1) chbcd(); display(); key(); /控制顯示位void chbcd() uchar i; for(i=0;i4;i+) ledsbufi*2=ledtabai/10; ledsbufi/2=ledtaba0=16; ledsbufi*2+1=ledtabai%10; ledsbuf1i*2=ledtabbi/10; ledsbuf1i*2+1=ledtabbi%10; void delay(char n) uchar i; for(i=0;in;i+);/計時器void init() TMOD=0x02; TH0=0x08; TL0=0x08; EA=1; ET0=1; TR0=1;void display () uchar i; for(i=0;i8;i+) P2=ledsbufi; P0=ledsbuf1i; P3=(0x01i); delay(10); P3=0x00 ; /調(diào)整void key() /分 if(p10=0) while(p10=0) display(); a2+; for(;a2=60;a2=0) if(+a1)=24) a1=0; if(+b3)=32) b3=0; /時 if(p11=0) while(p11=0) display(); a1+; for(;a1=24;a1=0) if(+b3)=32) b3=0; /天 if(p12=0) while(p12=0) display(); b3+; for(;b3=32;b3=0) if(+b2)=13) b2=0; +b1; /月 if(p13=0) while(p13=0) display(); if( +b2=13) b2=01; if(b1+=99) b1=0;b0+; /年 if(p14=0) while(p14=0) display(); b1+; for(;b1=99;b1=0) b1=01; b0+; /復(fù)位 if(p15=0) while(p15=0) display(); a0=a1=a2=a3=0; b0=20;b1=11;b2=03;b3=22; 四實驗結(jié)果分析調(diào)試過程的問題及解決方法五、實驗體會1、編寫程序時,知識結(jié)構(gòu)混亂,無從下手。應(yīng)該加深對書本基本知識的了解,即可解決。2、腦海沒有形成編寫程序的思想,像

溫馨提示

  • 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

提交評論