基于单片机的PWM信号输出系统设计毕业论文

上传人:沈*** 文档编号:41233163 上传时间:2021-11-19 格式:DOC 页数:62 大小:2.95MB
收藏 版权申诉 举报 下载
基于单片机的PWM信号输出系统设计毕业论文_第1页
第1页 / 共62页
基于单片机的PWM信号输出系统设计毕业论文_第2页
第2页 / 共62页
基于单片机的PWM信号输出系统设计毕业论文_第3页
第3页 / 共62页
资源描述:

《基于单片机的PWM信号输出系统设计毕业论文》由会员分享,可在线阅读,更多相关《基于单片机的PWM信号输出系统设计毕业论文(62页珍藏版)》请在装配图网上搜索。

1、中国矿业大学本科生毕业论文专 业: 自 动 化 论文题目: 基于单片机的PWM信号输出系统设计 中国矿业大学毕业论文任务书任务下达日期: *毕业论文日期:*毕业论文题目:基于单片机的PWM信号输出系统设计毕业论文专题题目:毕业论文主要内容和要求:1、 整体方案设计2、 硬件电路设计,包括电源、显示、按键等外围电路设计3、 软件设计,包括模式选择程序、时间选择程序、显示程序、按键程序等4、 应用PROTEUS软件进行仿真指导教师签字:郑 重 声 明本人所呈交的毕业论文,是在导师的指导下,独立进行研究所取得的成果。所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业论文的研究成

