怎样在单片机中通过串口向上位机传递数据
我用以下程序但是始终达不到理想效果,我想让他输出序号和输入的数据,但输出的是一些字符和输入的数据#include<reg52.h>#defineucharunsigned...
我用以下程序但是始终达不到理想效果,我想让他输出序号和输入的数据,但输出的是一些字符和输入的数据
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a,flag,shi,bai,ge;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
int i=0;
void init()
{
TMOD=0X20;
TH1=0XF4;
TL1=0XF4;
TR1=1;
EA=1;
ES=1;
SM0=0;
SM1=1;
REN=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
SBUF=table[bai];
while(!TI);
TI=0;
SBUF=table[shi];
while(!TI);
TI=0;
SBUF=table[ge];
while(!TI);
TI=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
i++;
a=SBUF;
bai=a/100;
shi=a%100/10;
ge=a%10;
flag=1;
} 展开
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a,flag,shi,bai,ge;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
int i=0;
void init()
{
TMOD=0X20;
TH1=0XF4;
TL1=0XF4;
TR1=1;
EA=1;
ES=1;
SM0=0;
SM1=1;
REN=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
SBUF=table[bai];
while(!TI);
TI=0;
SBUF=table[shi];
while(!TI);
TI=0;
SBUF=table[ge];
while(!TI);
TI=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
i++;
a=SBUF;
bai=a/100;
shi=a%100/10;
ge=a%10;
flag=1;
} 展开
2011-08-08
展开全部
建议 去 我的领地 5d6d 的 proteus 论坛看看
那里有很多 单片机仿真实例,包括proteus 仿真图 和 源码
那里有很多 单片机仿真实例,包括proteus 仿真图 和 源码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询