基于单片机波形发生器的实现与发生

上传人:优*** 文档编号:57544732 上传时间:2022-02-24 格式:DOC 页数:78 大小:2.65MB
收藏 版权申诉 举报 下载
基于单片机波形发生器的实现与发生_第1页
第1页 / 共78页
基于单片机波形发生器的实现与发生_第2页
第2页 / 共78页
基于单片机波形发生器的实现与发生_第3页
第3页 / 共78页
资源描述:

《基于单片机波形发生器的实现与发生》由会员分享,可在线阅读,更多相关《基于单片机波形发生器的实现与发生(78页珍藏版)》请在装配图网上搜索。

1、本科毕业设计(论文) 题 目 基于单片机的波形发生器的实现与设计 学生姓名 专业班级 学 号 院 (系) 指导教师(职称) 完成时间 摘 要本文介绍了一种基于单片机的波形发生器的设计,整个系统通过单片机STC89C52控制外围数码管显示电路以及参数调节等实现正弦波、方波、三角波、锯齿波和脉冲波五种波形的输出显示。该波形发生器主要由两部分组成:系统硬件设计和系统软件设计,在系统硬件设计中,以STC89C52单片机为核心,通过I/O接口设计,扩展了D/A转换模块、同时用LED显示灯指示对应的波形。并且采用画图软件软件PROTEUS99SE画出原理图,设计并制作波形发生器的印制电路板(PCB)。系统

2、软件设计是在KeilC的集成开发环境下采用汇编语言完成的,包括主程序、四种波形产生子程序、按键功能子程序和显示子程序等模块。本系统可以实现波形频率、幅度实时可调,功能灵活,系统的开发成本在百元内,具有测量精度高,误差小、功耗低,数据传输速度较快,可靠性高等特点,有一定的开发价值。实验表明,设计系统的测试结果与实际波形的频率和幅度一致。关键词:波形发生器;STC89C52;LED;PCBAbstractThis article describes the the design of the waveform generator based on single-chip, the entire s

3、ystem through the microcontroller STC89C52 controls the led that can finish convertting five waveform analog output of sine wave, square wave, triangle wave, saw tooth wave and pulse wave. The waveform generator consists of two parts: system hardware design and system software design, in the system

4、hardware design, the microcontroller STC89C52 is the core of the design, through I/O interface design to extend the DA converter module, waveform selector buttons, as well as LED to display .And through the SCM simulation software PROTEUS99SE to design and produce of the printed circuit board (PCB)

5、of the waveform generator. System software design is done with assembly language in the integrated development environment KeilC, including the main Program, four waveform generator subroutine, key functions and display subroutines modules.This system can realize that frequency and amplitude of wave

6、form is real-time adjustable and flexible. The system development costs is in the hundred with a high accuracy, the error is small, low power consumption, faster data transfer speeds, high reliability, there is a certain development value. The tested frequency and amplitude of the system is consiste

7、nt with the actual waveform.Keywords:waveform generator;stc89C52;led;pcb目 录1 绪论11.1 选题背景及意义11.1.1 本课题的研究现状11.1.2 选题目的及意义21.2 设计基本要求32 波形发生器系统方案设计与论证42.1 总体设计方案的比较42.2 子系统模块方案设计42.2.1 控制模块方案设计52.2.2 频率调整模块方案设计52.2.3 键盘模块方案设计62.2.4 显示模块方案设计72.2.5 D/A模块显示方针72.3 系统总体框图82.4 波形产生相关理论102.5 MCU概要112.5.1 单片机

8、发展历程112.5.2 单片机的特点112.5.3 单片机的应用领域123 硬件实现及模块电路设计133.1 单片机最小系统的设计133.2 D/A转换模块143.2.1 分辨率153.2.2 转换精度153.2.3 转换误差153.2.4 线性度153.3 频率调整模块163.4 按键显示模块173.5 LED显示模块183.6 RS232串行通信电路及电源供电电路203.6.1 RS232串行通信电路203.6.2 电源供电电路214 单片机开发系统234.1 系统软件编程语言方案设计234.2 系统整体软件设计思想244.2.1 Keil编译器简介244.2.2 Keil C51单片机软

9、件开发系统的整体结构244.2.3 uVision4集成开发环境244.3 主程序流程图254.4 软件仿真265 系统软硬件调试与数据处理285.1 硬件PCB制作、安装、测试与调试285.1.1 PCB设计、制作、安装285.1.2 电路板调试与检测安全295.1.3 供电安全295.2 PCB电路板的电气规则检查与调试及电路功能测试305.2.1 PCB电路板的电气规则检查与调试305.3 测试方法及数据的记录和统计305.4 测试数据分析及处理305.5 系统功能实现情况306 系统抗干扰措施326.1 形成干扰的基本因素326.2 提高单片机系统抗干扰能力的主要手段33结 论34致

