单片机串行通信接口设计课程设计2大学论文Word文件下载.docx
- 文档编号:16720461
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:12
- 大小:273.61KB
单片机串行通信接口设计课程设计2大学论文Word文件下载.docx
《单片机串行通信接口设计课程设计2大学论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机串行通信接口设计课程设计2大学论文Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的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和单片机间要有RS-232电平转换电路,图1所示为PC与单片机的通信图。
图1PC机与单片机的通信图
2.2单片机选择
2.2.1AT89C51
图2单片机AT89C51
AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机。
片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C51单片机可为提供许多高性价的应用场合,可灵活的应用于各种控制领域。
2.2.2AT89C51功能特性描述
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,窜行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。
2.2.3AT89C51引脚功能说明
Vcc:
电源电压
GND:
地
P0口:
PO口是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。
P1口:
P1口是一个内部上拉电阻的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输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。
:
程序存入允许(
)输出的是外部程序存储器的读选通信号。
EA/VPP:
外部访问允许。
·
XTAL1:
震荡器反向放大器及内部时钟的输入端。
XAAL2:
震荡器反向放大器的输出端。
2.2.4AT89C51的串行接口
AT89C51单片机内部有一个全双工的串行接收和发射缓冲器(SBUFF),这两个在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是99H。
这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可以构成同步移位寄存器使用。
如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的RS-232接口。
SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。
但这两个寄存器具有同一地址(99H)。
MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。
而从接收缓冲器读出数据既可接收数据。
SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如下:
表1SCON寄存器结构
SCON
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
位地址
9FH
9EH
8DH
9CH
9BH
9AH
99H
98H
特殊功能寄存器PCON,主要是CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H其机构格式如下表:
表2特殊功能寄存器PCON
PCON
位符号
SMOD
GF1
GF0
PD
IDL
2.2.5串行口工作方式的选择
波特率(BoudRate)就是在串口通信中每秒能够发送的位数。
MSC-51串行端口在四种工作模式下有不同的波特率计算方法。
其中,模式0和模式2波特率计算很简单;
模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。
在此模式下波特率计算公式为:
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;
TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:
首先,系统需要的通信速率。
这要根据系统的运作特点,确定通信的频率范围。
然后考虑通信时钟误差。
使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。
为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。
每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。
第一次移位时,停止位“1”移入输出移位寄存器的第9位上,以后每次移位,左边都移入0。
当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。
2.3RS-232简介
2.3.1RS-232电平转换器—MAX232
图3RS-232电路
RS-232规定了自己的电气标准,由于它是在TTL电路之前研制的,因此它的电平不是+5V和地,而是采用负逻辑,即逻辑“0”:
+5V~—5V,逻辑“1”:
—5V~—15V。
因此RS-232不能和TTL电平直接相连,必须进行电平转换。
本设计选用MAX232。
管脚说明如下
①C0+、C0-、C1+、C1-是外接电容端;
②R1IN、R2IN是2路RS-232C电平信号接收输入端;
③RlOUT、R2OUT是2路转换后的TTL电平接收信号输出端,送8051的RXD接收端;
④TlIN、T2IN是2路TTL电平发送输入端,接8051的TxD发送端;
⑤TlOUT、T2OUT是2路转换后的发送RS-232C电平信号输出端,接传输线;
⑥V+经电容接电源+5V;
⑦V-经电容接地。
2.3.2RS-232的接口信号
RS-232规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线。
常用的只有9根,它们是:
2个数据信号:
发送TXD;
接收RXD。
1个信号地线:
SG。
6个控制信号:
DSR;
数传机(即modem)准备好,DataSetReady.
DTR;
数据终端(DTE,即微机接口电路,如Intel8250/8251,16550)准备好,DataTerminalReady。
RTS;
DTE请求DCE发送(RequestToSend)。
CTS;
DCE允许DTE发送(ClearToSend),该信号是对RTS信号的回答。
DCD;
数据载波检出,DataCarrierDetection当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收,并且由DCE将接收到的载波信号解调为数字信号,经RXD线送给DTE。
RI;
振铃信号Ringing当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。
3软件编程及调试
双方约定:
波特率为9600bit/s,通信格式为8个数据位,一个停止位,无奇偶校验位。
3.1单片机通讯软件
单片机通过中断方式接收PC机发送的数据,并回送。
根据信息格式,可以设定单片机的串行口工作在方式1。
在串行口方式1中,波特率是由定时器T1产生的。
如晶振为12MHZ,
波特率为9600bit/s,这时T1工作在方式2(自动重新装入初值)。
经计算,T1的初始值应为F3H,SMOD=1。
程序框图如图所示:
图4程序流程图
程序设计如下:
#include<
reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharflag,a;
voidmain()
{
flag=0;
TMOD=0X20;
TH1=0XFD;
TL1=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;
}
}
}
voidchuan_kou()interrupt4
RI=0;
a=SBUF;
P0=SBUF;
flag=1;
3.3调试
程序调试如下,如有错误反复修改,直至没有错误\没有警告。
图5程序调试
通信过程调试如下,发送数据,波特率选择9600bit/s.并发送15字节数据。
图6串口调试
总结
通过这次单片机串行接口通信的课程设计让我学到了许多知识,首先,我对单片机有了新的认识,同时又开阔了思路,对通信的原理有了进一步的认识,理解了PC机与单片机通信的整个过程。
此外,还让我认识到了自己对以前所学过知识的不足。
在这次课程设计当中我碰到了许多问题,我曾经接触过这方面的书籍和实物,也对其有一些简单的了解。
但是却不知道具体的工作原理,当我拿到课程设计的题名后完全不知道该怎么办好,在指导老师王二平的悉心指导下,我明白了其中的道理,于此同时我通过大量地阅读和查阅相关的资料,和同学们交流后,学会了很多知识,最终此次课程设计才得以完成。
通过这次课程设计让我懂得了在以后的学习和工作当中要不断地完善自我、努力上进、刻苦钻研力争在电子信息行业有一个好的发展和结果。
致谢
课程设计是自己在大学中的一段经历,从设计之初的无从下手到设计工作的圆满完成,期间遇到了诸多的问题和困难。
但在王老师的细心指导和帮助下,通过自己的努力,最终这些问题与困难都得到了圆满解决。
使我可以按时课程设计并使自己的专业知识与综合能力都得到了相应的提高。
在课程设计过程中,王老师在百忙中对我的设计进行了指导。
他首先细致地为我解题;
当我迷茫于众多的资料时,又为我提纲挈领、梳理脉络,使我确立了本文的框架。
感谢老师对我的课程设计不厌其烦的悉心指导。
在课程设计写作当中中,每次都能恰逢其时地得到老师的亲切指点。
从框架的完善,到内容的扩充;
从行文的用语到格式的规范;
王老师都严格要求,力求完美。
而且我还从王老师那里学到了严谨、务实、认真的工作态度和极强的敬业精神。
我再次为王老师的耐心付出表示感谢。
参考文献
[1]胡汉才.单片机原理与接口技术[M].北京:
清华大学出版社,1995.6.
[2]楼然苗等.51系列单片机设计实例[M].北京:
北京航空航天出版社,2003.3.
[3]何立民.单片机高级教程[M].北京:
北京航空航天大学出版社,2001.
[4]赵晓安.MCS-51单片机原理及应用[M].天津:
天津大学出版社,2001.3.
[5]肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002.8.
[6]夏继强.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2001.
[7]于凤明.单片机原理及接口技术[M].北京:
中国轻工业出版社.1998.
[8]陈伟人.单片微型计算机原理与应用[M].北京:
清华大学出版社,2006.5.
[9]李广第.单片机基础[M].第1版.北京:
北京航空航天大学出版社,1999.
[10]徐惠民、安德宁.单片微型计算机原理接口与应用[M].第1版.北京:
北京邮电大学出版社,1996.
[11]何立民.从Cygnal80C51F看8位单片机发展之路[M].单片机与嵌入式系统应用,2002年,第5期:
P5~8.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串行 通信 接口 设计 课程设计 大学 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)