STM32F4_TIM输入波形捕获(脉冲频率)

STM32F4_TIM输入波形捕获(脉冲频率)
STM32F4_TIM输入波形捕获(脉冲频率)

本文在前面文章“STM32基本的计数原理”的基础上进行拓展,讲述关于“定时器输入捕获”的功能,和上一篇文章“定时器比较输出”区别还是挺大的。在引脚上刚好相反:一个输入、一个输出。

本文只使用一个TIM5通道3(也可其他通道)捕获输入脉冲的频率,通过捕获两次输入脉冲的间隔时间来计算脉冲波形的频率。间隔一定时间读取频率并通过串口打印出来。

当然也可通过两路通道捕获脉冲信号的占空比,计划后期整理。

笔者通过信号发生器产生信号,上位机串口助手显示捕获的脉冲频率。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源:在同一块板子上也可以使用不同定时器,将输出引脚接在输入引脚)

先看一下实例的实验现象:

关于本文的更多详情请往下看。

Ⅱ、实例工程下载

笔者针对于初学者提供的例程都是去掉了许多不必要的功能,精简了官方的代码,对初学者一看就明白,以简单明了的工程供大家学习。

笔者提供的实例工程都是在板子上经过多次测试并没有问题才上传至360云盘,欢迎下载测试、参照学习。

提供下载的软件工程是STM32F417的,但F4其他型号也适用(适用F4其他型号:关注微信,回复“修改型号”)。

STM32F4_TIM输入波形捕获(脉冲频率)实例:

https://https://www.360docs.net/doc/366276624.html,/cB6XrSi6rK3TP 访问密码

STM32F4资料:

https://https://www.360docs.net/doc/366276624.html,/cR2pxqF5x2d9c 访问密码53e7

Ⅲ、原理描述

笔者将TIM分为三大块:时基部分、比较输出和输入捕获,请看下面截图“通用TIM框图”。

前面的文章已经将“时基部分”的一些基础知识讲述过了,“时基部分”的功能是比较有用的,它除了可以用来延时(定时)之外,它还可以拿来触发其他一些功能,如:触发DA转换、AD采集等。

上一篇文章讲述的就是图中比较输出部分,比较输出部分功能相对比较简单。

该文主要讲述“输入捕获”部分,这部分输入的通道1与2、通道3与4可以相互协作。该文只使用了TIM5的通道3,捕获输入信号频率。

通用TIM框图:

上面两图截取“STM32F4x5、x7参考手册”建议下载手册参看。

Ⅳ、源代码分析

笔者以F4标准外设库(同时也建议初学者使用官方的标准外设库)为基础建立的工程,主要以库的方式来讲述。

1.RCC时钟

该函数位于bsp.c文件下面;

本文提供的例程也可以使用TIM2(只要将例程源代码中使用到的TIM5改为TIM2,以及引脚改正过来就行)。

重点注意:

A.外设RCC时钟的配置要在其外设初始化的前面;

B.匹配对应时钟。

比如:RCC_APB2外设不要配置在RCC_APB1时钟里面

【如:RCC_APB1PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);这样能编译通过,但这是错误的代码】

2.TIM输入捕获引脚配置

该函数位于timer.c文件下面;

注意2点:

A.引脚与通道对应:这个需要参看“数据手册”,该文TIM5通道3对应的引脚就是PA2.

B.复用配置:GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_TIM5);

这个地方对于F1转F0、F4等的朋友需要注意,更加芯片系列及库的不同,他们之间存在一定的差异。

3. TIM输入捕获配置

该函数位于timer.c文件下面;

“时基部分”是在前面两篇文章讲述过的,这里主要对“输入捕获”部分理解,主要5个参数:

捕获通道:就是我们捕获的通道;

捕获极性:就是我们捕获脉冲的高还是低电平;

捕获选择:是直接捕获该通道,还是上面说的1,2通道协助捕获;

捕获分频:对捕获的脉冲分频;

捕获滤波:过滤掉波形;

4. NVIC配置

该函数位于bsp.c文件下面;

这里不用多说,只是提醒大家不要忘记配置这里。

5. 计算捕获波形频率原理

该函数位于stm32f4xx_it.c文件下面;

该函数是中断函数,也是计算频率重要的函数;

A.两次捕获值

捕获配置中,捕获的极性是高电平,这里就是在“上升沿”中断(捕获),如果配置为“下降沿”,则是在信号的下降沿中断。

B.计算两次捕获差值

这里常人理解都是: capture = (capture_value2 - capture_value1);

但是,需要考虑另外两种情况,就是计数器在计满和相等时候。

C.计算频率

这里可以理解为:1秒钟计了多少个数。

但是需要注意的是截图中“/2”,对系统时钟除2,原因在于RCC给TIM提供的时钟就是除了2的,所以,这个地方需要/2.

Ⅴ、说明

关于笔者提供的软件工程实例,可关注微信,在会话框回复“关于工程”,有关于工程结构描述、型号修改等讲述。

以上总结仅供参考,若有不对之处,敬请谅解。

Ⅵ、最后

更多精彩文章我讲第一时间在微信公众号里面分享。

本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得

分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper”或者扫描下面二维码、关注,将有更多精彩内容等着你。

---------------------

作者:ybhuangfugui

来源:CSDN

原文:https://https://www.360docs.net/doc/366276624.html,/ybhuangfugui/article/details/51885924

版权声明:本文为博主原创文章,转载请附上博文链接!

模拟电子技术课程设计产生正弦波,方波,三角波,且占空比可调,频率可调,幅度可调