2、果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本论文属于原创。本毕业论文的知识产权归属于培养单位。本人签名: 日期: 中国矿业大学毕业论文指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 指导教师签字: 年 月 日中国矿业大学毕业论文评阅教师评阅书评阅教师评语(选题的意义;基础理论及基本技能的掌握;综合运用所学知识解决实际问题的能力;工作量的大小;取得的主要成果及创新点;写作的

3、规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 评阅教师签字: 年 月 日中国矿业大学毕业论文答辩及综合成绩答 辩 情 况提 出 问 题回 答 问 题正 确基本正确有一般性错误有原则性错误没有回答答辩委员会评语及建议成绩:答辩委员会主任签字: 年 月 日学院领导小组综合评定成绩:学院领导小组负责人: 年 月 日摘 要本文研究了如何利用AT89C51单片机控制输出PWM信号。文中对AT8951单片机概念和PWM信号的原理做了详细的论述,对单片机最小系统中的时钟电路和复位电路进行了充分的分析。在对单片机内部结构熟悉的基础上完成了硬件电路设计,主要包括电源、显示、按键等外围电路设

4、计。并通过编程实现了单片机输出PWM功能,完成了软件设计,包括模式选择、时间选择、显示、按键程序等。为了防止单片机的工作受到来自外界电磁场的干扰,造成程序的跑飞而陷入死循环的现象,在完成以上设计的基础上加入了看门狗电路,使得单片机能够稳定地输出PWM波形。本设计还对Proteus和Keil uVision软件做了相关介绍,通过Proteus和Keil uVision软件的联调在Keil uVision中编写程序,在Proteus软件中对单片机输出PWM系统做了仿真。最终实现了以下功能:能够通过K1键选择PWM波形的输出与关闭,通过按键K2、K3与换向开关SW1实现对PWM波形周期和占空比参数的

5、调节作用。最后通过Proteus软件中的模拟仿真器对PWM波形进行模拟仿真输出,PWM波形的占空比和周期及PWM波形的输出时间通过显示模块显示出来,最终圆满完成设计。关键词:AT89C51单片机; PWM信号; 计算机仿真; 看门狗程序;ABSTRACTThis paper studies how to use the AT89C51 microcontroller to control the output PWM signal. AT8951 single-chip concept and principle of the PWM signal is discussed in detail

6、, a full analysis of the smallest single-chip system clock circuit and reset circuit.Familiar with the structure of the internal microcontroller based on the hardware circuit design, including the power to the display, buttons and other peripheral circuit design. By programming the microcontroller o

7、utput PWM function, the completion of a software design, including mode selection, timing, key program. Subject to interference from external electromagnetic field, in order to prevent the work of the microcontroller, causing the program to run to fly into the phenomenon of infinite loop in the desi

8、gn done on the basis of the watchdog circuit, the microcontroller to stabilize the output of the PWM waveform.This design also Proteus and Keil uVision, software related presentations by Proteus and the Keil uVision software, the FBI in the Keil uVision programming, simulation in Proteus software on

9、 the microcontroller output PWM system. The ultimate realization of the following features: K1 key to select the PWM waveform output on and off, through the key K2, K3, with the change to the switch SW1 on the regulatory role of the PWM waveform cycle and duty cycle parameters.Finally, the simulatio

10、n in Proteus software simulation output of the PWM waveform, duty cycle and the cycle of the PWM waveform and PWM waveform output time displayed by the display module, and ultimately the successful completion of the design.AlphaKeywords:AT89C51 microcontroller; a PWM signal; computer simulation; Wat

11、chdog program;II目 录摘 要IABSTRACTII1 绪论11.1本文的设计背景和意义11.2设计要求11.3单片机概述21.4 AT89C51单片机概述41.4.1 AT89C51单片机内部结构41.4.2 AT89C51单片机引脚功能51.5脉冲宽度调制(PWM)概述92 系统硬件设计112.1电源电路设计112.2单片机时钟电路设计122.3单片机复位电路设计122.4看门狗电路设计132.5按键选择电路设计152.6显示模块电路设计162.7系统硬件电路设计183系统程序设计193.1主程序的设计193.2单片机中断程序的设计203.3PWM程序的设计213.4按键程序

12、的设计223.5显示系统的程序设计243.6看门狗程序的设计264 电路系统仿真274.1 Proteus软件274.2Keil uVision软件284.3Proteus与Keil uVision软件的联调284.4仿真电路284.5系统的硬件仿真输出图295 本文总结31参考文献32翻译部分33英文原文33中文译文42致 谢4951中国矿业大学2012届本科生毕业设计1 绪论1.1本文的设计背景和意义单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电

13、路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 脉冲宽度调制(PWM),是英文“P

14、ulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。本文是基于单片机的PWM信号输出系统设计,利用单片机输出PWM波形,并能够通过按键实现输出不同占空比不同周期的PWM波形,通过数码管将相应PWM波形的档位显示出来。将当下较为热门的单片机与脉冲宽度调制(PWM)相结合,具有一定的研究意义与应用价值。1.2设计要求1单片机输出PWM系统的整体方案设计。2硬件

15、电路设计,包括电源、显示、按键等外围电路设计。3软件设计,包括模式选择、时间选择、显示、按键程序等。4应用PROTEUS软件进行仿真。1.3单片机概述单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,内部包含有计算机的基本功能部件:CPU、存储器和I/O接口电路等。图 1 单片机的内部结构1.3.1单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、

16、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。2.在工业控制中的应用。用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用。可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视

17、频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用。现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制。 5.单片机在医用设备领域中的应用。单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 6.在各种大型电器中的模块化应用。某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛。 1.3.

18、2常用单片机种类1.STC单片机。STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快812倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。2.PIC单片。是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片。3.EMC单片机。是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差。4.ATMEL单片机(51单片机)。ATM

19、El公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。5.PHLIPIS 51LPC系列单片机(51单片机)。PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。6.HOLTEK单片机。台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品。7.TI公司单片机(51单片机

20、)。德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合。8.松翰单片机(SONIX)。是台湾松翰公司的单片,大多为8位机,有一部分与PIC 8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMW ADC 内振 内部杂讯滤波。缺点RAM空间过小,抗干扰较好。1.4 AT89C51单片机概述通过对多种单片机性能的分析,最终认为89C51是最理想的电子时钟开发芯片。89C51是一种带

21、4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。1.4.1 AT89C51单片机内部结构AT89C51单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法

22、。其基本组成如下图所示:图 2 AT89C51单片机内部结构图中央处理器CPU:它是单片机的核心,完成运算和控制功能。内部数据存储器:AT89C51芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。特殊功能寄存器:是用来对片内各部件进行管理、控制、监视的控制寄存器和状态寄存器,是一个特殊功能的RAM区,位于内部RAM的高128个单元,其地址为80HFFH。内部程序存储器:AT89C51芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。并行I/O口:AT89C51芯片内部有4

23、个8位的I/O口(P0,P1,P2,P3),以实现数据的并行输入输出。串行口:它是用来实现单片机和其他设备之间的串行数据传送。定时器:AT89C51片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。振荡电路:它外接石英晶体和微调电容即可构成AT89C51单片机产生时钟脉冲序列的时钟电路。系统允许的最高晶振频率为12MHz。1.4.2 AT89C51单片机引脚功能AT89C51单片机一般采用双列直插DIP封装,共40个引脚,图为引脚排列图。40个引脚大致可分为4类:电源

24、、时钟、控制和I/O引脚。图3 AT89C51封装图1.电源(1)Vcc芯片电源,接+5V。(2)Vss接地端。2.时钟XTAL1、XTAL2晶体振荡电路反相输入端和输出端。使用内部振荡电路时外接石英晶体。3.控制线控制线共有4根,其中3根是复用线。所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。(1)ALE/PROG地址锁存允许/片内EPROM编程脉冲。ALE功能:用来锁存P0口送出的低8位地址。当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是8位数据信号。在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。PROG功能

25、:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。(2)PSEN外ROM读选通信号。80C51读外ROM时,没个机器周期内PSEN两次有效输出。PSEN可作为外ROM芯片输出允许OE的选通信号。在读内ROM或读外RAM时,PSEN无效。 (3) RST/Vpd复位/备用电源。正常工作时,RST(Reset)端为复位信号输入端,只要在该引脚上连续保持两个机器周期以上高电平,80C51芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。Vpd功能:在Vcc掉电情况下,该引脚可接上备用电源,由Vpd向片内供电,以保持片内RAM中的数据不丢失。(4) EA/Vpp

26、 内外ROM选择/片内EPROM编程电源。EA功能:正常工作时,EA为内外ROM选择端。80C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外(80C31芯片无内ROM,全部在片外)。当EA保持高电平时,先访问内ROM,但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。当EA保持低电平时,则只访问外ROM,不管芯片内有否内ROM。对80C31芯片,片内无ROM,因此EA必须接地。Vpp功能:片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源Vpp。对4个控制引脚,应熟记起第一功能,了解其第二功能。严格来讲,80C51的控制

27、线还应该包括P3口的第二功能。4. I/O引脚80C51共有4个8位并行I/O端口,共32个引脚(1)P0口8位双向I/O口。在不并行扩展外存储器(包括并行扩展I/O口)时, P0口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。位结构如图所示。P0口能驱动8个LSTTL门。 图 4 P0口位结构(2) P1口8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。位结构如图2-5所示。 P1口能驱动为4个LSTTL门。图 5 P1位口结构(3) P2口8位准双向I/O口。在不并行扩展外存储器(包括

28、并行扩展I/O口)时, P2口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P2口可用于传送高8位地址(属地址总线) 。P2口能驱动4个LSTTL门。P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。图 6 P2口位结构(4) P3口8位准双向I/O口。可作一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3口驱动能力为4个LSTTL门。图 7 P3口位结构P3口第二功能如下:表 1 P3口第二功能P3口第二功能注释P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2IN

29、T0外部中断0请求输入端P3.3INT1外部中断1请求输入端P3.4T0定时/计数器0外部信号输入端P3.5T1定时/计数器1外部信号输入端P3.6WR外RAM写选通信号输出端P3.7RD外RAM读选通信号输出端上述4个I/O口,各有各的用途。 在不并行扩展外存储器(包括并行扩展I/O口)时, 4个I/O口都可作为双向I/O口用。在并行扩展外存储器(包括并行扩展I/O口)时, P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端线。1.5脉冲宽度调制(PWM)概述脉

30、冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。如图所示,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开

31、的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。图 8 模拟电平的PWM数字编码1.5.1脉冲宽度调制(PWM)的相关概念1.占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间 之比如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平t1出现的时间是800us,那么低电平t2的时间肯定是200us,那么占空比t1/T就是800:1000,也就是说PWM的占空比就是4:5。图 9 PWM信号占空比2.分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率), 16位的的PWM理论就是1:655

