单片机与PC机的串口通信 - 毕业论文(6)
PC机与MCS-51单片机的串口通信
接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。
MCS-51单片机串行口寄存器结构如图5-3所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据。而从接收缓冲器读出数据即可接收数据。
此外,从图5-3中可看出,接收缓冲器前还加上一级输入移位寄存器,MCS-51这种结构目的在于接收数据时避免发生数据帧重叠现象,以免出错,部分文献称这种结构为双缓冲器结构。而发送数据时就不需要这样设置,因为发送时,CPU是主动的,不可能出现这种现象。
图5-3 MCS-51串行口寄存器结构
1、波特率的设置
要实现单片机与PC机的串行通信,双方的波特率必须一致.PC机串行通信的波特率参数通常为一些标准的参数,可直接使用.因此实现MCS--51单片机和PC机的串行通信时,选择MCS—51单片机串行通信的波特率至关重要.
波特率根据串行口的工作方式不同而不同: (1) 方式0波特率
串行口方式0的波特率由振荡器的频率所确定:
方式0波特率=振荡器频率/12 (2) 方式2波特率
串行口方式2的波特率由振荡器的频率和SMOD(PCON.7)所确定:
SMOD为0时,波特率等于振荡器频率的六十四分之一;SMOD为1时,波特率
第 26 页 (共 43 页)
串行口通信技术
等于振荡器的三十二分之一。
(3) 方式1和方式3的波特率
串行口方式1和方式3的波特率由定时器T1或T2(8051等单片机)的溢出率和SMOD所确定。T1和T2是可编程的,可以选的波特率范围比较大,因此串串行口方式1和方式3是最常用的方式。
当定时器T1作为串行口的波特率发生器时,串行口方式1和方式3的波特率由下式确定:
方式1和方式3波特率=2SMOD*(T1溢出率)/32
SMOD为0时,波特率竽T1溢出三十分之一;SMOD为1时,波特率等于T1的六十四分之一。
定时器T1作为时,应禁止T1中断。通常T1工作于定时方式(C/T=0),计数脉冲为振荡器的十二分频信号。也可以选择外部T1(P3.5)上输入脉冲作为T1计数信号(C/T=1)。T1的溢出率又和它的工作方式有关,一般选方式2定时,此时波特率的计算公式为:
方式1和方式3波特率=2SMOD*Fosc/[32*12(256-(TH1))]
表4-1 常用波特率 波特率(b/s) 19.2K 9600 4800 2400 1200 Fosc(mhz) 11.0592 11.0592 11.0592 11.0592 11.0592 SMOD 1 0 0 0 0
注:定时器T1作波特率发生器,所以在程序设计时要注意到禁止T1中断 2、串行通信控制寄存器SCON
C/T 0 0 0 0 0 模式 2 2 2 2 2 初值 FDH FDH FAH F4H E8H SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:
第 27 页 (共 43 页)
PC机与MCS-51单片机的串口通信
表4-2 SCON寄存器结构 SCON D7 SM0 位地址
3、电源管理寄存器PCON
9FH D6 SM1 9EH D5 SM2 8DH D4 REN 9CH D3 TB8 9BH D2 RB8 9AH D1 TI 99H D0 RI 98H PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:
表4-3 PCON电源管理寄存器结构 PCON 位符号
D7 SMOD D6 - D5 - D4 - D3 GF1 D2 GF0 D1 PD D0 IDL 在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。
4、中断允许寄存器IE
中断允许寄存器在前一节中已阐述,这里重述一下对串行口有影响的位ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。
表4-4 IE中断允许控制寄存器结构 位符号 位地址 EA AFH - AEH - ADH ES ACH ET1 ABH EX1 AAH ET0 A9H EX0 A8H 5.2 PC机串口通信技术
PC机串行通信接口设计是整个PC机部分的重点,在本章节中将详细分析串口的设计问题。
1. 通信芯片的选择
由于RS-232C的逻辑电平兼容,因此为了TTL器件连接,必须进行电平转换。MC1488和MC1489是RC-232C通信接口常用的集成电路转换芯片,但他们是两个独立的驱动器和发送芯片,而且MC1488驱动器还需要外接正负电源,很不方便。目
第 28 页 (共 43 页)
串行口通信技术
前市场上出现了一些新型的RS-232C电平转换芯片MAXIM系列的产品,AXIM公司生产的MAX系列RS-232C收发器芯片。
2. 波特率设置
PC机的波特率必须和单片机相匹配,所以只要单片机的波特率定了,PC机只要设置一下即可。
3、串行口工作方式的选择
为了确保数据传输无误,采用软件握手的方式。即发送方给接收方传送的一个数据,接收方收到后再将这个数据发送回来,发送方将两个数据比较,若二者相同则表示传输无误,接着传送下一个数据。所以不需要奇偶校验,因此选择串行口方式一工作即传输数据的格式为1位起始位,8位数据位,1位停止位。
4、VB串口Mscomm控件
VB提供了串行端口控制Mscomm来为应用程序提供串行通讯。该控件屏蔽了通信过程中的底层操作,程序员可以设置、监视Mscomm控件的属性和事件,结合Timer控件即可完成对串行口的初始化和数据的输入输出工作。Mscomm控件的主要属性如下:
(1)Commport 设置并返回通讯端口号。端口号可以设置为1~16的任何数,如Mscomm.Commport=2表示设置当前通讯端口为COM2。
(2)Setting 设置并返回波特率、奇偶校验、数据位、停止位。格式为Mscomm.Setting=String。String是一个包含四部分的字符串:第一部分为波特率;第二部分为奇偶校验,N表示不校验,M表示符号校验,E表示偶校验,O表示奇校验,S表示空格校验;第三部分为数据位数,其可选值为4,5,6,7,8;第四部分为停止位位数,其可选值为1,1.5,2。Setting属性的缺省值为2400,N,8,1”。
(3)Portopen 设置并返回通讯端口的状态,也可以打开和关闭端口。 (4)Input 从接收缓冲区返回和删除字符。该属性在运行时为只读。
(5)InputLen 设置并返回每次Input属性从接收缓冲区中读取的字符数。InputLen属性的缺省值为0。设置InputLen为0时,Input将读取接收缓冲区的全部字符。
(6)Output 向传送缓冲区写数据。要传送的数据可是文本数据或二进制数据。 (7)CommEvent 返回最近的通讯事件或错误。只要有通讯错误或事件发生错误时就会产生Oncomm事件。CommEvent属性中存有该错误或事件的数值代码。
6 软件设计
第 29 页 (共 43 页)
PC机与MCS-51单片机的串口通信
PC机与单片机间的通信,特别是PC机和多台单片机构成小型分布系统实现
分级分布式控制得到了广泛的应用。本章阐述PC机与AT89C51间的双机通信的汇编语言和Visual Basic 语言通信程序设计技术。
软件需要解决的是设定PC机串口和单片机串行口的工作方式,包括串行口的通讯速率、奇偶校验位、停止位等。本次设计,以PC机为主机,单片机AT89C51作 …… 此处隐藏:2069字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