模拟电子技术课程设计任务书 一、设计题目:波形发生器的设计(二) 方波/三角波/正弦波/锯齿波函数发生器 二、设计目的 1、研究正弦波等振荡电路的振荡条件。 2、学习波形产生、变换电路的应用及设计方法以及主要技术指标的测试方法。 三、设计要求及主要技术指标 设计要求:设计并仿真能产生方波、三角波及正弦波等多种波形信号输出的波形发生器。 1、方案论证,确定总体电路原理方框图。 2、单元电路设计,元器件选择。 3、仿真调试及测量结果。 主要技术指标 1、正弦波信号源:信号频率范围20Hz~20kHz 连续可调;频率稳定度较高。信号幅度可以 在一定范围内连续可调; 2、各种输出波形幅值均连续可调,方波占空比可调; 3、设计完成后可以利用示波器测量出其输出频率的上限和下限,还可以进一步测出其输出 电压的范围。 四、仿真需要的主要电子元器件 1、运算放大电路 2、滑线变阻器 3、电阻器、电容器等 五、设计报告总结(要求自己独立完成,不允许抄袭)。 1、对所测结果(如:输出频率的上限和下限,输出电压的范围等)进行全面分析,总结振荡电路的振荡条件、波形稳定等的条件。 2、分析讨论仿真测试中出现的故障及其排除方法。 3、给出完整的电路仿真图。 4、体会与收获。

1.正弦波输出电路 ,方波输出电路

,在正弦波的基础上通过LM339AD比较器稳定输出方波,可通过R15小幅调节占空比,但方波幅值不可调。R15调节范围0/100~~2/100,占空比约为0/100~~50/100之间,通过正弦波发生器中的R13可大幅度调节占空比。

3.三角波和锯齿波发生器 通过LM741CN运放,且由R18和C3组成积分电路,在方波基础上输出三角波,通过调节方波占空比可以产生锯齿波,当方波占空比为50/100时,输出三波。 4.三种波形的综合输出 一.正弦波输出波形

脉冲波形的产生和整形习题解答

自我检测题 1.集成单稳触发器,分为可重触发及不可重触发两类,其中可重触发指的是在 暂稳态期间,能够接收新的触发信号,重新开始暂稳态过程。 2.如图T6.2所示是用CMOS 或非门组成的单稳态触发器电路, v I 为输入触发脉冲。指出稳态时a 、b 、d 、 e 各点的电平高低;为加大输出脉冲宽度所采取的下列措施哪些是对的,哪些是错的。如果是对的,在( )内打√,如果是错的,在( )内打×。 (1)加大R d ( ); (2)减小R ( ); (3)加大C ( ); (4)提高V DD ( ); (5)增加输入触发脉冲的宽度( )。 v I v O V 图 P6.2 解:(1)×(2)×(3)√(4)×(5)× 3.四个电路输入v I 、输出v O 的波形如图T6.3所示,试写出分别实现下列功能的最简电路类型(不必画出电路)。 (a )二进制计数器;(b )施密特触发器; (c )单稳态触发器;(d )六进制计数器。 t t v I v t t (a ) v v (b ) t t v I v (c )v I v (d )

图 T6.3 4.单稳态触发器的主要用途是。 A .整形、延时、鉴幅 B .延时、定时、存储 C .延时、定时、整形 D .整形、鉴幅、定时 5.为了将正弦信号转换成与之频率相同的脉冲信号,可采用。 A .多谐振荡器 B .移位寄存器 C .单稳态触发器 D .施密特触发器 6.将三角波变换为矩形波,需选用。 A .单稳态触发器 B .施密特触发器 C .多谐振荡器 D .双稳态触发器 7.滞后性是的基本特性。 A .多谐振荡器 B .施密特触发器 C .T 触发器 D .单稳态触发器 8.自动产生矩形波脉冲信号为。 A .施密特触发器 B .单稳态触发器 C .T 触发器 D .多谐振荡器 9.由CMOS 门电路构成的单稳态电路的暂稳态时间t w 为 。 A . 0.7RC B . RC C . 1.1RC D . 2RC 10.已知某电路的输入输出波形如图T6.10所示,则该电路可能为。 A .多谐振荡器 B .双稳态触发器 C .单稳态触发器 D .施密特触发器 1 v I v o V DD R C G 1 G 2C d R d 图T6.10 11.由555定时器构成的单稳态触发器,其输出脉冲宽度取决于。 A .电源电压 B .触发信号幅度 C .触发信号宽度 D .外接R 、C 的数值 12.由555定时器构成的电路如图T6.12所示,该电路的名称是。 A .单稳态触发器 B .施密特触发器 C .多谐振荡器D .SR 触发器 R C v v O 图 T6.12 习题

简易波形发生器设计

摘要:单片机主要面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应测控领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内部集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O接口、脉冲宽度调制器(Pulse Width Modulator,PWM)、监视定时器(Watch Dog Timer,WDT)等。这些对外电路及外设接口已经突破了微型计算机传统的体系结构,所以单片机也称为微控制器(Micro Controller)。 关键词:中央处理器;随机存储器;只读存储器

引言:一般函数发生器是由硬件组成的,它的输出频率范围宽,各项指标高,性能优良,因而在对输出波形要求较高的地方被广泛应用,这种仪器的缺点是电路复杂,成本高,输出波形种类不多,不够灵活。在对波形指标要求不高,频率要求较低的场合,可以用单片机构成一个波形发生器。产生所需要的各种波形,这样的函数发生器靠软件产生各种波形,小巧灵活,便于修改,且成本低廉,容易实现。 1设计概述 1.1 课程设计的目的 通过对本课题的设计,掌握A/D,D/A转换的应用,用单片机产生各种波形的方法及改变波形频率的方法。熟悉单片机应用系统的设计以及软硬件的调试。单片机本身并没有开发能力,必须借助开发工具即硬件开发环境才能进行开发。单片机的硬件开发环境有PC机、编程器和仿真机等。 1.2 设计的内容、要求 设计一个简易波形发生器,要求该系统能通过开关或按钮有选择性的输出正弦波、三角波、方波、及阶梯波等四种波形,并且这四种波形的频率均可通过输入电位器在一定范围内调节。 对于四种波形的切换,用两个开关的四种状态来表示(或用按钮)。选用常用的A/D转换芯片0809来实现模拟量的输入。D/A转换器选用0832来输出波形。