32、35(单斜率)。频率就是这样的,如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。1.5.2脉冲宽度调制(PWM)的优点PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。 对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM

33、用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。由于PWM可以同时实现变频变压反抑制谐波的特点。由此在交流传动及至其它能量变换系统中得到广泛应用。PWM控制技术大致可以为为三类,正弦PWM,优化PWM及随机PWM。正弦PWM已为人们所熟知,而旨在改善输出电压、电流波形,降低电源系统谐波的多重PWM技术在大功率变频器中有其独特的优势(如ABB ACS1000系列和美国ROBICON公司的完美无谐波系列等);而优化PWM所追求的则是实现电流谐波畸变率(THD)最小,电压利用率最高,效率最优,及转矩脉动最小

34、以及其它特定优化目标。2 系统硬件设计系统硬件设计主要包括电源电路、时钟电路、复位电路,为了防止单片机的工作受到来自外界电磁场的干扰,在单片机系统中加入了看门狗电路,能让单片机稳定的输出PWM波形。在单片机能够输出完整PWM波形的基础上加入了按键选择模块和显示模块,使得PWM波形的周期和占空比参数可以通过按键进行选择,通过显示模块将PWM波形的周期、占空比和PWM波形输出时间显示出来。图 10系统硬件设计框图2.1电源电路设计电子产品中,常见的三端稳压集成电路有正电压输出的7805系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。7805典型稳压