10、谢35参考文献36附录A 英文原文38附录B 汉语翻译45附录C 系统软件部分源程序49附录D 系统原理图55附录E 元器件清单56附录F 符号说明57附录G 实物图581 绪 论1.1 选题背景及意义波形发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数波形发生器。在通信、广播、电视系统,在工业、农业、生物医学等领域内,函数波形发生器在实验和设备检测中具有十分广泛的用途。1.1.1 本课题的研究现状波形发生器既可以构成独立的信号源,也可以是高性能网络分析仪、频谱

11、仪及其它自动测试设备的组成部分。波形发生器的关键技术是多种高性能仪器的支撑技术,因为它能够提供高质量的精密信号源及扫频源,可使相应系统的检测过程大大简化,降低检测费用并极大地提高检测精度。美国安捷伦生产的33250A型函数/任意波形发生器可以产生稳定、精确和低失真的任意波形,其输出频率范围为1Hz80MHz,而输出幅度为10mVpp10Vpp;该公司生产的8648D射频波形发生器的频率覆盖范围更可高达9kHz4GHz。1国产SG1060数字合成波形发生器能双通道同时输出高分辨率、高精度、高可靠性的各种波形,频率覆盖范围为1Hz60MHz;国产S1000型数字合成扫频波形发生器通过采用新技术、新

12、器件实现高精度、宽频带的扫频源,同时应用DDS和锁相技术,使频率范围从1MHz1024MHz能精确地分辨到100Hz,它既是一台高精度的扫频源,同时也是一台高精度的标准波形发生器。还有很多其它类型的波形发生器,他们各有各的优点,但是波形发生器总的趋势将向着宽频率覆盖、高频率精度、多功能、多用途、自动化和智能化方向发展2。目前,市场上的波形发生器多种多样,一般按频带分为以下几种:超高频:频率范围1MHz以上,可达几十兆赫兹。高频:几百KHZ到几MHZ。 低频:频率范围为几十HZ到几百KHZ。超低频:频率范围为零点几赫兹到几百赫兹。 超高频波形发生器,产生波形一般用LC振荡电路。高频、低频和超低频

13、波形发生器,大多使用文氏桥振荡电路,即RC振荡电路,通过改变电容和电阻值,改变频率。用以上原理设计的波形发生器,其输出波形一般只有两种,即正弦波和脉冲波,其零点不可调,而且价格也比较贵,一般在几百元左右。在实际应用中,超低频波和高频波一般是不用的,一般用中频,即几十HZ到几十KHZ。用单片机89S52,加上一片DAC0832,就可以做成一个简单的波形发生器,其频率受单片机运行的程序的控制。我们可以把产生各种波形的程序,写在ROM中,装入本机,按用户的选择,运行不同的程序,产生不同的波形。再在DAC0808输出端加上一些电压变换电路,就完成了一个频率、幅值、零点均可调的多功能波形发生器的设计。这

14、样的机器体积小,价格便宜,耗电少,频率适中,便于携带。1.1.2 选题目的及意义波形发生器是一种经常使用的设备,由纯粹物理器件构成的传统的设计方法存在许多弊端,如:体积较大、重量较沉、移动不够方便、信号失真较大、波形种类过于单一、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等的要求,研究设计出一种具有频率稳定、准确、波形质量好、输出频率范围宽、便携性好等特点的波形发生器具有较好的市场前景,以满足军事和民用领域对信号源的要求。虽然我国对于波形发生器的研制起步较晚,但是通过几年的努力也取得了一些可喜的成果。国产SG1060数字合成信号发生器可以双通道同时输出高分辨率、高精度、高可靠性的

15、各种波形,其频率覆盖范围为1Hz-60MHz。国产S1000数字合成扫频信号发生器的频率范围为1MHz-1024MHz,可应用于超高频领域。但是总的来说,这些设计产品价格昂贵主要应用于航空、军事等高端领域,在日常民用方面并没有形成自己真正的产业。目前国内成熟的产品多位一些PC仪器插卡,独立仪器少之又少。并且我国现今的任意波形发生器的种类和性能与国外相比仍有很大差距,因此对此内产品的研究设计仍具有重要意义。本次设计的主要目标是学习和运用单片机的C语言和开发环境,通过现有专业知识,实现利用单片机STC89C52控制外围电路及其参数实现正弦波,方波,三角波,锯齿波,脉冲波这五种常见波形的发生,并且可

16、以接收外接拨码键盘开关量的输入而在一定范围内改变波形的频率和幅度。在无标准函数发生仪器时,本设计可以作为简单的波形发生器使用。本次设计准备在成本交低廉的前提下完成,主要是用单片机STC89C52、LED,性能指数都不是很高,所以对此信号源的基本要求是能发生几种常见的波形,正弦波,方波,三角波,锯齿波,并且能够在定的范围内改变频率。通过该课题的设计,掌握以STC89C52为核心的单片机系统的软硬件开发过程和基本信号的产生原理、测量及误差分析方法,同时掌握波形发生器系统的软硬件设计流程;了解并掌握并行D/A转换器DAC0832的原理及其外围电路的设计方法;掌握利用单片机产生常用波形的方法,进一步熟

