單片機上機操作考試題部分答案_第1頁
單片機上機操作考試題部分答案_第2頁
單片機上機操作考試題部分答案_第3頁
單片機上機操作考試題部分答案_第4頁
單片機上機操作考試題部分答案_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

部分答案二極管點亮的時#include<>#include<>#defineucharunsignedcharucharT_count=0;#include<>#defineuintunsignedint#defineucharunsignedcharsbitk1=P3^2;sbitk2=P3^3;#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0xf6,0xf9,0xb8,0xb8,0xbf};ucharT_count=0;uchari=1;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;if(++T_count==10){P0=tab[i];i=(i+1)%5;T_count=0;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;TR0=1;ET0=1;P0=tab[0];6個數(shù)碼管上分別顯示自己學號的后六位數(shù)字。#include<>#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={};一個簡易30s的倒計時秒表,秒表的顯#include<>#defineucharunsignedcharvoiddelay1s(){uchari;for(i=0;i<10;i++){TH1=0x3c;TL1=0xb0;TR1=1;用外中斷0來控制,去實現(xiàn)下列功能。#include<>#defineuintunsignedint#defineucharunsignedcharucharcodetab[]={0xcc,0x30};sbitk1=P3^2;采用定時器方式1使得8個發(fā)光二極管按如下方式點亮,循環(huán)#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0x0f,0xf0,0xcc,0x00};ucharT_count=0;uchari=1;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;if(++T_count==20){P0=tab[i];i=(i+1)%4;T_count=0;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;TR0=1;ET0=1;Ptab5”3個數(shù)字,循環(huán)的時間為1s。#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0xbf,0x86,0xed};ucharT_count=0;uchari=1;voidintoProc()interrupt1{TH0=0x3c;TL0=0xb0;if(++T_count==10){P0=tab[i];i=(i+1)%3;T_count=0;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;TR0=1;ET0=1;P0=tab[0];4個數(shù)碼管上穩(wěn)定顯示出“A”“C”“E”“P”#include<>#defineucharunsignedchar#defineuintunsignedintvoiddelay(uintx){uchari;while(x--){for(i=0;i<100;i++);}}voidmain(){while(1){P0=0xf7;一個20s的簡易秒表,當按鍵K1按下時,秒表暫停#include<>#defineuintunsignedint#defineucharunsignedcharuchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbitk1=P3^2;sbitk2=P3^3;ucharT_count=0;uchari=0;voiddelay(intx){uchari;while(x--){for(i=0;i<100;i++);}}voidt0Proc()interrupt1{c#include<>#include<>#defineucharunsignedchar#defineuintunsignedintsbitk1=P3^2;ucharcodetab[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};ucharT_count=0;uchari=1;管的狀態(tài)#include<>#defineuintunsignedint#defineucharunsignedcharsbitk1=P3^2;sbitk2=P3^3;間為1s,狀態(tài)2顯示的時間為2s,狀態(tài)3顯示的時間為#po}inouin\unsi6nopin\un}TH0=0xeD:T10=0xq0:wiDvSeo}i})++T_Doun\==t0(}dt=~\eq]i[:i=)i+t(%e:T_count=0;State=1;}break;case1:if(++T_count==20){P1=~tab[i];i=(i+1)%3;T_count=0;State=2;}break;case2:if(++T_count==30){P1=~tab[i];i=(i+1)%3;i=1;T_count=0;State=0;}break;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P1=~tab[0];while(1);}統(tǒng),實現(xiàn)8個發(fā)光二極管從左到右點亮,每個發(fā)光二極管點亮的時間為2s,然后從右到左亮,每個發(fā)光二極管點亮的時間為.#include<>#include<>#defineucharunsignedcharucharcodetab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};ucharcodetab1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};ucharState=0;ucharT_count=0;uchari=1;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;switch(State){case0:if(++T_count==20){P2=tab[i];i=(i+1)%8;if(i==7){State=1;}T_count=0;}break;case1:if(++T_count==15){i=(i+1)%8;P2=tab1[i];if(i==7){State=0;i=1;}T_count=0;}break;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P2=tab[0];while(1);}#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0x06,0x5b,0x06,0x6f};voiddelay(intx){uchari;while(x--){for(i=0;i<120;i++);}}voidmain(){P0=tab[0];P2=tab[1];P3=tab[2];P1=tab[3];delay(500);}20.完成下面電路的功能,P1口對應(yīng)發(fā)光二極管的狀態(tài),狀態(tài)#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0x0c,0x0e,0x0f,0x00};ucharT_count=0;ucharState=0;uchari=1;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;switch(State){case0:if(++T_count==30){P1=~tab[i];i=(i+1)%4;T_count=0;State=1;}break;case1:if(++T_count==10){P1=~tab[i];i=(i+1)%4;T_count=0;State=2;}break;case2:if(++T_count==5){P1=~tab[i];i=(i+1)%4;T_count=0;State=3;}break;case3:if(++T_count==1){P1=~tab[i];i=(i+1)%4;T_count=0;State=0;}break;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P1=~tab[0];while(1);}分別控制數(shù)碼管顯示數(shù)字0~9的順序,當按下K1鍵時按從0#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharcodetab2[]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f};ucharT_count=0;sbitk1=P1^0;sbitk2=P1^1;uchari=0;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;if(++T_count==10){T_count=0;i=(i+1)%10;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P0=~0x3f;while(1){if(k1==0&&k2==1){P0=~tab1[i];}elseif(k1==1&&k2==0){P0=~tab2[i];}}}24.89C51與PC通過串口通信,單片機采用方式3串行通信,#include<>#include<>char*startPoint;char*endPoint;voidsendData(){if(startPoint<=endPoint){SBUF=*startPoint;++startPoint;}}voidstartSend(char*start,char*end){startPoint=start;endPoint=end;sendData();}voidserialPorc()interrupt4{if(TI){TI=0;sendData();}else{RI=0;if(0x53==SBUF){startSend(0x30,0x3f);}elseif(0x50==SBUF){startSend(0x40,0x5f);}}}voidmain(){TMOD=0x20;TH1=0xe6;TL1=0xe6;TR1=1;SCON=0xd0;EA=1;ES=1;while(1);}25.交通控制系統(tǒng),如下圖所示,是交叉路口,要求:綠燈亮9秒后,黃燈閃3秒,后紅燈亮9秒,兩個數(shù)碼管分別顯視各種#include<>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f};ucharcodetab1[]={0x4f,0x5b,0x06,0x3f};sbitRED_A=P0^0;sbitYELLOW_A=P0^1;sbitGREEN_A=P0^2;sbitRED_B=P0^3;sbitYELLOW_B=P0^4;sbitGREEN_B=P0^5;ucharOperation_Type=1;//操作類型變量ucharT_count=0;uchari=0;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;switch(Operation_Type){case1://紅燈亮RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=0;YELLOW_B=1;GREEN_B=1;if(++T_count==90){T_count=0;Operation_Type=2;i=0;}if(T_count%10==0){P3=~tab[i];P1=~tab[i];i=(i+1)%10;}break;case2://黃燈閃RED_A=1;YELLOW_A=~YELLOW_A;GREEN_A=1;RED_B=1;YELLOW_B=~YELLOW_B;GREEN_B=1;if(++T_count==30){T_count=0;Operation_Type=3;i=0;}if(T_count%10==0){P3=~tab1[i];P1=~tab1[i];i=(i+1)%3;}break;case3://綠燈亮RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=1;YELLOW_B=1;GREEN_B=0;if(++T_count==90){T_count=0;Operation_Type=1;i=0;}if(T_count%10==0){P3=~tab[i];P1=~tab[i];i=(i+1)%10;}break;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P1=~tab[0];P3=~tab[0];while(1);}數(shù)功能,并將計數(shù)值輸出到數(shù)碼管上#include<>#defineucharunsignedchar#defineuintunsignedint//0~9的段碼ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//計數(shù)值分解后各個待顯示的數(shù)位ucharDSY_Buffer[]={0,0,0};ucharCount=0;sbitClear_Key=P3^6;//數(shù)碼管上顯示計數(shù)值voidShow_Count_ON_DSY(){DSY_Buffer[2]=Count/100;//獲取3個數(shù)DSY_Buffer[1]=Count%100/10;DSY_Buffer[0]=Count%10;if(DSY_Buffer[2]==0)//高位為0時不顯示{DSY_Buffer[2]=0x0a;if(DSY_Buffer[1]==0)//高位為0,若第二位為0同樣不顯示{DSY_Buffer[1]=0x0a;}}P0=DSY_CODE[DSY_Buffer[0]];P1=DSY_CODE[DSY_Buffer[1]];P2=DSY_CODE[DSY_Buffer[2]];}//主程序voidmain(){P0=0x00;P1=0x00;P2=0x00;EA=1;EX1=1;IT1=1;//下降沿觸發(fā)while(1){if(Clear_Key==0){Count=0;//清0}Show_Count_ON_DSY();}}//INT1中斷函數(shù)voidEX_INT1()interrupt2{Count++;//計數(shù)值遞增}#include<>#defineucharunsignedcharucharT_count=0;sbitLED=P1^0;voidt0Proc()interrupt1{TH0=0x3c;TL0=0xb0;if(++T_count==20){T_count=0;LED=~LED;}}voidmain(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;while(1);}P#include<>#defineucharunsignedcharucharcodetab[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};uchari=0;//INT1中斷函數(shù)voidEX_INT1()interrupt2{P0=~tab[i];P1=tab[i];if(++i==8){i=0;}}//主程序voidmain(){P0=0xff;P1=0x00;EA=1;EX0=1;IT0=1;//下降沿觸發(fā)while(1);}#include<>#defineucharunsignedcharucharcodetab[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,0x00};ucharcodetab1[]={0x01,0x05,0x15,0x55,0x57,0x5f,0x7f,0xff,0x00};ucharT_count=0;uchari=0;ucharop_type=1;voidt1Proc()interrupt3{TH1=0x3c;TL1=0xb0;switch(op_type){case1:if(++T_count==20)

溫馨提示

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

最新文檔

評論

0/150

提交評論