脉冲波形的产生与变换

脉冲波形的产生与变换 脉冲信号是数字电路中最常用的工作信号。脉冲信号的获得经常采用两种方法:一是利用振荡电路直接产生所需的矩形脉冲。这一类电路称为多谐振荡电路或多谐振荡器;二是利用整形电路,将已有的脉冲信号变换为所需要的矩形脉冲。这一类电路包括单稳态触发器和施密特触发器。这些脉冲单元电路可以由集成逻辑门构成,也可以用集成定时器构成。下面先来介绍由集成门构成的脉冲信号产生和整形电路。 9.1 多谐振荡器 自激多谐振荡器是在接通电源以后,不需外加输入信号,就能自动地产生矩形脉冲波。由于矩形波中除基波外,还含有丰富的高次谐波,所以习惯上又把矩形波振荡器叫做多谐振荡器。多谐振荡器通常由门电路和基本的RC电路组成。多谐振荡器一旦振荡起来后,电路没有稳态,只有两个暂稳态,它们在作交替变化,输出矩形波脉冲信号,因此它又被称作无稳态电路。 9.1.1门电路组成的多谐振荡器 多谐振荡器常由TTL门电路和CMOS门电路组成。由于TTL门电路的速度比CMOS门电路的速度快, 故TTL门电路适用于构成频率较高的多谐振荡器,而CMOS门电路适用于构成频率较低的多谐振荡器。 (1)由TTL门电路组成的多谐振荡器 由TTL门电路组成的多谐振荡器有两种形式:一是由奇数个非门组成的简单环形多谐振荡器;二是由非门和RC延迟电路组成的改进环形多谐振荡器。 ①简单环形多谐振荡器 uo

(a) (b) 图9-1 由非门构成的简单环形多谐振荡器把奇数个非门首尾相接成环状,就组成了简单环形多谐振荡器。图9-1(a)为由三个非门构成的多谐振荡器。若uo的某个随机状态为高电平,经过三级倒相后,uo跳转为低电平,考虑到传输门电路的平均延迟时间tpd,uo输出信号的周期为6tpd。图9-1(b)为各点波形图。 简单环形多谐振荡器的振荡周期取决于tpd,此值较小且不可调,所以,产生的脉冲信号频率较高且无法控制,因而没有实用价值。改进方法是通过附加一个RC延迟电路,不仅可以降低振荡频率,并能通过参数 R、C控制振荡频率。 ② RC环形多谐振荡器 如图9-2所示,RC环形多谐振荡器由3个非门(G1、G2、G3)、两个电阻(R、RS)和一个电容C组成。电阻RS是非门G3的限流保护电阻,一般为100Ω左右;R、C为定时器件,R 的值要小于非门的关门电阻,一般在700Ω以下,否则,电路无法正常工作。此时,由于RC的值较大,从u2到u4的传输时间大大增加, 基本上由RC的参数决定,门延迟时间tpd可以忽略不计。 图9-2 RC环形多谐振荡器 a.工作原理 设电源刚接通时,电路输出端uo为高电平,由于此时电容器C尚未充电,其两端电压为零,则u2、u4为低电平。电路处于第1暂稳态。随着u3高电平通过电阻R对电容C充电,u4电

频率可调的方波信号发生器设计

频率可调的方波信号发生器设计 用单片机产生频率可调的方波信号。输出方波的频率范围为1Hz-200Hz, 频率误差比小于0.5%。要求用增加、减小2 个按钮改变方波给定频率,按钮每按下一次,给定频率改变的步进步长为1Hz,当按钮持续按下的时间超过2 秒后,给定频率以10 次/秒的速度连续增加(减少),输出方波的频率要求在数码管上显示。用输出方波控制一个发光二极管的显示,用示波器观察方波波形。开机 默认输出频率为5Hz。3.5.1 模块1:系统设计(1)分析任务要求,写出系统整体设计思路任务分析:方波信号的产生实质上就是在定时器溢出中断次数达到规定次数时,将输出I/O 管脚的状态取反。由于频率范围最高为200Hz,即每 个周期为5ms(占空比1:1,即高电平2.5ms,低电平2.5 ms),因此,定时器可以工作在8 位自动装载的工作模式。涉及以下几个方面的问题:按键的扫描、功能键的处理、计时功能以及数码管动态扫描显示等。问题的难点在按键连续按下超过2S 的计时问题,如何实现计时功能。系统的整体思路:主程序在初始化变量和寄存器之后,扫描按键,根据按键的情况执行相应的功能,然后 在数码显示频率的值,显示完成后再回到按键扫描,如此反复执行。中断程序 负责方波的产生、按键连续按下超过2S 后频率值以10Hz/s 递增(递减)。(2)选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图采用MCS51 系列单片机At89S51 作为主控制器,外围电路器件包括数码管驱动、独立式键盘、方波脉冲输出以及发光二极管的显示等。数码管驱动采用2 个四联共阴极 数码管显示,由于单片机驱动能力有限,采用74HC244 作为数码管的驱动。在74HC244 的7 段码输出线上串联100 欧姆电阻起限流作用。独立式按键使用上提拉电路与电源连接,在没有键按下时,输出高电平。发光二极管串联500 欧 姆电阻再接到电源上,当输入为低电平时,发光二极管导通发光。

