单片机串行通信发射机.docx

上传人:b****5 文档编号:5364724 上传时间:2022-12-15 格式:DOCX 页数:19 大小:130.81KB
下载 相关 举报
单片机串行通信发射机.docx_第1页
第1页 / 共19页
单片机串行通信发射机.docx_第2页
第2页 / 共19页
单片机串行通信发射机.docx_第3页
第3页 / 共19页
单片机串行通信发射机.docx_第4页
第4页 / 共19页
单片机串行通信发射机.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

单片机串行通信发射机.docx

《单片机串行通信发射机.docx》由会员分享,可在线阅读,更多相关《单片机串行通信发射机.docx(19页珍藏版)》请在冰豆网上搜索。

单片机串行通信发射机.docx

单片机串行通信发射机

XXXX大学毕业设计

 

单片机串行通信发射机

 

学生姓名

学号

所在系

专业名称

班级

指导教师

 

XXXXX大学

二○一○年五月

单片机串行通信发射机

学生:

指导教师:

内容摘要:

单片机串行通信发射机采用串行工作方式,发射并显示两位数字信息,既显示00-99,使数据能够在不同地方传递。

硬件部分主要分两大块,由AT89C51和多个按键组成的控制模块,包括时钟电路、控制信号电路,时钟采用6MHZ晶振和30pF的电容来组成内部时钟方式,控制信号用手动开关来控制,P1口来控制,P2、P3口产生信号并通过共阳极数码管来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时显示程序对发射的数据加以显示。

关键词:

晶振控制信号汇编语言焊接技术

 

TrafficControlSystemDesign

Abstract:

SerialCommunicationtransmitterserialwork,launchanddisplaythetwodigitalinformation,whichindicatesnotonly00-99,sothatdatacanbedeliveredindifferentplaces.Thehardwarepartofthetwomainblocks,fromthecompositionoftheAT89C51andmultiplebuttonscontrolmodules,includingtheclockcircuit,thecontrolsignalcircuit,aclockcrystaland30pFwith6MHZcapacitancetoformtheinternalclockmode,thecontrolsignalwiththemanualswitchtocontrol,P1porttocontrol,P2,P3mouthgeneratedbyatotalofanodesignalsanddigitalcontroltodisplay,thesoftwareusingassemblylanguagetowritetheprocedureforfiringaconsistentcommunicationprotocolinthecaseofthelaunchofthecompletionofthedata,whilethelaunchofthedatadisplayprogramtobeshown.

Keywords:

CrystalControlsignalAssemblerWelding

 

目录

前言1

(一)设计目的1

(二)整体思路1

(三)研究的过程2

一、硬件2

(一)硬件的基本组成:

2

(二)电路图2

(三)硬件介绍2

二、软件的设计和调整过程11

(一)程序流程图11

三、通信协议11

(一)串行口控制寄存器SCON的设置。

11

(二)定时器的初始化设置。

11

(三)波特率计算。

12

(四)发射程序。

12

四、结语12

五、致谢13

附录14

附录114

附录215

参考文献19

 

单片机串行通信发射机

前言

(一)设计目的

设计的目的是了解基本电路设计的流程,丰富自己的知识和理论,巩固所学的知识,提高自己的动手能力和实验能力,从而具备一定的设计能力。

设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。

本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。

理解单片机的接口技术、中断技术、存储方式、时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。

(二)整体思路

设计分为两个部分,硬件部分和软件部分。

硬件部分介绍:

单片机串行通信发射机电路的设计,单片机AT89C51的功能和其在电路的作用。

介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。

AT89C51与MCS-51兼容,4K字节可编程闪烁存储器,寿命:

1000次可擦,数据保存10年,全静态工作:

0HZ-24HZ,三级程序存储器锁定,128*8位内部RAM,32跟可编程I/O线,两个16位定时/计数器,5个中断源,5个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和P1可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。

例如P3.0RXD作为串行输出口,其中时钟电路采用内时钟工作方式,控制信号采用手动控制。

数据的传输方式分为单工、半双工、全双工和多工工作方式;串行通信有两种形式,异步和同步通信。

介绍了串行串行口控制寄存器,电源管理寄存器PCON,中断允许寄存器IE,还介绍了数码显示管的工作方式、组成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。

再后来还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。

硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。

软件部分:

在了解电路设计原理后,根据原理和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和发射程序。

编写完程序还要进行编译,这就必须会使用编译软件。

介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件USB_ASP,后来的加电调试,及遇到的问题,在没问题后与接受机连接,发射数据,直到对方准确接收到。

在软件调试过程中将详细介绍调试遇到的问题,如通信协议是否相同,数码管是否与芯片连接对应,计数器是否开始计数等。

(三)研究的过程

