




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
串行通信单片机最小系统设计-论文一、设计现状随着计算机技术的快速发展和广泛应用,从智能家用电器到工业上的集散控制系统(DCS)都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分结合利用了微型计算机分析处理能力强、速度快的特点及下位机(单片机、PLC、DSP等)面向控制、使用灵活方便的优势。由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。一个MCS51系列的单片机(如Atmel89cxx)内部包含有RAM、FLASH ROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。MCS51系列的单片机(例如8031)都带有串口,利用串口进行互连通信极为方便,并且可以减少端口数量。但如果系统要求扩充的资源是对外连接的串口,串行口上可以外接串行输入并行输出的移位寄存器74LS164,或外接并行输入串行输出的移位寄存器74LS165。对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。为了增加通信距离,减少通道中电源干扰,可以在通信上路上采取光电隔离的方法,进行双机串行通信。二、设计方案及论证2.1设计方案首先从硬件上设计,采用两块AT89C51单片机进行串行口通信,由于此设计硬件连接简单,传输距离不远,所以,只需要在单片机满足自身工作条件的情况下进行比机间的发送和接收端口互连就可以了,甲机TI接乙机RI,甲机RI接乙机TI端。单片机工作条件需提供一定频率的时钟周期,防止程序跑飞或死循环9脚外接手机复位电路,同时也可以在程序中设计看门狗子程序,在31脚中用来系统是否有外部程序存储器扩展,没有扩展接高电平。其次从软件上设计,在选择定时器工作方式,传输波特率的设定,通过中断方式或查询方式程序设计,甲机发送程序,P1口从按键中读取键值,将数据通过发送缓冲区发送出去、。乙机接收程序,接收缓冲区接收到数据后,乙机输出相应的数据至P1口点亮相应发光二极管。同时甲机与乙机可以相互传送数据,乙机接收到数据后给甲机发送一个应答信息,甲机接收缓冲区接到数据再进行相对应的传输。2.2设计论证 双机通信系统设计中,单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出。常用于数据通信的传输方式有单工、半双工、全双工和多工方式,本设计采用单工传输方式。串行数据通信两种形式,异步通信:在这种通信方式中,接收器和发送器有各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据位。同步通信:同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就慢得多。同步传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志。 定时器T0,T1方式寄存器TMOD的设置,门控位GATE是否受外部引脚INT0,INT1电平控制,C/-T定时器方式和外部事情计数方式控制位,工作方式选择位M1M0。串行口控制寄存器SCON是一个特殊寄存器,具有位寻址功能,SCON包括串行口的工作方式选择位SM0,SM1,多机通信标志SM2,接收允许位REN,发送接收第9位数据TB8,RB8,以及发送和接收中断标志TI,RI。三、系统的实现与硬件模块介绍3.1系统的实现单片机串工作方式 目前广泛应用的51系列单片机的串行通信可工作于同步或异步方式,多数兼容的51系列单片机都有一个或多个UART异步串行接口,这就为用户设计通信程序提供了很好的便利条件。当应用系统中需要多个串行通信接口时,可采用以下几种方法:(1)采用多串口的单片机,如华邦的WW77E58就有2个串行接口;(2)采用通用异步串口扩展芯片,如TLl6c552(2路)、?LCl6C554(4路);(3)采用普通IO模拟实现通信。这是最简单经济的方法,并且可以实现高速串通信。本文仅讨论采用一个异步串行通信的设计方法,单片机串口的控制方式MCS-51系列单片机对串口的控制是通过对串行口控制寄存器SCON和功率控制寄存器PCON的设置来实现的。SCON是一个可位寻址的特殊功能寄存器,通过设置SGON的SM0和SMI,可以使单片机有四种不同的工作方式。SCON的格式可参见有关手册说明。在用于和PC机实现串行通信时,一般设置为方式1或方式3,主要区别是方式1的数据格式为8位,方式3的数据格式为9位,其中第9位SM2为多机通信位,可实现单片机的多点通信。功率控制寄存器PCON的SMOD为串行口波特串倍率控制位,当单片机的品振为整数时(如6M),设置5MOD为1通常可获得更高的通信速串,但SMOD不能位寻址,这点务必请读者注意。 单片机串口的速率设置 单片机和PC机通信时,其通信速率由定时器T1或定时器T2产生(52系列),在T1工作在方式2时的通信速率的计算公式为:波特串(SMODFosc)(3212256TH1)。其中Fosc晶振频率,为获得准确的通信速率,Fosc通常为110592MH2。采用T1定时器通信的系统,速率不可能过高,一般情况下最高为19200bits。如为了获得更高的通信速率可利用52系列单片机的定时器T2,最高速率可达115200bjts。实际应用中我们曾经在6MH2晶振的单片机系统中实现了38400bits的高速通信。 单片机串口通信程序的实现方法 实际应用中,单片机通信程序一般采用中断方式与微机通信,微机做为主控方。当单片机收到微机发送的地址信号时,便转入中断服务程序,向微机发送数据。其中断服务于程序流程见图4,该中断服务于程序也适用于多机通信的系统。详细的程序清单请参见本刊网站COMMONASM,单片机的晶振为110592MHz,通信速率为9600bits,帧格式为N81。 3.2硬件模块介绍在同一块印板内两个单片机的串行口可以直接相连,以TTL电平(大于0.8V为1,小于0.3V为0)直接串行通信,串行口可以工作于方式1,2,3。一般用一个外部脉冲源作为单片机的时钟,结构图如下所示。586单片机最小系统设计串行通信图3.2双机之间的TTL电平串行通信3.2.1电源模块通过连接外部家用市电交流220V/50HZ,经过变压器初级绕组,次级绕组输出交流电变换成电路所需的低压交流电,桥式整流交流信号(正弦信号)的负半周期翻转,经滤波电路就是把整流器输出电压中的波动成分尽可能地减小,改造成接近恒稳的直流电经过整流后的电源电压虽然没有交流变化成分,但其脉动较大,需要经过滤波电路消除其脉动成分,使其更接近于直流,此时,发光二极管指示灯亮,表示电路接通,通过常用器件三端稳压集成电路7805,输出正5V直流电压的稳压电源电路,7805应配上散热板。图3.2.1电源电路3.2.2芯片模块AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4K bytes的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用AEMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域,下面管脚说明。VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如所示:口管脚 备选功能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(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 图3.2.2单片机芯片引脚图 3.2.3时钟模块时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度,目前51系列单片机都采用CMOS工艺,允许的最高频率是随型号而变化的。最高频率达60MHZ。89C51等COMS型单片机内部了有一个可控的反相放大器,引脚XTAL2,XTAL1为反相放大器的输入端和输出端,在XTAL2,XTAL1上外接晶振(或陶瓷谐振器)和电容便组成振荡器,如图所示。电容C1,C2的典型值为30PF正负10PF,振荡器频率主要取决于晶振的频率,但必须小于器件所允许的最高频率。振荡器的工作爱-PD控制,复位以后PD=0(PD=1)振荡器工作,可由软件置“1”PD(使-PD=0),使振荡器停止振荡,从而使整个单片机停止工作,以达到节电目的。 图3.2.3单片机时钟电路3.2.4按键模块键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可分为非编码键盘和编码键盘,在单片机中使用的都是非编码键盘,国为它结构简单,成本低廉。常用的有独立式键盘,行列式键盘等。本设计使用独立式键盘,如图3.2.4所示,它将每一个按键对应连接到I/O输入线, 8个按键,互不干扰,使用灵活,当相应按键按下的状态进行编码,例如,P1.0被按下,则P1口是11111110,则P1口直接在状态编码为FEH。通过程序进行识别当前是否有键按下,特点只能用于按键少,占用引脚端口。单片机最小系统设计串行通信3.2.5显示模块 在单片机系统中,经常用LED(发光二极管)数码管显示器来显示单片机系统的工作状态,运算结果等各种信息,LED数码管显示器是单片机与人对话的一种重要输出设备。LED数码管可以构造成显示出0-9数字符号的7段数码管,而在内部结构连接可分为共阳,共阴数码管,将发光二极管的正极全部连接在一起组成公共端称为共阳,反之将其负极公共端为共阴,其中,共阳共公端接+5V,下面为共阴公共端接地,当另一端接高电平时发光二极管导通点亮,而接低电平时则不点亮。 图3.2.5发光二极管显示四、软件设计和流程图4.1发射程序设计甲机程序设计中与乙机波待率设计相同,甲机中主要是对P1口读输入键值状态,通过发送缓冲区传输至乙机。在此关键程序指令: LOOP: MOV P1, #0FFH MOV A, P1 CJNE A, #0FFH,KEY SJMP LOOP MOV A, P1 KEY: MOV SBUF, A JNB TI, $ CLR TI MOV SBUF, A SJMP LOOP4.2接受程序设计乙机程序设计中与甲机波待率设计相同,乙机中主要是对P1口写输出状态,通过从甲机中接收到乙机接收缓冲区。在此关键程序指令:LOOP: JBC RI, LK SJMP LOOP LK: MOV A, SBUF MOV P1, A ACALL DELAY SJMP LOOP RET4.3程序设计流程图根据设计硬件实现的功能,软件程序设计流程图如下所示:图要重新画,去掉一个框 图4.3主程序流程图五、测试编译与调试仿真利用当前通用的编译软件KEIL,将程序进行调试,编译,生成HEX或BIN机器代码,便于通过下载软件写入到芯片或模拟仿真软件单片机中,通过课程序设计了解软件的使用以程序调试分析。 图5.1keil中发送程序的编译图5.2keil中接送程序的编译通用的单片机模拟仿真软件Proteus7.4仿真完成了课程设计的要求。在元器件的选择及调用,硬件电路的连接,通过KEIL生成的HEX目标文件,调用到单片机内部进行仿真,同时由于是串行通信晶体振荡器设置为11.0592MHZ,图中没显示是由于仿真软件单片机元件内部已经设置好了,完成的功能是能够通过甲机读取外部P1口中的键值通过发送缓冲区发送至乙机接收缓冲区,在乙中单片机内部寄存器传送至外部P1口发光二极管显示。串行通信单片机最小系统设计总 结本次设计采用两片AT89C51单片机实现信息的串行通信,设计过程中,从双机通信背景的了解,到89C51单片机具体功能的了解,与8051单片机的区别;从串行通信的原理的熟悉,到掌握具体串行通信在双机之间的实现;从硬件电路设计到程序编写;从硬件调试到软件模拟实现等。发送方的数据由串行口TXD断输出,经过传输线(双胶线)将信号传送到接收端。接收方接收电平信号,对于接口电路,短距离传送,减少抗干扰作用,如果短离远双机串口中可以连接电平转换器常用芯片RS232,在此不再叙述。设计中,收获不少东西,也遇到了不少的问题。首先,在完成单片机课程学习任务后,对内容的掌握不够,缺乏灵活运用的能力,对于知识的扩展也存在一定的问题,因此,面对设计课题,无法系统地进行设计思路的拟定。其次,理解不能更好的联系实践,在巩固和学习硬件知识的同时,用软件控制协调硬件实现现实功能,通过硬件完成软件的功能等方面的融会贯通,取得了一定的效果。再次,硬件设计过程中,串行通信方式的选择,波特率的计算,在查询方式与中断方式进行串行通信。对于芯片的选择,软件编写时,对于某些指令的功能,功能模块的连接,芯片地址选择等都遇到了很大的障碍,在老师与同学帮助和自己查阅资料得到了解决,与此同时,了解了不少的问题。并掌握了KEIL的使用和程序调试,以及PROTUES单片机模拟仿真软件的使用,大大提高了学习效率。通过本次课程设计,不仅使理论知识得到了实践,有效巩固了知识。同时对于单片机发展历史、强大功能、应用领域以及系列知识得到了大概的系统认识,同时也初步了解了一个完整的系统开发的过程,对于创造思维的培养和开发能力的锻炼,本次设计,为此提供了一个很好的平台。同学之间的相互讨论学习,互相提高,老
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急安全教育培训计划课件
- 应急安全培训心肺复苏课件
- 2024-2025学年自考专业(金融)考前冲刺练习试题附参考答案详解【预热题】
- 粮油食品检验人员模拟试题【重点】附答案详解
- 高校教师资格证之《高等教育法规》考前冲刺分析及答案详解(有一套)
- 套餐合同(标准版)
- 中老年舞厅运营方案范文
- 2024监理工程师模拟试题带答案详解(预热题)
- 2025年数字艺术作品版权保护与版权保护产业政策解读与实施研究报告
- 中心血站质量控制操作规程
- 2025文具用品采购合同范本格式
- 电气检修生产安全培训课件
- 2025天津津南国有资本投资运营集团有限公司及实控子公司招聘工作人员招聘5人考试模拟试题及答案解析
- 营造清朗空间+课件-2025-2026学年(统编版2024)道德与法治八年级上册
- 2025年遴选财务岗考试题及答案
- 《2025新版检验检测机构管理评审报告》
- 移动与酒店合作合同协议
- excel操作考试题及答案
- 项目安全管理实施细则
- 车间偷盗行为管理办法
- 人教版八年级上册数学全册教案(教学设计)二
评论
0/150
提交评论