使用51单片机,用串口向PC机发送一个字符。要求:把串口的程序下载到开发板后可以向PC机发送字符

或数据。请大侠帮忙写个串口程序! 具体硬件怎样连接

硬件怎样连接?
晕--不是说开发板吗?直接用一根USB转串口-
USB接电脑PC,COM也就是串口接51开发板的串口,假如你的开发板没有串口的话---
(一般板子都有的)实在没有的话 就另请高手帮你连了--
-
接好硬件以后---需要准备一个串口调试工具,下载安装到电脑里,很简单,很好用的!
-
软件嘛?有点困了,想睡觉--就随便给你提个方向--
明天要是还没人帮你回答的话,再说了!
首先 你要把波特率计算好--(如何计算,看书总会吧?)
然后在电脑里也把串口调试工具的波特率字样 改为你想要的值 一般都是 115200或者9600,
然后在串口调试工具里选择COM1或者2或者11或者等等,看看哪个串口有空!
-
PC机准备工作才算完毕-
-
然后到单片机 开发板了--
串口程序--
不知道你用的是51哪个芯片--
确定以后就去看串口的寄存器叫什么 比如叫 SBUF0
主程序-
int fasong[]; //用来装你准备发送的字符
int *p; //指针,如果不熟悉的话,回头再帮你改成不用指针的。

void main()
{
p=fasong; //指针指向要发送的数组。
EA=1; //打开总中断。
ES=1; //打开串行中断。
Timer_init(); // 定时器初始化,设置波特率,选择定时器。
TR0=1; //定时器开始工作。
SBUF0=fasong; //发送字符。
while(1);
}
定时器初始化Timer_init()
具体看什么51型号芯片,还有开发板使用的晶振频率-
没办法帮你写!
-
然后程序就这样写中断程序-
void Fasong() interrupt 4
{
RI=0; //清除中断标志。
TI=0; //清除发送完成标志
SBUF0=fasong++;
}

如果不懂指针的-就不用指针-
void Fasong() interrupt 4
{
int ax=0; //假设你要发送5个字符。
TI=0;
RI=0;
SBUF0=fasong[ax++];
if(ax>5) ax=0;
}
-
大致就这样了----你只要写一点点的 定时器初始化程序,个人觉得应该可以用了!
还有 你把数组fasong[]={??????????}要发送什么字符!
个人觉得没问题了!
睡觉前临时给你写的-
不行的话--明天有空再帮你看看!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-30
单片机的RX,TX脚接232芯片,然后芯片接串口线出来到PC机的DB9口,com1,如果没DB9,那就只能接usb转串口了。
程序就简单了。具体针对芯片。PC机有自带的超级终端可以用。
相似回答