17、悉单片机人机接口的设计方法;培养我们综合运用所学的基本知识、基本理论和基本技能的能力,学习解决一般工程技术和有关专业问题的能力。1.2 设计基本要求本设计采用89C52及其外围扩展系统,软件方面主要是应用C语言设计程序。系统以89C52单片机为核心,配置相应的外设及接口电路,该系统的软件可运行于KeilC的集成开发环境下,硬件电路原理图设计完成后,能成功完成软件调试。同时,本系统中任何一部分电路模块均可移植于实用开发系统的设计中,例如温度控制系统、电子时钟万年历等实用的电路系统中,电路系统设计具有很强的实用性。功能要求:1) 波形发生器的频率,幅值,波形可调;2) 显示当前波形的频率、幅值;3

18、) 对系统进行测试和结果分析;4) 撰写论文;5) 基于单片机以及外围的数码管显示电路,电源管理以及参数调节等电路实现输出波形的显示。2 波形发生器系统方案设计与论证2.1 总体设计方案的比较波形发生器的设计方案可用多种方案来完成。在设计前对各种方案进行了比较:方案一:用差分放大电路实现三角波到正弦波以及集成运放组成的电路实现波形发生器。波形变换的原理是利用差分放大器的传输特性曲线的非线性,传输特性曲线越对称,线性区域越窄越好;三角波的幅度应正好使晶体接近饱和区域或者截至区域。方案二:利用专用直接数字合成DDS芯片实现函数波形发生器。这种波形发生器能产生任意波形并达到很高频率,但成本较高。方案

19、三:利用单片机STC89C52和发光二极管共同实现正弦波,方波,三角波,锯齿波这四种常见波形的发生,并且可以接收外接拨码键盘开关量的输入而在一定范围实现频率和幅度的调节3。方案四:采用分立元件构成非稳态的多谐振振荡器,根据具体需要加入积分电路等构成波形发生器。但这种波形发生器输出频率范围窄,而且电路参数设定较繁琐,输出的波形易受外界环境影响,不稳定,对电路硬件要求很高,不易实现。可行性分析:上面四种方案中,方案一中需要人为地搭建波形变换的电路。方案二成本较高。方案三利用单片机构成的应用系统有较大的可靠性。系统扩展、配置灵活。容易构成各种规模的应用系统,且应用系统有较高的软、硬件利用系数。单片机

20、具有可编程性,硬件的功能描述可完全在软件上实现,而且设计时间短,成本低,可靠性高。方案四的电路参数设定较繁琐,输出的波形易受外界环境影响,不稳定。综合以上四种方案,从性能和制作成本考虑,本设计采用方案三,即采用单片机通过调节拨码键盘开关量可产生可调频率的波形。2.2 子系统模块方案设计该波形发生器有以下几部分组成:1)单片机控制模块,2)频率调整模块,3)按键模块,4)显示模块,5)D/A转换模块,6)RS232串行通信电路及电源供电电路模块六部分组成。2.2.1 控制模块方案设计方案一:用单片STC89C52作为系统的主控核心。单片机具有体积小,使用灵活的,易于人机对话和良好的数据处理,有较

21、强的指令寻址和运算功能等优点。且单片机功耗低,价格低廉的优点。方案二:C89C52F005单片机是完全集成的混合信号系统级芯片,具有与89C52兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵。方案三:用FPGA等可编程器件作为控制模块。FPGA可以实现各种复杂的逻辑功能,密度高,速度快,稳定性好等许多有点。FPGA在掉电后会丢失数据上电后须进行一次配置,因此FPGA在应用中需要配置电路和一定的程序。并且FPGA作为数字逻辑器件,竞争、冒险是数字逻辑组合电路

22、中较为突出的问题,因此在使用时必须注意毛刺的产生、消除及抗干扰性。在此系统中,采用单片机作为控制器比采用FPGA实现更简便。从电路结构和成本角度及综合性价比的考虑,确定选择方案一。2.2.2 频率调整模块方案设计方案一:通过对单片机的定时器的编程来实现调频。将一个周期的波形数据离散成256个采样点数据,并启用定时器延时。当8位累加器A的内容达到最大的计数值255时在自增一次就变成最小值零,然后可以继续增加。如此,周而复始就可以得到要求的波形输出。当然通过对定时器初值的设定可以改变波形的频率。例如,单片机的晶振频率fOSC=12MHz,定时器采用方式1,若产生周期为T的波形,定时器初值的计算方法