简易波形发生器设计报告

电子信息工程学院 硬件课程设计实验室课程设计报告题目:波形发生器设计 年级:13级 专业:电子信息工程学院学号:201321111126 学生姓名:覃凤素 指导教师:罗伟华 2015年11月1日

波形发生器设计 波形发生器亦称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。 波形发生器一般是指能自动产生方波、三角波、正弦波等电压波形的电路。产生方波、三角波、正弦波的方案有多种,如先产生正弦波,再通过运算电路将正弦波转化为方波,经过积分电路将其转化为三角波,或者是先产生方波-三角波,再将三角波变为正弦波。本课程所设计电路采用第二种方法,利用集成运放构成的比较器和电容的充放电,实现集成运放的周期性翻转,从而在输出端产生一个方波。再经过积分电路产生三角波,最后通过正弦波转换电路形成正弦波。 一、设计要求: (1) 设计一套函数信号发生器,能自动产生方波、三角波、正弦波等电压波形; (2) 输出信号的频率要求可调; (3) 根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (4) 在面包板上搭出电路,最后在电路板上焊出来; (5) 测出静态工作点并记录; (6) 给出分析过程、电路图和记录的波形。 扩展部分: (1)产生一组锯齿波,频率范围为10Hz~100Hz , V V 8p -p =; (2)将方波—三角波发生器电路改成矩形波—锯齿波发生器,给出设计电路,并记录波形。 二、技术指标 (1) 频率范围:100Hz~1kHz,1kHz~10kHz ; (2) 输出电压:方波V V 24p -p ≤,三角波V V 6p -p =,正弦波V V 1p -p ≥; (3) 波形特性:方波s t μ30r < (1kHz ,最大输出时),三角波%2V <γ ,正弦波y~<2%。 三、选材: 元器件:ua741 2个,3DG130 4个,电阻,电容,二极管 仪器仪表: 直流稳压电源,电烙铁,万用表和双踪示波器 四、方案论证 方案一:用RC 桥式正弦波振荡器产生正弦波,经过滞回比较器输出方波,方波在经过积分器得到三角波。

基于MCS-51单片机的频率可调的方波发生器设计

基于MC51单片机的频率可调的方波信号发生器 用单片机产生频率可调的方波信号。输出方波的频率范围为1Hz-200Hz,频率误差比小于0.5%。要求用“增加”、“减小”2 个按钮改变方波给定频率,按钮每按下一次,给定频率改变的步进步长为1Hz,当按钮持续按下的时间超过2 秒后,给定频率以10 次/秒的速度连续增加(减少),输出方波的频率要求在数码管上显示。用输出方波控制一个发光二极管的显示,用示波器观察方波波形。开机默认输出频率为5Hz。 1:系统设计 (1)分析任务要求,写出系统整体设计思路 任务分析:方波信号的产生实质上就是在定时器溢出中断次数达到规定次数时,将输出I/O 管脚的状态取反。由于频率范围最高为200Hz,即每个周期为5ms(占空比1:1,即高电平2.5ms,低电平2.5 ms),因此,定时器可以工作在8 位自动装载的工作模式。涉及以下几个方面的问题:按键的扫描、功能键的处理、计时功能以及数码管动态扫描显示等。 问题的难点在按键连续按下超过2S 的计时问题,如何实现计时功能。 系统的整体思路: 主程序在初始化变量和寄存器之后,扫描按键,根据按键的情况执行相应的功能,然后在数码显示频率的值,显示完成后再回到按键扫描,如此反复执行。中断程序负责方波的产生、按键连续按下超过2S 后频率值以10Hz/s 递增(递减)。 (2)选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图 采用MCS51 系列单片机At89S51 作为主控制器,外围电路器件包括数码管驱动、独立式键盘、方波脉冲输出以及发光二极管的显示等。数码管驱动采用2 个四联共阴极数码管显示,由于单片机驱动能力有限,采用74HC244 作为数码管的驱动。在74HC244 的7 段码输出线上串联100 欧姆电阻起限流作用。独立式按键使用上提拉电路与电源连接,在没有键按下时,输出高电平。发光二极管串联500欧姆电阻再接到电源上,当输入为低电平时,发光二极管导通发光。 图1 方波信号发生器的硬件电路原理图 (3)分析软件任务要求,写出程序设计思路,分配单片机内部资源,画出程序流程图 软件任务要求包括按键扫描、定时器的控制、按键连续按下的判断和计时、数码管的动态显示。 程序设计思路:根据定时器溢出的时间,将频率值换算为定时器溢出的次数(T1_over_num)。使用变量(T1_cnt)暂存定时器T1 的溢出次数,当达到规定的次数(T1_over_num)时,将输出管脚的状态取反达到方波的产生。主程序采用查询的方式实现按键的扫描和数码管的显示,中断服务程序实现方波的产生和连续按键的计时功能。单片机内部资源分配:定时器T1 用来实现方波的产生和连续按键的计时功能,内部变量的定义: hz_shu:设定的频率数;

多种波形发生器的设计与制作

课题三 多种波形发生器的设计与制作 方波、三角波、脉冲波、锯齿波等非正弦电振荡信号是仪器仪表、电子测量中最常用的波形,产生这些波形的方法较多。本课题要求设计的多种波形发生器是一种环形的波形发生器,方波、三角波、脉冲波、锯齿波互相依存。电路中应用到模拟电路中的积分电路、过零比较器、直流电平移位电路和锯齿波发生器等典型电路。通过对本课题的设计与制作,可进一步熟悉集成运算放大器的应用及电路的调试方法,提高对电子技术的开发应用能力。 1、 设计任务 设计并制作一个环形的多种波形发生器,能同时产生方波、三角波、脉冲波和锯齿波,它们的时序关系及幅值要求如图3-3-1所示。 图3-3-1 波形图 设计要求: ⑴ 四种波形的周期及时序关系满足图3-3-1的要求,周期误差不超过%1±。 ⑵ 四种波形的幅值要求如图3-3-1所示,幅值误差不超过%10±。 ⑶ 只允许采用通用器件,如集成运放,选用F741。

