哪位51单片机大神帮我看下程序错哪里了?调试没错误,在仿真里出错了,显示有问题!

跪求大神解释,需要看代码的密我#include<reg51.h>#include<intrins.h>//头文件,其中包含空语句_nop_()函数#defineuchar... 跪求大神解释,需要看代码的密我
#include<reg51.h>
#include<intrins.h> //头文件,其中包含空语句_nop_()函数
#define uchar unsigned char
#define uint unsigned int //无符号数据类型的宏定义
#define AlarmTemper 60 //温度报警门限值定义

sbit DQ=P1^0;
sbit LED=P1^6; //位定义,其中DQ位温度芯片的输入/输出线,LED为灯光报警的控制线

uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //数码管“0~9”字符的编码
uchar temperature,ten,bits; //定义全局变量,其中 temperature存放当前获取的温度,ten存放当前温度的十位,bits存放当前温度的个位

//延时50us函数
void delay_50us(uint t) //每次50us延时,最大误差13us
{
uchar j;
for(;t>0;t--)
for(j=19;j>0;j--);
}
展开
 我来答
做而论道
高能答主

2015-04-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
应该是显示程序有错。

把显示程序,列出来看看。
更多追问追答
追问
/**********显示函数***********/
void led_disp()
{
unsigned char i,value;
for(i=0;i<4;i++)
{
P3=0xff;
value=seg_dat[disbuff[i]]; //取段码
if(i==2)
value&=0x7F; //增加显示小数点
P2=value; //送出段码
P3=bit_dat[i]; //送出位码
delay(50);
}
}
追答
void led_disp()
{
unsigned char i, value;
for(i = 0; i < 4; i++) {
value = seg_dat[disbuff[i]]; //取段码
if(i == 2) value &= 0x7F; //增加显示小数点

//P2.7 为零,小数点才发光?
//这一定是共阳的数码管

P2 = value; //送出段码
P3 = bit_dat[i]; //送出位码
delay(50);

P3 = 0; //共阳的,必须用低电平来消隐

}
}
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式