下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 单片机串行通信发射机

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

单片机串行通信发射机

江山依旧
2018-09-06 0人阅读 举报 0 0 暂无简介

简介:本文档为《单片机串行通信发射机doc》,可适用于工程科技领域

湖南大学毕业设计(论文)绪论我所做的单片机串行通信发射机主要在实验室完成,参考有关的书籍和资料个人完成电路的设计、焊接、检查、调试再根据自己的硬件和通信协议用汇编语言编写发射和显示程序然后加电调试最终达到准确无误的发射和显示。在这过程中需要选择适当的元件合理的电路图扎实的焊接技术基本的故障排除和纠正能力会使用基本的仪器对硬件进行调试会熟练的运用汇编语言编写程序会用相关的软件对自己的程序进行翻译并烧进芯片中要与对方接收机统一通信协议要耐心的反复检查、修改和调试直到达到预期目的。单片机串行通信发射机采用串行工作方式发射并显示两位数字信息既显示使数据能够在不同地方传递。硬件部分主要分两大块由ATC和多个按键组成的控制模块包括时钟电路、控制信号电路时钟采用MHZ晶振和pF的电容来组成内部时钟方式控制信号用手动开关来控制P口来控制P、P口产生信号并通过共阳极数码管来显示软件采用汇编语言来编写发射程序在通信协议一致的情况下完成数据的发射同时显示程序对发射的数据加以显示。毕业设计的目的是了解基本电路设计的流程丰富自己的知识和理论巩固所学的知识提高自己的动手能力和实验能力从而具备一定的设计能力。我做得的毕业设计注重于对单片机串行发射的理论的理解明白发射机的工作原理以便以后单片机领域的开发和研制打下基础提高自己的设计能力培养创新能力丰富自己的知识理论做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理内部结构和工作状态。理解单片机的接口技术中断技术存储方式时钟方式和控制方式这样才能更好的利用单片机来做有效的设计。我的毕业设计分为两个部分硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计单片机ATC的功能和其在电路的作用。介绍了ATC的管脚结构和每个管脚的作用及各自的连接方法。ATC与MCS兼容K字节可编程闪烁存储器寿命:次可擦数据保存年全静态工作:HZHZ三级程序存储器锁定*位内部RAM跟可编程IO线两个位定时计数器个中断源个可编程串行通道低功耗的闲置和掉电模式片内震荡和时钟电路P和P可作为串行输入口P口因为其管脚有特殊功能可连接其他电路。例如PRXD作为串行输出口其中时钟电路采用内时钟工作方式控制信号采用手动控制。数据的传输方式分为单工、半双工、全双工和多工工作方式串行通信有两种形式异步和同步通信。介绍了串行串行口控制寄存器电源管理寄存器PCON中断允许寄存器IE还介绍了数码显示管的工作方式、组成共阳极和共阴极数码显示管的电路组成有动态和静态显示两种方式说明了不同显示方法与单片机的连接。再后来还介绍了硬件的焊接过程及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后根据原理和目的画出电路流程图列出数码显示的断码表计算波特率设置串行口在与接受机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题及在编译后烧入芯片使用的软件PLDA后来的加电调试及遇到的问题在没问题后与接受机连接发射数据直到对方准确接收到。在软件调试过程中将详细介绍调试遇到的问题例如:通信协议是否相同数码管是否与芯片连接对应计数器是否开始计数等。我所设计的单片机串行接口现在已经发展到无线收发的阶段本文参考无线发射部分就是参考南华大学黄智伟、朱卫华的《单片机与嵌入式系统应用》一文该串行无线发射电路结构简单、工作可靠可方便地在单片机与单片机之间构成一个点对点、一点对多点的无线串行数据传输通道。单片机无线串行接口电路由MICRF单片发射器芯片、MICRF单片接收器芯片组成工作在~MHzISM频段具有ASK调制和解调能力抗干扰能力强适合工业控制应用采用PLL频率合成技术频率稳定性好接收灵敏度高达-dBm最大发射功率达-dBm数据速率可达Kbs低工作电压:~V功耗低接收时电流mA发射时电流mA接收待机状态仅为μA发射待机状态仅为μA可用于单片机之间的串行数据无线传输也可在单片机数据采集、遥测遥控等系统中应用。最后介绍了毕业设计做完后的结论以及自己的心得体会。硬件硬件的基本组成:单片机C、M晶震、pF电容、ufV电容、K电阻、共阳极数码显示管、按键。电路图(见附录A)硬件介绍单片机概述单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“SingleChipMicrocomputer”,简称SCM。随着SCM在技术上、体系结构上不断扩展其控制功能单片机已不能用“单片微型计算机”来表达其内涵。国际上逐渐采用“MCU”(MicroControllerUnit)来代替形成了单片机界公认的、最终统一的名词。为了与国际接轨以后应将中文“单片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成故而可继续沿用。单片机的发展历史如果将位单片机的推出作为起点那么单片机的发展历史大致可以分为以下几个阶段:第一阶段():单片机的探索阶段。以Intel公司的MCS为代表。MCS的推出是在工控领域的探索参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代“单片机”一词即由此而来。第二阶段():单片机的完善阶段。Intel公司在MCS基础上推出了完善的、典型的单片机系列MCS。它在以下几个方面奠定了典型的通用总线型单片机体系结构。完善的外部总线。MCS设置了经典的位单片机的总线结构包括位数据总线、位地址总线、控制总线及具有多机通信功能的串行通信接口。CPU外围功能单元的集中管理模式。体现工控特性的地址空间及位操作方式。指令系统趋于丰富和完善并且增加了许多突出控制功能的指令。第三阶段():位单片机的巩固发展及位单片机的推出阶段也是单片机向微控制器发展的阶段。Intel公司推出的MCS系列单片机将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中体现了单片机的微控制器特征。第四阶段():微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用出现了高速、大寻址范围、强运算能力的位位位通用型单片机以及小型廉价的专用型单片机。单片机的发展趋势目前单片机正朝着高性能和多品种方向发展今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展单片机的集成度将更高、体积将更小和功能将更强。单片机的特点单片机主要有如下特点:有优异的性能价格比。集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上内部采用总线结构减少了各芯片之间的连线大大提高了单片机的可靠性和抗干扰能力。另外其体积小对于强磁场环境易于采取屏蔽措施适合在恶劣环境下工作。制功能强。为了满足工业控制的要求一般单片机的指令系统中均有极丰富的转移指令、IO口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。低功耗、低电压便于生产便携式产品。外部总线增加了IC(InterIntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式进一步缩小了体积简化了结构。单片机的系统扩展和系统配置较典型、规范容易构成各种规模的应用系统。单片机的应用由于单片机具有显著的优点它已成为科技领域的有力工具人类生活的得力助手。它的应用遍及各个领域主要表现在以下几个方面:单片机在智能仪表中的应用单片机在机电一体化中的应用单片机在实时控制中的应用单片机在分布式多机系统中的应用单片机在人类生活中的应用单片机已成为计算机发展和应用的一个重要方面另一方面单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术是对传统控制技术的一次革命。A:由单片机组成控制器的结构和特点:单片微型计算机是微型计算机发展中的一个重要分支是把构成一台微型计算机的主要部件如中央处理器(CPU)、存储器(RAMROM)和各种功能IO接口集成在一块芯片上的单芯片微型计算机(SingleChipMicroComputer),简称单片机由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着力扩展了各种控制功能如AD、PWM等,因此我们更多时候称其为一个单片形态的微控制器(SingleChipMicroController),或直接称其为微控制器(MicroController)。B:用单片机组成的微机控制系统具有以下特点:受集成度限制,片内存储器容量较小,一般片内ROM小于K字节,片内RAM小于字节但可在外部进行扩展,如MCS系列单片机的片外可擦可编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至K字节。可靠性高。单片机芯片本身是按工业控制环境要求设计的,其抗工业噪声的能力优于一般通用CPU程序指令及其常数、表格固化在ROM中不易破坏常用信号通道均在一个芯片内,故可靠性高。易扩展。片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的总线及并行、串行输入输出端口,很容易构成各种规模的微机控制系统。控制功能强。为了满足工业控制要求,单片机的指令系统中有极丰富的条件分支转移指令、IO口的逻辑操作以及位处理功能。一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。一般的单片机内无监控程序或系统管理软件,软件开发工作量大。但近年来已开始出现了片内固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系统的开发提高了一个新水平。此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的以上。目前至少有个系列余种机型性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。国内普及的几乎都是INTEL公司的产品。ATC单片机简介ATC是美国ATMEL公司生产的低电压高性能的CMOS位单片机片内Kbytes的可反复擦写的只读程序存储器(PEROM)和bytes的随机存储器(RAM)器件采用ATMEL公司的高密度、非易失存储技术生产兼容标准MCS指令系统片内置通用位中央处理器(CPU)和Flash存储单元功能强大。ATC单片机可为你提供许多高性价的应用场合可灵活的应用于各种控制领域。ATC图单片机ATC主要性能参数:·与MCS产品指令系统的全兼容·k字节可重擦写Flash闪速存储器·次可擦写周期·全静态操作:HzMHz·三级加密程序存储器·×字节内部RAM·个可编程IO口线·个位定时计数器·个中断源·可编程串行UART通道·低功耗空闲和掉电模式ATC功能特性描述:ATC提供以下标准功能:k字节Flash闪速存储器字节内部RAM个IO口线两个位定时计数器一个向量中断结构一个全双工串行通信口片内震荡器及时钟电路。同时ATC可降至Hz的静态逻辑操作并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作但允许RAM定时计数器窜行通信口及中断系统继续工作。掉电方式保存RAM中的内容但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。()ATC引脚功能说明:·Vcc:电源电压·GND:地·P口:PO口是一组位漏极开路行双向IO口也既地址数据总线复用口。可作为输出口使用时每位可吸收电流的方式驱动个TTL逻辑电路对端口写“”可作为高阻抗输入输入端用。在访问外部数据存储器时这组口线分时转换地址(低位)和数据总线复用在访问期间激活内部上拉电阻。在Flash编程时PO口接收指令字节而在程序校验时输出指令字节校验时要求接上拉电阻。·P口:P口是一个内部上拉电阻的位双向IO口P的输入缓冲级可驱动(吸收或输出电流)个TTL逻辑门电路。对端口写“”通过内部的上拉电阻把端口拉到高电平此时可作输出口。作输入口时因为内部存在上拉电阻某个引脚被外部信号拉低时输出一个电流(I)。Flash编程和程序校验期间P口接收位地址。·P口:P口是一个带有内部上拉电阻的位双向IO口P的输入缓冲极可以驱动(输入或输出电流)个TTL逻辑门电路。对端口“”通过内部的上拉电阻把端口拉到高电平此时和作为输出口作输出口时因为存在内部上拉电阻某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或位地址的外部数据存储器(例如执行MOVXDPTR指令)时P口送出高位地址数据。在访问位地址的外部数据存储器(如执行MOVXRI指令)时P口线的内容(也既特殊功能寄存器(SFR)区中R寄存器的内容)在整个访问期间不改变。Flash编程或校验时P亦接收高地址和其他控制信号。·P口:P口是一组带有内部上拉电阻的位双向IO口P的输入缓冲级可驱动(吸收或输出电流)个TTL逻辑门电路。对P口写入“”时它们被内部上拉电阻拉高并可作为输出端口。作输出端口时被外部拉低的P口将用上拉电阻输出电流。P口除可作为一般的IO口线外更重要的用途是它的第二功能如表所示:P口还接收一些用于Flas闪速存储器编程和程序校验的控制信号图ATC方框图·RST:复位输出。当震荡器工作时RST引脚出现两个机器周期以上高电平使机器复位。·ALE当访问外部程序存储器或数据存储器时ALE(地址锁存允许)输出脉冲用于锁存地址的低位字节即使不访问外部字节ALE仍时钟震荡频率的输出固定的正脉冲信号因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个ALE脉冲。对Flash存储器编程期间该引脚还要输入编程脉冲()。如有必要可通过对特殊功能寄存器(SFR)区中的EH单元的D位置位可禁止ALE操作。该位置位后只有一条MOVX和MOVC指令可激活。此外此引脚会被微弱拉高单片机执行外部程序时应该置ALE无效。·:程序存入允许()输出的是外部程序存储器的读选通信号当表ATC端口ATC由外部程序取指令(或数据)时每个机器周期两次有效既输出两个脉冲。在此期间当访问外部数据存储器这两次有效的信号不出现。·EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为HFFFFH)EA端必须保持低电平(接地)。要注意的是:如果加密位LB被编程复位时内部会锁存EA端状态。Flash存储器编程时该引脚加上V的编程允许电源Vpp当然这必须是该器件是使用V的编程电压Vpp。·XTAL:震荡器反向放大器及内部时钟的输入端。·XAAL:震荡器反向放大器的输出端。·时钟震荡器:ATC中有一个构成内部震荡器的高增益反向放大器引脚XTAL和XTAL分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。外接石英晶体(或陶瓷震荡器)及电容C、C接在放大器的震荡回路中构成并联震荡电路。对外接电容C、C虽然没有非常严格的要求但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性如果使用石英晶体推荐使用pF±pF而如果使用陶瓷谐振器建议选择pF±pF。用户还可以采用外部时钟采用外部时钟如图所示。在这种情况下外部时钟脉冲接到XTAL端既内部时钟发生器的输入端XTAL悬空。图内部震荡电路图外部震荡电路由于外部时钟信号是通过一个分频的触发器后作为内部时钟信号的所以外部表ATC寄存器寄存器内容寄存器内容PCHTMODHACCHTCOMHBHTHHPSWHTLOHSPHTHHDPTRHTHHPPFFHSCONHIPxxxSBUFIExxxPCONxxx时钟的占空比没有特殊要求但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。·Flash闪速存储器的编程:ATC单片机内部有K字节的FlashPEROM这个Flash存储存储阵列出厂时已处于擦除状态(既所有存储单元的内容均为FFH)用户随时可对其进行编程。程序接收高电压(V)或低电压(Vcc)的允许编程信号。低电压编程模式适用与用户在线编程系统。而高电平模式可与通用EPROM编程程序兼容。·编程方法:编程前需设置好地址、数据及控制信号编程单元的地址就、加在P口和P口的PP(位地址范围为HFFFH)数据从P口输入引脚P、P和P、P的电平设置见表。PSEN为低电平RST保持高电平EAVp引脚是编程电源的输入端按要求加上编程电压ALEPROG引脚输入编程脉冲(负脉冲)编程时可采用MHz的时钟震荡器ATC的编程方法如下:在地址线上加上要编程单元的地址信号。在数据线上加上要写入的数据字节。激活相应的控制信号。在高电压编程时将EAVpp端加上V编程电压。每对Flash存储阵列写入一个字节加上一个ALEPROG编程脉冲。()ATC控制信号RSTVPD(脚)复位信号时钟电路工作后在引脚上出现两个机器周期的高电平芯片内部进行初始复位复位后片内存储器的状态如表所示PP口输出高电平初始值H写入堆栈指针SP、清程序计数器PC和其余特殊功能寄存器但始终不影响片内RAM状态只要该引脚保持高电平C将循环复位RATVPD从高电平到低电平单片机将从号单元开始执行程序另外该引脚还具有复用功能只要将VPD接V备用电源一旦Vcc电位突然降低或断电能保护片内RAM中的信息不丢失恢复电后能正常工作。ATC通常采用上电自动复位和开关手动复位我们采用的是手动复位开关如图所示:图手动开关手动开关未按下之前电容正极处于家电状态当按键按下去后VCC与GND导通电容放电从而实现放电。单片机的串行接口MCS单片机内部有一个全双工的串行接收和发射缓冲器(SBUFF)这两个在物理上独立的接收发射器即可以接收也可以发射数据但接收缓冲器只可以读出不能写入而发送缓冲器只能写入不能读出它们的地址是H。这个通信口即可以用于网络通信亦可以实现串行异步通信还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器就可以方便的构成标准的RS接口。下面我们分别介绍。基本概念数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双工和工方式。A.单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限常用于串行口的打印数据传输与简单系统间的数据采集。B.双工方式:数据可以实现双向传送但不能同时进行实际的应用采用某种协议实现收发开关转换。C.全双工方式:允许双方同时进行数据双向传送但一般全双工电路的线路和设备比较复杂。D.多工方式:以上三种传输方式都是同一线路传输一种频率信号为了充分的利用线路资源可通过使用多路复用器或多路集线器采用频分、时分、或码分复用技术即可实现在同一线路上资源共享功能我们称之为多工传输方式。串行通信的两种通信形式A异步通信在这种通信方式中接收器和发射器有各自的时钟他们的工作是非同步的异步通信用一帧来表示一个字符其内容如下:一个起始位紧接着是若干个数据位图是传输H的数据格式。B同步通信同步通信格式中发送器和接收器由同一个时钟源控制为了克服在异步传输中每传输一帧字符都必须加上起始位和停止位占用了传输时间在要求传送的数据量较大的C串行数据通信的传输速率:串行数据传输率有两个概念既美秒传送的位数bps(Bitpersecond)和美秒符号数波特率(Bandrate),在具有调治解调器的通信中波特率与调治速率有关。MCS的串行和控制寄存器串行口和控制寄存器MCS单片机串行口专用寄存器结构如图所示。SBUF为串行口的收发缓冲器它是一个可寻址的专用寄存器其中包含了接收器和发射器寄存器可以实现全双工通信。但这两个寄存器具有同一地址(H)。MCS的串行数据传输很简单只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。此外接收缓冲器前还加上一级输入移位寄存器MCS这种结构的目的在于接收数据时避免发生重叠现象文献称这种结构为双缓冲结构。而发送数据就不需要这样设计因为发送时CPU是主动的不可能出现这种情况。A:串行通信寄存器在上一节我们已经分析了SCON控制寄存器它是一个可寻址的专用寄存器用于串行数据通信的控制单元地址是H其结构格式如下:表SCON寄存器结构表寄存器SCON结构SCONDDDDDDDDSMSMSMRENTBRBTIRI位地址FHEHDHCHBHAHHH下面我们对个控制位功能介绍如下:()SM、SM:串行口工作方式控制位SMOSM工作方式功能说明方式移位寄存器方式(用于IO扩展)方式位UART波特率可变(T溢出率n)方式位UART波特率为fosc或fosc方式位UART波特率可变(T溢出率n)()SM:多机通信控制位多机通信是工作方式和方式SM位主要用于方式和方式。接收状态当串行口工作方式或以及SM=时只有当接收到第位数据(RB)为时才把接收的前位数据送入SBUF且置位RI发出中断申请否则会将收到的数据放弃。当SM=时只有在接收到有效停止位时才启动RI若没接收到有效停止位则RI清“”。在方式中SM应该为“”。REN:允许接收控制位。由软件置“”时允许接收软件置“”时不许接收。TB:在方式和方式中要发送的第位数据需要时用软件置位和清零。TB:在方式和方式中是接收到的第位数据。在方式时如SM=RB接收到的停止位。在方式中不使用RB。TI:发送中断标志。由硬件在方式发送完第位时置“”或在其它方式中串行发送停止位的开始时置“”。必须由软件清“”。RI:接收中断标志。由硬件在方式串行发射第位结束时置“”B:特殊功能寄存器PCONPCON:主要是是CHMOS型单片机的电源控制而设置的专用寄存器单元地址为H其机构格式如下表:表特殊功能寄存器PCONPCONDDDDDDDD位符号SMODGFGFPDIDL在CHMOS型单片机中除SMOD位外其它位均为虚设的SMOD是串行波特率倍增位当SMOD=时串行口波特率加倍系统复位默认为SMOD=。C:中断允许寄存器IE中断允许寄存器这里重述一下对串行口有影响的位ES。ES为串行中断允许控制位ES=允许串行中断ES=禁止串行中断。串行口工作方式串行口具有种工作方式我从应用和毕业设计的角度重点讨论方式发送。串行口定义为方式时传送帧数据为位其中位起始地址、位数据位(先低位后高位)、位停止位方式的波特率可变波特率=EMBEDEquation(T的溢出率)表中断允许寄存器符号EAESETEXETOEX位地址AFHAEHADHACHABHAAHAHAH数码显示管要用单片机构成发射机就需要一个人机界面。常采用的方式是LED数码管显示测试结果用一个小键盘执行某些功能如请零、预置值、改变测量范围等等。LED显示器的工作原理LED显示是用发光二极管显示字段的显示器件也可称为数码管其外形结构如图所示由图可见它由个发光二极管构成通过不同的组合可用来显示~、A~F及小数点。图“”字型数码管LED显示器分为共阴极和共阳极共阴极是将个发光二极管阴极连接在一起作为公共端而共阳极是将个发光二极管的阳极连接在一起作为公共端。我们这次就是采用的共阳极LED所以这里要介绍共阳极数码管。如图所示LED显示器有静态和动态显示两种方式静态显示是将共阴极联到一起接地每位的显示段(adp)分别与一个位的锁存器输出相连。由于显示的各位可以相互独立各位可以互相显示只要在该位的段选线上保持段选码电平该位就能保持相应的显示字符。并且由于各位由一个位锁存器控制段选线故在同一时间内每一位显示的字符可以不同表段码与字型的关系段码DDPDgDfDeDdDcDbDa字形FHHBHFHHDHDHHFHFHHaCHbHcEHdHeHf这种方式占用锁存器较多。动态显示是将所有位的段选线相应的并联在一起由一个位的IO口控制形成段选线的多路复用。而各位的阴极分别由相应的IO口控制实现各位的分时选通。要LED能够显示相应的字符就必须采用动态扫描方式只要每位显示的时间足够短则可造成多位同时显示的假象达成显示的目的。在数字电路中常常要把数据或运算结果通过半导体数码管、液晶数码和荧光数码管用十进制数显示出来。发光二极管的工作电压为伏工作电流为己毫安到几十毫安寿命很长。半导体数码管将十位数分成七个字段每段为一个发光二极管其字形结构如图所示选择不同的字段发光可显示出不同的字型。例如:当a,b,c,d,e,f,g七个字段同时亮时显示,b、c段亮时显示出1。共阳极:把发光二极管的阳极连在一起构成共阳极。使用时公共端接Vcc当某阳极为低电平时该发光二极管就导通发光。输出一个段码就可以控制LED显示器的字型表给出了段码与字型的关系假定a、b、c、d、e、f、g、DP分别对应D、D、D、D、D、D、D、D。硬件的焊接及调试过程硬件的焊接是毕业设计中重要的环节用的工具很简单:电烙铁、焊丝和镊子。因为我们选用的是实验板所以要用导线把各个元器件连接起来这就要有一定的技术基础幸好这个在我们以前的电娤实习中已经掌握。焊接要细心还要有耐心。焊接前要对照电路图对元器件有一个合理的布局那样的话就会使电路简洁明朗而且不易出错即使出错也容易检查。下面就来介绍元器件的焊接方法和过程。硬件的焊接底座的焊接我的电路板有两个底座一个是单片机ATC的另一个是数码显示管的。我们用的是脚的双排直插式的在焊接时要先把底座插到电路板上再进行焊接底座各脚的焊点要小以免各脚之间导通还不能形成虚焊虚焊会导致电路不通底座要焊接牢固不能和电路板距离太远以免导致虚焊。底座还要放在公共线的两边因为那两条线是火线和地线。焊接好后要对照电路仔细检查再用万用表检测看焊接是否良好。按键的焊接我的电路中用到了个按键一个复位键、一个发射键、两个置数键还有我自己加的一个计数控制键。我虽然做的是发射机但只要对软件进行一些改动也可以作为接收机那时发射控制键就变成接收控制键了。我所用的按键是普通的断开按键有个脚两边各两个其中每边的两个脚是导通的在焊接的时候要特别注意我就是不小心把相连的两个脚焊接当成不连的脚用来作开关结果按键按下后不起作用。所以在焊接前一定要用万用表测出那两个脚是导通的焊接完后再检测看焊接是否良好。时钟电路的焊接我们的电路中时钟电路包括一个晶震两个电容。晶震是M的电容是普通电容焊接前要刮腿以免接触不好。晶震和电容要尽量靠近芯片这样有利于时钟电路的稳定减少干扰。焊接好后要用万用表检测。导线的焊接导线的焊接比较麻烦。因为导线比较多就要先对导线进行布局找好于元器件相对的管脚焊接前先要检测导线是否导通。焊接完成后要检测是不是连接良好。电路板的检测和故障排除电路板完成后要进行全面检测包括以下几个方面:火线和底线的检测检测单片机底座的Vcc(脚)是否与火线相连检测数码管的功用端是否与火线连接手动复位开关是否连接上火线。地线检查:其他按键接地是否良好时钟电路接地端的检测单片机GND端(脚)是否接地。检查完后再用万用表检查火线和地线是否导通。元器件之间的连接的检查参照电路图用万用表仔细检查各个元器件连接是否良好是否对应。硬件的调试机器故障排除硬件的调试在上电后的工作是不是正常主要包括不插单片机的调试和插上单片机的检测。无单片机的调试无单片机调试主要检查电路工作是否正常调试数码管是否点亮显示数据是否正确具体步骤如下:A:打开电源将输出电压调到伏然后关闭电源。B:将电路板的火线与电源正极相连地线与负极相连。C:打开电源用万用表检测电路板是否有输出电压如果有就是好的没有就要检测是否有短路。D:电路检查完后关闭电源用一根导线与电源负极相连然后打开电源用导线的另一端逐个与P、P口的管脚接触看数码管显示是否正确。调试过程中遇到的问题及解决办法:()上电后用导线一端接低电平另一端逐一连接P、P管脚数码管显示不正常检测后发现管脚有短路现象将短路管脚重新焊接后显示正常。()反复调试几次后发现电路不稳定有时没反应。仔细分析后觉得是稳压管有问题拆除后直接接V电压源问题解决。有单片机的调试加上单片机目的是看单片机能否正常工作有效地控制显示数据。编写一个小程序烧入芯片中加点调试。A:程序如下:ORGHLJMPMAINORGHMAIN:MOVDPTR#DDSSMOVA#MOVCAADPTRMOVP,AMOVPADDSS:DBFHHBHFHHDBDHDHHFHFHENDB:将编好的程序进行编译即将*ASM文件转化为*BIN文件然后烧入片子。程序的编译和烧入将在以后介绍。C:把单片机ATC接入底座插入底座加电看各位显示是不是正确。D:用复位键看显示是否正确如果稳定表示调试成功。调试过程中遇到的问题:上电后用示波器检测脚发现没有时钟频率输出仔细分析发现脚没接高电平重新焊接后输出漂亮的时钟脉冲。软件的设计和调整过程软件的设计是我毕业设计的另一个重要方面。它的好坏直接关系毕业设计的成功与否。我等软件是用汇编完成的需要能熟练的掌握汇编语言还要熟悉ATC单片机。从程序流程图、通信协议、波特率计算、编写程序、编译、和烧入软件的操作到最后的调试是很复杂的。下面作详细介绍:程序流程图程序流程图是编写软件的重要前提它是在图表上直观的体现拟设计的目的及过程。也是编译的重要依据按照流程图一步一步编写程序下面是我的流程图图发射接口流程图通信协议通信协议是发射机和接收机之间通信不可缺少的部分包括下面几方面的设置串行口控制寄存器SCON的设置串行口控制寄存器的基本情况在前面已经介绍这里不再重复。根据我们所做的内容我们采用了串行工作方式REN设置为“”(允许接收)综上所述我们设SCON的初始值为H如下表所示:表串行口控制寄存器SMSMSMRENTBTBTIRI定时器的初始化设置在定时器为方式时方式字为:表定时计数器的初始化CATECMMOTTGATE:表示不参与控制C:选择计数时钟方式MMO:选定定时器工作方式所以定时器TMOD初始值为H波特率计算晶震为M波特率为K单片机工作方式为串行方式T是方式所以=*XX==*(Y)Y=把十进制转换成十六进制数为D所以初始值为D。发射程序(见附录B)我所做的程序实现了毕业设计的要求并此基础上加了一个自己编的小程序它能够在P为低电平是开始从计数。编译软件的使用和PLDA的使用两个软件的作用是将源程序转化为目标文件再把目标文件烧到单片机ATC中他们是这个过程中不可缺少的在这里我们详细介绍这两个软件的使用。编译软件的使用和编译过程编译软件的使用A:编译软件的装载:这个软件不需要安装只要复制到机子里就行。B:双击快捷方式进入编辑界面进行下一步编辑(如图)。图仿真器使用界面C.点击文件新建一个文件将源程序输入后保存(生成ASM文件)。D选择项目点击全部编译系统自动进行编译后弹出对话框提示编译中出现的问题双击提示后系统会自动指出出问题的地方(生成BIN文件)。E单击仿真器配置选择芯片、通信端口和晶震频率。F单击执行系统输出仿真信号。也可以选择但不执行这样可以看到每部执行的情况。烧片烧片用的是PLDA软件它的使用方法如下:()先配置软件选择MCUC。()导入预先编译好的程序。()擦除芯片然后烧制。烧片时应注意的问题:()芯片的放置要真确否则有可能造成芯片烧坏。()配置芯片时要注意选对芯片型号例如用ATC就要选:MCUATC。()在烧片之前应该先擦除芯片防止芯片内原有遗留程序的影响。单片机串行通信领域的扩展我所做的发射机是有线接收的得却能完成数据在不同地方的传递也完成了我们毕业设计的要求但他受到了很多限制。不如距离太远导线太长久汇有干扰而且有时还会很大使得接收到的信号很弱甚至接收不到。必须进行无线发射、接收的方面的研究由于毕业设计的时间有限就没能完成无线发射、接收的设计。现在就介绍一下无线发射的原理和电路。单片机无线串行接口电路由MICRF单片发射器芯片工作在~MHzISM频段具有ASK调制和解调能力抗干扰能力强适合工业控制应用采用PLL频率合成技术频率稳定性好接收灵敏度高达-dBm最大发射功率达-dBm数据速率可达Kbs低工作电压:~V功耗低接收时电流mA发射时电流mA接收待机状态仅为μA发射待机状态仅为μA可用于单片机之间的串行数据无线传输也可在单片机数据采集、遥测遥控等系统中应用。无线发射电路组成及工作原理:图无线发射电路图无线发射电路如图所示电路以MICRF为核心。MICRF是Micrel公司推出的一个单片UHFASK发射器采用SOP(M)封装芯片内包含有:由基准振荡器、相位检波器、分频器、带通滤波器、压控振荡器构成的合成器发射偏置控制RF功率放大器天线调谐控制和变容二极管等电路是一个真正的"数据输入-无线输出"的单片无线发射器件。UHF合成器产生载频和正交信号输出。输入相位信号(I)用来驱动RF功率放大器。天线调谐正交信号(Q)用来比较天线信号相位。天线调谐控制部分检测天线通道中发射信号的相位和控制变容二极管的电容以调谐天线实现天线自动调谐。功率放大器输出受发射偏置控制单元控制。ASKOOK调制提供低功耗模式数据传输速率为kbs。使用中应注意的问题是:()REFOSC(引脚)是基准振荡端连接晶振到地或采用AC耦合方式输入峰峰值为V的时钟脉冲。发射频率是基准振荡器频率的倍:基准振荡频率×=发射频率。如果使用外接时钟信号须采用AC耦合方式输入信号幅度峰峰值为~mV。()MICRF使用差分输出去驱动天线负载。功率放大器输出级包含有一个变容二极管它自动与天线的电感调谐以保证谐振在发射频率上。典型的PCB导线天线的电感与回路的尺寸、天线导线的宽度、PCB铜泊的厚度和接地板的位置有关。设计时一般选择变容二极管的电容值为pF。天线电感L由公式L=(πfC)计算。()功率放大器的输出功率与PC端(引脚)上的电压有关。正常工作时该引脚端上的电压被设置在~V之间。PC端上的电压上升输出功率加大但是如果PC端上的电压超过V功率放大器被限流输出功率不再增加。减少PC端的电压可降低电源功率消耗同时也会减少RF输出功率。()STBY端(引脚)是待机模式控制。接VDD为发射方式接VSS为待机模式。()MICRF芯片对电源纹波敏感正确地电源旁路是必需的一般使用μF、μF、pF个电容并联在VDD和VSS之间。使用中应注意的问题是:①在发射模式下通信速率最高为Kbs发送数据之前须将电路置于发射模式(MICRF的第脚STBY=)接收模式转换为发射模式的转换时间至少ms可以发送任意长度的数据发送结束后应将电路置于接收模式(MICRF的第脚SHUT=)发射模式转换为接收模式的转换时间至少ms。②在待机模式(MICRF的STBY=MICRF的SHUT=)下电路不发射接收数据。设计串行通信程序应考虑:双方通信的协议有效数据识别标志数据的检错、纠错和校验。单片机串口接口ATC(与MCS兼容)单片机的串行口在方式工作状态下使用移位寄存器芯片可以扩展多个位并行IO口。在LED点阵显示屏应用系统中一般都采用数据同步移位输出方式并使用移位寄存器芯片(如LS)扩展并行IO口驱动LED点阵显示。LED点阵显示采用扫描方式为不产生闪烁感每秒需要传送屏点阵显示数据因此有大量的数据要通过同步移位的方式送到显示驱动电路部分这就要求单片机能够快速地输出数据。ATC单片机的串行口在方式工作状态下数据以fosc的波特率输出个字节数据写入SBUF后需检查中断标志位TI是否为“”并清“”TI或延时几个机器周期后才能继续写入了一个数据输出速度慢。在LED点阵显示屏应用系统中系统与PC机之间的通讯需要使用单片机的串行口显示数据的同步移位输出口只有另外扩展。本文介绍的高速串行同步移位输出口(以下简称扩展串行口)电路采用模块化设计给出基于TTL和PLD两种电路的实现方案波特率提高到fosc数据输出不需要等待或延时。扩展串行口与单片机的连接扩展串行口电路框图如图所示。与并行存储器芯片类似扩展串行口被视为一个外部RAM地址单元直接挂接在ATC的外部数据总线上D~D为数据线CE为片选信号WE为写脉冲信号也是扩展串行口的输出控制信号。ATC外接晶体振荡器的振荡信号经二个与非门整形后为扩展串行口提供时钟脉冲XTAL。DAT和CLK分别是扩展串行口的数据输出端和同步移位脉冲输出端。图扩展串行输出口与单片机的连接操作指令假设ATC分配给扩展串行口的地址是H使用MOVXDPTRA或MOVXRA指令将数据写入扩展串行口并移位数据。下面的程序段将内部RAM数据区首址为H的字节数据送扩展串行口同步移位输出:MOVP#H设置扩展串行口地址高位MOVR#H设置内部RAM数据区首址MOVR#输出字节个数LOOP:MOVAR从内部RAM数据区读入字节INCR指向内部RAM数据区下一个地址单元MOVXRA数据送扩展串行口输出DJNZRLOOP字节未送完继续RET图扩展串行口原理图基于TTL电路的设计方案和工作原理图是用TTL电路实现的扩展串行口电路。LS是有预置、清零功能的双上升沿D触发器D~D构成脉冲发生器(计数器原理)LS是位并行输入串行输出移位寄存器。CPU执行MOVXRA(或MOVXDPTRA)指令时数据被锁存在LS中。产生脉冲信号的时序如图所示。图中Q~Q分别是个D触发器的输出端扩展串行口片选有效(CE=)写脉冲WE到来时WR=在时钟脉冲XTAL的上升沿触发器D的输出Q=Q复位Q使Q=写脉冲结束后WR=则WR·Q=计数器的复位端无效计数器开始计数同时在Q端输出方波脉冲第个脉冲结束后Q=则WR·Q=计数器被复位停止计数等待下一个写脉冲。Q端输出的个脉冲作为同步移位脉冲接LS的CLK(脚)同时也是扩展串行输出口的同步移位脉冲输出信号:由MOVX指令锁存在LS中的数据在同步移位脉冲(CLK)的作用下从扩展串行输出口的数据端(DAT)输出。单片机扩展高速串行同步移位输出口的方法以及基于TTL电路的实现方案在LED点阵显示屏系统中都已得到成功的应用。扩展串行口采用模块化设计很容易移植到其他应用系统中。结论我所做的是单片机串行通信发射机从去年放假我就开始准备。毕业设计完成了达到了预期的目的。一开始拿到这个题目的时候真不知道从哪下手在老师的指导下自己找资料、看书总算完成了。通过这次的毕业设计使我对单片机有了更深的认识从理论和实践上都得到了很大的提高所以这次任务的完成是我学到了很多东西。首先丰富了自己的知识面学到了以前没能学通的东西具体了解了怎样去完成一个电路的设计:从流程图、电路图、焊接电路板、检查电路板、仿真到烧片一整套东西。从毕业设计中学到了单片机ATC的内部结构及其工作原理了解了时钟电路和控制电路的工作原理还有共阳极数码管的工作原理巩固了汇编语言的使用能力提高了自己动手的能力学到了很多经验并且提高了自己分析问题的能力和创新能力得到了理论联系实际的机会做出了成果。使自己在硬件设计方面树立了信心为以后从事这方面的工作打好了基础这也是这次毕业设计的最大收获。在一开始接触这个题目的时候真的很茫然不知道从哪开始下手不知道单片机串行发射接口是干什么的?怎么才能做出来?用什么做?这些问题一个都不知道。后来在薛老师的指导下才知道我要怎么开始做。自己就开始找资料了解单片机C、数码显示管的有关知识学习时钟电路、控制电路的设计原理看不懂的时候就去问老师、同学。在这些都搞得比较明白后就开始画设计流程图和电路图最后用了很长时间才画出自己的电路图给老师看后在老师的帮助下改正了几处有问题的地方定稿后就去买元器件。因为第一次设计电路因此就多买了一些元件这就保证了后面因为焊接错误替换的元器件。电路的焊接比较容易因为以前有经验很快就做出了板子。但接下来的检测可就费了不少劲因为这次用的实验板与上次电装实习用的电路板有很大不同元器件要用导线一个个连接起来这就要求开始的布线要合理因为没有这方面的经验所以没太注意结果导致后来的连线比较混乱为后面的检查带来了不少麻烦。在后来的电路检测中就发现不能按要求显示又是显示乱码经过耐心反复的用万用表和示波器检测后发现并解决了问题。在解决完所有问题后自己又一种成功感还在想要是没有这些错误就不会学会这么多检测电路的方法而且对自己所做的电路有了进一步的了解。做到这一步满以为不会再有什么错误了但是仿真的时候却又遇到了马麻烦先是数码管不亮在后来就是全亮按键后没反应刚有的一点成功感马上就没了又一次陷入了反复的检测。检测发现了不少问题解决后仿真成功。在后来就开始烧片烧片的过程还算顺利。烧好后插上电路板显示成功了。接下来的工作一切还算顺利在老师还有同学的帮助下都一一完成。这次的毕业设计总的来说还是很成功的自己从中学到很多也发现了不少问题为自己以后的学习、进步打下了不错的基础。参考文献MicrelIncQwikRadioTMUHFASKTransmitterAwwwmicrelcomMicrelIncQwikRadioTMLowPowerUHFReceiverAwwwmicrelcom薛晓书单片微机原理及接口技术M西安石油大学黄智伟朱卫华单片机与嵌入式系统应用M南华大学付浩ATC单片机高速串行输出口设计A淮阴师范学院致谢这次的毕业设计之所以能很好的完成除了自己的努力外也离不开老师同学的帮助特别是薛晓书老师可以说没有他们的帮助我就很难完成这次毕业设计。在此对他们的无私帮助表示感谢。附录A附录B发射程序:orghsjmpstartorghstart:movh,#hmovh,#hmova,hmovdptr,#ddssmovcA,adptrcplamovp,amova,hmovca,adptrcplamovp,amain:jbp,mlcalldelyjbp,mlcalldelylcallzm:jbp,mlcalldelyjbp,mlcalldelylcallzm:jbp,mlcalldelyjbp,mlcalldelylcalldelylcallzm:jbp,mlcalldelyjbp,mlcalldelylcallzm:ljmpmaindely:movr,#dly:movr,#nopdly:djnzr,dlydjnzr,dlyretz:inchmova,hcjnea,#ah,abcmovh,#habc:mova,hmovdptr,#ddssmovca,adptrcplamovp,aretz:inchmova,hcjnea,#ah,abcmovh,#habc:movdptr,#ddssmova,hmovca,adptrcplamovp,aretz:movr,#hmovr,#ffhmovdptr,#ddssz:incrlcalldelycjner,#,zmovr,#incrcjner,#,zretz:mova,rmovca,adptrcplamovp,amova,rmovca,adptrcplamovp,aljmpzz:movscon,#hmovtcon,#hmovth,#dhmovtl,#dhmova,hmovsbuf,await:jbcti,waitsjmpwaitwait:mova,hmovsbuf,await:jbcti,nextsjmpwaitnext:nopretdely:movr,#dly:movr,#nopdly:djnzr,dlydjnzr,dlyretddss:dbfh,h,bh,fh,hdbdh,dh,h,fh,fhendPAGEunknownunknownunknownunknownunknownunknownunknownunknownunknown

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/31

单片机串行通信发射机

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利