单片机串行接口现在已经发展到无线收发的阶段,本文参考无线发射部分就是参考南华大学黄智伟、朱卫华的《单片机与嵌入式系统应用》一文,该串行无线发射电路结构简单、工作可靠,可方便地在单片机与单片机之间,构成一个点对点、一点对多点的无线串行数据传输通道。

单片机无线串行接口电路由MICRF102单片发射器芯片、MICRF007单片接收器芯片组成,工作在300~440MHzISM频段;具有ASK调制和解调能力,抗干扰能力强,适合工业控制应用;采用PLL频率合成技术,频率稳定性好;接收灵敏度高达-96dBm,最大发射功率达-2.5dBm;数据速率可达2Kb/s;低工作电压:

4.75~5.5V;功耗低,接收时电流3mA,发射时电流7.75mA,接收待机状态仅为0.5μA,发射待机状态仅为1.0μA;可用于单片机之间的串行数据无线传输,也可在单片机数据采集、遥测遥控等系统中应用。

最后介绍了毕业设计做完后的结论以及自己的心得体会。

一、硬件

(一)硬件的基本组成

单片机89C51、6M晶震、30pF电容、22uf/10V电容、1K电阻、共阳极数码显示管、按键等一系列部件组成。

(二)电路图

电路图请参看附录1。

(三)硬件介绍

1.单片机概述

单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。

单片机一词最初是源于“SingleChipMicrocomputer”,简称SCM。

随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。

国际上逐渐采用“MCU”(MicroControllerUnit)来代替,形成了单片机界公认的、最终统一的名词。

为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。

在国内因为“单片机”一词已约定俗成,故而可继续沿用。

如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:

第一阶段(1976—1978):

单片机的探索阶段。

以Intel公司的MCS-48为表。

MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。

都取得了满意的效果。

这就是SCM的诞生年代,“单片机”一词即由此而来。

第二阶段(1978—1982):

单片机的完善阶段。

Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。

它在以下几个方面奠定了典型的通用总线型单片机体系结构。

★完善的外部总线。

MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。

★CPU外围功能单元的集中管理模式。

★体现工控特性的地址空间及位操作方式。

★指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。

第三阶段(1982—1990):

8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。

Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。

第四阶段(1990—):

微控制器的全面发展阶段。

随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。

2.单片机的发展趋势

目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。

随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。

3.单片机的特点

★有优异的性能价格比。

★集成度高、体积小、有很高的可靠性。

单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。

另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。

★制功能强。

为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。

单片机的逻辑控制功能及运行速度均高于同一档次的微机。

★低功耗、低电压,便于生产便携式产品。

★外部总线增加了I2C(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。

★单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。

4.单片机的应用

由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。

它的应用遍及各个领域,主要表现在以下几个方面。

★单片机在智能仪表中的应用。

★单片机在机电一体化中的应用。

★单片机在实时控制中的应用。

★单片机在分布式多机系统中的应用。

★单片机在人类生活中的应用。

单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。

这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。

此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。

特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。

如数控机床就是典型实例。

近年来,单片机发展极快,其产量占微机产量的70%以上。

目前,至少有50个系列400余种机型,性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。

国内普及的几乎都是INTEL公司的产品。

5.AT89C51

AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。

AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。

AT89C51功能特性描述:

AT89C51提供以下标准功能:

4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,窜行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。

AT89C51引脚功能说明:

Vcc:

电源电压。

GND:

地。

P0口:

PO口是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。

可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。

P1口:

P1口是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。

作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流I。

Flash编程和程序校验期间,P1口接收8位地址。

P2口:

P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输入缓冲极可以驱动(输入或输出电流)4个TTL逻辑门电路。

对端口“1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

在访问外部存储器或1位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线的内容(即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高地址和其他控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口,,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。

作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。

P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如图1所示。

P3口还接收一些用于Flas闪速存储器编程和程序校验的控制信号。

RST:

复位输出。

当震荡器工作时,RST引脚出现两个机器周期以上高电平使机器复位。

ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。

要注意的是:

每次访问外部存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还要输入编程脉冲PROG。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令可激活。

此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置ALE无效。

图1AT89C51方框图

PSEN:

程序存入允许(PSEN)输出的是外部程序存储器的读选通信号,当AT89C51由外部程序取指令(或数据)时,每个机器周期两次PSEN有效,既输出两个脉冲。

在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H--FFFFH),EA端必须保持低电平(接地)。

要注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V的编程电压Vpp。

XTAL1:

震荡器反向放大器及内部时钟的输入端。

XAAL2:

震荡器反向放大器的输出端。

时钟震荡器:

AT89C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。

外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。

对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF±10pF,而如果使用陶瓷谐振器建议选择40pF±10pF。

用户还可以采用外部时钟,采用外部时钟如图所示。

在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。

由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。

如表1所示。

表1AT89C51寄存器

寄存器

内容

寄存器

内容

PC

0000H

TMOD

00H

ACC

00H

TCOM

00H

B

00H

TH0

00H

PSW

00H

TLO

00H

SP

07H

TH1

00H0

DPTR

0000H

TH1

00H

P1—P3

0FFH

SCON

00H

IP

xxx00000

SBUF

不定

IE

0xxx00000

PCON

0xxx00000

★Flash闪速存储器的编程:

AT89C51单片机内部有4K字节的FlashPEROM,这个Flash存储存储阵列出厂时已处于擦除状态(既所有存储单元的内容均为FFH),用户随时可对其进行编程。

程序接收高电压(+12V)或低电压(Vcc)的允许编程信号。

低电压编程模式,适用与用户在线编程系统。

而高电平模式可与通用EPROM编程程序兼容。

★编程方法:

编程前需设置好地址、数据及控制信号,编程单元的地址就、加在P1口和P2口的P2.0—P2.3(11位地址范围为0000H—0FFFH),数据从P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平设置见表。

PSEN为低电平,RST保持高电平,EA/Vp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)编程时可采用4—20MHz的时钟震荡器AT89C51的编程方法如下:

1.0在地址线上加上要编程单元的地址信号。

在数据线上加上要写入的数据字节。

激活相应的控制信号。

在高电压编程时,将EA/Vpp端加上+1V编程电压。

每对Flash存储阵列写入一个字节,加上一个ALE/PROG编程脉冲。

★AT89C51控制信号:

RST/VPD(9脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示,P1—P3口输出高电平,初始值07H写入堆栈指针SP、清0程序计数器PC和其余特殊功能寄存器,但始终不影响片内RAM状态,只要该引脚保持高电平,89C51将循环复位,,RAT/VPD从高电平到低电平单片机将从0号单元开始执行程序,另外该引脚还具有复用功能,只要将VPD接+5V备用电源,一旦Vcc电位突然降低或断电,能保护片内RAM中的信息不丢失,恢复电后能正常工作。

AT89C81通常采用上电自动复位和开关手动复位,我们采用的是手动复位开关。

手动开关未按下之前,电容正极处于家电状态,当按键按下去后,VCC与GND导通,电容放电,从而实现放电。

如图2所示。

图2手动开关

(四)单片机的串行接口

MCS-51单片机内部有一个全双工的串行接收和发射缓冲器(SBUFF),这两个在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是99H。

这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可以构成同步移位寄存器使用。

如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的RS-232接口。

下面我们分别介绍。

1.基本概念

数据通信的传输方式:

常用于数据通信的传输方式有单工、半双工、全双工和多工方式。

★单工方式:

数据仅按一个固定的方向传送。

因为这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。

★双工方式:

数据可以实现双向传送,但不能同时进行备比较复杂。

★多工方式:

以上三种传输方式都是同一线路传输一种频率信号,为了充分的利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。

★全双工方式:

允许双方同时进行数据双向传送。

2.MCS-51的串行和控制寄存器

(1)串行口和控制寄存器。

MCS-51单片机串行口专用寄存器结构如图所示。

SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。

但这两个寄存器具有同一地址(99H)。

MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。

而从接收缓冲器读出数据既可接收数据。

此外,接收缓冲器前还加上一级输入移位寄存器,MCS-51这种结构的目的在于接收数据时避免发生重叠现象,文献称这种结构为双缓冲结构。

而发送数据就不需要这样设计,因为发送时,CPU是主动的,不可能出现这种情况。

(2)串行通信寄存器。

在上一节我们已经分析了SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如下:

,实际的应用采用某种协议实现收发开关转换,如表2所示。

表2AT89C51寄存器

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

(3)我们对个控制位功能介绍如下

方案一:

SM0、SM1:

串行口工作方式控制位。

方案二:

多机通信控制位。

多机通信是工作方式2和方式3,SM2位主要用于方式2和方式3。

接收状态,当串行口工作方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收的前8位数据送入SBUF,且置位RI发出中断申请,否则会将收到的数据放弃。

当SM2=0时,只有在接收到有效停止位时才启动RI,若没接收到有效停止位,则RI清“0”。

在方式0中SM2应该为“0”。

REN:

允许接收控制位。

由软件置“1”时,允许接收;软件置“0”时,不许接收。

TB8:

在方式3和方式3中要发送的第9位数据,需要时用软件置位和清零。

TB8:

在方式2和方式3中是接收到的第9位数据。

在方式1时,如SM2=0,RB8接收到的停止位。

在方式0中,不使用RB8。

TI

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1