要求完成单元电路的选择及参数设计,系统调试方案的选取及综合调试。 2、设计方案的选择 由给定的四种波形的时序关系看:方波决定三角波,三角波决定脉冲波,脉冲波决定锯齿波,而锯齿波又决定方波。属于环形多种波形发生器,原理框图可用3-3-2表示。 图3-3-2 多种波形发生器的方框图 仔细研究时序图可以看出,方波的电平突变发生在锯齿波过零时刻,当锯齿波的正程过零时,方波由高电平跳变为低电平,故方波发生电路可由锯齿波经一个反相型过零比较器来实现。三角波可由方波通过积分电路来实现,选用一个积分电路来完成。图中的u B电平显然上移了+1V,故在积分电路之后应接一个直流电平移位电路,才能获得符合要求的u B波形。脉冲波的电平突变发生在三角波u B的过零时刻,三角波由高电平下降至零电位时,脉冲波由高电平实跳为低电平,故可用一个同相型过零比较器来实现。锯齿波波形仍是脉冲波波形对时间的积分,只不过正程和逆程积分时常数不同,可利用二极管作为开关,组成一个锯齿波发生电路。由上,可进一步将图3-3-2的方框图进一步具体化,如图3-3-3所示。 图3-3-3 多种波形发生器实际框图 器件选择,设计要求中规定只能选用通用器件,由于波形均有正、负电平,应选择由正、负电源供电的集成运放来完成,考虑到重复频率为100Hz(10ms),故选用通用型运放F741(F007)或四运放F324均可满足要求。本设计选用F741。其管脚排列及功能见附录三之三。

LM358做可调方波发生器

如何用LM358做可调方波发生器 阅读: 10260 | 回复: 5 六 2008/11/17 22:16:29 1 ywshgyw LV1 士兵 因为需要,想用LM358做一个28-400Hz 可调的,占空比为50%的方波发生器,网上找了点资料,搭了一下最后只调出一个50Hz 的方波 (是不是市电干扰 的缘故),想请教大家一下这个电路用LM358可行吗?有没有更好的办法?(原理图上是用双电源,我用单电源可行吗?) 另外有刚刚找了两张图,还没实验过,不知道可行否

先谢大家了! 标签LM 回复1帖 复制地址 收藏该帖 五2008/11/18 18:36:26 2 ywshgyw LV1 士兵

试过可以了回复2帖 四2008/12/02 20:40:14 3 xuetu LV2 班长 用图一好些 回复3帖 三2011/09/01 13:47:47 4 ouyjangxi LV2 班长 请教该电路计算公式望推荐 回复4帖 二2012/04/19 20:20:29 5 jzyhappy LV2 班长

500) {this.resized=true; this.width=500; this.alt=这是一张缩略图,点击可放大。 \n 按住CTRL ,滚动鼠标滚轮可自由缩放;this.style.cursor=hand}" height=169 jQuery1334838395859="19"> 这一款的频率 应该怎么计算呢? 或是: 正比于 输入电压信号(V+) ? 谢谢! 回复5帖 一2013/10/23 15:31:46 6 火云鞋刷 LV1 士兵 偶而看到这个帖子,试了一下,频率和电容成反比 回复6帖

基于MCS-51单片机的可调频率方波发生器课程设计报告[1]

单片机课程设计报告 设计题目:频率可调方波发生器 专业班级:生物医学工程09班 组长:李建华 组员:梁国锋,赖水兵,郭万劲,李建华2010 年 06 月 16日

摘要 本实验是基于PHILIPS AT89C51 单片机所设计的,可以实现键位与数字动态显示的一种频率可调方波发生器。通过键盘键入(10HZ-9999HZ)随机频率,使用七段数码管显示,每一个数码管对应一个键位。单片机对各个键位进行扫描,确定键位的输入,然后数码管显示输入的数值,方波发生器输出以数码管显示的数值为频率的方波。 关键词:单片机七段数码管键盘电路频率可调方波发生器

一、目的和功能 1.1 目的: 设计一种频率范围限定且可调的方波发生器,志在产生特定频率的方波。 1.2功能: 假设键盘是4*4的键盘,当键盘输入范围在10hz-9999hz的数字,单片机控制数码管显示该数值,并把该数值当做方波发生器的输入频率,单片机控制该方波发生器以该数值作为频率显示方波,从而得到我们想要频率的方波。 二、硬件设计 2.1 硬件设计思想 键盘的数字和键位关系固定,通过键盘输入产生频率,通过LED数码管显示出来,每一个数码管对应一个键位。基本设备是基于PHILIPS AT89C51单片机,外围设备采用的是4个七段数码管,PHILIPS A T89C51单片机,1个OSCILLOSCOPE 方波发生器,16个Button,若干电阻,电源电池。 2.2 部分硬件方案论述 2.2.1 七段数码管扫描显示方式的方案比较 方案一:静态显示方式:静态显示方式是指当显示器显示某一字符时,七段数码管的每段发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。

课程设计——波形发生器

1.概述 波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。本课程采用采用RC正弦波振荡电路、电压比较器、积分电路共同组成的正弦波—方波—三角波函数发生器的设计方法。先通过RC正弦波振荡电路产生正弦波,再通过电压比较器产生方波,最后通过积分电路形成三角波。

