初级会员
- 积分
- 127
- 金钱
- 127
- 注册时间
- 2016-5-23
- 在线时间
- 14 小时
|
3金钱
问题如下
结果如下
波特率神马的都没有问题 关键就是序号返回的都是乱码 标准答案也不对
标准答案如下
#include<reg52.h>
unsigned char flag,a,num,num1;
sbit beep=P2^3;
void main()
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xf4;
TL1=0xf4;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
num1++;
if(num1==255)
num1=0;
SBUF=num1;
while(!TI);
TI=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
以下是我的程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
void init()
{
TMOD=0x20;
TH1=0xf4;
TL1=0xf4;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
void main()
{
init();
for(i=0;i<256;i++)
{
if(flag==1)
{
ES=0;
SBUF=str;
if(i==256)
{
i=1;
}
while(!TI);
TI=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
|
|