网课答案|题目:【填空题】1、 六路抢答器的控制,根据电路补充程序要求: 系统设置单片机复位按钮,主持人按复位键后,才能开始抢答,最先按下的键其键位码 (1-6) 被数码管显示出来,其他按键无效,等候主持人再次按下单片机复位键后,才能进行第二次抢答。。/*-------- 第一部分: 命令 --------*/ // 包含头文件 reg51.h /*--------- 第二部分:定义或常量 -------*/ sbit S1=P3^0;// 定义P 3.0 引脚位名称为 S1 ,注意, P3^0 必须要大写sbit S2=P3^1;sbit S3=P3^2;S4=P3^3;sbit S5=P3^4;sbit=P3^5;unsigned char k; // 定义无符号字符型变量k,保存键值unsigned char dm={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // 共阳数码管对应段码 /*------ 第三部分:函数原型申明及 -------*/ void delay( ){ while(i--);}void jsm(){ if( ) // 如果S1按下,或者S2按下,或者S3按下,或者S4按下,或者S5按下,或者S6按下 {delay(1000);// 延时去抖if(S1==0||S2==0||S3==0||S4==0||S5==0||S6==0) // 如果确实S1按下,或者S2按下,或者S3按下,或者S4按下,,或者S5按下,或者S6按下{ if( )k=1; // 如果S1按下,k赋值为1 else if(S2==0)k=2; // 如果S2按下,k赋值为2 else if(S3==0)k=3; // 如果S3按下,k赋值为3 else if(S4==0)k=4; // 如果S4按下,k赋值为4else if(S5==0)k=5; //如果 S3 按下, k 赋值为 3 else if(S6==0)k=6; // 如果S4按下,k赋值为4(S1==0||S2==0||S3==0||S4==0||S5==0||S6==0)// 查询S1是不是按下状态,或者S2按下状态,或者S3按下状态,或者S4按下状态,,或者S5按下状态,或者S6按下状态,继续查询} }}void jcl// 键处理{ // 键扫描,获取键值 if(k==1){ while(1);} //S1 键按下,数码管显示1,结束 if(k==2){P2=dm[2]; } //S2 键按下,显示2,结束 if(k==3){P2=dm[3];while(1);} //S3 键按下,显示3,结束 if(k==4){P2=dm[4];while(1);} //S4 键按下,显示4,结束if(k==5){while(1);} //S5 键按下,显示5,结束{P2=dm[6];} //S6 键按下,显示6,结束}void// 主函数{ { }|U校园刷课方法
2025-12-11 08:30:01
U校园刷课方法|【填空题】1、 六路抢答器的控制,根据电路补充程序要求:.......
11