23、如下:单片机机械周期Tmec为: (2.1)定时器初值TC为: (2.2)定时器初值高位TCH为: (2.3)定时器初值低位TCL为: (2.4)当要获得1Hz的波形时,按照上述方法可以算出:TC=61630, TCH=240, TCL=190但是此种方案最大计数值为65536,最小计数值为1,所以决定了此种方法所能得到的波形的上限频率fMAX为: (2.5)下限频率fMIN为: (2.6)需要说明的是,以上上限下限频率是对于将一周期波形离散成256个数据点的正弦波和锯齿波而言的。方案二:为了提高单片机的资源利用率和运行的效率,按键部分通过8位拨码开关来实现8位数字量通过74ls165的并行输

24、入串行输出给单片机的方案,这样设计的目的优点是节省单片机的I/O口资源,电路结构简单易行。我们采用74ls165实现频率的改变,使频率能够实时随着拨码按键开关量的输入而改变,电路结构简单,实时性较强。4综合以上二种方案,方案一是靠软件来实现调频,综合可以看出此种方案的有效频段为0.06Hz到1953Hz,在此范围内输出波形频率连续可调。从电路结构、实时性的角度考虑,选择方案一。2.2.3 键盘模块方案设计方案一:采用独立按键,按键的数目少,但是它拥有结构简单,方便操作,执行效率高等优势。方案二:采用矩阵键盘,它以较少得I/O口实现了按键的功能。经综合考虑,由于节省I/O资源,我们采用矩阵键盘。

25、2.2.4 显示模块方案设计方案一:用传统的LED七段数码管位选的方式进行波形频率和幅度的显示。动态LED扫描的方法就是控制LED和COM端轮流有效,使每个LED轮流点亮有效。方案二:采用LCD1602液晶显示,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个57或者511等点阵字符位组成,1602采用并口传输,速度比12864快。每个点阵字符位都可以显示一个字符。1602内部集成有显示芯片,可以识别英文字母、阿拉伯数字和日语。此液晶显示具有微功耗、体积小、显示内容丰富、超薄轻巧等优点,常用在袖珍式仪表和低功耗应用系统中。5方案三:LCD12

26、86是图形点阵,是显示图形和汉字,当然也是可以显示字母和阿拉伯数字了程序的编写上1602复杂的多,由于本次设计只需显示波形的频率和幅度,不需要显示波形图,从电路的简单程度和成本的角度,综合考虑不选择。方案一占用较多的I/O口资源,需要添加额外的I/O扩展电路和译码电路,但是此方案硬件价格低廉,编程起点低。方案二运用液晶显示可以显示点阵字母和数字信息,速度快,功耗低,体积小,但是硬件价格较贵,且编程相对于LED较难。方案三的液晶可以显示汉字和图形,这些功能在本次设计中用不到。综合考虑,程控波形发生器设计并不需要显示复杂的信息,所以选择方案一。硬件波形发生器设计不准备加入显示模块,主要是因为此种方

27、案适用于生成特定波形的系统中,使用人员并不需要经常对波形的频率和幅值进行更改,所以显示模块在此种方案中显得冗余。2.2.5 D/A模块显示方针单片机输出的是数字信号,必须通过D/A转换后才能模拟信号。方案一:采用D/A转换器AD7543。AD7543是一种串行的D/A转换器,与单片机之间的连线少,布线方便,而且又是12位的D/A转换器,精度高。但串行数据传输速度慢,当频率较高时,必须减少每周期输出的点数,这将会导致阶梯现象更加明显,因此,此方案不宜使用。方案二:采用DAC0832。这是8位的并行D/A转换器,转换速度快。综合以上二种方案,本系统选择了方案二。DAC0832芯片介绍美国国家半导体

28、公司生产的DAC0832是一种具有8 位分辨率、双通道输出的D/A转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率6。1)DAC0832具有以下特点1) 8位分辨率;2) 双通道A/D转换;3) 输入输出电平与TTL/CMOS相兼容;4) 5V电源供电时输入电压在05V之间;5) 工作频率为250KHZ,转换时间为32S;6) 一般功耗仅为15mW;7) 8P、14PDIP(双列直插)、P LCC 多种封装;8) 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C。2)芯片接口说明在电路原理图设计时,DAC0832的D0-

29、D7 8条数据线与单片机的P0口相连接,DAC0832的、脚与P2.7相连接、与单片机的相连接,IOUT1与LM324的2脚相连接,3脚数字地、10脚模拟地分别与电源地相连接。ILE脚与5V电源相连接。3)单片机对DAC0832的控制原理当DAC0832未工作时其输入端应为高电平,此时芯片禁用。当要进行A/D转换时,须先将使能端置于低电平并且保持低电平直到转换完全结束。当DAC0832工作时其输入端应为低电平,直接将单片机P0口的8位数字量转换为模拟电压量的经IOUT1引脚输出,将示波器的正极探针与IOUT1引脚端相连接,就可以看到波形的产生。2.3 系统总体框图本系统是以单片机STC89C5

