大连海事大学毕业设计(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连海事大学毕业设计(一)
1引言
设计的目及意义
一般的PC与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。相对而言比较的烦琐,而着重用VB具有面向对象的设计方法,友好的用户来探讨在VB环境下来实现PC机与51单片机之间串行通讯的方法。实现起来要简捷方便。
随着计算机系统的应用和微机网络的发展,各种控制设备之间的通信功能越来越显得重要。尤其是伴随着单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。在本系统中,下位机采用一片AT89S51单片机,用于对发送的数据实施控制,为了实现对输入数据的接收,上位机采用便携式PC机,上、下位机之间通过
MAX232芯片实现串行数据通信。PC 机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
将论述在VB 环境下PC 机与单片机之间实现串行通讯的软硬件方案。实现单片机与PC 机的相互通信。单片机部分汇编语言实现,PC 机的通讯程序使用Visual Basic 编写,VB 是Microsoft 公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 版本带有专门实现串行通讯的MSCOMM 控件。因此如何实现PC 机与单片机之间的通讯具有非常重要的现实意义。
利用的事件驱动方式可以很方便地开发数据采集与监控系统,用单台PC 机可以测量和监控多路控制信号,整控制系统设计方便,对小型测控系统的设
计具有很大的实用性。
设计实现的功能
实现单片机与PC 机的相互通信。具体要求有以下两点:
①单片机发固定编好的代码,在用VB 编好的界面上接收;
②在VB 编好的界面上发送数字,在单片机板上的数码管上显示出来。
2 硬件设计方案
为了实现PC机与单片机之间的串行通信,我们首先要清楚了解整个系统所采用的原理图。原理图就象一根红线贯穿于整个系统设计,通过此图我们就能很清楚的看到系统所涉及的内容,然后鉴于此,我们将在以后的章节中依次对所牵涉的内容作详细的论述。下面对原理图作一点说明:从MAX232芯片中的两路发送接收中任选一路作为接口,要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。如选他T1IN接单片机的发送端TXD,则PC机、的RS—232的接收端
RD一定要对应接T1OUT引脚。同时,R1OUT接单片机的接受端RXD引脚,则PC机的RS—232的发送端TD一定要对应接R1IN引脚。
上图为采用MAX232芯片接口的PC机与51单片机串行通信接口原理图AT89S51单片机
AT89S51单片机简介
AT89S51 为ATMEL 所生产的可电气烧录清洗的8051 相容单芯片,是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,
4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗电路,片内时钟振荡器。
AT89S51单片机的功能
AT89S51主要功能列举如下:
1)为一般控制应用的8位单芯片2)晶片内部具有时钟振荡器
3)内部程式存储器为4KB4)内部数据存储器为128B
5)外部程序存储器可扩充至64KB
6)外部数据存储器可扩充至64KB
7)32 条双向输入输出线,且每条均可以单独做I/O 的控制
8)5个中断向量源
9)2组独立的16 位定时器10)1个全多工串行通信端口
11)8751 及8752 单芯片具有数据
保密的功能
12)单芯片提供位逻辑运算指令
AT89S51各引脚功能介绍:
VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:AT89S51的重置引脚,高电平动作。
EA/Vpp:存取外部程序代码,低电平动作。
ALE/PROG:地址锁存器启用信号。
PSEN:程序储存启用,通常这支脚是接到EPROM的OE脚。
PORT0:端口0是一个8位宽的开路汲极双向输出入端口,共有8个位,表示位0,P表示位1,依此类推。其他三个I/O端口则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用
时可以推动8个LS的TTL负载。如果当EA引脚为低电平时,P0就以多工方式提供地址总线及数据总线。
PORT2:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1:端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是此端口来输入数据。
PORT3:端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据