2.设计方案 采用RC正弦波振荡电路、电压比较器、积分电路共同组成的正弦波—方波—三角波函数发生器的设计方法。先通过RC正弦波振荡电路产生正弦波,再通过电压比较器产生方波,最后通过积分电路形成三角波。文氏桥振荡器产生正弦波输出,其特点是采用RC串并联网络作为选频和反馈网络,其振荡频率f=1/2πRC.改变RC的值,可得到不同的频率正弦波信号输出。用集成运放构成电压比较器,将正弦波变换成方

3. 设计原理 3.1正弦波产生电路 正弦波由RC 桥式振荡电路(如图3-1所示),即文氏桥振荡电路产生。文氏桥振荡器具有电路简单、易起振、频率可调等特点而大量应用于低频振荡电路。正弦波振荡电路由一个放大器和一个带有选频功能的正反馈网络组成。其振荡平衡的条件是AF =1以及ψa+ψf=2n π。其中A 为放大电路的放大倍数,F 为反馈系数。振荡开始时,信号非常弱,为了使振荡建立起来,应该使AF 略大于1。 放大电路应具有尽可能大的输入电阻和尽可能小的输出电阻以减少放大电路对选频特性的影响,使振荡频率几乎仅决定于选频网络,因此通常选用引入电压串联负反馈的放大电路。正反馈网络的反馈电压U f 是同相比例运算电路的输入电压,因而要把同相比例运算电路作为整体看成电路放大电路,它的比例系数是电压放大倍数,根据起振条件和幅值平衡条件有 31 1≥+ =R Rf Av (Rf=R2+R1//D1//D2) 且振荡产生正弦波频率 Rc f π210= 图中D1、D2的作用是,当Vo1幅值很小时,二极管D1、D2接近开路,近似有Rf =9.1K +2.7K =11.8K ,,Av=1+Rf/R1=3.3>=3,有利于起振;反之当Vo 的幅值较大时,D1或D2导通,Rf 减小,Av 随之下降,Vo1幅值趋于稳定。

简易波形发生器的设计

目录 第一章单片机开发板 (1) 1.1 开发板制作 (1) 1.1.1 89S52单片机简介 (1) 1.1.2 开发板介绍 (2) 1.1.3 89S52的实验程序举例 (3) 1.2开发板焊接与应用 (4) 1.2.1开发板的焊接 (4) 1.2.2开发板的应用 (5) 第二章函数信号发生器 (7) 2.1电路设计 (7) 2.1.1电路原理介绍 (7) 2.1.2 DAC0832的工作方式 (9) 2.2 波形发生器电路图与程序 (10) 2.2.1应用电路图 (10) 2.2.2实验程序 (11) 2.2.3 调试结果 (15) 第三章参观体会 (16) 第四章实习体会 (17) 参考文献 (18)

第一章单片机开发板 1.1 开发板制作 1.1.1 89S52单片机简介 图1.1 89s52 引脚图 如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EP ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SF R)的集中控制方式。 各功能部件的介绍: 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时钟引脚外接晶体与片内反相放大器构成了振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,

频率可调的方波信号发生器设计及电路

用单片机产生频率可调的方波信号。输出方波的频率范围为1Hz-200Hz,频率误差比小于0.5%。要求用“增加”、“减小”2个按钮改变方波给定频率,按钮每按下一次,给定频率改变的步进步长为1Hz,当按钮持续按下的时间超过2秒后,给定频率以10次/秒的速度连续增加(减少),输出方波的频率要求在数码管上显示。用输出方波控制一个发光二极管的显示,用示波器观察方波波形。开机默认输出频率为5Hz。 3.5.1模块1:系统设计 (1)分析任务要求,写出系统整体设计思路 任务分析:方波信号的产生实质上就是在定时器溢出中断次数达到规定次数时,将输出I/O管脚的状态取反。由于频率范围最高为200Hz,即每个周期为5ms(占空比1:1,即高电平2.5ms,低电平2.5 ms),因此,定时器可以工作在8位自动装载的工作模式。 涉及以下几个方面的问题:按键的扫描、功能键的处理、计时功能以及数码管动态扫描显示等。问题的难点在按键连续按下超过2S的计时问题,如何实现计时功能。 系统的整体思路:主程序在初始化变量和寄存器之后,扫描按键,根据按键的情况执行相应的功能,然后在数码显示频率的值,显示完成后再回到按键扫描,如此反复执行。中断程序负责方波的产生、按键连续按下超过2S后频率值以10Hz/s递增(递减)。 (2)选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图 采用MCS51系列单片机At89S51作为主控制器,外围电路器件包括数码管驱动、独立式键盘、方波脉冲输出以及发光二极管的显示等。 数码管驱动采用2个四联共阴极数码管显示,由于单片机驱动能力有限,采用74HC244作为数码管的驱动。在74HC244的7段码输出线上串联100欧姆电阻起限流作用。 独立式按键使用上提拉电路与电源连接,在没有键按下时,输出高电平。发光二极管串联500欧姆电阻再接到电源上,当输入为低电平时,发光二极管导通发光。 图3-14 方波信号发生器的硬件电路原理图 (3)分析软件任务要求,写出程序设计思路,分配单片机内部资源,画出程序流程图软件任务要求包括按键扫描、定时器的控制、按键连续按下的判断和计时、数码管的动态显示。 程序设计思路:根据定时器溢出的时间,将频率值换算为定时器溢出的次数(T1_over_num)。使用变量(T1_cnt)暂存定时器T1的溢出次数,当达到规定的次数(T1_over_num)时,将输出管脚的状态取反达到方波的产生。主程序采用查询的方式实现按键的扫描和数码管的显示,中断服务程序实现方波的产生和连续按键的计时功能。