30、2、频率调整模块、按键模块、以及LED显示模块、I/O显示,RS232串行通信及USB供电等模块共同实现正弦波,方波,三角波,锯齿波,脉冲波这五种频率、幅度可调的常见波形的功能。系统原理框图如图2.1。 键盘/按键键盘 晶振 电源 单片机 LED显示/发光二极管显示图2.1 系统原理框图由图2.2 DAC0832转换部分电路图可知,通过代入以下数据对波形输出与频率、幅值调节部分进行具体的理论分析计算。 利用STC89C52单片机、DAC0832、8位拨码开关设计一个能产生正弦波、方波、三角波、锯齿波和脉冲波的频率、幅值、波形可调的波形发生器。其中8位拨码开关是用来产生8位二进制数作为延时常数,

31、DAC0832是用来将8位数字量转化成模拟量输出。数字量输入的范围为0-255之间,对应的模拟量输出的范围在Vref-到Vref+之间。根据这样我们可以利用单片机的并行口输出的数字量,产生常用的波形。图2.2 DAC0832转换部分电路图1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率和幅度可变。2)将一个周期的信号分离成256个点(按X轴等分),每两点之间的时间间隔为T,用单片机的定时器产生,其表示式为: T=T/256。如果单片机的晶振为12MHz,采用定时器方式0,则定时器的初值为: X=213T/Tmec (2.7)定时时间常数为: TL=(8192T)/MOD25

32、6 (2.8) TH=(8192T)/256 (2.9)MOD256表示除256取余数。3)正弦波的模拟信号是D/A转换器的模拟量输出,其计算公式为: Y=(A/2sint)+A/2 (其中A=VREF) (2.10) t=NT (N=1256) (2.11)那么对应着存放在计算机里的这一点的数据为: (2.12)4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1-TAB4为起始地址的存储器中。由(2.3.4)式可知,当DAC0832在 0255 之间变化时,输出电压可在0V5V+之间 变化,即输出信号的峰峰值可由滑动变阻器RV2控制。2.4 波形产生相关理论DAC0

33、832是8位的D/A转换器件,其工作电压是05V,当输入00H数字量的时候,输出为0V电压;当输入07FH数字量的时候,输出为2.5V电压;当输入0FFH数字量的时候,输出为5V电压。单片机的I/O输出均为+5 V的TTL电平,因此产生的正弦波(以正弦波为例)幅值为+2.5 V。将一个周期内的正弦波形等分为256份,对应256个数字量,利用查数据表的方式来实现波形的产生。第1点的角度为0,对应的正弦值为2.5sin0;第2点的角度为360/256,对应的正弦值为2.5sin 360/256),如此计算下去,将这些单极性方式下的数字量转换为正弦值模拟量输出。而每次送到DAC0832的八位数字量是

34、根据查正弦波形数据表格而得到。2.5 MCU概要2.5.1 单片机发展历程单片微型计算机简称为单片机,它是把微型计算机的各个功能部件,既中央处理器CPU、随机存储器RAM、定时/计数器、只读存储器ROM、I/O接口电路和必要的外设集成在一块芯片上,构成一个既小巧又完善的微型计算机。随着科学技术的发展,单片机芯片内扩展了各个控制功能,现今的单片机集成了许多面向测控对象的接口电路。自从1974年美国Fairchild公司研制出第一台8位单片机F8以来,单片机就以惊人的速度在发展,各公司竞相推出自己的产品,各种新、高性能单片机不断涌现。迄今为止,单片机的发展主要分为以下4个阶段。第一阶段:初级单片机

35、阶段。以MCS-48为代表的单片机在片内集成了8位CPU、并行I/O口、8位定时/计数器、RAM等,无串行I/O口,寻址范围小于4KB。第二阶段:高性能8位机阶段。这个阶段的单片机均带有串行I/O口,具有多级中断处理系统,定时/计数器为16位,片内RAM和ROM容量相对增大,且寻址范围可达64KB。第三阶段:8位单片机巩固、完善及16位单片机推出阶段。在此阶段,一方面不断完善高档8位机,改善其结构以满足不同用户的需要;另一方面发展16位单片机及专用单片机。第四阶段:单片机的全面发展阶段。32位单片机具有极高的集成度,CPU可与其他微控制器兼容,指令系统进一步优化,运算速度可动态改变,具有强大的

36、中断控制系统、同步/异步通信控制系统。单片机的发展趋势将是大容量、高性能化、低功耗化、宽电压、外围电路内装化等。2.5.2 单片机的特点单片机以其卓越的性能,得到了广泛的应用,以深入到各个领域。单片机应用在检测、控制领域中,具有以下的特点。1)单片机具有体积小、控制功能强、成本低等特点、可非常方便的嵌入到各个应用场合,组装各种智能式控制设备和仪器,做到机、电、仪一体化。2)可靠性好,适用温度范围宽,且程序指令、表格数据等可固化在ROM中,不易被破坏。3)易于扩展,很容易构成各种规模的应用系统。4)低电压、低功耗;单片机广泛应用于便携式产品和家电消费类产品。对此类产品,低电压、低功耗尤为重要。目

