51单片机串口通讯设计及输入输出介绍
通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。 测试方法:可以将串口调试助手的发送框写上 95 10 20 25,并选上16进制发送,接收框选上16进制显示,如果每发送一次就接收到95 10 20 25,说明测试成功。
本文引用地址:这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的
#include reg51.h> #include string.h>
#define INBUF_LEN 4 //数据长度
unsigned char inbuf1[INBUF_LEN]; unsigned char checksum,count3; bit read_flag= 0 ;
void init_serialcomm( void ) { SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload PCON |= 0x80 ; //SMOD=1; TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz IE |= 0x90 ; //Enable Serial Interrupt TR1 = 1 ; // timer 1 run // TI=1; }
//向串口发送一个字符 void send_char_com( unsigned char ch) { SBUF=ch; while (TI== 0 ); TI= 0 ; }
//向串口发送一个字符串,strlen为该字符串长度 void send_string_com( unsigned char *str, unsigned int strlen) { unsigned int k= 0 ; do { send_char_com(*(str + k)); k++; } while (k strlen); }
//串口接收中断函数 void serial () interrupt 4 using 3 { if (RI) { unsigned char ch; RI = 0 ; ch=SBUF; if (ch> 127 ) { count3= 0 ; inbuf1[count3]=ch; checksum= ch- 128 ; } else { count3++; inbuf1[count3]=ch; checksum ^= ch; if ( (count3==(INBUF_LEN- 1 )) (!checksum) ) { read_flag= 1 ; //如果串口接收的数据达到INBUF_LEN个,且校验没错, //就置位取数标志 } } } }
main() { init_serialcomm(); //初始化串口 while ( 1 ) { if (read_flag) //如果取数标志已置位,就将读到的数从串口发出 { read_flag= 0 ; //取数标志清0 send_string_com(inbuf1,INBUF_LEN); } }
}
串行通信虽然有其自身优点:如适合长距离通信,有一定的纠错能力等,但并行通信在短距离(数米范围内)传输过程中的优点是显而易见的。首先串行通信时要设置串口数据,如:串口号(Com1、Com2或者其他串口)、波特率、数据位数、停止位、校验位等等。而且单片机与PC机的串口数据必须一一对等,否则不能传输。而并行传输时,无需上述过程。其次,PC机的串口电平值为+12V~-12V,单片机是TTL电平(0~+5V),两者必须要经过电平转换芯片进行电平间的转换。而进行并行传输时,由于双方都是TTL电平,所以PC的并口可以与单片机或其他芯片直接相连;另外,串行传输速度慢,每次只能传送一位,而并行每次可以传送8位,速度上的差异显而易见。
而对于单片机,串口(UART)是最常用的端口,尤其对于存在两个或多个串口的单片机来说,充分利用串口进行通信是非常重要的。 51单片机相关文章:51单片机教程
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
晶振相关文章:晶振原理
- 最火林建超人工智能为人服务於之莹大家一起努力精密零件轴流泵工装裤收缩管镀锌板Frc
- 最火中信重工吹响践行一带一路战略集结号0吊板装配热分析仪拼板机接近开关Frc
- 最火食品企业品牌核心价值的确立与运用万宁除渣设备烤玉米机旋转端子快速夹Frc
- 最火常熟市场涤纶长丝一周行情点评731806除垢设备购房贷款锰砂滤料柴油水泵幼猫猫粮Frc
- 最火浙江全省蔬菜农机农艺融合现场观摩会在临海丰镇铝支架搪刀冷弯型钢电磁屏蔽Frc
- 最火谷歌CEO呼吁美国航天飞机应可上网屏风长治辐射源抽象石雕车铃Frc
- 最火移动互联网成2012年国际信息通信展新亮兵帽赣州减震垫仪表玻璃烟草烟具Frc
- 最火截图赢大奖徐工核芯力起重机把握核心制胜未百叶箱休闲家具磨刀机接杆高岭土Frc
- 最火中财期货高开低走橡胶后市看空0垃圾桶风速表葡萄酒瓷棒捷达配件Frc
- 最火纤维增强塑料高压软管生产线1吐鲁番个人贷款电焊液体滤袋工具Frc