1、课程设计说明书 第13页单片机串行接口的设计摘 要单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,此次设计将采用通用80C51完成。单片机的串行口是一种比较重要的通信接口,单片机的串行口应用非常广泛,可以进行接口扩展、串行通
2、信等。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯,RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。单片机与PC机的通信是通信技术的基础,掌握单片机与PC机的通信是通信原理对以后的学习具有深远意义。因此此次课程设计很有必要。关键词:单片机 ,串口通信,RS232目 录1 单片机简介12 硬件设计12.1 整体设计12.2 单片机选择22.2.1 AT89C5122.2.2 AT89C51功能特性描述32.2.3 AT89C51引脚功能说明32.2.4 AT89C51的串行接口42.2.5 串行口工作方式的选择52.3
3、RS-232简介62.3.1 RS-232电平转换器MAX23262.3.2 RS-232的接口信号73 软件编程及调试73.1 单片机通讯软件73.3 调试9总 结12致 谢13参考文献141 单片机简介如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段。第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS 48为代表。MCS 48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。第二阶段(1978-1982)单片机的完善阶段。Intel公司在M
4、CS 48 基础上推出了完善的、典型的单片机系列MCS 51。第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS 51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和
5、应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。2硬件设计2.1 整体设计在PC系统中都装有异步通信适配器,利用它可以实现异步串行通信。适配器的核心元件是可编程的intel8251芯片,它使PC有能力与其他具有RS-232标准的接口的计算机或设备进行通信,而MCS-51单片机本身具有一个双全工的串行口,因此只要配上电平转换电路就可以和RS-232接口组成一个简单的通信通道。简单的PC与单片机通信只要3根线就可以了,单片机的TXD、RXD与PC的RXD、TXD分别相连,连接地线。由于51系列单片机的串行口使用的是TTL电平,因此在PC和单片
6、机间要有RS-232电平转换电路,图1所示为PC与单片机的通信图。图1 PC机与单片机的通信图2.2 单片机选择2.2.1 AT89C51 图2 单片机AT89C51AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机。片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为提供许多高性价的应用场合,可灵活的应用于各种控制领域。2.2.2 AT89C51功能
7、特性描述AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,窜行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。2.2.3 AT89C51引脚功能说明Vcc:电源电压GND:地P0口:PO口是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。P1口:P1口
8、是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。RST:复位输出。当震荡器工作时,RST引脚出现两个机器周期以上高电平使机器复位。 ALE/当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。:程序存入允许()输出的是外部程
9、序存储器的读选通信号。EA/VPP:外部访问允许。XTAL1:震荡器反向放大器及内部时钟的输入端。XAAL2:震荡器反向放大器的输出端。2.2.4 AT89C51的串行接口AT89C51单片机内部有一个 全双工的串行接收和发射缓冲器(SBUFF),这两个在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是99H。这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的RS-232接口。SBUF为串行口的收发缓冲器,它是一个可寻址
10、的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如下:表1 SCON寄存器结构SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H特殊功能寄存器PCON,主要是CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H其机构格式如下表:表2 特殊功
11、能寄存器PCON PCOND7D6D5D4D3D2D1D0位符号SMODGF1GF0PDIDL2.2.5 串行口工作方式的选择波特率(Boud Rate)就是在串口通信中每秒能够发送的位数。MSC-51串行端口在四种工作模式下有不同的波特率计算方法。其中,模式0和模式2波特率计算很简单;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为: 波特率=(1+SMOD)*晶振频率/(384*(256-TH1)其中,SMOD寄存器PCON的第
12、7位,称为波特率倍增位;TH1定时器的重载值。在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。第一次移位时,停止位“1”移入输出移位寄存器的第9位上 ,以后每次移位,左边都移入0。当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件
13、时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。2.3 RS-232简介2.3.1 RS-232电平转换器MAX232图3 RS-232电路RS-232规定了自己的电气标准,由于它是在TTL电路之前研制的,因此它的电平不是+5V和地,而是采用负逻辑,即逻辑“0”:+5V5V,逻辑“1”:5V15V。因此RS-232不能和TTL电平直接相连,必须进行电平转换。本设计选用MAX232。管脚说明如下C0+、C0-、C1+、C1-是外接电容端;R1IN、R2IN是2路RS-232C电平信号接收输入端;RlOUT、R2OUT是2路转换后的TTL电平接收信号输出端,送8051的RXD接收端
14、;TlIN、T2IN是2路TTL电平发送输入端,接8051的TxD发送端;TlOUT、T2OUT是2路转换后的发送RS-232C电平信号输出端,接传输线;V+经电容接电源+5V;V-经电容接地。2.3.2 RS-232的接口信号RS-232规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线。常用的只有9根,它们是:2个数据信号:发送TXD;接收RXD。1个信号地线:SG。6个控制信号:DSR;数传机(即modem)准备好,Data Set Ready.DTR;数据终端(DTE,即微机接口电路,如Intel8250/8251,16550)准备好,Data Termin
15、al Ready。RTS;DTE请求DCE发送(Request To Send)。CTS;DCE允许DTE发送(Clear To Send),该信号是对RTS信号的回答。DCD;数据载波检出,Data Carrier Detection当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收, 并且由DCE将接收到的载波信号解调为数字信号, 经RXD线送给DTE。RI;振铃信号 Ringing当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。3 软件编程及调试双方约定:波特率为9600bit/s,通信格式为8个数据位,一个停止
16、位,无奇偶校验位。3.1 单片机通讯软件单片机通过中断方式接收PC机发送的数据,并回送。根据信息格式,可以设定单片机的串行口工作在方式1。在串行口方式1中,波特率是由定时器T1产生的。如晶振为12MHZ,波特率为9600bit/s,这时T1工作在方式2(自动重新装入初值)。经计算,T1的初始值应为F3H,SMOD=1。 程序框图如图所示:图4 程序流程图程序设计如下: #include#define uint unsigned int#define uchar unsigned charuchar flag,a;void main()flag=0;TMOD=0X20;TH1=0XFD;TL1=
17、0XFD;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;while(1)if(flag=1)ES=0;flag=0;SBUF=a;while(!TI);TI=0;ES=1;void chuan_kou() interrupt 4RI=0;a=SBUF;P0=SBUF;flag=1;3.3 调试程序调试如下,如有错误反复修改,直至没有错误没有警告。图5 程序调试通信过程调试如下,发送数据,波特率选择9600bit/s.并发送15字节数据。图6 串口调试总 结通过这次单片机串行接口通信的课程设计让我学到了许多知识,首先,我对单片机有了新的认识,同时又开阔了思路,对通信的原理有
18、了进一步的认识,理解了PC机与单片机通信的整个过程。此外,还让我认识到了自己对以前所学过知识的不足。在这次课程设计当中我碰到了许多问题,我曾经接触过这方面的书籍和实物,也对其有一些简单的了解。但是却不知道具体的工作原理,当我拿到课程设计的题名后完全不知道该怎么办好,在指导老师王二平的悉心指导下,我明白了其中的道理,于此同时我通过大量地阅读和查阅相关的资料,和同学们交流后,学会了很多知识,最终此次课程设计才得以完成。通过这次课程设计让我懂得了在以后的学习和工作当中要不断地完善自我、努力上进、刻苦钻研力争在电子信息行业有一个好的发展和结果。致 谢课程设计是自己在大学中的一段经历,从设计之初的无从下
19、手到设计工作的圆满完成,期间遇到了诸多的问题和困难。但在王老师的细心指导和帮助下,通过自己的努力,最终这些问题与困难都得到了圆满解决。使我可以按时课程设计并使自己的专业知识与综合能力都得到了相应的提高。在课程设计过程中,王老师在百忙中对我的设计进行了指导。他首先细致地为我解题;当我迷茫于众多的资料时,又为我提纲挈领、梳理脉络,使我确立了本文的框架。感谢老师对我的课程设计不厌其烦的悉心指导。在课程设计写作当中中,每次都能恰逢其时地得到老师的亲切指点。从框架的完善,到内容的扩充;从行文的用语到格式的规范;王老师都严格要求,力求完美。而且我还从王老师那里学到了严谨、务实、认真的工作态度和极强的敬业精
20、神。我再次为王老师的耐心付出表示感谢。参考文献1 胡汉才单片机原理与接口技术M北京:清华大学出版社,1995.62 楼然苗等51系列单片机设计实例M北京:北京航空航天出版社,2003.3 3 何立民. 单片机高级教程M北京:北京航空航天大学出版社,20014 赵晓安. MCS-51单片机原理及应用M. 天津:天津大学出版社,2001.35 肖洪兵. 跟我学用单片机M. 北京:北京航空航天大学出版社,2002.86 夏继强. 单片机实验与实践教程M. 北京:北京航空航天大学出版社, 2001 7 于凤明单片机原理及接口技术M北京:中国轻工业出版社19988 陈伟人.单片微型计算机原理与应用M.北京:清华大学出版社, 2006.5.9 李广第 单片机基础M 第1版北京:北京航空航天大学出版社,1999.10 徐惠民、安德宁 单片微型计算机原理接口与应用M 第1版 北京:北京邮电大学出版社,1996. 11 何立民从Cygnal 80C51F看8位单片机发展之路M 单片机与嵌入式系统应用,2002年,第5期:P58.