37、前,0.8V供电的单片机问世,一粒纽扣电池就可使单片机长期运行。5)可以方便的实现多机和分布式控制,从而使整个控制系统的效率和可靠性大为提高。2.5.3 单片机的应用领域1)在智能仪器仪表中的应用单片机应用于各种仪器仪表中,如精密数字温度计、智能电度表、智能流速仪、微机多功能pH测试仪等。2)在工业测控中的应用用单片机可以构成各种工业控制系统、自适应控制系统、数据采集系统等。在军事工业中,单片机可用于导弹控制、鱼雷制导控制、智能武器装置及航天导航系统等。3)在计算机网络与通信技术中的应用例如,MCS系列单片机控制的串行自动呼叫应答系统、列车无线通信系统、无线遥控系统等。4)在日常生活及家电中的

38、应用目前,各种家用电器已普遍采用单片机控制取代传统的控制电路,如洗衣机、电冰箱、空调、微波炉、电饭煲及其他视频音像设备的控制器,各类信号指示、手机通信、电子玩具、智能楼宇及防盗系统等。3 硬件实现及模块电路设计3.1 单片机最小系统的设计STC89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用STC89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,由于集成度的限制,最小应用系统只能用作一些小型的控制单元,STC89C52单片机最小系统如图3.1所示。其应用特点如下7:1)可以给用户提供大量I/O口线。2)内部存储器容量有限。3)应用

39、系统开发具有特殊性。4)8K字节程序储存空间。5)512字节数据储存空间。6)可直接使用串口下载。图3.1 STC89C52单片机最小系统对图3.1说明如下:1)单片机晶振电路:单片机外围的晶振电路是通过单片机的第18(XTAL1)引脚,19(XTAL2)引脚接入,XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。对于本设计的电容C用30pF,晶振选用11.0592MHz。晶振电路解法如图3.1所示,一端接在XTAL1引脚上,另一端接在XTAL2引脚上。2)单片机的复位引脚 RST:复位输入。晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位

40、。看门狗计时完成后,RST 脚输出2个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位电路8。3.2 D/A转换模块由单片机运算处理的结果(数字量)往往也需要转换为模拟量,以便控制对象,这一过程即为D/A转换。D/A转换器输入的是数字量,经转换器输出的是模拟量。转换过程是先将MCS-52送到D/A转换器的各位二进制数,按其权的大小转换为相应的模拟分量,然后再以叠法把各模拟分量相加,其和就是D/A转换的结果。D/A转换器有两种输出形式,一种是电压输出形式,即给

41、D/A转换器输入的是数字量,而输出为电压。另一种是电流输出形式,即输出为电流。在实际应用中,对于电流输出的D/A转换器,如需要模拟电压输出,可在其输出端加一个由运算放大器构成的I-V转换电路,将电流输出转换为电压输出。由于D/A转换时需要一定时间的,在这段时间内D/A转换器输入端的数字量应保持稳定,为此应当在D/A转换器的数字输入端前面设置锁存器,以提供数据锁存功能。根据转换器芯片内是否带有锁存器,可以把DAC分为内部无锁存器的和内部有锁存器的两类。D/A转换器的技术指标主要有分辨率、转换精度、转换误差、线性度,下面做详细的介绍。3.2.1 分辨率分辨率用于表征D/A转换器对输入微小量变化的敏

42、感程度,是指D/A转换器能分辨的最小输出模拟增量,是输入数字量发生单位数字变化时,即LSB位发生一次时,所对应输出模拟量的变化量。对于n位D/A转换器,其分辨率与数字量输出的位数n的关系如下:=模拟输出的满量程值/2n在实际应用中,一般把D/A转换器的分辨率采用输入数字量的位数或最大输入码的个数表示。例如8位二进制D/A转换器,其分辨率为8位。位数越多,D/A转换器的分辨率越高。3.2.2 转换精度转换器的精度是指输出模拟量电压的实际值与理想值之差,即最大静态转换误差。这误差是由于参考电压偏离标准值、运算放大器的零点漂移、模拟开关的压降以及电阻阻值的偏差等原因引起的。精度和分辨率是两个不同的概

