单片机课程设计说
明书
利用RS-232实现单片机与PC间的串行通信
学生姓名: 学号: 学 院: 专 业: 指导教师:
年 月
第 1 页 共 24 页
中北大学信息商务学院
课程设计任务书
学年第 学期
学 院: 专 业: 学 生 姓 名: 课程设计题目: 起 迄 日 期: 课程设计地点: 指 导 教 师: 系主任:
信息商务学院 电气工程及其自动化
学 号:
利用RS-232实现单片机与PC间的串行通信
电气工程系综合实验室
下达任务书日期: 日
第 2 页 共 24 页
课 程 设 计 任 务 书
1.设计目的: 本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,以便使学生掌握有关单片机控制的设计思想和设计方法。为学生今后从事单片机控制系统开发工作打下基础。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等): 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求如下: 利用电平转换器件RS-232实现单片机与PC间的串口通信,利用虚拟终端仿真单片 机与PC间的串行通信。PC先发送从键盘输入的数据,单片机接收后会发给PC机,双方收发数据是相同的。单片机将收发到的30-39H间的数据转换成0~9显示,其他数据直接显示为字符的ASCII码。 3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: 1.根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。 2.画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系 3. 用Proteus软件绘制硬件电路图并仿真。 4. 软件设计包括流程图、用汇编语言对软件进行编译,并能通过调试。
第 3 页 共 24 页
课 程 设 计 任 务 书
4.主要参考文献: 1.孙涵芳.MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.1994 2.李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.2005 5.设计成果形式及要求: 1. 电路原理图 2. 软件流程图和程序清单 3. 编写课程设计报告。 6.工作计划及进度: 2016 6月6日~ 6月9日 查找资料,确定方案 6月10日~ 6月12日 设计硬件电路,绘制电路原理图 6月13日~ 6月16日 软件设计,并调试通过 6月17日~6月18日 编写课程设计报告,答辩或成绩考核 系主任审查意见: 签字: 年 月 日 第 4 页 共 24 页
内容提要
计算机的发展对通信起了巨大的推动作用,计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。随着电子技术和计算机技术的发展,特别是单片机的发展,使传统的测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化,形成了一种完全突破传统概念的新一代测试仪器——智能仪器。智能仪器是以微处理器为核心的电子仪器,它不仅要求设计者熟悉电子仪器的工作原理,而且还要求其掌握微型计算机硬件和软件的原理。目前,有很多的传统电子仪器已有相应的替代产品,而且还出现不少全新的仪器类型和测试系统体系。
单片机(Microcontrollers)又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。 在通信方面,单片机得到了广泛运用。在实现计算机与计算机、计算机与外设的串行通讯时,通常采用标准的通讯接口。所谓标准的通讯接口,就是明确定义若干信号线的机械、电器特性,使接口电路标准化、通用化,这样就能方便地把不同的计算机、外设等有机地连接起来,进行串行通讯。
RS-232C是由美国电子工业协会(EIA)制定的用于串行通信的标准通信接口,利用它可以很方便地把各种计算机、外围设备、测量仪器等有机地连接起来,进行串行通信。它包括按位传输的电气和机械方面的规定,适用于短距离或带调制解调器的通信场合。
RS-232C标准适用于DCE和DTE之间的串行二进制通信,最高的数据速率为19.2Kbit/s,在使用此波特率进行通信时,最大传输距离在20m之内。降低波特率可以增加传输距离。对于RS-232C标准接口的使用是非常灵活的,实际通信中经常采用9针接口进行数据通信。
第 5 页 共 24 页
目 录
1 引言.............................................................1 2 课程设计目的与要求...............................................1 2.1 课程设计的目的.................................................1 2.2 课程设计内容和要求.............................................1 2.3 设计工作任务及工作量的要求.....................................2 2.4 设计成果形式及要求.............................................2 2.5 总体方案设计...................................................2 3 认识单片机.......................................................3 3.1 单片机的基本概念...............................................3 3.2 单片机的基本结构...............................................3 3.3 硬件特性.......................................................3 3.4 应用分类... ...................................................3 4 系统设计内容.....................................................3 4.1 从PROTEUS库中选取元器件及结构框图.............................3 4.2 原理图中用到的部分元器件的功能、原理及引脚说明.................5 4.2.1 串口模型COMPIM及其引脚功能..................................5 4.2.2 MAX232/MAX220:RS-232收发器的功能............................6 4.2.3 RS232(DB9)引脚定义...........................................6 4.2.4 MAX232 原理..................................................7 4.2.5 AT89C2051 单片机引脚介绍.....................................7 5 硬件设计.........................................................8 5.1 系统各组成部分硬件设计.........................................8 5.2 电路图的原理...................................................8 5.3 原理图中各引脚说明.............................................9 6 软件设计........................................................10 6.1 软件设计流程图................................................10 6.2 源程序设计....................................................10 7 调试和结果分析..................................................12
第 6 页 共 24 页
7.1 调试结果......................................................12 7.2 实验结果......................................................12 8 课程设计心得体会................................................16 参考文献...........................................................17
第 7 页 共 24 页
1 引言
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
单片微型计算机简称单片机,是典型的嵌入式微控制器,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比单片机只缺少了I/O设备。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
单片机可以通过电平转换后和PC机进行串行通信,只要串口设定一致,单片机和PC机就能交换数据。通过Proteus可以对其进行仿真,Proteus中有串口器件,有虚拟终端,可以对PC机单片机串口通信进行仿真。这次课程设计我们设计的是利用RS-232实现单片机与PC间的串行通信。
2 课程设计目的与要求
2.1 课程设计的目的
本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,以便使学生掌握有关单片机控制的设计思想和设计方法。为学生今后从事单片机控制系统开发工作打下基础。 2.2 课程设计内容和要求
本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求如下:
利用电平转换器件RS-232实现单片机与PC间的串口通信,利用虚拟终端仿真单片机与PC间的串行通信。PC先发送从键盘输入的数据,单片机接收后会发给PC机,
第 8 页 共 24 页
双方收发数据是相同的。单片机将收发到的30-39H间的数据转换成0~9显示,其他数据直接显示为字符的ASCII码。 2.3 设计工作任务及工作量的要求
1.根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
2.画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。 3.用Proteus软件绘制硬件电路图并仿真。
4. 软件设计包括流程图、用汇编语言对软件进行编译,并能通过调试。 2.4 设计成果形式及要求: 1. 电路原理图。
2. 软件流程图和程序清单。 3. 编写课程设计报告。
2.5总体方案设计
在本次设计中,硬件部分,对于一片89C51和PC机,采用RS232进行通信,硬件的连接方法如图1所示。电平转换芯片采用MAX232,传输距离一般不超过15m,传输小于20kbit/s。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收。串行口的工作方式为8位UART,波特率可变(T1溢出率/n)。定时器的工作方式为工作方式2。电平信号传输的连接图如图所示。
TXD T2IN T2OUT TXD
AT89C51 MAX232A 串行接口
RXD R2OUT R2IN RXD
第 9 页 共 24 页
3 认识单片机
3.1 单片机的基本概念
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 3.2 单片机的基本结构
单片机由运算器、控制器、存储器、输入输出设备构成。 3.3 硬件特性
1、主流单片机包括CPU、4KB容量的ROM、2个16位定时器/计数器、4个8位
并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP; 2、系统结构简单,使用方便,实现模块化; 3、单片机可靠性高; 4、处理功能强,速度快;
5、低电压,低功耗,便于生产便携式产品; 6、控制功能强; 7、环境适应能力强。 3.4 应用分类
单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型,总线型/非总线型及工控型/家电型。
4 系统设计内容
4.1 从PROTEUS库中选取元器件及结构框图
1. AT89C51/AY89C2051:单片机如图所示:
第 10 页 共 24 页
2. RES:电阻如图所示:
3. 7SEG-BCD-RED:红色BCD数码管如图所示:
4. CAP、CAP-ELEC:电容、电解电容如图所示:
第 11 页 共 24 页
5. CRYSTAL:晶振如图所示:
6. MAX232/MAX220:RS-232收发器如图所示:
4.2 原理图中用到的部分元器件的功能、原理及引脚说明4.2.1 串口模型COMPIM及其引脚功能
第 12 页 共 24 页
4.2.2 MAX232/MAX220:RS-232收发器的功能
实现电平转换,也就是将CMOS电平转换成TTL电平 4.2.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通知计算机有呼叫进来,是否接听呼叫由计算机决定
第 13 页 共 24 页
4.2.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)。 4.2.5 AT89C2051单片机引脚介绍
AT89C2051为20引脚小型封装,2K内部程序存储器,15个可编程I/O口线,没有P0口和P2口的16根I/O线,内部集成了一个模拟比较器。AT89C2051单片机的引脚排列所示:
图中芯片共有20个引脚,引脚的排列顺序为从靠芯片的缺口(见上图)左边那
列引脚逆时针数起,依次为1、2、3…20,在单片机的20个引脚中,电源引脚2根,外接晶体振荡器引脚2根,复位引脚1根以及P1、P3口可编程I/O引脚15根。 (1)主电源引脚(2根)
VCC(Pin20):电源输入,接+5V电源 GND(Pin10):接地线
第 14 页 共 24 页
(2)外接晶振引脚(2根)
XTAL1(Pin5):片内振荡电路的输入端 XTAL2(Pin4):片内振荡电路的输出端 (3)控制引脚(1根)
RST/VPP(Pin1):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位 (4)可编程输入/输出引脚(15根)
P1口:8位准双向I/O口线,P1.0—P1.7,共8根 P3口:8位准双向I/O口线,P3.0—P3.5、P3.7,共7根
5 硬件设计
5.1 系统各组成部分硬件设计 (1)硬件设计电路图如图所示:
5.2 电路图的原理
(1)利用电平转换器件RS-232实现单片机与PC间的串行通信。本次试验利用虚拟终端仿真单片机与PC间的串行通知。PC先发送从键盘输入的数据,单片机接收
第 15 页 共 24 页
后回发给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分别为单片机发送、接收终端,分别监视单片机发送、接收数据。 5.3 原理图中各引脚说明
(1)、AT89C2051单片机引脚图如下图所示
(2)MAX232引脚图如下图所示:
第 16 页 共 24 页
6 软件设计
6.1 软件设计流程图 如下图所示:
6.2 源程序设计 ORG 0
第 17 页 共 24 页
ORG 30H SJMP START
START:MOV TMOD,#20H ;设计定时方式寄存器 MOV POCN,#0 ;设置电源制寄存器 MOV TH1,#0E6H ;装初值 MOV TL1,#0E6H ;装初值 SETB TR1 ; CLR ES ; MOV SP,#5FH ;LOOP:MOV SCON,#50H ; JNB RI,$ ; CLR RI ; MOV A,SBUF ; PUSH ACC
CJNE A,#3AH,RANG1 ;RANG1:JC RANG3 ; CJNE A,#3AH,RANG2 ;RANG2:JNC RANG3 ; CLR C ;CY=0
SUBB A,#30H ;RANG3:MOV P1,A ; POP ACC RANG4:NOP
NOP NOP NOP NOP
MOV SBUF,A ;JNB TI,$ ;开中断 中断允许 装入指针初值 串行口工作于方式1 判断RI=1? 清零 读进收到的数据 判断A的内容是否等于48 判断CY=1?
判断A的内容是否等于58 判断CY=0? 转换为ASCII码 输出到数码管显示 启动发送 判断TI=1?
第 18 页 共 24 页
END
7 调试和结果分析
7.1 调试结果
(1)在刚开始设计完原理图时,编译运行时出现了如图所示,表示该程序是错误的,经过我们的一起研究发现了程序的末尾没有加上END结束标志。
(2)程序调试完了之后,在运行时出现了如图14所示,在PCS中输入数字和字符而在数码管、PCR、SCMR、SCMS没有显示跟踪结果。在我们的研究和探讨中发现了我们没有在串行口的3引脚发送数据端没有加上标记PCS。
(3)在原理图基本调试出来的时候,运行在PCS中输入数字“8”我们发现在PCR中没有显示跟踪结果,最后我们把PCR的属性改成如下所示才把原理图和程序调试出
第 19 页 共 24 页
来。调试成功后的运行图如图所示:
第 20 页 共 24 页
7.2 实验结果
(1)在PCS中输入“8”时,结果如图所示:
(2)当PCS输入数据位“2”时,运行结果如图所示:
第 21 页 共 24 页
(3)当PCS输入数据为“a”时,运行结果如图所示:
(4)当PCS输入数据为“空格”时,运行结果如图所示:
第 22 页 共 24 页
(5)当PCS输入数据为“?”时,运行结果如图所示:
8 课程设计心得体会
通过进行本次单片机课程设计,让我对单片机有了更深一层的认识,我掌握了关于单片机的基本操作,并学会了思考解决一些课程中的问题,巩固了单片机相关知识,学到了很多的关于单片机、硬件和数字芯片的知识,让我受益匪浅。在程序调试过程中,我克服困难,经多次努力我们的实验运行成功。这次的课程设计的成功让我对单片机的理论有了更加深入的了解,使我更深刻的体会到了理论联系实际的重要性
在这次课程设计中,虽然我学到了很多关于单片机的知识,但这还远远不够,我现在只掌握了一些基本的功能,而解决更高级问题我的知识还不够,我要在日后进一步学习,更好地掌握单片机相关知识。
第 23 页 共 24 页
参考文献
[1].孙涵芳.MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.1994
[2].李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.2005
第 24 页 共 24 页
因篇幅问题不能全部显示,请点此查看更多更全内容