标题:
大佬们帮我看看我做的单片机代码是否有问题
[打印本页]
作者:
大知闲闲哈哈
时间:
2023-12-12 14:58
标题:
大佬们帮我看看我做的单片机代码是否有问题
本人初学者
大佬们帮我看看我做的代码是否有问题
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x8c};
sbit alarm=P3^0;
sbit res=P3^7;
void main()
{
uchar temp,key,a;
key=16;
alarm=1;
P1=seg[key];
P2=seg[key];
while(1){
lop:
if(res==0) alarm=1;
if(alarm==1){
temp=P0;
}
else goto lop;
switch(temp){
case 0xfe:
key=1;
a=1;
alarm=0;
break;
case 0xfd:
key=2;
a=2;
alarm=0;
break;
case 0xfb:
key=3;
a=3;
alarm=0;
break;
case 0xf7:
key=4;
a=4;
alarm=0;
break;
case 0xef:
key=5;
a=5;
alarm=0;
break;
case 0xdf:
key=6;
a=6;
alarm=0;
break;
case 0xbf:
key=7;
a=7;
alarm=0;
break;
case 0x7f:
key=8;
a=8;
alarm=0;
break;
default:
key=16;
alarm=1;
}
P1=seg[key];
if(res==0){
P2=seg[a];
}
}
}
复制代码
屏幕截图 2023-12-12 145050.png
(54.29 KB, 下载次数: 69)
下载附件
2023-12-12 14:51 上传
作者:
clyf
时间:
2023-12-12 19:30
这是一个基于8051单片机的简单程序,逻辑上没有明显的错误,但是电路图我看不懂,所以只能说代码没啥问题。硬件检查检查吧
作者:
fj51hei
时间:
2023-12-12 20:13
这个显示程序刷新速度很快,会看不到吗?
作者:
lkc8210
时间:
2023-12-13 09:22
看得出来是抢答器
P1是显示谁按下
P2不知到用来干啥
代码逻辑不合理
没有互锁逻辑
多于一个按下都会显示P
没有重置代码
alarm不会归零
作者:
lanlazy2
时间:
2023-12-14 14:02
应该没什么问题
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1