43、念。精度是指转换后所得到的实际值对于理想值的误差或接近程度,而分辨率则是指能够对转换结果发生影响的最小输入量。分辨率很高的D/A转换器不一定具有很高的精度,分辨率不高的D/A转换器则肯定不会具有很高的精度。影响转换精度的主要误差因素有失调误差、增益误差、非线性误差和微分非线性误差等。3.2.3 转换误差转换误差是用以说明D/A转换器实际上能达到的转换精度。转换误差可用输出电压满度值的百分数表示,也可用LSB的倍数表示。例如,转换误差为1/2LSB,是表示输出模拟电压的绝对误差等于当输入数字量的LSB为1,其余各位均为0时输出模拟电压的1/2。3.2.4 线性度通常用非线性误差的大小表示D/A转

44、换器的线性度,并且把理想的输入/输出的偏差与满刻度输出之比的百分数,定义为非线性误差。3.3 频率调整模块通过对单片机的定时器的编程来实现调频。定时器/计数器的工作方式如下:定时器/计数器0 和定时器/计数器1 都可以在方式0、方式1、方式2 工作,而方式3 只有前者才能工作。1) 方式 0当TMOD 中M1、M0 都为0 时,T/C 工作在方式0。方式0 为13 位的T/C,由TH 提供高8 位,TL 提供低5 位,注意TL 的高3 位是无效的,计数溢出值为2 的13 次方=8192,启动该计数器需要设置好计数初值。当C/- T该位为0 时,T/C 为定时器,振荡源12 分频的信号作为计数脉

45、冲;当C/- T该位为1 时,T/C为计数器,对外部脉冲输入端的T0 或T1 引脚进行脉冲计数。计数脉冲能否加到计数器上,受启动信号的控制。当GATE=0 时,只要TR=1,则T/C 启动;当GATE=1时,启动信号受到TR 与INT 的双重控制。T/C 启动后立即加1 计数,当13 位计数满时,TH 向高位进位。此进位将中断溢出标志TF 置位即TF=1,产生中断请求,表示定时时间或计数次数到达。若T/C 开中断(ET=1)且CPU 开中断(EA=1),则当CPU 自动转向中断服务函数时,TF 自动清零,不需要人工软件清零。2)方式 1当TMOD 中M1、M0 为0、1 时,T/C 工作在方式

46、1。方式1 与方式0 基本相同,唯一不同的是方式0 是13 位计数方式,方式1 是16 位计数方式,TH 和TL 都同时提供8 位(方式0 时TL 只提供低5 位,高3 位无效),计数溢出值为2 的16 次方=65536。3) 方式 2当TMOD 中M1、M0 为1、0 时,T/C 工作在方式2。方式2 是8 位的可自动重装载的T/C,满计数值为2 的8 次方=256。在方式0 和方式1 中,当计数满后,若要进行下一次定时/计数,必须通过软件向TH 和TL 重新装载预置计数值。方式2 中TH 和TL 被当作两个8 位计数器。技术过程中,TH 寄存8 位初值并保持不变,由TL 进行8 位计数。计

47、数溢出时,除产生溢出中断请求外,还自动将TH 中初值重装到TL,即重装载。除此之外,方式2 也同方式0。4)方式 3方式3 只适合于T/C0。当T/C0 工作在方式3 时,TH0 和TL0 成为两个独立的计数器。这时,TL0可作定时器/计数器,占用T/C0 在TCON和TMOD寄存器中的控制位和标志位;而TH0只能作定时器使用,占用T/C1 的资源TR1 和TF1。在这种情况下,T/C1 仍可用于方式0/1/2,当不能够使用中断方式。只有将T/C1 用作串行口的波特率方式器时,T/C0才工作在方式3,以便增加一个定时器。5)T/C2的工作方式定时器/计数器2 包含一个16 位重载方式,T/C2

48、 在计数溢出后,自动在瞬间重装载(像8 位自动重载方式2)。自动重载可由外部引脚T2EX 的负跳变开始,这样外部引脚用于产生和其他硬件计数器的同步信号。T/C2 可以看作看门狗或定时溢出的定时器。T/C2 还有捕获方式。把瞬时计数值传到另外的CPU 可读取的寄存器对(RCAP2H、RCAP2L)。这样,在读的过程中,两个字节的计数值无波动的危险。对于快速变化的计数,比如计数值在读取高字节时是16FF时,到读取低字节时已变到1700,结果却得到1600。若16FF 瞬间捕获到另外的寄存器,则可以在CPU空闲的时候取到16 和FF。3.4 按键显示模块键盘是由若干按键组成的开关矩阵,他是最简单的单

49、片机输入设备,操作人员可以通过键盘输入数据或指令,实现简单的人机通信。通常键盘的开关为机械弹性开关,利用机械触点的合、断特性。一个电信号通过机械触点的断开、闭合过程,其行线电压输出波形,按键的闭合与否取决于行线输出电压是高电平还是低电平。如果是高电平则表示键断开,如果是低电平说明是键闭合。我们就可以通过对行线点平的检测,来判断是否有键发生闭合。在这个过程中为了保证按键每按下一次,仅有一次处理,所以必须消除抖动的影响。一般我们可以采取两种方式:硬件去抖、软件去抖。其中硬件去抖一般采用双稳态电路,适用于按键较少的情况。当按键较多的时候,我们一般采用软件去抖,就是在一次按键按下的情况下,执行一段延时

