脉冲参数测量与波形发生器

更新时间:2023-06-05 18:19:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机控制技术课程设计

电子与信息工程学院

《计算机控制技术》

课程设计报告

课题名称 脉冲参数测量及波形发生器设计

专 业 电子信息工程

班 级 08电子2班

学生姓名 钱 佳 亮

学 号 08205010230

指导教师 花 海 安

2011 年 7 月 6 日

计算机控制技术课程设计

课题:脉冲参数测量及波形发生器设计

1、课题目的

(1)掌握用计数器测量脉冲参数的方法。

(2)设计一个脉冲参数测量的控制系统。

(3)掌握用D/A转换器设计一简易波形发生器。

2、设计说明

(1)要求能测量方波信号的频率。测量频率范围0-10KHz。测量

结果显示在5为LED显示器上,显示方法为静态,以 Hz单位。

(2)使用定时器产生与输入频率相同的方波信号,用示波器观察输出的方波信号和输入的方波信号频率是否一致,若不一致,分析原因,找出解决办法。

(3)具有测量矩形波信号的占空比的功能,显示XX.X%。

(4)具有输出矩形波、锯齿波、三角波、梯形波的波形输出(频率固定,均为1 KHz)。 ( 5) 所有参数的测量及波形输出均使用开关切换。

3、设计要求

(1)方案论证

按系统功能实现要求,决定控制系统的实现方案,选择芯片,作出系统框图。

(2)硬件电路设计

根据设计内容设计出硬件电路图作出详细的设计说明,并绘制出电路图。

(3)系统程序设计

采用模块化设计方法,画出程序流程框图,用汇编语言或C语言编写相应的控制程序。

4、总结报告

写出完成整个设计的详细步骤和系统性能分析。

Ⅰ 脉冲信号参数测量仪

1、总体方案介绍

1、1 脉冲宽度测量

利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。对定时器

T0来讲,如果GATE=0,必须使软件控制位TR0=1,且INT0为高电平方可启动定时器

计算机控制技术课程设计

T0,即定时器T0的启动要受外部中断请求信号INT0的影响。利用此特点,被测脉冲信号从INT0端引入,其上升沿启动T0计数,下降沿停止T0计数。定时器的计数值乘以机器周期即为脉冲宽度。下图中给出了脉冲宽度测量的原理图。

图 1 脉宽测量

1、2 扩展测量范围

上述系统被测脉冲宽度范围最大为65535us,扩展计数器的位数可提高脉冲宽度的测量范围。另外,由于单片机时钟频率有限,测量结果会有一定误差。如果将N次测量的平均值作为测量结果,可以提高测量精度。图2给出了一个提高测量精度的改进方案,令定时器T0工作在方式1定时,GATE=1,用COUNT单元,COUNT+1单元即定时器T0的计数单元TH0和TL0组成一个32位的计数器对脉冲宽度进行测量。

1、3脉冲频率测量

频率测量实际上就是在1s内对脉冲个数进行计数,计数值就是信号频率。利用图1给出的电路可以实现脉冲信号的频率测量。令定时器T0工作在方式1,得到50ms的定时间隔,再进行软件计数20次,形成一个1s的测量闸门信号,在测量闸门信号期间响应INT0中断,对脉冲信号的频率计数,计数值存入COUNT和COUNT+1单元,计数值通过5位静态数码管显示出来。

2、硬件设计

在单片机应用系统中,为了便于对LED显示器进行管理,需要建立一个显示缓冲区。显示缓冲区DISBUF是片内RAM的一个区域,占用片内RAM的70H至75H单元,它的作用是存放要显示的字符,其长度与LED的位数相同。显示程序的任务是把显示缓冲区中待显示的字符送往LED显示器显示。在进行动态扫描显示时,从DISBUF中依次取出待显示的字符,采用查表的方法得到其对应的字形代码,逐个点亮各位数码管,每位显示1ms左右,即可使各位数码管显示要显示的字符。

计算机控制技术课程设计

T1工作在方式1计数,作为测量脉冲个数的计数器,当T1计数256个脉冲时,停止T0的测量过程,此时COUNT、COUNT+1和TH0单元便是256次测量的平均值,测量结果为24位,既可以扩展测量范围,又能改善测量精度。图6中的P2.7端口用于控制被测脉冲的极性,当P2.7=0时,测量被测信号的正脉冲宽度;当P2.7=1时 测量被测信号的负脉冲宽度。

如下图所示

3、软件设计

(1)利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量;

(2)于单片机时钟频率有限,测量结果会有一定误差。如果将N次测量的平均值作为测量结果,可以提高测量精度;

(3)频率测量实际上就是在1s内对脉冲个数进行计数,计数值就是信号频率。

计算机控制技术课程设计

图2 显示子程序DISPLAY的流程图

4、总结