35、电路的工作流程为变压、全桥整流和7805稳压输出直流5V输出。图 11 7805稳压过程5V电源的电路,主干线路电压经过变压器后转换为12V交流电,经过整流、滤波后送入7805稳压器,输出再次滤波得到5V直流电压。RL为负载电阻,考虑到控制板的负载电流较大时,应对7805加上散热片。 图 12 7805稳5V电路2.2单片机时钟电路设计XTAL1和XTAL2为片内震荡电路输入线,这两个端子用外接石英晶体和微调电容,用来连接89C51定时反馈电路。石英晶体振动后,应能在XTAL2线上输出一个3V左右的正弦波,使得89C51内部的电路按石英晶振相同频率自激振荡。电容C1和C2可以帮助起振,典型值为

36、22uf,调节它们可以达到微调FOSC的目的。图 13 单片机时钟电路2.3单片机复位电路设计单片机执行程序时总是从地址0000H开始的,所以在进入系统时必须对CPU进行复位,也叫初始化。另外由于程序运行中的错误或操作失误使系统处于死锁状态,为了摆脱这种状态,也需要进行复位。单片机复位的方法很简单,只要在RST引脚上加一个持续时间为24个振荡周期(即两个机器周期)的高电平就可以了。复位操作有上电自动复位、按键复位和外部脉冲复位3种方法,本设计中采用手动按键复位的电路,如下图所示:图 14按键复位电路单片机的最小系统包括CPU、复位电路和时钟电路,一个完整的单片机最小系统就已经能够正确的输出PW

37、M波形,在最小系统的电路基础上加入看门狗电路、按键选择电路和显示电路,完成扩展功能,单片机的最小系统原理图如下所示:图 15 单片机最小系统原理图2.4看门狗电路设计在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果。出于对单片机运行状态进行实时监测的考虑,保证系统在干扰后能自动恢复正常,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”,看门狗定时器(Watchdog Timer)的利用是很有价值的。 加入看门狗电路的

38、目的是使单片机可以在无人状态下实现连续工作,其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便将它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,从而单片机将从程序存储器的起始位置重新开始执行程序,这样便实现了单片机的自动复位。由于是通过软件来写入控制命令,在有干扰的情况下,有可

