- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单片机串口通讯的实现【荐】.doc
基于单片机的数据串口通讯的实现
华北理工大学轻工学院 张金言
【摘要】基于串口通信的原理,分析和讨论了计算机与单片机进行通讯的协议。重点研究了计算机端与单片机端的程序设计方法,提出了一种利用C语言实现串口通讯的程序思路。要制定合理的通讯协议,串行口的软件编程的关键在于通信格式与波特率的设定。实验证明该设计方法简单方便,系统运行稳定可靠。
【关键字】 串口通讯;单片机;程序设计
Serial data communication based on single chip
Qing Gong college north CHINA university of science and technology
Zhang Jin Yan
Abstract
Based on the principle of serial communication, this paper analysed and discussed the communication agreement computer and monolithic machine. Studied programming method of the computer and monolithic priority, proposed a method used for program design of serial communication between computer and monolithic machine using C Builder. Communication protocol to establish reasonable, key serial port software programming in the communication format and baud rate setting. Experiment proved that the design method is simple and system operation is stable and reliable.
Keyword: serial communication; single chip microcomputer; program design
1 串口通讯的选择
串行通讯的标准接口存在很多种,如RS-232,RS-485,USB接口,IEEE-1394等,它们各有特点,应用的领域也各有侧重。RS-485在传输数据的时候抗噪声干扰的能力较强,常用于工业生产领域;USB接口和IEEE-1394传输速度较快,而且USB接口尤为常见,所以本次实验利用USB进行端口通讯最为合适。
2 串口串行通讯的含义
单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,通常单片机与计算机之间的通信较多。通信有并行和串行两种方式。在单片机系统以及现代单片机测控系统中,信息交换多采用串行通信方式。
串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。其特点是传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。
3 80C51的串行口结构
有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。
4串口通讯的程序设计
串行通讯程序设计包括三方面,一方面是单片机的通信程序,另一方面是计算机的通信程序,从外为了保证通信数据的可靠性,在编写程序前,还要为双方制定通信协议。
在此只讨论单片机的通信程序
以下方程序为例
此程序为: 计算机输入一个个位数给单片机,单片机输出输出这个数并输出加减乘除中任意一个符号,然后计算机输入另一个数给单片机,单片机输出这个数,等于号以及两数计算的结果。
#includereg52.h
#includestdlib.h //包含产生随机数函数的头文件
#define uint8 unsigned char
#define uint16 unsigned int
#define int8 char
#define plus 43 //定义需要用到的字符的ASCII码
#define minus 45
#define times 42
#define divide 47
#define equal 61
#define E 69
#define R 82
uint8 orgnum[2]; //储存两次输入的值
uint8 X; //储存
void Init(void);
void main(
文档评论(0)