本文介绍了单片机循环灯控制系统的设计, 包括方案的选择确定、原理的阐述、硬件及软件的构成 。通过这次单片机课程设计,使我将课堂上弄不懂的抽象的程序有了感性的认识,也使我加深了对单片机程序的理解,更重要的是我能将上课老师所讲的知识与具体的实际中应用的程序连接起来以及我对CAD、visio绘图软件以及其它相关的画图软件的具体操作方法有了深刻的认识与理解,提高了我的动手与思考能力。在编程序的过程中遇到了很多课堂上没理解的知识,通过大量书籍的查阅以及老师同学们的帮助,这些问题很快就迎刃而解了。在绘图的过程中由于以前从来没有接触过这些东西,所以我面临了从零学起的巨大挑战,但在同学们的热心帮助下,我终于将这些难题一一化解掉了。单片机设计总的来讲说对我们这些没经历过实践检验的学生来说是很有挑战的,因为他不同于课堂,但是现在回想起来还是苦中有甜的。

5、参考文献

[1] 李 华,单片机原理及应用,兰州大学出版社,2001

[2] 李建忠,单片机原理及应用,西安电子科技大学出版社,2004

[3] 冯育长,单片机系统设计与实例分析,西安电子科技大学出版社,2007

计算机控制技术课程设计

Ⅱ 基于单片机的多波形发生器设计

1. 总体设计

图1.1所示是基于单片机的多波形发生器的总体设计流程图。

图1.1 总体设计流程图

1、1总体设计功能说明:

根据设计要求,分析得本次设计需要硬件和软件两部分。

硬件上,如图。键盘输入部分主要用于选择波形。键盘共设4个键,用于选择三角波、矩形波、锯齿波、正弦波4种不同的波形,。89C51单片机用来执行某一波形发生程序,向D/A转换器的输入端发送数据,将其转化成模拟量,并通过运算放大器调节波形的幅值,经过滤波器的滤波,从而在输出端得到所需的波形。

软件上,如图。可由硬件设计好后,再根据要求进行具体编写。程序的主要功能是:首先程序在开始后,先判断P0.0,P0.1 ,P0.2相应的波形,然后根据选择的波形输出相应的波形.程序将根据要求进行调节波形.再下一步程序再判断用户继续从键盘输入要输出的波形,可以进行必要的延迟。

1、2总体电路图如下所示:

图1.2 总体电路图

计算机控制技术课程设计

1、3总体程序流程图如下所示:

图1.3 总体程序流程图

1、4 硬件滤波电路

图1.4 滤波电路图

由图知,截止频率w0 =w =1/RC,即f =1/2pRC,再根据公式Q=Rf/(2Rf-R2)及Rf∥R2=2R可算出Rf及R2的值。

1、5 时钟电路和复位电路

单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。

1、5、1 时钟电路

单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。

计算机控制技术课程设计

图1.5时钟部分电路图

在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ、或24MHZ。

单片机的时序单位

振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。

状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此一个状态周期包含2个振荡周期。

机器周期:1个机器周期由6个状态周期12个振荡周期组成,是计算机执行一种基本操作的时间单位。

指令周期:执行一条指令所需的时间。一个指令周期由1-4个机器周期组成,依据指令不同而不同.

1、5、2 单片机的复位状态

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

图1.6 复位电路

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序

计算机控制技术课程设计

代码,若为低电平便会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,至于内部RAM内部的数据则不变。

1、6 显示电路

当前输出波形的种类、幅值和频率需要显示出来。由于单片机的串行不作它用,可用它接8片串入并出移位寄存器来扩展8位7段LED显示器,L1~L4用于显示输出波形的频率;L5~L7用于显示输出波形的幅值,L6的小数点接+5V,常亮,则可显示0.0V到10.0V;L8用于显示波形的种类,1表示正弦波,2表示方波,3表示三角波,4表示锯齿波,如图1.7。

图1.7 显示电路

1、8 D/A转换器与单片机的接口电路

在本设计中选用DAC0832的单缓冲工作方式,它与单片机AT89C51的接口电路如图1.8所示

图1.8 DAC0832与单片机AT89C51的接口电路

按应用要求的不同,DAC0832可以接成单极性电压输出和双极性电压输出,当数字量在00—FF范围时,电压输出量若为0—+xV或0---xV,这种输出方式称为单极性

计算机控制技术课程设计

电压输出方式;若电压的输出为-xV--+xV,则为双极性电压输出方式。本课题根据实际要求选择IC3为单极性输出和IC4为双极性电压输出。

2、主要芯片介绍

2、1 AT89C51单片机

图2.1 8051引脚图

如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)的集中控制方式。

各功能部件的介绍:

1)数据存储器(RAM):片内为128个字节单元,片外最多可扩展至64K字节。

2)程序存储器(ROM/EPROM):ROM为4K,片外最多可扩展至64K。

3)中断系统:具有5个中断源,2级中断优先权。

4)定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。

5)串行口:1个全双工的串行口,具有四种工作方式。

6)特殊功能寄存器(SFR)共有21个,用于对片内各功能模块进行管理、监控、监视。

7)微处理器:为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。

8)四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。这四个端口的功能不完全相同。

A、P0口既可作一般I/O端口使用,又可作地址/数据总线使用;

