智慧职教: 假定单片机系统晶振频率12MHz,P0口和P2口分别连接了一个共阳极数码管的8个段选引脚,两个数码管的公共端直接接+5V,请问对下面程序的功能描述正确的是哪一个选项。 #include
void time() { unsigned char i; for(i=0;i<20;i++){ TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(!TF0); TF0=0; } } unsigned char led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void main() { unsigned char miao; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; while(1) { for(miao=0;miao<100;miao++) { P0=led[miao/10]; P2=led[miao%10]; time(); } } }
void time() { unsigned char i; for(i=0;i<20;i++){ TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(!TF0); TF0=0; } } unsigned char led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void main() { unsigned char miao; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; while(1) { for(miao=0;miao<100;miao++) { P0=led[miao/10]; P2=led[miao%10]; time(); } } }
举一反三
- 智慧职教: 在单片机P0口连接了8个LED,I/O口线低电平时点亮相应LED。请问下面程序的功能是哪一个。 #include #define uchar unsigned char #define uint unsigned int #define LED P0 #define TIME 40000 void delay(uint i) { while(i--); } void main() { uchar i; while(1) { for(i=0;i<=7;i++) { LED=~((0x01<>i)); delay(TIME); } } }
- #include void main() { int i=0,x=0,y=0; do{ ++i; if(i%2!=0){x=x+i;i++;} y=y+i++; }while(i<=7); cout<<“x=”< x=1 y=20
- 程序填空题 在下面 【?】处填入正确语句,去掉 【?】后,调试c程序,调试成功后,将 【?】处的正确语句分别填入答案空格中。 以下程序的功能是建立一个如下的二维数组,并按以下格式输出。请填空。 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 #include void main() { int c[5][5]={0},*p[5],i,j; for(i=0;i<5;i++) /***********SPACE***********/ p[i]=【?】; for(i=0;i<5;i++) { /***********SPACE***********/ *(p[i]+i)=【?】; /***********SPACE***********/ *(p[i]+5-(【?】))=1; } for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%2d",p[i][j]); /***********SPACE***********/ putchar('【?】'); } }
- 以下程序若运行时输入:246 ,结果是。 main() {int x[3][2]={0},i; for(i=0;i<3;i++) scanf("%d",&x[i]); printf("%3d%3d%3d ",x[0][0],x[0][1],x[1][0]); }
- TH0=(65536-50000)/256; TL0=(65536-50000)%256;这句话是设置定时器初值,设置完后,定时器的值将会从0加到所设置的初值。以上说法是否正确