单片机串行通信发射机 的设计.docx
- 文档编号:8584655
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:31
- 大小:179.75KB
单片机串行通信发射机 的设计.docx
《单片机串行通信发射机 的设计.docx》由会员分享,可在线阅读,更多相关《单片机串行通信发射机 的设计.docx(31页珍藏版)》请在冰豆网上搜索。
单片机串行通信发射机的设计
单片机串行通信发射机的设计
学生:
XXX
学号:
XXX
专业:
XXX
班级:
XXX
指导教师:
XXX
单片机串行通信发射机的设计
摘要:
近年来,单片机串行通信发射机广泛应用于无线通讯,数据交换。
本设计是以美国Atmel公司的AT89C51单片机作为主控芯片,共使用两片单片机为甲机和乙机。
一片用于发射数据,信号的发送由按键控制,另一片接收数据并用2位共阳极数码管显示。
同时发送数据到PC机上,在PC机界面上显示。
采用MAX232芯片实现RS232的EIA电平与单片机TTL电平的转换,通过电平转换电路把有效数据发送给PC机。
并在单片机与MAX232芯片之间加入芯片SN75179能够实现远距离传输。
本设计主要实现了单片机与PC机以及两片单片机之间的串行通信。
关键词:
AT89C51单片机;串口通信;数码管;双机通信
DesignofSerialCommunicationTransmitter
HUXinna
(SichuanUniversityofScienceandEngineering,Zigong,China,643000)
Abstract:
Inrecentyears,serialcommunicationtransmitteriswidelyusedinwirelesscommunication,dataexchange.ThedesignisbasedontheAmericanAtmelcompanyAT89C51microcontrollerasthemaincontrolchip,Atotaloftwosingle-chipmicrocomputerasamachineAandamachineB.Onefortransmittingdata,thesignalsentbythebuttoncontrol,theotheroneusedforreceiveddataandused2commonanodeleddisplay.AtthesametimetosenddatatothePC,inthePCinterface.ThetransformationbeweenRS232ELAlevelandTTLlevelbyMAX232chip,throughthelevelconversioncircuittosenddatatoPCmachine.AndjoinbetweenMCUandMAX232chipSN75179torealizethelongdistancetransmission.ThisdesignmainlyrealizesthemonolithicintegratedcircuitandthePCmachineandserialcommunicationbetweentwosingle-chipmicrocomputer.
Keywords:
AT89C51MCU;serialcommunication;digitaltube;digitalcommunication
第1章前言
1.1选题的背景和意义
目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。
随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强,应用也会更广泛。
单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。
这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。
而随着微机与单片机技术的不断发展,由PC机和多台单片机构成的多机网络监控系统已成为单片机技术发展的一个新方向。
它结合了单片机在实时数据的采集和微机对图形处理,显示的优点。
以及在Windows环境下后台微机在数据库管理上具有明显的优势,二者结合。
让单片机的应用已经不仅仅局限于传统意义上的自动监测或控制,而形成了以网络为核心的分布或多点系统发展的趋势。
但这些单片机的发展方向和趋势的前提必须有一个良好的通信,使得微机能良好的采集单片机传来的数据。
在通信领域内,有两种数据通信方式:
并行通信和串行通信。
随着计算机网
络化和微机分级分布式应用系统的发展,通信的功能越来越重要。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
其特点如下:
传输线少、长距离传送时成本低、传输速率低.。
因此串行发射应用愈来愈广泛。
而串行通信发射机是串行通信中极为重要的基础。
由于串行通信是一种简单、易行可靠的通信方式,所以在工业控制中已被大量采用。
在许多工业生产中用计算机对生产过程实行实时监控,对下位机发送来的数据进行实时数据处理,以及控制信号的产生与传输等功能。
在这种工业生产的特定环境下,计算机要与过程控制的实时信号相联系,因此要求计算机能实现对串行端口的直接操作。
故本设计就是要通过单片机的发送,让PC机能对单片机发送的数据进行接收。
1.2国内外相关研究的最新成果和动态
至今,微机与下位单片机的通信发展已经有十几年的历史了,随着越来越成熟的通信技术和控制系统,PC机与下位机的通信已经实现了产品化、工业化。
但是越来越多的现实问题对该通信领域的要求越来越高。
如便捷问题,无线的通信。
近年来,上位机与下位机的通信领域研究的势头与日俱增,成果也越来越多。
现在该通信领域正朝着网络化、便捷化、无线化发展。
网络化就是以一台PC机为核心机对多个下位机进行数据的采集和处理,并发送相应的命令进行控制。
如果有需要的话,各个下位机之间也可以形成通信,以方便满足通信的需要。
便捷化,串口通信已经是非常成熟的一种通信方式,但由于是串口形式,必须PC机上要有RS232接口,这样的连接对于以体积为重要指标的笔记本电脑就不是非常的方便了,这样,USB接口就应运而生了,这是一种全新的接口模式。
无线化,随着计算机通信和无线技术的逐步融洽,通信已经从传统的有线通信转化到了无线通信,无线通信有快捷、方便、可移动和安全等优势,所以现在已经广泛应用到了遥控玩具、汽车电子、环境监测和电气自动化等领域。
1.3课题的研究内容
随着数字、信息化的高速发展,PC机对下位单片机得良好通信就显得尤为重要。
串行通信是一种简单、易行可靠的通信方式。
故采用以单片机为控制核心,利用串行通信设计并制作一串行通信发射机。
电路主要是由AT89C51单片机和由多个按键组成的控制模块,时钟电路、显示电路、电平转换电路等部分组成。
其主要技术指标是P1口控制,通过按键对系统的各个部分进行控制。
P2口和P3口产生信号并通过共阳极数码管来显示。
软件采用C语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时,显示程序对发射的数据加以显示。
1.4应用场合和功能
应用场合:
通过单片机的发送,让PC机能对单片机发送的数据进行接收。
故本设计就是要广泛应用到了遥控玩具、汽车电子、环境监测和电气自动化等领域。
在工业控制中已被大量采用,由于许多工业生产中用计算机对生产过程实行实时监控,对下位机发送来的数据进行实时数据处理,以及控制信号的产生与传输等功能。
功能:
通过对单片机的控制,实现数据的传输。
每一部分的实现由按键来控制,当按键按下时,分别给显示电路赋初值,进行通信协议的初始化,计数器的计数。
最后发射显示在数码管上的数据,然后在电脑上显示。
1.5本章小结
本章只要叙述了单片机串行发射机的选题背景,国内外研究成果以及应用的场合。
还简单介绍了双单片机串行通信以及单片机与PC机之间的通信。
简单分析了电路框架,如何实现等。
第2章设计要求与方案论证
2.1设计要求
(1)掌握AT89C51的功能结构和编程;
(2)采用串行工作方式,发射并显示两位数字信息,既显示00-99,使数据能够在不同地方传递;由AT89C51和多个按键组成的控制模块,包括时钟电路、控制信号电路;
(3)画出电路原理图,设计出相应的软件;
2.2系统基本方案的选择与论证
2.2.1单片机芯片的选择方案和论证
方案一:
AT89C51单片机。
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,一个全双工串行通信口,片内振荡器及时钟电路[1]。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
方案二:
C8051F060单片机。
C8051F060芯片是由CYGNAL公司生产的,集成有高速、流水线结构的CIP-51内核,具有内置RAM,2个16位1Msps的ADC,芯片自身带有CAN总线控制器、59个I/O口。
它是高度集成的芯片,减少了外围器件,进而降低了系统硬件设计的复杂性。
由于兼容性与实用性等综合考虑,选择方案一。
2.2.2显示器件的选择方案和论证
方案一:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少[2]。
方案二:
液晶显示器。
液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,显示质量高。
其接口都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
但是价格昂贵,需要的接口线多。
方案三:
阴极射线管显示器。
此种显示器图像色彩丰富,还原性好,有丰富的几何失真调整能力。
但不能长期暴露在磁场下,会磁化或损坏,不能让强光直射,会降低发光效率,不能在高温下使用,工作性能和使用寿命会大打折扣。
由于价格等综合考虑,选择方案一。
2.2.3键盘形式的选择方案和论证
方案一:
独立式按键。
独立按键的输入线较多,结构复杂,一般适用于按键较少,操作速度较高的场合。
方案二:
行列式键盘。
行列式键盘由行和列线交叉组成,一般适用于按键较多的场合。
使用4×4矩形键盘,这样键盘模块仅使用8根线与处理器相连,节省了系统资源。
由于我们功能实现需要较多按键,因此综合考虑选择方案一。
2.2.4串行通信的选择方案和论证
方案一:
选用RS232与计算机通信,目前EIA-232是PC机与通信工业中应用最广泛的一种串行接口。
RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准[3]。
EIA-232采取不平衡传输方式,即所谓单端通信。
标准规定,RS-232的传送距离要求可达50英尺(约15米),最高速率为20kbps。
由于RS232接口应用十分广泛,而且原理简单。
方案二:
RS485是从RS-422基础上发展而来的,所以RS-485许多电气规定与EIA-422相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻、最大传输距离约为1219米、最大传输速率为10Mbps等[4]。
但是,RS-485可以采用二线与四线方式,采用二线制时可实现真正的多点双向通信,而采用四线连接时,与RS-422一样只能实现点对多点通信,但它比RS-422有改进,无论四线还是二线连接方式总线上可接多达32个设备。
由于电脑本身自带RS-232接口,为全双工工作方式,RS-485与电脑连接外围电路,为半双工工作方式,综合考虑选择方案一。
2.3电路设计的最终方案
综上所述,本设计的方案选定位:
采用单片机AT89C51作为主控芯片;LCD数码管动态扫描作为显示模块;独立式按键作为控制模块;RS232与PC机完成串行通信。
其他采用芯片SN75179实现远距离传输;单片机之间采用MAX232进行双机通信。
2.4本章小结
本章主要介绍了本设计单片机串行通信发射机的设计要求,其中的显示模块,控制模块,电平转换模块的选择方案与论证,主控模块的芯片选择。
还简单总结了电路设计的最终方案。
第3章系统的硬件设计与实现
系统总体框图如图3-1所示,信号的发送由键盘控制,两片单片机为甲机和乙机,一片用于发射一片用于接收。
通过MAX232芯片来实现RS232的ELA电平与单片机TTL电平的转换,当通信协议一致时,数据就能发送到PC机上了,同时把发送的信号发送到数码管上显示。
图3-1系统设计总体框图
时钟电路给单片机提供晶振频率,本设计的晶振选用11.0592Mhz,复位电路作用是重新复位单片机,使单片机重新复位启动单片机。
本设计设置了四个按键,连接单片机甲机的P1.0—P1.3口,用于信号发射的控制。
单片机甲机与乙机串行通信,一片用于发射一片用于接收。
显示部分由两位LED数码管组成,用单片机的P0口控制它的段选码,由P2口的两个口控制数码管的位选。
电平转换电路主要有MAX232芯片组成,连接单片机的两个通信端口RXD和TXD,使PC机能和单片机的电平一样,进行通信。
3.1单片机主控模块设计
单片机最小系统就是让单片机能正常工作并发挥其功能所必须组成的部分,其中包括时钟电路和复位电路,其电路如图3-2所示。
单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10-30uF,容值越大需要的复位时间越短。
晶振可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
最小系统起振电容C5、C6一般采用15-33pF,并且电容离晶振越近越好,晶振离单片机越近越好。
P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。
图3-2单片机主控电路
3.1.1元器件AT89C51的介绍
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机。
片内含有4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM)。
器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和flash存储单元,其功能强大[5]。
所以AT89C51单片机可灵活应用于各种控制领域。
(1)主要的性能参数
与MCS-51产品指令系统完全兼容
4K字节可重新擦写flash闪速存储器
全静态工作:
0Hz-24MHz
三级加密程序存储器
1000次可擦写周期
128×8位内部RAM
32个可编程I/O线
6个中断源
2个16位定时器/计数器
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
(2)功能特性概述
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位[7]。
(3)引脚功能说明
VCC(40脚):
电源端,为+5V。
GND(20脚):
接地端。
XTAL1(19脚):
接外部晶体和微调电容的一端。
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(18脚):
接外部晶体和微调电容的另一端。
振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。
如要检查单片机的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。
P0口(P0.0-P0.7,39-32脚):
P0口是一个8位漏级开路双向I/O端口,每脚可以吸收8TTL门电流。
当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,可作为高阻抗输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口(P1.0-P1.7):
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口的输出缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口(P2.0-P2.7):
P2口是一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存储器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口(P3.0-P3.7):
P3口管脚是8个带内部上拉电阻的双向I/O口,P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用做输出口。
P3作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(ILL)。
在AT89C51中,P3口还用于一些复用功能,如表3-1所示[8]:
表3-1P3口端口复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(计时器0外部输入)
P3.5
T1(计时器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
RST(9脚):
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG(30脚):
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN(29脚):
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP(31脚):
当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端
保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V
编程电源(VPP)。
3.1.2晶振电路设计
在单片机系统设计中,振荡电路的设计是十分重要的一个环节。
系列单片机的典型振荡电路如图3-3所示。
图3-3单片机振荡电路
C5、C6叫负载电容。
一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。
它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。
两个电容的取值是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。
震荡频率是11.0592MHZ,幅度是5V。
输出的信号与单片机的18、19脚相连。
3.1.3复位电路设计
复位是单片机的初始化操作。
单片机启运运行时,都需要先复位,使CPU和系统中其他部件处于一个准确的初始状态,并从这个状态开始工作。
因而,复位是一个很重要的操作方式。
但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。
当MCS-5l系列单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作;如RST持续为高电平时,单片机就处于循环复位状态[9]。
根据应用的要求,通常复位操作有两种形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电或开关复位电源接通后,单片机自动复位,并且在单片机运行期间,开关操作也能使单片机复位。
上电后,由于电容C3的充电和反相门的作用,RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键KRST后松开,也能使RST持续一段时间的高电平,从而实现上电或开关复位的操作。
本系统单片机的复位电路如图3-4所示。
图3-4单片机复位电路
3.2键盘控制电路设计
由于本设计只需要把数据发送出去,然后显示是两位的正常数字显示就可以了。
故在设计键盘时,只需要六个独立按键便可简单的操控发射内容的变换。
图3-5键盘控制电路
系统中设置了5个按键,其中1个是复位键,其余的4个键,用程序来控制实现不同的功能。
按键2时发射显示数据XX给乙机数码管显示,且发送给PC机显示。
键1、2、3、4都是同样的功能。
电路如图3-5所示。
四个按键分别接图3-1的AT89C51单片机的P1.0,P1.1,P1.2,P1.3口。
3.3甲机与乙级的串行通信设计
计算机与外界的信息交换称为通信,常用的通信方式有两种:
并行通信和串行通信。
51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。
串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远[10]。
在单片机甲机系统中通过键盘输入数据,通过单片机的串口传输到单片机乙机系统的串口,并在单片机乙机中显示所输入的数据,同时发射给PC机显示。
单片机串行通信如图3-6所示。
MCS-51系列单片机上有一个通用异步接收/发送器UART,通过引脚RXD[P3.O]和TXD[P3.1]可与外音B电路进行全双工的串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入[11]。
图3-6单片机串行通信示意图
MCS-51内部含有一个可编程全双工串行通信接口,具有UART的全部功能。
该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
51单片机串行接口的结构如下:
3.3.1数据缓冲器(SBUF)
接受或发送的数据都要先送到SBUF缓存。
有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。
3.3.2串行口控制寄存器SCON
MCS-51对串行口的控制是通过SCON实现的,也和电源控制寄存器PCON有关。
SCON和PCON都是特殊功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机串行通信发射机 的设计 单片机 串行 通信 发射机 设计