39、能无法写人正确的控制命令,造成单片机内看门狗电路“失灵”,起不到看门狗的作用,因此本文采用外部硬件看门狗来确保程序的持续运行。以MAX706P看门狗电路。该电路具有手动复位、看门狗、电压监视功能。图 16 MAX706看门狗电路MAX706芯片看门狗工作原理:MAX706的内部看门狗定时器定时时间为16秒,如果在16秒内,看门狗输入脚WDI保持为规定电平(高电平或低电平),看门狗输出端变为低电平,二极管D导通,使低电平加到复位端 ,MAX706产生复位信号RESET使单片机复位,直到复位后看门狗被清零,才变为高电平。当WDI有一个跳变沿(上升沿或下降沿)信号时,看门狗定时器被清零。将WDI端与

40、单片机某I0输出端相连,程序只要在小于16秒内将该I0端取反一次,使定时器清零而重新计数,不产生超时溢出,程序正常运行当程序“跑飞”时,不能执行产生跳变指令,到16秒时,因超时溢出而变为低电平,产生复位信号使单片机复位。2.5按键选择电路设计键盘是人与微机系统打交道的主要设备。键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。在单片机应用中键盘用的最多的形式是独立键盘及矩阵键盘。它们各自有自己的特点,其中独立键盘硬件电路

41、简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中。矩阵键盘与独立键盘有很大的区别,首先在硬件电路上它比独立键盘复杂的多,而且在程序算法上比它要繁琐,但它在节省端口资源上有很大的优势,因此它更适合多按键电路。本文采用独立按键就能完成设计的要求,通过检测有无按键按下,按键的闭合与否,放应在电压上就是呈现出高电平或低电平,通过检测高低电平的状态就可以确认按键的按下与否。主程序中放了一个按键的判断指令,当按键K1按下的时候,P1.2端口检测到有高电平,程序就自动的去执行按键子程序处理。当换向开关拨在上位档时,按键K2按下的时候,P1.3端口检测到有高电平,占空比就会逐渐的增大。当

42、按键K3按下的时候,P1.4端口检测到有高电平,占空比就会逐渐的减小。当换向开关拨在下位档时,按键K2按下的时候,P1.2端口检测到有高电平,PWM周期就会逐渐的增大。当按键K3按下的时候,P1.4端口检测到有高电平,PWM周期就会逐渐的减小。在程序的运行过程中,如果按键K1再次按下,则PWM波形停止输出,按键电路图如下所示:图 17 按键设置 2.6显示模块电路设计本文要求能够输出PWM波形的占空比和周期,能够实现PWM输出时间的时钟计时功能,并能够显示出来。本文采用了数码管就可以满足设计要求,数码管拥有结构原理简单,显示方便的特点。用六位数码管显示有关参数,第一二两位显示PWM波形的周期,

43、三四两位显示PWM波形的占空比,五六两位显示PWM波形的输出时间。2.6.1数码管的一般内部构造数码管是一种把多个LED显示段集成在一起的显示设备。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。对于单个数码管来说,从它的正面看进去,左下角

44、那个脚为1脚,以逆时针方向依次为110脚,左上角那个脚便是10脚了,两个dp脚是连通的,这两个都是公共脚。 图 18 数码管内部结构图2.6.2数码管的一般显示方式数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端

45、。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。2.6.3多位数码管那么,实际的多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。本文要求能够输出PWM波形的占空比和周期,能够实现PWM输出时间的时钟计时功能,并在数码管上显示出来。按如上要求本文采用了六位数码管显示,第一二两位显示PWM波形的周期,三四两位显示PWM波形的占空比,五六两位显示PWM波形的输出时间。六位数码管连接图如下所示。图 1

46、9 六位数码管连接图2.7系统硬件电路设计本文通过按键K1启动程序,当按键K1按下的时候,P1.2端口检测到有高电平,程序就自动的去执行按键子程序处。此时单片机自动输出系统初始PWM值,可以通过接在P2.7端口的LED的点亮与熄灭来观察出PWM输出的高低电平。此时六位数码管的第五六两位开始实现计时功能,一分钟时间结束后如果没有按键按下,则PWM波形的周期自动增加。当换向开关拨在上位档时,按键K2按下的时候,P1.3端口检测到有高电平,占空比就会逐渐的增大。相应的。当按键K3按下的时候,P1.4端口检测到有高电平,占空比就会逐渐的减小,此时数码管的三四两位随之变化。当换向开关拨在下位档时,按键K

