流水燈實(shí)驗(yàn)報(bào)告_第1頁
流水燈實(shí)驗(yàn)報(bào)告_第2頁
流水燈實(shí)驗(yàn)報(bào)告_第3頁
流水燈實(shí)驗(yàn)報(bào)告_第4頁
流水燈實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)一流水燈實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模?)簡(jiǎn)樸I/O引腳的輸出(2)掌握軟件延時(shí)編程辦法(3)簡(jiǎn)樸按鍵輸入捕獲判斷二、實(shí)驗(yàn)實(shí)現(xiàn)的功效(1)按下KEY1鍵12個(gè)二極管點(diǎn)亮,并閃爍(2)按下KEY2鍵按照順時(shí)循環(huán)依次針點(diǎn)亮發(fā)光二極管(3)按下KEY3鍵按照逆時(shí)針循環(huán)依次點(diǎn)亮發(fā)光二極管三、系統(tǒng)硬件設(shè)計(jì)(1)單片機(jī)最小系統(tǒng)部分(2)電源部分人機(jī)界面部分二極管部分按鍵部分串口通訊部分系統(tǒng)軟件設(shè)計(jì)實(shí)驗(yàn)編程以下:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuchartab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfb,0xf7,0xef,0xdf}; //12支二極管順時(shí)針點(diǎn)亮的代碼uinti,j,k;ucharm,n;sbitH1=P3^6;//對(duì)應(yīng)行1sbitH2=P3^7;//對(duì)應(yīng)行2sbitL1=P0^5;//對(duì)應(yīng)列sbitL2=P0^6;sbitL3=P0^7;/***延時(shí)函數(shù)***/voiddelay(uintk){uinti,j; //定義局部變量ij for(i=0;i<k;i++) //外層循環(huán) { for(j=0;j<121;j++);//內(nèi)層循環(huán) }}/*************閃爍******************/voidshanshuo(){ P2=0x00; //12支二極管全亮 P3=0x00; delay(500); //延時(shí)500毫秒 P2=0xff; //12支二極管全滅 P3=0xff; delay(500); // 延時(shí)500毫秒}/***************正轉(zhuǎn)****************/voidzhengzhuan(){m=0; //前8支二極管順時(shí)針按方向依次點(diǎn)亮 for(j=0;j<8;j++) { P2=tab[m]; delay(300); m+=1; }P2=0xff; n=8; //后4支二極管順時(shí)針方向依次點(diǎn)亮 for(k=0;k<4;k++) { P3=tab[n]; delay(300); n+=1; } P3=0xff; }/***************反轉(zhuǎn)*************/voidfanzhuan(){ n=11; //后4支二極管逆時(shí)針方向依次點(diǎn)亮for(j=4;j>0;j--) { P3=tab[n]; delay(300); n--;} P3=0xff;m=7; //前8支二極管逆時(shí)針方向依次點(diǎn)亮for(j=8;j>0;j--) { P2=tab[m]; delay(300); m--; } P2=0xff;}/**********按鍵掃描**********/void keyscan(){uchartemp=1;H1=0;H2=1;L1=1;L2=1;L3=1; //檢測(cè)與否有按鍵按下if(L1==0)delay(5);//如果KEY1鍵按下,二極管閃爍if(L1==0)while(temp){H1=0;H2=1;L2=1;L3=1; //檢測(cè)與否有按鍵按下temp=L2&L3;shanshuo(); } if(L2==0)delay(5);//如果KEY2鍵按下,順時(shí)針點(diǎn)亮 if(L2==0) while(temp){H1=0;H2=1;L1=1;L3=1; //檢測(cè)與否有按鍵按下 temp=L1&L3; zhengzhuan(); } if(L3==0)delay(5); //如果KEY3鍵按下,二極管逆時(shí)針點(diǎn)亮 if(L3==0) while(temp){H1=0;H2=1;L1=1;L2=1; //檢測(cè)與否有按鍵按下 temp=L1&L2; fanzhuan(); }}/***主函數(shù)***/main(){ while(1) { keyscan(); } }實(shí)驗(yàn)過程中碰到的問題及解決辦法(1)根據(jù)本實(shí)驗(yàn)硬件設(shè)計(jì),要想點(diǎn)亮二極管,需要使與該二極管接通的管腳為低電平;由于12支二極管前8支接在P2口,后4支接在P3口,故在正時(shí)針和逆時(shí)針依次點(diǎn)亮二極管時(shí)應(yīng)注意P2口和P3口的銜接,如在正時(shí)針旋轉(zhuǎn)時(shí),第8?jìng)€(gè)二極管點(diǎn)亮的語句是P2=tab[8],第9個(gè)二極管點(diǎn)亮的語句是P3=tab[9],因此在兩個(gè)語句之間應(yīng)加一句P2=0xff,使第8?jìng)€(gè)二極管熄滅;在寫按鍵掃描程序時(shí),在檢測(cè)到有按鍵按下時(shí),應(yīng)加一條延時(shí)語句,否則按鍵的性能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論