求一个51单片机通信程序,,

我想达到的目的:
使用51单片机向上位机发送数据
在按下KEY3按键的情况下。
发送01 02 03 04 05 06;一共6个字符串(不知道说的对不对)。间隔9s
再发送 FF E4 FF 02 02 E4。
程序如何写。我非常小白越详细越好。希望每句都加上注释;;谢谢万分感谢!!另外最好能推荐一个学习单片机的论坛。。

你好!!

    给你一个单片机和上位机的基本通信例子,你试试吧,希望能帮到你


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-22
/********************************/
#include <REG52.H>
#include <intrins.h>

void InitUART() //串口初始化 波特率9600 ,晶振11.0592MHZ 只发送,不接收
{
TMOD = 0x20;
SCON = 0x40;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
TR1 = 1;
}
void SendOneByte(unsigned char senddat) //串口8位数据(一个字节)发送 函数
{

SBUF = senddat;
while(!TI);
TI = 0;
}
void main()
{

InitUART(); //串口初始化
SendOneByte(0x01);
SendOneByte(0x02);
SendOneByte(0x03);
SendOneByte(0x04);
SendOneByte(0x05);
SendOneByte(0x06);
//这里插入延时9秒函数(自己写吧,很容易的)
SendOneByte(0xFF); //发送FF
SendOneByte(0xE4); //发送E4
SendOneByte(0xFF); //发送FF
SendOneByte(0x02); //发送02
SendOneByte(0x02); //发送02
SendOneByte(0xE4); //发送E4
while(1); //停止

}本回答被提问者采纳
相似回答