使用8051,如何传输正确的信号并检查腻子

时间:2019-04-28 23:00:02

标签: c putty 8051

我使用KEIL软件对AT89C51ED2芯片进行编程,并使用USB端口查看通过PUTTY进行的数据传输。但是在PUTTY中,我无法获得准确的信息。

代码看起来不错,COM端口也已成功设置,电路连接没有问题,但腻子的显示有问题。

在PUTTY中,根据ASCII。输入a应该得到b。但是在这里,有q,b有r,d有t,而GPRMC有w \ SM {

UART有问题吗?或计时器?或其他...

下面有一些代码和图片

#include<reg51.h>
char uart_data;
/**
 * FUNCTION_PURPOSE: This file set up uart in mode 1 (8 bits uart) with
 * timer 1 in mode 2 (8 bits auto reload timer).
 * FUNCTION_INPUTS: void
 * FUNCTION_OUTPUTS: void
 */
void main (void)
{
PCON=0;
SCON = 0x50; /* uart in mode 1 (8 bit), REN=1 */
TMOD =  0x20 ; /* Timer 1 in mode 2 */
TH1 = 0xFD; /* 9600 Bds at 11.059MHz */
TL1 = TH1; /* 9600 Bds at 11.059MHz */
ES = 1; // Enable serial interrupt
EA = 1; /* Enable global interrupt */
TR1 = 1; /* Timer 1 run */
while(1); /* endless */
}
/**
 * FUNCTION_PURPOSE: serial interrupt, echo received data.
 * FUNCTION_INPUTS: P3.0(RXD) serial input
 * FUNCTION_OUTPUTS: P3.1(TXD) serial output
 */
void serial_IT(void) interrupt 4
{
if (RI == 1)
{ /* if reception occur */
 RI = 0; /* clear reception flag for next reception */
 uart_data = SBUF; /* Read receive data */
 SBUF = uart_data; /* Send back same data on uart*/
}
else TI = 0; /* if emission occur */
} /* clear emission flag for next emission*/

PUTTY

PUTTY

PUTTY

0 个答案:

没有答案