单片机的 P34、P35、P36、P37口分别接LED1、LED2、LED3、LED4, 输出低电平点亮LED灯,P20、P21口分别接按键K1、K2,按键按下输入单片机为低电平,程序如下: #include<reg52.h> sbit K1=P2^0; sbit K2=P2^1; bit flag_add=0,flag_rdu=0; void Delay10ms(unsigned char i) //@11.0592MHz { unsigned char j; i =i* 18;j = 235; do{ while (--j); } while (--i); } void main() { char i=0; while(1) { if(K1==0) { flag_add=1;flag_rdu=0; } if(K2==0) { flag_add=0;flag_rdu=1; } if(flag_add)i++; if(flag_rdu)i--; Delay10ms(10); P3=~(i<<4); if(i>=16)i=0; if(i<0)i=15; }> A、按下K1后,4个LED组成0-15的自动减法计数器;
B、按下K1后,4个LED组成0-15的自动加法计数器;
C、按下K2后,4个LED组成0-15的自动减法计数器;
D、在无按键按下的情况下,4个灯全灭。
单片机的P34、P35、P36、P37口分别接LED1、LED2、LED3、LED4,输出低电平点亮LED灯, P32口接按键K1,按键按下时单片机输入低电平,程序如下: #include <reg51.h> unsigned char key = 0; void main(void ) { char map0[4] = { 0x7f, 0xbf, 0xdf,0xef }; //LED状态数据 char map1[2] = { 0x3f, 0xcf }; //LED状态数据 unsigned char i = 0; int j = 0; IT0 = 1; EX0 = 1; EA = 1; while (1 ) { i ++; switch (key ) { case 0: {P3 = map0[i % 4 ]; break;} case 1: {P3 = map1[i % 2 ]; break; } } for (j = 0; j < 0x4000; j ++ ); } } void int0(void ) interrupt 0 using 0 { key ++; if(key==2)key=0; }
A、初始状态,4个LED轮流亮灭;
B、第1次按键,P34、P35的2个LED和P36、P37的2个LED轮流亮灭;
C、第2次按键,4个LED轮流亮灭
D、第3次按键,P34、P35的2个LED和P36、P37的2个LED轮流亮灭。
A.在无按键按下的情况下,初始界面为2个LED灭;
B.K1按下,LED1亮;
C.K2按下,LED1亮;
D.K2按下,LED1与LED2全亮。
B.内容环节
C.结课环节
D.反思环节
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!