B、P1口是一个准双向并行口,作通用并行I/O口使用;

C、 P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;

计算机控制技术课程设计

D、P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。

控制引脚介绍:

1)电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。

2)时钟引脚XTAL1、XTAL2时钟引脚外接晶体与片内反相放大器构成了振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。

振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器

3)RST:当振荡器运行时,在此引脚外加上两个机器周期的高电平将使单片机复位(RST)。我们在此引脚与VCC之间连接一个约8.2千欧的下拉电阻,与引脚之间连接一个约10微法的电容,以保证可靠复位。在单片机正常工作时,此引脚应为≤0。5V低电平。

4)ALE:当访问单片机外部存储器时ALE(地址锁存允许)输出脉冲的负跳沿用于16位地址的底8位的锁存信号。即使不访问外部锁存器,ALE端仍有正脉冲信号输出,此频率约为时钟振荡器的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。因此,严格来说,用户不能用ALE做时钟源或定时。ALE端可以驱动8个TTL负载

5)/PSEN(29脚):此脚的输出是单片机访问外部程序存储器的读选通信号。在由外部程序存储器取指令(或常数)期间,每个机器周期PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的/PSEN信号不出现。/PSEN可以驱动(吸收或者输出电平)8个LSTTL负载。

6)/EA/VPP(31脚):当EA端保持高电平时,单片机访问内部存储器,但在PC值超过0FFFH时,讲自动转向执行外部存储器内的程序。当/EA保持低电平时,则只访问外部程序存储器,不管是否有内部存储器。

2、2 DAC0832芯片

图2.2 DAC0832芯片图

DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器。D

计算机控制技术课程设计

AC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。

DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛,关于DAC0832的引脚功能如下:

D0~D7:数字信号输入端。

ILE:输入寄存器允许,高电平有效。

CS:片选信号,低电平有效。

WR1:写信号1,低电平有效。

XFER:传送控制信号,低电平有效。

WR2:写信号2,低电平有效。

IOUT1、IOUT2:DAC电流输出端。

RfB:是集成在片内的外接运放的反馈电阻。

VREF:基准电压(-10~10V)。

Vcc:是源电压(+5~+15V)。

AGND:模拟地 NGND:数字地,可与AGND接在一起使用。

3、波形产生程序

3、1 正弦波的产生程序

正弦波产生程序流程图如图

3.1

图3.1 正弦波产生程序流程图

计算机控制技术课程设计

3、2 三角波的产生程序

三角波产生程序流程图如图

3.2

图3.2 三角波产生程序流程图

3、3 锯齿波的产生程序

锯齿波产生程序流程图如图

3.3

图3.3 锯齿波产生程序流程图

计算机控制技术课程设计

3、4 方波的产生程序

方波产生程序流程图如图

3.4

图3.4 方波产生程序流程图

3、5 显示程序

图3.5 系统总程序流程图

计算机控制技术课程设计

6 设计总结

小结:本设计基本上达到了预期设计目标。本设计是通过大量阅读国内外相关文献,总结了波形发生器、AT89C51和DAC0832还有汇编语言的各自的特点的基础上而提出的。

收获:

1.本设计采用了单片机技术来设计波形发生器,使波形发生器操作和使用都非常方便;

2.本文比较了不同系列的单片机的功能和特性,最终选取了AT89C51单片机,研究了系统各个模块的特点,分别列写了各个模块的流程图和汇编程序,使得具体工作有的放矢,很好的满足了要求;

3. 经过本次毕业设计,作者对开发单片机应用系统的全过程得到了进一步的了解和体会。

意见和建议:

1. 由于个人能力和时间上的限制,汇编程序及系统程序还略有不足和粗糙,在考虑问题的全面性上还有一定的欠缺;

2. 每一个处理阶段的程序模块的优化和各个模块的衔接性有待增强。

参 考 文 献

[1] 蒋廷彪,刘电霆,高富强,方华.单片机原理及应用(MCS-51).重庆:重庆大学出

版社,2003

[2] 刘南平,吉红.模拟电子技术.北京:科学出版社,2005.9.153-183

[3] 李朝青.单片机原理及接口技术[M].北京:航空航天大学出版社,1994

[4] 赵亮,侯国锐.单片机C语言编程与实例.北京:人民邮电出版社,2003

[5] 陈光东,赵性初.单片机微型计算机原理与接口技术.第二版.武汉:华中科技大学出

版社,1999

[6] 江思敏,姚鹏翼,胡荣等.Protel电路设计教程.北京:清华大学出版社,2002

[7] 谢自美.电子线路设计·实验·测试 .第二版.武汉:华中科技大学出版社,1999

[8] 马忠梅,马岩,张凯,籍顺心.单片机的C语言程序设计.北京:航空航天大学出版

社,1997

[9] 彭善琼,丁长松.一种新型信号发生器的设计与实现(吉首大学物理科学与信息工

程学院,湖南省吉首市416000)电子工程师2007年2月

本文来源:https://www.bwwdw.com/article/fk41.html

Top