《单片机论文》word版.doc_第1页
《单片机论文》word版.doc_第2页
《单片机论文》word版.doc_第3页
《单片机论文》word版.doc_第4页
《单片机论文》word版.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 单片机与单片机与 PCPC 机之间的机之间的 串行通信串行通信 2 摘要摘要 本次课程设计主要介绍一种用双工方式实现单片机与 PC 机之间的串行通 信。这次用到了 AT89C2051 单片机,针对 AT89C2051 的特点进行说明 AT89C2051 是美国 ATMEL 公司生产的低电压、高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写的只读程序存储器(PEROM)和 128bytes 的随机数据存 储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标 准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强 大。AT89C2051 单片机可为您提供许多高性价比的应用场合。程序保密, 89C2051 设计有 2 个程序保密位,保密位 1 被编程之后,程序存储器不能再被 编程除非做一次擦除,保密位 2 被编程之后,程序不能被读出。单片微型计算 机简称单片机,它是将中央处理器(CPU)、存储器(RAM,ROM)、定时计数器 和各种接口电路都集成到一块集成电路芯片上的微型计算机。随着计算机技术 尤其是单片机技术的发展,人们已越来越多地采用单片机来对一些工业控制系 统中如温度、湿度等参数进行检测和控制。PC 机具有强大的监控和管理功能, 而单片机则具有快速及灵活的控制特点,通过 PC 机的 RS 232 串行接口与外部 设备进行通信,是许多测控系统中常用的一种通信解决方案。因此针对一些远 距离控制或者是危险性比较高的数据采集和控制的应用情况,如何实现 PC 机 与单片机之间的通信具有非常重要的现实意义。 3 目录目录 1.1. 概述概述 4 4 2 2、系统总体方案及硬件设计、系统总体方案及硬件设计 5 5 2.1 系统总体方案 5 2.2 实现电路。6 2.2.1 电平转换电路 6 2.2.2 单片机部分 6 2.2.3 无线收发部分 6 2.2.4 液晶显示模块 6 2.2.5 键盘输入模块 7 2.2.6 RS232 串口引脚定义如下表: 7 2.2.7 串口通信参数: 8 2.2.8 串口通信的接收过程: 9 2.3.硬件设计方案.11 2.3.1、打开 PROTEUS 软件从库中选取元器件11 2.3.2、串口模型 11 2.3.3、虚拟终端 11 2.3.4、放置元器件 11 3.3.软件设计方案软件设计方案 1212 3.1、程序流程如下图:12 4.PROTEUS4.PROTEUS 软件仿真与调试软件仿真与调试1313 参考文献参考文献 2121 附录附录 1 1 源程序代码源程序代码 2222 附录附录 2 2 系统原理图系统原理图 2323 4 1. 概述概述 现代工业控制领域经常涉及到串行通信问题,为实现微机和单片机之间的 数据交换,人们用不同的方法实现串行通信,如 DOS 下采用 C 语言。但在 Windows 环境下却存在一些困难和不足。汇编语言以其强大的功能,极强的灵 活性而受广大软件开发者的青睐,被广泛应用与各个领域。为实现数据传输的 独立性,可以利用汇编语言,实现基于 Windos 平台的 PROTEL 调试(单片机系 统)与 PC 机的通信。 本次课程设计详细介绍了 Windows 环境下应用单片机语言实现 PC 与单片 机的通信,以及单片机控制 PC 机的读写,给出了汇编语言编写的单片机控制 PC 机读写的通信程序。 5 2、系统总体方案及硬件设计、系统总体方案及硬件设计 2.1 系统总体方案 此双工无线通信系统的总体框图如图 1 所示。由于此系统可实现双工通信,因此它可 分为两个通信过程:PC 机(上位机)通过上位机程序界面发送数据给单片机,并送给液晶屏 显示相应的数据;键盘输入数据传给单片机,接着发送给 PC 机,并在 PC 机上位机程序界 面上显示出来。 AT89C2051 可以采用下面 2 种方法开发应用系统。 (1)由于 89C2051 内部程序存贮器为 Flash,所以修改它内部的程序十 方便快捷,只要配备一个可以编程 89C2051 的编程器即可。调试人员可以采用 序编辑-编译-固化-插到电路板中试验这样反复循环的方法,对于熟练的 MCS-5 程序员来说,这种调试方法并不十分困难。当做这种调试不能够了解片内 RAM 内容和程序的走向等有关信息。 (2)将普通 8031/80C31 仿真器的仿真插头中 P1.0P1.7 和 P3.0P3.6 引 出仿真 2051,这种方法可以运用单步、断点的调试方法,但是仿真不够实,比 2051 的内部模拟比较器功能,P1 口、P3 口的增强下拉能力等等。 AT89C2051 主要性能: (1) 和 MCS-51 产品兼容; (2) 2KB 可重编程 FLASH 存储器(1000 次) ; (3) 2.7-6V 电压范围; (4) 全静态工作:0Hz-24KHz 6 (5) 2 级程序存储器保密锁定 (6) 128*8 位内部 RAM (7) 15 条可编程 I/O 线 (8) 两个 16 位定时器/计数器 (9) 6 个中断源 (10)可编程串行通道 (11) 高精度电压比较器(P1.0,P1.1,P3.6) (12)直接驱动 LED 的输出端口 正因为 AT89C2051 有以上特点所以用它来设计一个串行通讯系统是很可靠地。设计 电路的时候也比较灵活大大提高了电路设计的速度,利用 AT89C2051 单片设计的系统也 比较稳定,调试方便容易,给我省去了许多繁琐的步骤,本次设主要用到了 AT89C2051 的 P1 口与 P3 口的第二功能,串行口输入端 P3.0/RXD 串行口输出端 P3.1/TXD。 2.2 实现电路。 2.2.1 电平转换电路 PC 机的串行口采用的是标准的 RS 232 接口,单片机的串行口电平是 FTL 电平,而 TTL 电平特性与 RS 232 的电气特性不匹配,因此为了使单片机的串行口能与 RS 232 接口 通信,必须将串行口的输入输出电平进行转换。通常用 MAX232 芯片来完成电平转换。 2.2.2 单片机部分 单片机部分包括单片机、复位电路和时钟电路。它将串口送过来的数据传输给 CC1100 收发器,或者将 CCll00 收发器传送过来的数据通过串口给 PC 机。单片机的复位电路和时 钟电路是单片机工作所必需的。 2.2.3 无线收发部分 无线收发部分由 CC1100 收发器组成,它将接收到的数据通过天线发射出去或从天线 接收发送过来的数据。 2.2.4 液晶显示模块 此处选用 LCDl602 液晶模块,其内部的字符发生存储器已经存储了 160 个不同的点阵 7 字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每 一个字符都有一个固定的代码。 2.2.5 键盘输入模块 在键盘中按键数量较多时,为了减少 IO 口的占用,通常将按键排列成矩阵形式。 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。 这样,一个端口(如 P1 口)就可以构成 44=16 个按键,比之直接将端口用于键盘多出了一 倍。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是比较好的。矩阵式键盘的 按键识别方法为行扫描法。此处选用 44 的矩阵键盘来输入 O9 的数字和 af 的字母。 2.2.6 RS232 串口引脚定义如下表: 9 芯信号方向来自缩写描述 1 调制解调器 CD 载波检测 2 调制解调器 RXD 接收数据 3PCTXD 发送数据 4PCDTR 数据终端准备好 5GND 信号地 6 调制解调器 DSR 通讯设备准备好 7PCRTS 请求发送 8 调制解调器 CTS 允许发送 9 调制解调器 RI 响铃指示器 串口的电气特性: (1)RS-232 串口通信最远距离是 50 英尺=15m (2)RS232 可做到双向传输,全双工通讯,最高传输速率 20kbps (3)RS-232 上传送的数字量采用负逻辑,且与地对称逻辑 1:-3 -15; 8 逻辑 0:+3+15V。 所以与单片机连接时常常需要加入电平转换芯片:如图 2 所示 图 2 2.2.7 串口通信参数: (1)波特率:RS-232 标准规定的数据传输速率为每秒 50、75、 100、150、300、600、1200、2400、 4800、9600、19200 波特。 (2)数据位:标准的值是 5、7 和 8 位,如何设置取决于你想传送的信息。比 如,标准的 ASCII 码是 0127(7 位) ;扩展的 ASCII 码是 0255(8 位) 。 (3)停止位:用于表示单个包的最后一位,典型的值为 1,1.5 和 2 位。由于 数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两 台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提 供计算机校正时钟同步的机会。 (4)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情 况,串口会设置校验位(数据位后面的一位) ,用一个值确保传输的数据有偶 个或者奇个逻辑高位。例如,如果数据是 011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位 1,这样就有 3 个逻 辑高位。 串口通信的传输格式: 9 串行通信中,线路空闲时,线路的 TTL 电平总是高,经反向 RS232 的电平总是 低。一个数据的开始 RS232 线路为高电平,结束时 Rs232 为低电平。数据总是 从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。例如,对 于 16 进制数据 55aaH,当采用 8 位数据位、1 位停止位传输时,它在信号线上 的波形如图 3(TTL 电平)和图 4(RS-232 电平)所示。 55H=01010101B,取反后 10101010B,加入一个起始位 1,一个停止位 0,55H 的数据格式为 0101010101,55HaaH=10101010B,取反后 01010101B,加 入一个起始位 1,一个停止位 0,55H 的数据格式为 0010101011,aaH 图 3 图 4 2.2.8 串口通信的接收过程: 异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收器由同 一个时钟源控制。RS232 是异步通信。 10 (1)开始通信时,信号线为空闲(逻辑 1),当检测到由 1 到 0 的跳变时,开 始对“接收时钟”计数。 (2)当计到 8 个时钟时,对输入信号进行检测,若仍为低电平,则确认这是 “起始位” ,而不是干扰信号。 (3)接收端检测到起始位后,隔 16 个接收时钟,对输入信号检测一次,把对 应的值作为 D0 位数据。若为逻辑 1, 作为数据位 1;若为逻辑 0,作为数据位 0。 (4)再隔 16 个接收时钟,对输入信号检测一次,把对应的值作为 D1 位数据。 .,直到全部数据位都输入。 (5)检测校验位 P(如果有的话) 。 (6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位 S(逻 辑 1),若此时未收到逻辑 1,说明出现了错误,在状态寄存器中置“帧错误” 标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移 位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。 (7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。 (8)当信号再次变为低时,开始进入下一幀的检测。如图 5 所示 图 5 单片机常用 11.0592M 的的晶振,这个奇怪数字是有来历的: 波特率为 9600BPS 每位位宽 t1=1/9600s,晶振周期 t2=1/11.0592/1000000S 11 单片机机器周期 t3=12*t2,t1/t3=96 即对于 9600BPS 的串口,单片机对其以 96 倍的速率进行采样。如果单片机晶振用的不正确,会对串口接受产生误码。 2.3.硬件设计方案 根据设计原理及需要我们得出了如图 6 的元器件。 2.3.1、打开 PROTEUS 软件从库中选取元器件 a、AT89C2051:单片机 b、RES:电阻; c、7SEG-BCD-GRN:绿色 BCD 数码管; d、CAP、CAP-ELEC:电容、电解电容; e、CRYSTAL:晶振; f、MAX232、MAX220:RS232 收发器; 图 6 g、COMPIM:串口模型; 2.3.2、串口模型 串口模型 COMPIM 及其引脚功能如图 7 所示: 图 7 2.3.3、虚拟终端 从虚拟仪器中选取虚拟终端 VIRTUAL TERMINA 2.3.4、放置元器件 放置电源和地、连线、元器件属性设置、电器检测所有操做都是在 ISIS 中进行的(如图 5) 。放置 4 个虚拟终端,分配给单片机的串行口及 COMPIM 的 2 脚、3 脚。COMPIM 的 3 脚与虚拟终端的发送端 TXD 相连,将单片机串口的 数据载波检测 数据设备准备好 接受数据 请求发送 发送数据 清除数据 数据终端准备 振铃指示 12 RXD、TXD,以及 COMPIM 的 2 脚分别接入虚拟终端的 RXD。 3.软件设计方案软件设计方案 3.1、程序流程如下图: 13 4.Proteus 软件仿真与调试软件仿真与调试 4.1、加载目标代码文件 14 打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的 目标代码文件 KECHENGSHEJI.HEX;在“Clock Frequency”栏中输入晶振频率 为 12MHz。 4.2、串口模型属性设置 串口模型属性设置如图 9 所示。 4.3、虚拟终端属性设置 PCS 代表计算机发送数据,PCR 用来监视 PC 接收到的数据,PCS、PCR 终端 属性设置一样,如图 10 所示,注意他们的 RX/TX 极性相反。SCMS、SCMR 分别 为单片机发送、接收终端,分别监视,他们的属性设置如图 11、图 12 所示。 单片机与 PC 双方的波特率、数据位、停止位、校验位保证一致。 SCMS、SCMR、PCR 终端的 RXD 脚分别于单片机的 TXD、RXD 及串口模型的 2 脚相 接;PCS 终端的 TXD 串口模型的 3 脚相接。 图 9 图 10 15 图 11 图 12 4.4、启动仿真 在完成了各项属性设置之后,保存,编译,如图 13 所示: 16 图 13 单击按钮开始仿真,设置 PCS 虚拟终端的“Echo Typed Characters”,在本虚拟终端上右击,在弹出的框中选中该选项, 鼠标指针在 PCS 终端窗中单击,该窗口出现闪烁的光标,当不输入数字或者字母时,如图 14: 17 图 14 (1)当输入数字 0 时,显示的结果如图 15: 图 15 (2)当输入大写的 A 时,显示如图 16: 18 图 16 (3)当输入小写字母 a 时,显示如图 17: 19 图 17 (4)当输入数字 9 时,显示的结果如图 18: 图 18 (5)当输入字符#时,显示的结果如图 19: 20 图 19 参考文献参考文献 1、李明 李君君. 单片机原理与接口技术. 大连:大连理工大学出版社,2009 2 徐惠民,安德宁.单片微型计算机原理、接口及应用.第二版.北京:北京邮电大学出版社. 2000 3、张靖武,周林彬.单片机系统的 Proteus 设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论