《單片機(C51)技術》C卷 復習題
單片機(C51)技術C卷 復習題2分,運行結果循序次數(shù)為,循環(huán)結束時x= ,y= 。2.程序unsigned char x,y,a5=23,67,12,78,43 ;x=0;for(y=0;yif(x>ay)x=ay;運行結果x= ;y= 。3.程序unsigned char x,y;if(x>45 | xif(xelse y=5;else y=3;運行結果當x的值為20時,y= ;當x=45時,y= ;4.程序#includeint a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;b2=0x01,0x02;int c=60,i,x2,j,k;main()TMOD=0x10;TH1=0X9E;TL1=0X58;EA=1;ET1=1;TR1=1;while(1)x0=c/10;x1=c%10;for(i=0;i1 頁( 共4 頁)P3=bi;P2=axi;for(k=120;k>0;k-); void ds() interrupt 3TH1=0X9E;TL1=0X58;j+;if(j=40)j=0;c-;運行結果定時時間為,中斷源編號為,并簡要說明其功能。三、本小題共有10處錯誤,請在不刪減原程序指令條數(shù)基礎上加以改正,請將錯誤行號和改正后的結果寫在對應行后的空白處。(每空1分,錯改漏改均不得分,共20分。)行號程序1 #include2 sbit led3 =0xfe,0xfd,0xfb,0xf7,0x7f,0xbf,0xdf,0xef;4 void ys(char a);5 6 unsigned char j,k;7 for(i=a;i>0;i-)8 for(j=200;j>0;j-)9 for(k=250;k>0;k-)10 11 main()12 13 bit i;14 for(i=0;i15 16 p1=ledi;17 ys(10)18 錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為錯誤行號修改為四、修改程序與完善程序:(本大題共2小題,每小題10分,共20分。)1.將主程序中斜體部分的程序語句修改為函數(shù),將答案寫在程序右邊的空白處。功能:從中間到兩端流水燈。#includeunsigned char x=0;delay05s()unsigned char i,j,k;for(i=5;i>0;i-)第 2 頁( 共4 頁)for(j=200;j>0;j-)for(k=250;k>0;k-);main()P2=0X00;while(1)x+;if(x=5)x=1;switch(x)case 1:P2=0x81;break;case 2:P2=0x42;break;case 3:P2=0x24;break;case 4:P2=0x18;break;delay05s();2.完成以下程序的編寫功能說明:采用中斷定時器/計數(shù)器T0編程,實現(xiàn)從P1.0口輸出周期為60ms的高低電平,使發(fā)光二極管不斷閃爍。#includebit i;sbit k1=P10;void chushihua(void ) TMOD=0x01;EA=1;ET0=1;TR0=1;TH0=(65536-60000)/256;TL0=(65536-60000)%256;void main (void) chushihua();void t0(void) interrupti=i;五、編程題:共20分(參見電子版試卷第五題編程)本題為開放型試題,不限編程方法。第 3 頁( 共4 頁)第 4 頁( 共4 頁)