RS-232实现单片机与PC间的串行通信_第1页
RS-232实现单片机与PC间的串行通信_第2页
RS-232实现单片机与PC间的串行通信_第3页
RS-232实现单片机与PC间的串行通信_第4页
RS-232实现单片机与PC间的串行通信_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

内容提要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。1 引言1.1 设计目的本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,以便使学生掌握有关单片机控制的设计思想和设计方法。为学生今后从事单片机控制系统开发工作打下基础。1.2 设计内容和要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论熟悉掌握MCS-51系列单片机的编程方法,具体要求如下: 利用电平转换器件RS-232实现单片机与PC间的串口通信,利用虚拟终端仿真单片机与PC间的串行通信。PC先发送从键盘输入的数据,单片机接收后会发给PC机,双方收发数据是相同的单片机将收发到的30-39H间的数据转换成0-9显示,其他数据直接显示为字符的ASCII码。2 单片机的介绍2.1 单片机的基本概念单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。单片微型计算机简称单片机,是典型的嵌入式微控制器,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比单片机只缺少了I/O设备。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算机、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都用1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。2.2 基本结构单片机由运算器、控制器、存储器、输入输出设备构成。2.3 硬件特性 1、主流单片机包括CPU、4KB容量的ROM、2个16位定时器/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP; 2、系统结构简单,使用方便,实现模块化; 3、单片机可靠性高; 4、处理功能强,速度快; 5、低电压,低功耗,便于生产便携式产品; 6、控制功能强; 7、环境适应能力强。2.4 应用分类 单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型,总线型/非总线型及工控型/家电型。3 系统设计内容3.1 从PROTEUS库中选取元器件及结构框图1. AT89C51/AY89C2051:单片机如图1所示: 图1 AT89C2051:单片机2. RES:电阻如图2所示: 图2 RES:电阻3. 7SEG-BCD-RED:红色BCD数码管如图3所示: 图3 7SEG-BCD-RED:红色BCD数码管4. CAP、CAP-ELEC:电容、电解电容如图4所示: 图4 CAP、CAP-ELEC:电容、电解电容5. CRYSTAL:晶振如图5所示:图5 CRYSTAL:晶振6. MAX232/MAX220:RS-232收发器如图6所示:图6 MAX232:RS-232收发器3.2 原理图中用到的部分元器件的功能、原理及引脚说明 1. 串口模型COMPIM及其引脚功能如图7所示: 图7 串口模型COMPIM及其引脚功能2. MAX232/MAX220:RS-232收发器的功能 实现电平转换,也就是将CMOS电平转换成TTL电平3. RS232(DB9)引脚定义 (1):DCB:载波检测。主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音,处于在线状态。 (2):RXD:此引脚用于接收外部设备送来的数据;在使用Modem时,会发现RXD指示灯在闪烁,说明RXD引脚上有数据进入。 (3):TXD:此引脚将计算机的数据发送给外部设备;在使用Modem时,会发现TXD指示灯在闪烁,说明计算机正在通过TXD引脚发送数据。 (4):DTR:数据终端就绪;当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好。 (5):GND:信号地; (6):DSR:数据设备就绪;此引脚高电平时,通知计算机Modem已经准备好,可以进行数据通讯了。 (7):RTS:请求发送;此引脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。 (8):CTS:清除发送;此引脚由Modem控制,用以通知计算机将欲传的数据送至Modem。 (9):RI:Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定4. MAX232原理 MAX232芯片是专门为电脑的RS-232标准串口设计的接口电路,使用+5V单电源供电。 内部结构基本可分三个部分: 第一部分是电荷泵电路。由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脚DNG、16脚VCC(+5V)。5. AT89C2051单片机引脚介绍 AT89C2051为20引脚小型封装,2K内部程序存储器,15个可编程I/O口线,没有P0口和P2口的16根I/O线,内部集成了一个模拟比较器。 AT89C2051单片机的引脚排列如图8所示: 图8 AT89C2051单片机的引脚排列 芯片共有20个引脚,引脚的排列顺序为从靠芯片的缺口(见上图)左边那列引脚逆时针数起,依次为1、2、320,在单片机的20个引脚中,电源引脚2根,外接晶体振荡器引脚2根,复位引脚1根以及P1、P3口可编程I/O引脚15根。(1) 主电源引脚(2根)VCC(Pin20):电源输入,接+5V电源GND(Pin10):接地线(2) 外接晶振引脚(2根) XTAL1(Pin5):片内振荡电路的输入端 XTAL2(Pin4):片内振荡电路的输出端(3) 控制引脚(1根) RST/VPP(Pin1):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位(4) 可编程输入/输出引脚(15根)P1口:8位准双向I/O口线,P1.0P1.7,共8根P3口:8位准双向I/O口线,P3.0P3.5、P3.7,共7根4 硬件设计4.1 系统各组成部分硬件设计(1)、硬件设计电路图如图9所示: 图9 硬件设计电路4.2 电路图的原理(1)、利用电平转换器件RS-232实现单片机与PC间的串行通信。本次试验利用虚拟终端仿真单片机与PC间的串行通知。PC先发送从键盘输入的数据,单片机接收后回发给PC机,双方收发数据是相同的单片机将接收30-39H间的数据转换成0-9显示,其他数据直接显示为字符的ASCII码。(2)、4个虚拟终端,分别给单片机的串行口及COMPIM的2脚、3脚,COMPIM的3脚与虚拟终端的发送端TXD相连,将单片机串口的RXD,TXD以及COMPIM的2脚分别接入虚拟终端的RXD,以此监视单片机和串口模型收、发数据。(3)、PCS代表计算机发送数据,PCR用来监视PC接收到的数据,SCMS、SCMR分别为单片机发送、接收终端,分别监视单片机发送、接收数据。4.3 原理图中各引脚说明 (1)、AT89C2051单片机引脚图如图10所示 图10 AT89C2051单片机引脚图 (2)、MAX232引脚图如图11所示: 图11 MAX232引脚图5 软件设计5.1 软件设计流程图如图12所示: 图12 软件设计流程图5.2 源程序设计 ORG 0 ORG 30H SJMP STARTSTART:MOV TMOD,#20H ;设计定时方式寄存器 MOV PCON,#0 ;设置电源制寄存器 MOV TH1,#0E6H ;装初值 MOV TL1,#0E6H ;装初值 SETB TR1 ;开中断 CLR ES ;中断允许 MOV SP,#5FH ;装入指针初值LOOP:MOV SCON,#50H ;串行口工作于方式1 JNB RI,$ ;判断RI=1? CLR RI ;清零 MOV A,SBUF ;读进收到的数据 PUSH ACC CJNE A,#3AH,RANG1 ;判断A的内容是否等于48RANG1:JC RANG3 ;判断CY=1? CJNE A,#3AH,RANG2 ;判断A的内容是否等于58RANG2:JNC RANG3 ;判断CY=0? CLR C ;CY=0 SUBB A,#30H ;转换为ASCII码RANG3:MOV P1,A ;输出到数码管显示 POP ACCRANG4:NOPNOPNOPNOPNOPMOV SBUF,A ;启动发送JNB TI,$ ;判断TI=1?END6 调试和结果分析6.1 调试结果(1)、在刚开始设计完原理图时,编译运行时出现了如图13所示,表示该程序是错误的,经过我们的一起研究发现了程序的末尾没有加上END结束标志。 图13 编译运行图 (2)、程序调试完了之后,在运行时出现了如图14所示,在PCS中输入数字和字符而在数码管、PCR、SCMR、SCMS没有显示跟踪结果。在我们的研究和探讨中发现了我们没有在串行口的3引脚发送数

温馨提示

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

评论

0/150

提交评论