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

或数据。请大侠帮忙写个串口程序!具体硬件怎样连接... 或数据。请大侠帮忙写个串口程序! 具体硬件怎样连接 展开
 我来答
wjk_31057
2012-10-30 · TA获得超过578个赞
知道小有建树答主
回答量:139
采纳率:90%
帮助的人:19.4万
展开全部
硬件怎样连接?
晕--不是说开发板吗?直接用一根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[]={??????????}要发送什么字符!
个人觉得没问题了!
睡觉前临时给你写的-
不行的话--明天有空再帮你看看!
斩丨我了个去
2012-10-30 · 超过18用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:50.9万
展开全部
单片机的RX,TX脚接232芯片,然后芯片接串口线出来到PC机的DB9口,com1,如果没DB9,那就只能接usb转串口了。
程序就简单了。具体针对芯片。PC机有自带的超级终端可以用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式