电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2622|回复: 4
收起左侧

求助一个关于51单片机的C语言程序

[复制链接]

598

主题

943

帖子

5138

积分

四级会员

Rank: 4

积分
5138
发表于 2022-8-1 15:09:37 | 显示全部楼层 |阅读模式
求助一个程序
程序要求是,一个用AT89x51单片机控制利用霍尔传感器测电机转速,然后将数据发送给
数码管。大体程序已经完成,但是,一直用KEIL调试不成,烧到单片机里无法操作。可能其中有些许错误,希望有这方面的大神对小弟小小的指导一下。


#include"at89x51.h"
#define uint unsigned int
#define uchar unsigned char
uchar code duanma[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管
uchar code zifu[9]={"zhuansu= "}; //转速字符空格
uchar code enter[] = {"/n"}; //换行字符 uint fan100;//转速值
uchar fan[3];//存转速的百十个位
uint count;
uint T0count;//进入T0的中断次数
void delay_ms(uint z)
{
uint x,y; //延时程序
for(x=z;x>0;x--)
for(y=240;y>0;y--);
}
void init_es (void)//初始化串口
{
SCON=0x40; //方式1
TH1 = 0xfd; //晶振11.059 波特率9600
TL1 = 0xfd;
TMOD= 0X20;
TR1 =1;
} void init_T0(void) //初始化定时器
{
TMOD = 0x21;
TH0 = 0X3c;
TL0 = 0Xb0;
} void display_LED(void) //数码管动态显示
{
P0=0x01;
P1=duanma[fan[0]];
delay_ms(100);
P0= 0x20;
P1=duanma[fan[1]];
delay_ms(100);
P0=0x40;
P1=duanma[fan[2]];
delay_ms(100);
} void sent_es(void) //串口发送函数
{
uchar ii;
for(ii=0;ii<9;ii++)
{ SBUF =zifu[ii];
while(RI==0);
RI=0;

回复

使用道具 举报

600

主题

954

帖子

5061

积分

四级会员

Rank: 4

积分
5061
发表于 2022-8-1 15:10:24 | 显示全部楼层
}
for(ii=0;ii<3;ii++) //再发送百位
{ SBUF =fan[ii]+0x30;
while(RI==0);
RI=0;
} //等待发送完毕 for(ii=0;ii<2;ii++) //再发送十位
{ SBUF =fan[ii]+0x30;
while(RI==0);
RI=0;
} //等待发送完毕 for(ii=0;ii<1;ii++) //再发送个位
{ SBUF =fan[ii]+0x30;
while(RI==0);
RI=0;
} //等待发送完毕 for(ii=0;ii<2;ii++) //发送换行
{ SBUF =enter[ii];
while(RI==0);
RI=0;
} //等待发送完毕
} /* 主函数*/
void main()
{ count =0; //初始化
init_es ();
init_T0();
T0count=0;
IP= 2 ; //INT0的优先级最低
IE = 0X83; //开中断
IT0=1;
while(1)
{ display_LED(); // 无限循坏数码管 等待中断发生
}
}
/*串口*/
void int0interrupt(void) interrupt 0
{
count++;
}
void T0interrupt(void) interrupt 1
{
TH0 = 0x3c ;
TL0 = 0xb0 ;
T0count++;
if(T0count>20 )
{ T0count=0;
fan100=count;
count=0;
fan[0] = fan100/100;
fan[1] = (fan100%100)/10;
fan[2] = fan100%10;
sent_es();
}
}
回复 支持 反对

使用道具 举报

600

主题

954

帖子

5061

积分

四级会员

Rank: 4

积分
5061
发表于 2022-8-1 15:11:21 | 显示全部楼层
现在在外面,没电脑帮你看,帮你顶个
回复 支持 反对

使用道具 举报

578

主题

858

帖子

4821

积分

四级会员

Rank: 4

积分
4821
发表于 2022-8-1 15:11:28 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

591

主题

1772

帖子

5770

积分

四级会员

Rank: 4

积分
5770
发表于 2022-8-1 15:12:22 | 显示全部楼层
把keil报错发出来,这个一般人都会略过没空一行一行看给你回复,把报错的发出来快速定位错误,回复的概率高点
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表