47、2按下的时候,P1.2端口检测到有高电平,PWM周期就会逐渐的增大。当按键K3按下的时候,P1.4端口检测到有高电平,PWM周期就会逐渐的减小,此时数码管的一二两位数值随之变化,在程序运行的过程中,如果按键K1再次按下,则PWM波形停止输出。系统的硬件电路图如下所示:图 20 系统硬件电路图3系统程序设计3.1主程序的设计图 21 系统的程序流程框图本文通过按键K1启动程序,当按键K1按下的时候,P1.2端口检测到有高电平,程序就自动的去执行按键子程序处。此时单片机自动输出系统初始PWM值,可以通过接在P2.7端口的LED的点亮与熄灭来观察出PWM输出的高低电平。此时六位数码管的第五六两位开始

48、实现计时功能,一分钟时间结束后如果没有按键按下,则PWM波形的周期自动增加。当换向开关拨在上位档时,按键K2按下的时候,P1.3端口检测到有高电平,占空比就会逐渐的增大。相应的。当按键K3按下的时候,P1.4端口检测到有高电平,占空比就会逐渐的减小,此时数码管的三四两位随之变化。当换向开关拨在下位档时,按键K2按下的时候,P1.2端口检测到有高电平,PWM周期就会逐渐的增大。当按键K3按下的时候,P1.4端口检测到有高电平,PWM周期就会逐渐的减小,此时数码管的一二两位数值随之变化。在程序运行的过程中,如果按键K1再次按下,则PWM波形停止输出。3.2单片机中断程序的设计定时器工作时必须给计数

49、器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:TC=MC式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为28 ; 算法公式:T=(MTC)T计数 或TC=MT/T计数T计数是单片机时钟周期的12倍;为定时初值如单片机的主脉冲频率为12 ,经过分频方式 TMAX213 微秒8.192毫秒方式 TMAX216 微秒65.536毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器

50、和软件相结合的办法才能解决这个问题实现秒的方法:我们采用在主程序中设定一个初值为50的软件计数器和使T0定时500微秒。这样每当T0到500微秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。下述为单片机的寄存器有关参数值的设定,我们使定时器定时500微秒。void main(void) P1=0x00; /初始化p1口,全设为0;TMOD=0x01; /time0为定时器,工作方式1;TH0=(65536-500)/256; /预置计数初值;TL0=(65536-500)%256;EA=1; /开总中断;ET0=1;/中定时中断;TR0=1; /定时器0开始计数;3.3PWM程序的设

51、计在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开信号,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变信号电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。一般的单片机都可以通过内部定时器输出PWM,输出PWM为以下过程 1、设置提供调制方波的片上定时器/计数器的周期 2、 在PWM控制寄存器中设置接通时间 3、设置PWM输出的方向,这个输出是一个通用I/O管脚 4、启动定时器 5、使能PWM控制器 单片机通过设置以下参数值改变PWM波形。:设置PWM定时器周期,该参数决定PWM波形的频率。 :设置P

52、WM定时器比较值,该参数决定PWM波形的占空比。 本文设置定时器的中断时间为500微秒,则每执行一次PWM_1程序,时间经过500微秒。本文设置一个控制PWM占空比的变量值p,当中断次数t小于P时,控制单片机输出高电平;当中断次数t大于P时,控制单片机输出低电平。设置一个控制PWM周期的变量n,当中断次数t大于n时,则将t重置为0,相应的一个PWM周期结束。对应的PWM波形占空比和周期的设定如下所示,若p=10,n=20,则输出PWM波形的周期为10ms,占空比为50%。void time0() interrupt 1 TH0=(65536-500)/256; TL0=(65536-500)%

