admin 管理员组文章数量: 887021
2024年1月25日发(作者:forever young)
(完整版)c51单片机从串口接收发送字符串
c51单片机从串口接收发送字符串
#include 〈reg52。h>
#define uchar unsigned char
#define uint unsigned int
uchar data table[10]; //暂存数组,可以将10改为你需要的数值
/***********************************************
串行口初始化波特率9600,定时器1,工作方式2 *************************************************/
void serial_init(void)
{
TMOD=0x20;//计时器1作为比特率发生器,方式2
TH1=0xfd;
TL1=0xfd; //装入初值
TR1=1;//计时中断允许
SM0=0;
SM1=1;//串行口工作于方式2
ES=1;//串行口中断允许
REN=1;//接收允许
EA=1;// 总中断允许
}
/********************* **************************
串行口传送数据
传送显示数组各字符给计算机
*************************************************/
void send(uchar *dis)
{
while(*dis!='0’)
{
SBUF=*dis;
dis++;
while(!TI);
TI=0; //软件请发送中断
}
}
void main()
{
serial_init();//初始化
while(SBUF!=0x0d);//计算机键盘按下回车键,则开始将接收到的数据回传给计算机
send(table);
}
/***********************************************
串行中断服务函数
单片机接收数据,存入table数组
(完整版)c51单片机从串口接收发送字符串
*************************************************/
void serial() interrupt 4
{
int i;
ES=0; //关串口中断
table[i++]=SBUF;//命令存到命令数组
RI=0; //软件清除接收中断
ES=1;//开串口中断
}
已经通过proteus仿真如下
版权声明:本文标题:(完整版)c51单片机从串口接收发送字符串 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706174046h502953.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论