免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 PC 机与机与 AT89C51 单片机的串行通信系统设计单片机的串行通信系统设计 史志举 胡波 李杰 河海大学信息学院 江苏常州 213022 E mail szj0701 摘摘 要 要 本文介绍了应用 AT89C51 单片机与 PC 机进行串行通信的软 硬件设计方法和实 现过程 PC 机将需要传输的数据通过串行口传送给单片机 单片机接收并在 LCD 上显示接 收的数据 系统采用 MAX232 芯片实现 RS232 的 EIA 电平与单片机 TTL 电平的转换 并采 用 1602 液晶显示 关键词 关键词 AT89C51 串行通信 接收 MAX232 1 引言 引言 近年来随着电子计算机技术的广泛应用 数据的采集和通讯越来越多地受到人们的关 注 数据的采集和通讯过程就是数据的 A D 转换 传递和处理的过程 本文主要讨论单片 机 下位机 与 PC 机 上位机 之间的数据传输 单片机接收数据并且在 LCD 上显示接收结果 2 系统介绍 系统介绍 本系统的结构框图如图 1 PC 机将数据通过异步串行口 RS232 传输到单片 AT89C51 单片机再把数据显示在 LCD 上 使得用户可以很明确的知道接收过程 接下来详细介绍系 统的串口接收软 硬件设计 图 1 系统的结构框图 3 串口接收软 硬件设计 串口接收软 硬件设计 AT89C51 单片机上有一个通用异步接收 发送器 UART 通过引脚 RXD 和 TXD 可与 外部电路进行全双工的串行异步通信 发送数据时由 TXD 端送出 接收时数据由 RXD 端 输入 由于 PC 机串口 RS232 采用负逻辑电平 即逻辑 1 515 V 逻辑 0 515 V 而单片机的 TTL 电平的 1 和 0 分别为2 45 V 和00 4 V 本系统的串口硬件电路主 要采用 MAXIM 公司生产的 MAX232 实现电平间的转换 3 1 串口硬件设计串口硬件设计 MAX232 是由德州仪器公司 TI 推出的一款兼容 RS232 标准的芯片 使用 5v 单电源 供电 该器件包含 2 驱动器 2 接收器和一个电压发生器电路提供 TIA EIA 232 F 电平 该 PC 机 AT89C51 LCD 2 器件符合 TIA EIA 232 F 标准 每一个接收器将 TIA EIA 232 F 电平转换成 5 V TTL CMOS 电平 每一个发送器将 TTL CMOS 电平转换成 TIA EIA 232 F 电平 MAX232 内部结构基本可分三个部分 第一部分是电荷泵电路 由 1 2 3 4 5 6 脚和 4 只电容构成 功能是产生 12v 和 12v 两个电源 提供给 RS 232 串口电平的需要 第二部分是数据转换通道 由 7 8 9 10 11 12 13 14 脚构成两个数据通道 其 中 13 脚 R1IN 12 脚 R1OUT 11 脚 T1IN 14 脚 T1OUT 为第一数据通道 8 脚 R2IN 9 脚 R2OUT 10 脚 T2IN 7 脚 T2OUT 为第二数据通道 TTL CMOS 数据从 T1IN T2IN 输入转换成 RS 232 数据从 T1OUT T2OUT 送到电脑 DP9 插头 DP9 插头的 RS 232 数据从 R1IN R2IN 输入转换成 TTL CMOS 数据后从 R1OUT R2OUT 输出 第三部分是供电 15 脚 GND 16 脚 VCC 5v 定义 9 针 RS 232 接口各管脚 1 定义如表 1 表 1 RS232 接口定义 引脚 符号 功能 1 DCD 载波侦测 Carrier Detect 2 RXD 接收数据 Receive 3 TXD 发送数据 Transmit 4 DTR 数据终端准备 Data Terminal Ready 5 GND 地线 Ground 6 DSR 数据准备好 Data Set Ready 7 RTS 请求发送 Request To Send 8 CTS 清除发送 Clear To Send 9 RI 振铃指示 Ring Indicator 串口部分电路图如图 2 图 2 串口电路图 3 3 2 串口软件设计串口软件设计 AT89C51 单片机的串行端口有 4 种基本工作方式 通过编程设置 可以使其工作在任 一方式 以满足不同场合的需要 其中方式 0 主要用于外接移位寄存器 以扩展单片机的 I O 电路 工作方式 1 多用于双机之间或与外设电路的通信 方式 2 3 除有方式 1 的功能 外 还可以作多机通信 以构成分布式多微机系统 本系统采用工作方式 1 串行端口有两个控制寄存器 SCON PCON 用于设置工作方式 发送或接收的状态 特征位 数据传送波特率以及作为中断标志等 另外串行端口还有一个数据寄存器 SBUF 该寄存器为发送和接收所共用 发送时 只写不读 接收时 只读不写 在一定条件下 向 SBUF 写入数据就启动了发送过程 读 SBUF 就启动了接收过程 1 串行口控制寄存器 2 SCON 它用于定义串行口的工作方式及实施接收和发送控制 字节地址为 98H 其各位定义如 表 2 表 2 串口控制寄存器 SCON 格式 D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 串行口工作方式选择位 其定义如表 3 表 3 串口的四种工作方式 SM0 SM1 工作方式 功能描述 波特率 00 方式 0 8 位移位寄存器 fosc 2 01 方式 1 10 位 UART 可变 10 方式 2 11 位 UART fosc 64 或 fosc 32 11 方式 3 11 位 UART 可变 SM2 多机通讯控制位 仅用于方式 2 和方式 3 当发送数据时 SM2 必须有软件设置 为 1 接收数据时 如果 SM2 1 只有接收到的第 9 位数据为 1 时 RI 才置位 如果 SM2 0 只要接收第 9 位数据 RI 就置位 REN 接收允许控制位 由软件置位 REN 1 才允许接收 又由软件清 O REN 0 来禁 止接收 TB8 是要发送数据的第 9 位 在方式 2 或方式 3 中 要发送的第 9 位数据 根据需要 由软件置 1 或清 0 例如 可约定作为奇偶校验位 或在多机通讯中作为区别地址帧或数据帧 的标志位 RB8 接收到的数据的第 9 位 在方式 0 中不使用 RB8 在方式 1 中 若 SM2 O RB8 为接收到的停止位 在方式 2 或方式 3 中 RB8 为接收到的第 9 位数据 TI 发送中断标志 发送数据前必须软件清 0 发送过程中 TI 一直为 0 当发送完一帧 数据后 由硬件自动置 1 如果要再发送 必须用软件再清 0 在编写串行通信程序的时候 可以使用软件查询 TI 的方法获得数据是否已发送完毕 RI 接收中断标志位 接收数据前必须软件清 0 接收过程中 RI 一直为 0 当接收完一 帧数据后 由硬件自动置 1 如果要再接收 必须用软件再清 0 在编写串行通信程序的时 候 可以使用软件查询 RI 的方法获得数据是否已接收完毕 2 特殊功能寄存器 PCON 4 PCON 的字节地址为 87H 它的第 7 位 SMOD 是与串口的波特率设置有关的选择位 在计算串行方式 1 2 3 的波特率时 SMOD 0 波特率不加倍 SMOD 1 波特率加倍 3 波特率的 3 选择 在串行通讯中 收发双方的数据传送率 波特率 要有一定的约定 在 MCS 51 串行口的 四种工作方式中 方式 0 和 2 的波特率是固定的 而方式 1 和 3 的波特率是可变的 由定时 器 T1 的溢出率控制 1 方式 0 的波特率固定为主振频率的 1 12 2 方式2的波特率由PCON中的选择位SMOD来决定 可表示为 波特率 2 64 SMOD fosc 也就是当 SMOD 1 时 波特率为 1 32 fosc 当 SMOD 0 时 波特率为 1 64 fosc 3 方式 1 和方式 3 定时器 T1 作为波特率发生器 其公式如下 波特率 2 32 SMOD 定时器 T1 溢出率 其中 T1 溢出率 T1 计数率 产生溢出所需的周期数 当时钟频率选用 11 0592MHz 时 常用的标准波特 4 率如表 4 表 4 定时器 T1 的常用波特率 常用波特率 fosc MHz SMOD TH1 初值 19200 11 0592 1 FDH 9600 11 0592 0 FDH 4800 11 0592 0 FAH 2400 11 0592 0 F4H 1200 11 0592 0 E8H 串行通信程序设计 串行通信程序主要包括 PC 机发送程序和单片机接收程序 PC 机发送采用串口调试助手 来完成 单片机接收程序采用汇编语言编写 使用串口前首先必须对其初始化 主要是设置 产生波特率的定时器 1 串口控制和中断控制 步骤如下 定时器初始化 MOV TMOD 20H 定时工作方式寄存器 设置定时器 1 为方式 2 MOV TL1 0FDH 定时器计数初值 波特率 9600 MOV TH1 0FDH SETB TR1 启动定时器 1 串口初始化 MOV SCON 50H 串行口初始化 工作方式 1 允许串行接收 MOV PCON 00H SMOD 0 不倍波特率 中断初始化 SETB EA 开放所有中断 CPU 开中断 SETB ES 允许串行口中断 串口接收应用程序主要是把接收到的数据发送到 LCD 显示 4 LCD 时钟 复位电路设计 时钟 复位电路设计 5 本系统的 LCD 显示部分采用 1602 液晶屏 1602 的接口信 4 号说明如表 5 表 5 1602 接口定义 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源负 9 D2 Data I O 2 VDD 电源正 10 D3 Data I O 3 VL 偏压信号 11 D4 Data I O 4 RS 数据 命令 12 D5 Data I O 5 R W 读 写选择 13 D6 Data I O 6 E 使能信号 14 D7 Data I O 7 D0 Data I O 15 BLA 背光源正极 8 D1 Data I O 16 BLK 背光源负极 时钟电路晶振采用 11 052MHz 设置定时器 1 且选择工作方式 2 复位电路采用上电 自动复位和手动复位相结合 时钟电 5 路及复位电 5 路如图 3 和图 4 所示 图 3 时钟电路 图 4 复位电路 要使数据能正确地在 LCD 上显示 则必须首先对 LCD 进行初始化 主要是进行显示模 式设置 光标设置等 具体如下 LCD INIT MOV P0 00000001B 写 0 x01 清屏 ACALL XIEML MOV P0 00111000B 写 0 x38 设定 LCD 为双行显示 5 7 点阵 8 位数据接口 ACALL XIEML MOV P0 00001110B 写 0 x0F 设置光标 显示 ON 光标 ON 闪烁 OFF ACALL XIEML MOV P0 00000110B 写 0 x06 开移动光标 文字不动 光标自动右移 ACALL XIEML MOV P0 10000000B 写 80H 设置首地址 ACALL XIEML RET XIEML 写控制字 下降沿使能 ACALL DELAY 延迟 CLR RS CLR RW 6 SETB EN ACALL DELAY CLR EN RET XIESJ 写数据 下降沿使能 ACALL DELAY 延迟 SETB RS CLR RW SETB EN ACALL DELAY CLR EN RET 5 结论 结论 按照以上方法设计的 AT89C51 单片机串行通信硬件电路和相应的通信程序 能够满足 单片机实时与 PC 机进行通信 单片机接收到 PC 机传输的数据后在 LCD 上显示出来 并且 在现场应用中得到了可靠的运行 具有交好的实用性 参考文献参考文献 1 张毅刚 彭喜元 姜守达等 新编 MCS 51 单片机应用设计 M 哈尔滨 哈尔滨工业大学出版社 2006 10 2 张振荣 晋明武 王毅平 MCS 51 单片机原理及实用技术 M 北京 人民邮电出版社 2000 8 3 张迎新 雷道振 陈胜等 单片微型计算机原理 应用及接口技术 M 北京 国防工业出版社 2004 1 4 刘瑞新 单片机原理及应用教程 M 北京 机械工业出版社 2003 7 5 梅丽凤 王艳秋 汪毓铎等 单片机原理及接口技术 M 北京 清华大学出版社出版社 2004 2 The communication system design of PC machine with AT89C51 Zhiju Shi Bo Hu Jie Li The Information Academy of Hohai University Changzhou Jiangsu 213022 Abstract This article describes the hardware and software design
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省白银市会宁县会宁县第一中学2025年化学高一上期中考试模拟试题含解析
- 山东省临沂市沂南县2025-2026学年高一化学第一学期期中质量跟踪监视模拟试题含解析
- 河北省秦皇岛市卢龙县2026届高一物理第一学期期末教学质量检测模拟试题含解析
- 电商平台市场扩展计划
- 75个税务会计论文题目参考
- 中南财经政法大学毕业论文基本格式1
- 电化教育教辅人员的职称评定建议
- 毕业论文(设计)plc控制电动机正反转【范本模板】
- 行管专毕业论文选题(12.6.1)
- 感悟自然的议论文800字5作文
- 睡眠质量对学习与表现的影响主题班会
- 2025-2030全球稀土掺杂光纤行业调研及趋势分析报告
- 《学生平安保险业务培训》课件
- 重庆大学《创业管理A》2023-2024学年第一学期期末试卷
- 2025年客房服务员(高级)客房服务员职业技能培训题库
- 手术患者保护性约束
- 《锂离子电池方向专业综合实验》课程教学大纲
- 客诉处理培训课件
- 增补协议 合同模板
- 《宇宙的起源》3第三讲 太阳系的产生与消亡
- jgj592023安全检查标准完整版
评论
0/150
提交评论