• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

用串口给单片机发数据,怎么发送的数据无法修改产生的波形,

hehexi 2019-12-06 浏览量:481
请大家帮忙看看有什么问题?
#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int
sbit test = P1^0;
uchar x;//256时100Hz;1时24.25KHz;
uint H,L;
uchar  flag;
void Initurat()  
{
TMOD=0X20;
TH0 = 0Xfd;
TL0 = 0Xfd;
TR1 = 1;

SM0=0;
SM1=1;
REN=1;
PCON|=0x00;//SMOD=0;
EA = 1;
ES = 1;
}
void receive()  interrupt 4
{
if(RI)
{
  RI = 0;
  x = SBUF;
  ES = 0;
  flag = 1;
}
}
void init()
{
EA = 1;
ET1 = 1;
TMOD=0x10;
x = 65536 - x*18;
H = x / 256;
L = x % 256;
TH1 = H;
TL1 = L;
TR1 = 1;
}
main()
{
init();
while(1);
}
void interrupt_() interrupt 3
{
TH1 = H;
TL1 = L;
P1 = ~P1;
IE1 = 0;
}
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:4
  • 数据是与波形相关的,如果波形没有变化,那么是你的数据没有发出来,或是发的数据被修改了,

  • 这种最好在硬件调试环境下面查看,看串口相关的寄存器是否确实改变了

  • 是波形是表示数据的传输,你这种情况对应的数据没有更改,到时波形是没有变化的

  • 你的波形是没有变化,表示你的数据根本就没有改变,还是得检查你的数据的问题

相关问题

问题达人换一批

用串口给单片机发数据,怎么发送的数据无法修改产生的波形,