AT89C51单片机8路抢答器C语言代码怎么写,急用,谢谢了

根据这个仿真电路图来写,你之前写过的那个代码好像不能运行。... 根据这个仿真电路图来写,你之前写过的那个代码好像不能运行。 展开
 我来答
专注51单片机
2018-06-06 · TA获得超过809个赞
知道小有建树答主
回答量:1150
采纳率:58%
帮助的人:228万
展开全部
这个代码没有问题,我仿真过:
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbit rstkey=P2^2;
sbit speaker=P2^0;
void delay()//延时约400毫秒
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<250;j++);
}
main()
{
uchar i,key;
P2=0xff;
while(1)
{
i=0;
P1=table[i];
while(1)
{
key=P3;
if(key!=0)break;
}
switch(key)
{
case 0x01:i=1;break;
case 0x02:i=2;break;
case 0x04:i=3;break;
case 0x08:i=4;break;
case 0x10:i=5;break;
case 0x20:i=6;break;
case 0x40:i=7;break;
case 0x80:i=8;break;
default:break;
}
P1=table[i];//显示按下抢答器的号
P0=key;//显示按下键号的LED
while(1)
{
if(rstkey==0)break;//主持人按下复位键则重新开始
speaker=~speaker;//否则蜂鸣器报警
delay();
}
}
}
追问
能帮忙标注一下各行代码的注释吗,谢谢啦
zhxiufan
2018-06-07 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38385
国家科技进步奖

向TA提问 私信TA
展开全部

可以编译的,仿真也没有问题。

更多追问追答
追问
keil的打开过程是?要设置keil的参数吗
追答
keil 使用,当人先建立一个工程,再添加源程序,编译和调试。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式