包含了方波频率调节功能,方波占空比调节功能,1-9999Hz的测频功能,利用RC网络作为DA,实现正弦波的产生。
以下简要说明下其实现原理:
调频模式,同时在任意频率下调节占空比的实现:利用定时/计数器1的模式14,将ICR1寄存器设置为TOP值,OCR1A寄存器设置为脉宽控制值。改变ICR1的值,即改变了定时/计数器溢出的周期,从而达到调频的功能。改变比较匹配寄存器OCR1A的值,即可改变脉宽的宽度。定时/计数器在输入捕捉中断中更新数值ICR1和OCR1A的值。
由于调频时在定时/计数器不分频时精度最高,但产生的频率有范围,为达到1-9999Hz的频率范围,又要确保精度,故采用两段分频段,在每个分频段内,当输出的频率越低时,精度越高。由于不分频时,其产生的频率范围为244Hz以上,故在250-10K时,采用不分频的时钟频率;在1-250Hz时,采用256分频的时钟频率刚好可以满足最小1Hz的频率输出。在256分频时,产生1-250Hz内的频率,其最大误差为1Hz;在不分频时,产生250-10KHz内的频率,最大误差为6Hz(其误差主要在高频段),在低频段,其最小误差在0.004Hz。
计算公式:256分频的频率计算公式:Frequency=62500/ICR1;
不分频的频率计算公式:Frequency=16000000/ICR1;
在系统频率设置完成后,占空比自动调节为50%,当改变OCR1A寄存器的值时(不超过ICR1),即可调节占空比。当ICR1寄存器的值越大,OCR1A可调值的范围就越大,产生的误差就越小。在256分频段,ICR1寄存器的值最小为250(产生250Hz频率时),占空比最大相差0.2%。在不分频段,ICR1寄存器的值最小为1600(产生10KHz频率时),基本上没有误差。
测频模式的实现:由定时/计数器1当做时基,产生固定的时间T,将定时/计数器0的时钟设置为外部时钟输入,外部待测的脉冲信号由T0管脚进入。在T时间内,通过数脉冲信号的个数,可以计算出待测信号的频率。
由于待测信号的频率范围为1-9999Hz,故选用8分频模式,可测频率范围覆盖39-9960Hz,但误差较大,达到40Hz。当采用64分频时,可测频率范围覆盖4-1245Hz,误差为5Hz。当采用256分频时,可测频率范围覆盖1-311Hz,误差为1Hz,可以满足要求。故选用三段测频法,在1-311Hz范围,用256分频测频;在311-1245Hz范围,用64分频测频;在1245-9999Hz范围,用8分频测频。由于存在这样的问题,因为每个分频段的频率计算公式不同,当被测信号频率波动很大时,该测量方法在从高频段返回低频段时会出现计算公式误套的现象。解决的方法是,每10次测量后,重新返回8分频段,确定测频的最佳分频段,再而进入该测频段,进行相对精确的测量。
产生正弦波的实现:利用等面积法,通过在正弦波各个小分段内,改变方波的占空比,改变传递过去的能量,经过RC网络滤波平滑后,即可产生相对平滑的正弦波。由于二阶RC网络的截止频率为1.8Hz,所以对于16M的晶振,采用1024分频,对一个正弦波周期分为m的点,采用8bit定时/计数器,产生的正弦波频率为sin_frequency=16000000/(1024*256*m);当m=256时,产生0.24Hz的正弦波,通过改变取样点数m的值,可以改变正弦波的频率,但是变化范围很有限。
RC网络模拟DA原理图
关键字:AVR 方波调频 占空比功能
引用地址:
AVR方波调频,调占空比功能的一种实现
推荐阅读最新更新时间:2024-03-16 15:16
马潮老师关于正确配置AVR熔丝位的建议
对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。有关ATmega128熔丝位的具体定义和功能请查看本书相关章节,在附录中将给出一个完整的汇总表。 (1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。 (2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,
[单片机]
基于AVR单片机的智能跑步机控制器设计
1 引言 电动跑步机是目前健身器材中的主流产品,它是通过电机带动跑步带使人以不同的速度被动地跑或走,在人体用力方面,比在地面上跑、走省去了一个蹬伸动作,可使人比在地面运动消耗更多能量。但由于其功能比较单一,缺乏娱乐性和交互性,长时间锻炼会使人感到枯燥乏味。在全社会崇尚健身就是生活质量的今天,传统电动跑步机这种单调重复运动已难以满足人们对健身品质的要求,而具有虚拟现实功能的智能跑步机,以计算机虚拟的模拟环境代替现实世界的真实环境,给人身临其境的沉浸感,增加了健身的乐趣,已成为目前的研究热点。本文将传统电动跑步机与虚拟现实技术相结合,研究并设计了具备传统电动跑步机各种健身模式且具有虚拟场景漫游功能的智能电动跑步机控制系统。系统通过上
[单片机]
AVR单片机键盘程序设计
#i nclude《90s8515.h》 #define uchar unsigned char #asm equ __LCD_port=0x18 ;PORTB #endasm #i nclude #i nclude /************按键功能说明:0--9为数字键 ********/ #define cEnter 16 //确认键 #define cFuntion 15 //功能菜单键 #define cDown 14 //上,下选择键 #define cUp 13 #define cRn_Stop 12 //运行/停止切切实实换键 #define cDel 11 //删除 uchar lcd_
[单片机]
AVR熔丝位(Fuse)基础知识
AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。 AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用“巨大优势”来形容): 有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦), 笔者曾经锁死过三片Atmega16。 不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦) 动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不
[单片机]
AVR单片机驱动NOKIA3310的示例程序
#include mega48.h #include delay.h #include nokia3310.h void main(void) { PORTB&=209; DDRB|=46; //设置单片机的4个LCD引脚输出0 while(1) { lcd_init(); //lcd初始化 lcd_cls(); //清屏,光标回位 lcd_gotoxy(16,2); //光标定位到第16列,第1行(最上面是0行)
[单片机]
AVR单片机基本硬件线路设计
话说AVR单片机可以裸跑,为什么? 其实,这句话是我自己给学校师弟师妹们讲解AVR时说的,其意思是说:AVR单片机可以不需要任何外部电路就可以跑起来。 不过,实际上,AVR单片机有时还是需要加些外部电路的,why,下面告诉您。。。 ● AVR复位电路的设计 与传统的51单片机相比,AVR单片机内置复位电路,并且在熔丝位里,可以控制复位时间,所以,AVR单片机可以不设外部上电复位电路,依然可以正常复位,稳定工作。 若是系统需要设置按键复位电路,那么注意,AVR单片机是低电平复位,如下图,设计按键复位电路: ● AVR晶振电路的设计 与传统的51单片机相比,AVR单片机内置RC振荡电路。出厂时,未进
[单片机]
为什么选择AVR?AVR有哪些优点?
AVR的主要特性 高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的 CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。 此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作
[单片机]
轻触式开关电路在AVR单片机中的应用
引 言: 单键开关电路已经广泛应用于PDA、手机和电子词典等数码产品中,其实现方式多种多样。一般可采用RS触发器、计数器以及采用555集成电路等等。在单片机的一些实际应用中,以上的实现方式会增加整个电路的复杂度,不能达到简洁、实用的效果。本文将介绍一种可以在单片机应用中实现的,简易、稳定的轻触式单键开关电路。 1 电路原理 如图1所示,DC-DC为一个带有关断控制端的直流稳压电源芯片,MCU是一个单片机。当按下S1时,Q1和D1导通,稳压芯片工作,为单片机供电。单片机马上将相应的I/O引脚置为输出高,这时Q1和Q2导通,整个电路进入工作状态。而后单片机再将这个I/O引脚设置为输入,由于上拉电阻R4的存在,Q1和Q2一直导通。
[单片机]