50、10ms的子程序之后,再进行检测,如果检测结果为按下,CPU才确认这个键真的是被按下了。本次我们采用的是矩阵式键盘。键盘的原理图如图3.2所示。图3.2 键盘模块电路图3.5 LED显示模块LED即发光二极管,它是由某些特殊的半导体材料制作成的PN结,它由若干个发光二极管按照一定的规律排列而成。当某个发光二极管导通时,相应的一个点或者是一笔画被点亮,控制不同的二极管导通就可以得到不同的字形。发光二极管阴极连接在一起的就叫共阴极显示器,发光二极管阳极连接在一起的就叫共阳极显示器。由于参杂浓度很高,当流成正比,故电路须串联适当的限流电阻8。LED很适于脉冲工作状态,在平均电流相同的情况下,脉冲工作

51、比直流工作状态产生的亮度增强20%左右。LED显示器有单个、七段和点阵式等几种类型,本次设计采用七段式LED数码管。图3.3为LED数码管的显示电路。 图3.3 LED数码管的显示电路数码管常用的显示方式有两种:静态显示方式和动态显示方式。数码管工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);每位的段选线分别与一个8位的锁存器输出相连。所以称为静态显示;数码管工作于动态显示方式时,通常将所有的段选线并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的公共极分别由相应的I/O线控制,实现各位的分时选通。LED显示器的发光管分别为a、b、c、d、e、f、g

52、、dp,通过八个发光段的不同组合。控制不同组合的二极管导通,就能显示出各种字符。LED显示器有共阳极和共阴极两种。本次设中采用共阳极,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接高电平,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。正向偏置时,会产生大量的电子空穴,把多余的能释放变为光能。LED显示器具有工作电压低、体积小、寿命长(约十万小时)、响应速度快(小于1S),颜色丰富等特点,是智能仪器最常用的显示器。LED的正向工作压降一般在1.2V-2.6V,发光工作电流在5mA -20mA,发光强度基本上与正向电流成正比,故电路须串联适当的限流电阻。3.

53、6 RS232串行通信电路及电源供电电路 图3.4 “D”型9针插头引脚定义3.6.1 RS232串行通信电路由于单片机的输入输出是TTL电平,而PC机配置的都是RS-232标准串行接口,为9针“D”型连接器(插座),如图3.4所示。由于两者的电平不匹配,必须对单片机输出的TTL电平转换为RS-232电平,即由12V转换为5V9。RS232应用广泛、价格便宜,编程容易并且可以比其他接口使用更长的导线。RS232将在监视和控制系统这样的应用中得到普遍的应用。它的缺点是接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。并且,传输距离有限,最大

54、传输距离标准值为50英尺,实际上也只能用在15米左右。RS232串行通信电路原理图如图3.5所示。图3.5 RS232串行通信电路原理图3.6.2 电源供电电路电源是最基本的部分也是极其重要的部分,因为对于任何的电路来说,都离不开电源部分,当然单片机也不例外,其中将近一半的故障或制作失败都和电源有关,电源部分的正常运行才能保障其他模块的顺利进行。电源原理图如图3.6所示。由于不是本次设计的核心部分,故在此不作详述。3.6 电源部分原理图4 单片机开发系统4.1 系统软件编程语言方案设计52单片机系列的编程语言常用的有两种,一种是汇编语言,一种是C语言。汇编语言,是一种功能很强的程序设计语言,也

55、是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:1)能够直接访问与硬件相关的存储器或I/O端口;2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;4)能够根据特定的应用对代码做最佳的优化,提高运行速度;5)能够最大限度地发挥硬件的功能。同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:1)编写的代码非常难懂,不好维护;2)很容易产生bug,难于调试;3)只能针对特定的

56、体系结构和处理器进行优化;4)开发效率很低,时间长且单调。C语言,是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。它具有如下优点:1)简洁紧凑、灵活方便;2)运算符丰富;3)数据结构丰富;4)C是结构式语言;5)C语法限制不太严格,程序设计自由度大;6)C语言允许直接访问物理地址,可以直接对硬件进行操作;7)生成目标代码质量高,程序执行效率高;8)C语言

57、适用范围大,可移植性好。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,函数发生器系统的软件部分由C语言设计编程实现。4.2 系统整体软件设计思想4.2.1 Keil编译器简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上

58、有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势10。4.2.2 Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ID

59、E本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVisi

60、on2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision4 IDE可为它们提供单一而灵活的开发环境。4.2.3 uVision4集成开发环境1)项目管理工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision4工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。uVision4包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定 微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。uVision4可以为片外存储器产生必要的连接选项:确定起始地址和规模。2)源代码编辑器 uV

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