问题 11.0592MHZ 51单片机 和 MAX232
1 MAX232我按照电路和单片机接好后 加5V后 在输出那测得是17V 不是12V 怎么会高这么多 我用的103电容网上说104和103都可以
2 用串口调试助手测试
代码是我在网上找的测试程序 修改了一下
// 单片机串行口发送/接收程序,每接收到字节即发送出去
// 和微机相接后键入的字符回显示在屏幕上
// 可用此程序测试
//
#include <reg51.h>
#include <stdio.h>
#define XTAL 11059200 // CUP 晶振频率
#define baudrate 9600 // 通信波特率
void main(void)
{
unsigned char c;
TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate)));
TL1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate))); // 定时器0赋初值
SCON = 0x50;
PCON = 0x00;
TR1 = 1;
IE = 0x00; // 禁止任何中断
while(1)
{
while(RI == 0);
RI = 0;
c = SBUF; // 从缓冲区中把接收的字符放入c中
SBUF = c; // 要发送的字符放入缓冲区
while(TI == 0);
TI = 0;
}
pritnf("the number\n");
}
我加入 pritnf("the number\n") 输出语句
上电后不显示the number 为什么
在软件设置的是 9600的波特率 8位
我分别用两个版本的助手软件 当发送时
其中一个 会显示 S 3 R 3
另一个 显示 S 0 R 0
这表示什么啊
是没有联机 没有数据通信
3 用软件搜索到有时有 COM1 COM2 COM3
有时只有 COM1 COM2
不知道怎么确定是哪个串口
问题比较多 希望有好心人能帮我解答 |