版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)課程設(shè)計(jì)報(bào)告書(shū)2021姓 名:班 級(jí):分 數(shù):實(shí)驗(yàn)要求:設(shè)計(jì)秒表計(jì)時(shí)系統(tǒng),能夠完成屢次計(jì)時(shí),即一次及時(shí)可以做到屢次取值,同時(shí)在及時(shí)停止后能夠自由查閱所記的數(shù)值。 試驗(yàn)所用語(yǔ)言:C語(yǔ)言試驗(yàn)環(huán)境:Windows XP Keil uVision3 STC-ISP V35試驗(yàn)芯片:AT89x51目錄1、設(shè)計(jì)方案書(shū)2、設(shè)計(jì)理念3、程序流程圖4、程序清單5、外部電路圖6、按鍵說(shuō)明7、程序運(yùn)行結(jié)果8、思想總結(jié)9、參考文獻(xiàn)一、設(shè)計(jì)方案書(shū):通過(guò)不同按鍵的輸入,使計(jì)時(shí)器完成不同的指令,例如開(kāi)始計(jì)時(shí)、記錄當(dāng)前時(shí)間、停止時(shí)間、查找記錄、清零等。計(jì)時(shí)器時(shí)間準(zhǔn)確。計(jì)時(shí)范圍盡量大些,有記錄條數(shù)的顯示,當(dāng)時(shí)間計(jì)滿自動(dòng)停
2、止。二、設(shè)計(jì)理念:對(duì)于按鍵,設(shè)計(jì)按鍵子程序,在主程序中不斷調(diào)用子程序。在數(shù)碼管上顯示秒,一個(gè)顯示十位,一個(gè)顯示各位。在二極管上,高三位顯示記錄條數(shù),其余五位顯示分鐘,同時(shí)記錄條數(shù)以二進(jìn)制數(shù)顯示。計(jì)時(shí)使用51單片機(jī)中斷程序進(jìn)行定時(shí),使用T0作為計(jì)時(shí)器。在中斷程序中,每隔一秒將一個(gè)全局變量置1,主程序在檢測(cè)到其為1時(shí),計(jì)時(shí)相應(yīng)加一。顯示時(shí)間在數(shù)碼管上的使用數(shù)組輸出。在二極管上的使用按位與的情況。記錄事情通過(guò)按鍵子程序讀回其值后,將當(dāng)時(shí)的秒值和分值存入數(shù)組。同時(shí)記錄條數(shù)加1。當(dāng)計(jì)時(shí)停止后通過(guò)上翻鍵和下翻鍵可以在記錄中查找各值。在清零按鍵按下的時(shí)候,所有顯示清零,這時(shí)秒表可以開(kāi)始重新計(jì)時(shí)。在計(jì)時(shí)階段,
3、上、下翻鍵無(wú)法使用,清零鍵無(wú)法使用。只有當(dāng)時(shí)間到達(dá)上限、停止按鍵按下和記錄條數(shù)慢時(shí)計(jì)時(shí)才停止工作。因?yàn)閷掖斡玫綌?shù)字顯示,顯示使用子程序調(diào)用形式。三、程序流程圖:開(kāi) 始主程序:設(shè)置計(jì)數(shù)器 進(jìn)入無(wú)限循環(huán)中NShangyi=1調(diào)用按鍵子程序 得值給鍵值根據(jù)鍵值相應(yīng)得標(biāo)志位置位NNxiayi=1M值加1Kai=1M值減1計(jì)時(shí),檢測(cè)tound=1那么計(jì)時(shí)加1 調(diào)用顯示子程序NTing=1根據(jù)m值顯示MM得內(nèi)容停止計(jì)時(shí),保存當(dāng)前值,kai=0NNZhanting=1Qingling=1將所有位清零保存當(dāng)前值到MM數(shù)組 同時(shí)m加1延時(shí)開(kāi) 始按鍵子程序:NKeyv!=0xff進(jìn)入循環(huán),等待按鍵放開(kāi)初始化將P3
4、口值給keyvNNKeyv=0xffKeyv=0xffReturn(0)Return(keyv)結(jié)束四、程序清單:#include "at89x51.h"#define uchar unsigned charuchar hex16=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; 數(shù)碼管顯示int i,tound; /全局變量uchar key() /按鍵子程序uchar keyv;uchar tmp;keyv=P3; /將P3值給變量if(keyv=0xff)
5、/如果按鍵沒(méi)有按下了,返回0return(0);for(i=0;i<1250;i+); /按下延時(shí) 防抖動(dòng)keyv=P3; /從新付值if(keyv=0xff) /如果沒(méi)有到達(dá)時(shí)間,認(rèn)為無(wú)效返回0return(0);else /有按鍵值那么進(jìn)入循環(huán) for(;) tmp=P3; if(tmp=0xff) /當(dāng)按鍵放開(kāi)跳出break;return (keyv); /返回值void xianshi(int miao,int fen,int shu) /顯示子程序 uchar fenx=0x01; P0=hexmiao%10; /在數(shù)碼管上顯示秒 P1=hexmiao/10; fenx=0xf
6、f; /在低位顯示分鐘 利用移位原理 for(i=0;i<fen;i+) fenx=fenx<<1; switch(shu) /在高位顯示當(dāng)前記錄條數(shù) case 0:fenx=fenx&0xff;break; /通過(guò)按位與置位 case 1:fenx=fenx&0xdf;break; case 2:fenx=fenx&0xbf;break; case 3:fenx=fenx&0x9f;break; case 4:fenx=fenx&0x7f;break; case 5:fenx=fenx&0x5f;break; case 6:f
7、enx=fenx&0x3f;break; case 7:fenx=fenx&0x1f; P2=fenx; /將數(shù)碼管顯示指示 void main(void) /主程序uchar jianzhi;int kai=0,ting=0,zhanting=0,shangyi=0,xiayi=0,qingling=1; /標(biāo)志位int secound=0,minter=0,m=0,n=0; /時(shí)間位和記錄條數(shù)位int MM82; /保存狀態(tài)數(shù)組TMOD=0x09; /定義時(shí)間計(jì)數(shù)器T0TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0
8、=1;EA=1; while(1) /主循環(huán) jianzhi=key(); /讀回鍵值 if(jianzhi=0xfe&&kai=0&&qingling=1) kai=1;secound=0;minter=0;m=0;qingling=0; /當(dāng)開(kāi)始按下時(shí),設(shè)置標(biāo)志位if(jianzhi=0xfd&&kai=1) ting=1; /當(dāng)停止鍵按下時(shí) 置位if(jianzhi=0xfb&&kai=1) zhanting=1; /當(dāng)暫停鍵按下時(shí) 置位if(jianzhi=0xf7&&kai=0) shangyi=1; /
9、當(dāng)上移位鍵按下時(shí) 置位 if(jianzhi=0xef&&kai=0) xiayi=1; /當(dāng)下移位鍵按下時(shí) 置位if(jianzhi=0x7f&&kai=0) qingling=1; /當(dāng)清零鍵按下時(shí) 置位if(kai=1&&qingling!=1) /假設(shè)開(kāi)始之后 if(tound=1) /接受中斷傳回得1秒標(biāo)志位 secound+;tound=0; /秒加一,同時(shí)清楚標(biāo)志位 if(secound=60) /60秒進(jìn)位 minter+; secound=0; if(zhanting=1) /如果暫停了 MMm0=secound; /保存分秒值
10、 MMm1=minter; m+; /記錄條數(shù)加一 zhanting=0; /去除標(biāo)志位 xianshi(secound,minter,m); /調(diào)用顯示子程序 if(ting=1) /當(dāng)停止按下時(shí) MMm0=secound; /保存當(dāng)前值 MMm1=minter; kai=0; /關(guān)開(kāi)值 n=m; ting=0; xianshi(MM00,MM01,0); /顯示最后時(shí)間 else if(m!=0&&qingling=0) /在沒(méi)有計(jì)停止之后 if(shangyi=1) /上移鍵按下 將記錄上移一個(gè) if(n=m) n=0; /為最上一個(gè)得時(shí)候 回到0 else n+; if
11、(xiayi=1) /下移鍵按下 記錄下移一個(gè) if(n=0) n=m; /為最后一個(gè)時(shí) 變成最上面得一個(gè) else n-; secound=MMn0; /調(diào)出記錄值 minter=MMn1; xianshi(secound,minter,n); /顯示記錄值 if(qingling=1) /當(dāng)清零鍵按下 m=0; /所有標(biāo)志位清零 n=0; secound=0; minter=0;kai=0;xianshi(0,0,0); /顯示清零 shangyi=0; xiayi=0; void t0(void) interrupt 1 using 0 /中斷子程序 int shiv;shiv+; /每中斷一次加一if(shiv=20) /20次中斷一次置位,時(shí)間為1秒 shiv=0; tound=1; TH0=(65536-50000)/256; /從新置值TL0=(65536-50000)%256; /程序結(jié)束五、外部電路圖:見(jiàn)附頁(yè)六、按鍵說(shuō)明: P3-0: 開(kāi)始按鍵 P3-1:停止按鍵 P3-2:暫停按鍵 P3-3:上移按鍵 P3-4:下移按鍵 P3-7:清零
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年全球及中國(guó)電子設(shè)計(jì)自動(dòng)化(EDA)行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)海運(yùn)轉(zhuǎn)運(yùn)行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)汽車(chē)電子節(jié)氣門(mén)控制系統(tǒng)行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)汽車(chē)沖洗壓縮機(jī)行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)氨基酸組合行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)校服市場(chǎng)經(jīng)營(yíng)風(fēng)險(xiǎn)及未來(lái)投資價(jià)值評(píng)估研究報(bào)告
- 2024-2030年全球及中國(guó)搜索引擎優(yōu)化平臺(tái)行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)工具修復(fù)、再研磨和銳化服務(wù)行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)射頻芯片電感器行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年全球及中國(guó)安全裝置行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024高校大學(xué)《輔導(dǎo)員》招聘考試題庫(kù)(含答案)
- 管道保溫體積面積計(jì)算公式
- 2024年江西省“振興杯”工業(yè)機(jī)器人系統(tǒng)操作員競(jìng)賽考試題庫(kù)(含答案)
- 2024-2030年扭力工具行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- Unit3SportsandFitnessReadingforwriting教學(xué)設(shè)計(jì)2023-2024學(xué)年人教版高中英語(yǔ)必修第一冊(cè)
- 100以內(nèi)兩位數(shù)進(jìn)位加法退位減法計(jì)算題-(直接打印版)
- 第五單元 跟作家學(xué)寫(xiě)作 把事情寫(xiě)清楚 單元任務(wù)群整體 教學(xué)設(shè)計(jì) -2024-2025學(xué)年語(yǔ)文四年級(jí)上冊(cè)統(tǒng)編版
- 大氣污染控制工程智慧樹(shù)知到期末考試答案章節(jié)答案2024年青島理工大學(xué)
- 點(diǎn)亮人生-大學(xué)生職業(yè)生涯規(guī)劃智慧樹(shù)知到期末考試答案章節(jié)答案2024年杭州醫(yī)學(xué)院
- 生命生態(tài)安全教學(xué)計(jì)劃初中生
- 老年人能力評(píng)估服務(wù)項(xiàng)目管理制度
評(píng)論
0/150
提交評(píng)論