555芯片设计占空比可调的方波信号发生器

占空比可调的方波信号发生器 三、实验原理: 1、555电路的工作原理 (1)555芯片引脚介绍 图1 555电路芯片结构和引脚图 555定时器是一种应用极为广泛的中规模集成电路,该电路使用灵活、方便,只需外接少量的阻容原件就可以构成单稳、多谐和施密特触发器。因而广泛用于信号的产生、变换、控制和检测。 1脚:外接电源负极或接地(GND)。 2脚:TR触发输入。 3脚:输出端(OUT或Vo)。 4脚:RD复位端,移步清零且低电平有效,当接低电平时,不管TR、TH输

入什么,电路总是输出“0”。要想使电路正常工作,则4脚应与电源相连。 5脚:控制电压端CO(或VC)。若此端外接电压,则可改变内部两个比较器的基准电压,当该端不用时,应将该端串入一只0.01μF 电容接地,以防引入干扰。 6脚:TH 高触发端(阈值输入)。 7脚:放电端。 8脚:外接电源VCC (VDD )。 (2)555功能介绍 555定时器的功能主要是由两个比较器C1和C2的工作状况决定的。由图1可知,当V6>VA 、V2>VB 时,比较器C1的输出VC1=0、比较器C2的输出VC2=1,基本RS 触发器被置0,TD 导通,同时VO 为低电平。 当V6VB 时,VC1=1、VC2=1,触发器的状态保持不变,因而TD 和输出的状态也维持不变。 当V6V A V B >V B 不变 导通

多种波形发生器的设计

《电子技术》 课程设计说明书 题目名称:多种波形发生器的设计姓名:xxx 学号:xxx 班级:xxx 指导教师:xxx 2013年 1 月 4 日

摘要 波形发生器是一种能够产生大量标准信号和用户定义信号,具有高精度、可重复性、易操作性、对频率、幅值、相移、波形进行动态及时的控制的一类新型信号源。 本设计的设计方案是把滞回比较器和积分器首尾相接组成一个正反馈闭环系统,则比较器输出的方波经过积分器可得到三角波,三角波又触发比较器自动翻转形成法波;三角波—正弦波的转换电路主要由差分放大电路来完成,差分放大电路具有工作点稳定,输入阻抗高,抗干扰能力强等优点。特别是作为直流放大器,可以有效抑制零点漂移,因此可以将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。 关键词:信号源;滞回比较器;积分器;波形发生器 多种波形发生器的设计背景 波形发生器是随着众多领域对于复杂的、可由用户定义的测试波形的需要而形成和发展起来的,它的主要特点是可以产生任何一种特殊波形,输出信号的频率、电平以及平滑低通滤波的截至频率也可以作到程序设置,因此在机械性能分析、雷达和导航、自动测试系统等方面得到广泛的应用。而对AWG的控制、数据传输、输出信号的频率和电平设置都可以通过微机打印口在EPP工作模式下设计完成。这样不仅具有设计简单,占用微机资源较少的优点,而且操作简单,使用方便,易于硬件升级。

波形发生器是能够产生大量的标准信号和用户定义信号,具有高精度、可重复性、易操作性、连续的相位变换和频率稳定性,还可以对频率、幅值、相移、波形进行动态及时的控制。随着不断进步的计算机技术和微电子技术在测量仪器中的应用而形成和发展起来的一类新型信号源。 目录 1.摘要 (2) 1.设计目的 (4) 2.设计任务、要求及设计容 (4) 2.1任务 (4) 2.2要求 (4) 2.3设计方案 (5) 3. 多种波形发生器原理电路设计 (5) 3.1各方案原理框图及论证 (5) 3.2电路图和接线图及工作原理 (6) 3.3各部分电路设计 (8) 3.4 电路的参数选择及计算 (13)

频率可调的方波信号发生器

频率可调的方波信号发生器 用单片机产生频率可调的方波信号。输出方波的频率范围为1Hz-200Hz,频率误差比小于0.5%。要求用“增加”、“减小”2个按钮改变方波给定频率,按钮每按下一次,给定频率改变的步进步长为1Hz,当按钮持续按下的时间超过2秒后,给定频率以10次/秒的速度连续增加(减少),输出方波的频率要求在数码管上显示。用输出方波控制一个发光二极管的显示,用示波器观察方波波形。开机默认输出频率为5Hz。 1模块1:系统设计 (1)分析任务要求,写出系统整体设计思路 任务分析:方波信号的产生实质上就是在定时器溢出中断次数达到规定次数时,将输出I/O管脚的状态取反。由于频率范围最高为200Hz,即每个周期为5ms(占空比1:1,即高电平2.5ms,低电平2.5 ms),因此,定时器可以工作在8位自动装载的工作模式。 涉及以下几个方面的问题:按键的扫描、功能键的处理、计时功能以及数码管动态扫描显示等。问题的难点在按键连续按下超过2S的计时问题,如何实现计时功能。 系统的整体思路:主程序在初始化变量和寄存器之后,扫描按键,根据按键的情况执行相应的功能,然后在数码显示频率的值,显示完成后再回到按键扫描,如此反复执行。中断程序负责方波的产生、按键连续按下超过2S后频率值以10Hz/s递增(递减)。 (2)选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图 采用MCS51系列单片机At89S51作为主控制器,外围电路器件包括数码管驱动、独立式键盘、方波脉冲输出以及发光二极管的显示等。 数码管驱动采用2个四联共阴极数码管显示,由于单片机驱动能力有限,采用74HC244作为数码管的驱动。在74HC244的7段码输出线上串联100欧姆电阻起限流作用。 独立式按键使用上提拉电路与电源连接,在没有键按下时,输出高电平。发光二极管串联500欧 图1 方波信号发生器的硬件电路原理图 (3)分析软件任务要求,写出程序设计思路,分配单片机内部资源,画出程序流程图 软件任务要求包括按键扫描、定时器的控制、按键连续按下的判断和计时、数码管的动态显示。 程序设计思路:根据定时器溢出的时间,将频率值换算为定时器溢出的次数(T1_over_num)。使用变量(T1_cnt)暂存定时器T1的溢出次数,当达到规定的次数(T1_over_num)时,将输出管脚的状态取反达到方波的产生。主程序采用查询的方式实现按键的扫描和数码管的显示,中断服务程序实现方波的产生和连续按键的计时功能。 单片机内部资源分配:定时器T1用来实现方波的产生和连续按键的计时功能,内部变量的定义:

简易波形发生器

题目:简易波形发生器的设计 设计理念: 利用单片机AT89C51采用程序设计方法产生锯齿波、正弦波、矩形波,三角波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来。通过键盘来控制四种波形的类型选择,使用按键开关调节频率变化,并通过数码管显示,系统大致包括信号发生部分、数/模转换部分以及数码管显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 1.信号发生电路方案论证 方案一:通过单片机控制D/A,输出四种波形。优点:此方案电路简单、成本低。缺点:输出的波形不够稳定,抗干扰能力弱,不易调节。 方案二:使用锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。缺点:此方案,电路复杂,干扰因素多,不易实现。 方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波、正弦波三种周期性波形。但此方案成本高,程序复杂度高。 以上三种方案综合考虑,选择方案一。 2.单片机的选择论证 方案一:AT89C51单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机,而且其价格便宜。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵 以上两种方案综合考虑,选择方案一。 3.显示方案论证 方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。使用数码管显示编程较易。

单片机课程设计--简易波形发生器

单片机课程设计--简易波形发生器

电气与电子信息工程学院 《单片机》课程设计报告 题目:简易波形发生器 专业班级:电气 学号: 123456 姓名:王刚 指导教师:胡蔷、汤立刚 设计时间:2013年12月9日—2013年12月13日 设计地点: K2-407单片机、微机原理实验室 2013年11月20日

单片机课程设计成绩评定表 答辩或质疑记录: 1、该设计能产生几种波形?分别是哪几种? 答:能产生4种波形, 三角波,方波,锯齿波以及正弦波。 2、DAC0832有几种工作方式?哪几种?各有什么特点?该设计中 DAC0832用的是哪一种方式? 答:3种,单缓冲方式、双缓冲方式以及直通方式: (1)单缓冲方式 此方式适用于只有一路模拟量输出或几路模拟量非同步输出的情形。方法是控制输入寄存器同时接收数据,或者只用输入寄存器而把DAC寄存器接成直通方式。 (2)双缓冲方式 此方式适用于多个DAC0832同时输出的情形。方法是先分别使这些DAC0832的输入寄存器接收数据,再控制这些DAC0832同时传送数据到DAC寄存器以实现多个D/A转换同步输出。 〔3〕直通方式 此方式适用于连续反馈控制线路中。方法是:数据不通过缓冲器,即-WR1,-WR2, -XFER, -CS 均接地,ILE接高电平。此时必须通过I/O接口与微处理器连接,以匹配微处理器与D/A的转换。 该设计中DAC0832用的是单缓冲方式。 成绩评定依据: 课程设计考勤情况(5%): 课程设计仿真测试情况(15%) 课程设计答辩情况(30%): 完成设计任务及报告规范性(50%): 最终评定成绩(以优、良、中、及格、不及格评定)

简易DDS波形发生器设计

实验二简易DDS波形发生器设计 084775116 马丽丽 084775117 潘奕颖一、实验目的:进一步熟悉绘制ASM图分析实验的方法; 进一步掌握将VHDL程序符号化的使用方法; 熟悉ROM表的制作与符号化; 了解DDS波形发生器的基本原理。 二、实验内容:利用FPGA和DAC,设计一个简易的DDS波形发 生器并发出正弦波。 三、设计要求:1.分辨率优于1Hz; 2.ROM表长度8位,位宽10位; 3.输出频率优于100kHz(每个周期数据点大于50); 4.显示信号频率/频率控制字(可切换); 5.直接输入频率控制字或输出频率。 四、实验仪器:计算机1台; QUARTUS II软件一套; 试验箱1台。 五、方法步骤: 1.绘制ASM图; 阅读实验要求,分析实验过程,然后绘制ASM图如下页:

2. 建立一个工程; 打开QUARTUS II 软件,Files → New Project Wizard → 选择储存路径→ next → next → 选择芯片Cyclone II EP2C5T144C8 → next → finish 。 3. 编写累加器的VHDL 文件,并将其转换成图形文件; ①Files → New → VHDL File → 开始编写程序; ②经过编写后,进行编译(Tools → Compiler Tool →Strart),改错,再编译,改错直至编译成功,保 存文件名为“dds1.vhd ”;

程序如下: library ieee; library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dds1 is port( m:in std_logic_vector(19 downto 0); cp,r:in std_logic; q:out std_logic_vector(7 downto 0) ); end dds1; architecture z of dds1 is signal t:std_logic_vector(22 downto 0); signal n:std_logic_vector(22 downto 0); begin process(cp) begin n<="000"&m; if cp'event and cp='1' then if r='1' then t<="00000000000000000000000"; elsif t+n>8388607 then t<="00000000000000000000000"; else t<=t+n; end if; end if; q<=t(22 downto 15); end process; end z; ③编译通过以后,File → Create/Update → Create Symbol Files For Current File。

相关文档
最新文档