53、256;if(tp) /控制PWM输出低电平的比例 PWM=0; t+; if(t=n) /控制单片机输出PWM周期 t=0; 3.4按键程序的设计本文通过按键K1启动程序,当按键K1按下的时候,P1.2端口检测到有高电平,程序就自动的去执行按键子程序处。当换向开关拨在上位档时,按键K2按下的时候,P1.3端口检测到有高电平,占空比就会逐渐的增大。相应的。当按键K3按下的时候,P1.4端口检测到有高电平,占空比就会逐渐的减小,此时数码管的一二两位随之变化。当换向开关拨在下位档时,按键K2按下的时候,P1.2端口检测到有高电平,PWM周期就会逐渐的增大。当按键K3按下的时候,P1.4端口检测到有

54、高电平,PWM周期就会逐渐的减小,此时数码管的三四两位数值随之变化。同时对PWM输出时间进行自动计时,数码管的五六两位显示出PWM的输出时间。在程序运行的过程中,如果按键K1再次按下,则PWM波形停止输出。一般的按键程序应解决以下问题:串键保护措施。串键是指同时有一个以上的键按下,串键会引起CPU错误响应。通常要采取策略令单键按下有效,多键同时按下无效。处理连击。连击是一次按键产生多次击键的效果。要有对按键释放的处理,为了消除连击,使得一次按键只产生一次键功能的执行,否则的话键功能的执行次数将不可预知,主要由按键时间决定。消除在按键过程中产生的毛刺现象。图 22 按键触点的机械抖动这里采用最常

55、用的方法,即延时重复扫描方法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几毫秒,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取50毫秒)后再判断此电平是否保持原状态,如果是有则为有效按键,否则无效。当操作完成后要做一个相应的按键是否断开的判断,并进入相应的操作。图 23 按键程序流程框图在这儿选取出按键开关的一段程序如下,在这段程序中换向开关为上档位,K2按键按下,在进行延迟消除抖动后确定K2键按下,从而令PWM输出占空比增大,并对PWM输出时间重新计时。void keyscan ( ) if(P1_0=1) /换向开关为上档位 if(

56、P1_3=1&P1_4=0) /按键K2按下且K3键没有一起按下 b+; /延迟50msif(b=1000)if(P1_3=1&P1_4=0) /确认K2键按下,消除机械抖动的影响 p+; /增大PWM的占空比second=0; /PWM输出时间重新计时else break;3.5显示系统的程序设计数码管是一种把多个LED显示段集成在一起的显示设备。通常的数码管又分为8段,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。本文中选用的六位数码管为共阴极,数码管的字型码表如下所示:表 2

57、 共阴极数码管字型码对应字符表共阴字型码所显字符共阴字型码所显字符3FH07DH606H107H75BH27FH84FH36FH966H477HA6DH5在数码管输出对应的字符串前,首先要对数码管的字型码进行定义uchar code dispcode =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0x77;本文中的数码管的12两位输出PWM波形的周期,对应的P2端口的12位设置为0xfe和0xfd,占空比用m值代替。数码管的34两位输出PWM波形的占空比,对应的P2端口设置为0xfb和oxf7用q值代替。数码管的56两位实现PWM输出时

58、间的计时功能,将对应的P2端口设置为oxef和oxdf,数码管的程序为:void display( ) P2=0xfe; /数码管第一位输出 P0=dispcodem/10; /显示周期的十位 delay(4); P2=0xfd; /数码管第二位输出 P0=(dispcode(m%10)|0X80; /显示周期的个位 delay(4); P2=0xfb; /数码管第三位输出 P0=dispcodeq/10; /显示占空比的十位 delay(4); P2=0xf7; /数码管第四位输出 P0=(dispcodeqg%10)|0X80; /显示占空比的个位 delay(4); P2=0xef; /数码管第五位输出 P0=dispcodesecond/10; /显示时间的十位 delay(4); P2=0xdf; /数码管第六位输出 P0=dispcodesecond%10; /显示时间的个位 delay(4); 3.6看门狗程序的设计在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!