/**********************************************************************
* 文件名称: main.c
* 程序作者: kidcao1987
* 程序版本: V1.0
* 功能描述: 左下角有一个LED灯,亮度会由暗变亮,再变暗。
* 编译器:WinAVR-20090313
* 芯片:ATmega16,外部11.0592MHZ晶振
* 技术支持:http://bbs.cepark.com
**********************************************************************/
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define PWM1 PD5
#define PWM2 PD4
uint i=0,flagA=0,flagB=0,j=0;
void PWM_Initial(void);
int main(void)
{
PWM_Initial();
while(1);
}
void PWM_Initial(void)
{
PORTD&=~((1<DDRD|=(1<TCCR1A=0xa3;
TCCR1B=0x0b;
OCR1A=0x0000;
OCR1B=0x03ff;
TIMSK|=(1<<3)|(1<<4);
sei(); //通道A、B都使用“比较匹配时清零OC1A/OC1B”,10位快速PWM,时钟源的分频系数为8分频
//写比较寄存器A、B初始值,打开AB通道比较中断,打开总中断
}
ISR(TIMER1_COMPA_vect) //定时器1通道A比较匹配中断,中断号来自GCC AVR附带函数库说明
{
if(flagA==0)
{
i++;
if(i>0x03ff)
flagA=1;
}
if(flagA==1)
{
i--;
if(i<=0)
flagA=0;
}
OCR1A=i;
}
ISR(TIMER1_COMPB_vect) //定时器1通道B比较匹配中断,中断号来自GCC AVR附带函数库说明
{
if(flagB==0)
{
j++;
if(j>0x03ff)
flagB=1;
}
if(flagB==1)
{
j--;
if(i<=0)
flagB=0;
}
OCR1B=j;
}
视频地址:http://v.youku.com/v_show/id_XMTYxNDg3MTAw.html
关键字:AVR M16实验 PWM实验
引用地址:
AVR M16实验之三 PWM实验
推荐阅读最新更新时间:2024-03-16 14:39
基于AVR单片机的高精度频率调节器
摘要: 精确的频率控制是现代化工业生产与高精度测试的必备手段。基于AD9850可以发生优于1Hz频率精确度的信号,这对于频率测试来说至关重要。本文介绍的这种频率调节器由Atmel公司的AVR单片机Atmega16L作为控制核心,采用4%26;#215;4键盘作为频率值输入设备。AVR单片机扫描键盘并且读入用户设定的频率值。随后,AVR单片机计算出AD9850的控制字,并且对AD9850发出指令。本文介绍的频率控制器可以通过“+1Hz”键和“–1Hz”键微调频率值。本文对频率控制器扩展了液晶显示模块,因此当前频率值可以被实时显示。它可以生成方波和正弦波。设计中使用了看门狗定时器防止程序进入死循环而不能正常工作。
关键词: AVR
[应用]
基于AtmelAVR Flash微控制器的基本原理及在汽车中的应用研究
车上可自动关闭的电动车窗或车门设备潜藏着卡死,挤压以及可能伤人的危险。它们必须能够反向移动以防止马达所施加的力超出正常限制。这种特性意味着必须持续监视速度、电流和玻璃的位置。 现代汽车中的电动设备 目前,在高端客用汽车中电子组件和系统在成本中已占20%以上。增加电子设备的数目可以更好的控制传感器和致动器,从而增强汽车的舒适性和安全性。可以预测,大部分的中等或汽车将会系统性的装备电动车窗或车门系统。这些设备中的绝大多数是全自动的,这意味着它们必须附带安全系统以防止伤人或机械故障已有法规设立了电动系统必须遵守的规则。这一点在车窗的升起和车门的滑动上尤其正确的。这篇应用笔记介绍了如何实现一个防夹算法,该算法初是用于电动车
[单片机]
基于FPGA和AVR单片机的自动调谐系的设计
1 前言 发射机是无线通信的重要设备之一,广泛应用于广播电视、移动通信、海洋运输及国防等领域。自动控制技术在无线通信发射领域正发挥着越来越重要的作用,发射设备的数字化逐渐趋于成熟。但是,大功率短波发射机比起中波、调频、电视发射机来说,具有变换工作频率频繁,倒频时间短;不能实现整机固态化,可靠性降低,故障率较高;工作频段范围宽,很难保证在全频段内任意频率稳定工作等特点;加之目前尚无接口标准对大功率短波发射台微机实时控制进行规范,给大功率短波发射台自动化带来困难。短波发射机的自动调谐技术正是在这种环境下产生的。 本设计的自动调谐系统是基于FPGA和AVR单片机的,其调谐对象是功率为150kW,发射频率范围为3.9 26.1MHz的
[单片机]
基于AVR单片机的船舶气象仪测试系统的设计与实现
船舶气象仪是船舶导航系统设备之一,可测量船舶所在位置海区的风速、风向、温度、湿度、气压等多项气象要素,可向船舶的导航系统传送实时的气象参数。船舶气象仪一旦出现故障,将会影响船舶操作人员对各种气象要素的估计和判断,甚至导致航行船舶失控、搁浅、触礁、倾覆等严重事故。为了保障船舶气象仪能够时刻处于良好的状态,需要先进的测试技术和便携式的测试设备对船舶气象仪的运行情况进行检测。但是,目前市面上还没有出现一套完整的测试系统来完成对现有船舶气象仪的检测任务,以满足船舶操作人员的使用和保障需求。针对目前船舶上普遍使用的气象仪器专门设计的船舶气象仪测试系统,能够很好地完成船舶气象仪的故障测试任务,缩短船舶气象仪的测试诊断时间,满足船舶气象仪的
[单片机]
基于AVR单片机采暖炉的抗干扰设计
简介:在设计开发AVR单片机在工业控制系统中的应用中,抗干扰是一个不能绕过去的现实课题。要解决该课题,熟悉常用的抗干扰措施是一个重要前提;但由于干扰因素多,控制对象及所要求的控制功能不尽相同,所以抗干扰措施并没有固定模式;只能在实践中通过不断摸索来筛选更合理更有效的方案。本文所述的抗干扰措施是一点实践经验的总结,供参考。 本文作者创新点:1.在DS18B20数据线上接阻容电路;2.在电源的输入端并联压敏电阻以吸收尖峰电压;3. 加大液晶显示器开孔尺寸以减少它本身产生静电干扰。 1. 引言: AVR单片机在工业控制领域应用时不同于民用、商用领域中的应用。工业控制所处的环境相对比较恶劣,干扰源多。其常见干扰源来自现场工业电
[单片机]
AVR单片机驱动高精度AD芯片ADS1256的C程序
#include avr/io.h #include avr/interrupt.h #include avr/signal.h /*************************************************************************************/ volatile void delay_us(unsigned char a) //挺时1uS { volatile unsigned int i=0,j=0; for(i=0;i a;i++) for(j=0;j 50;j++) ; } /************************************
[单片机]
AVR单片机在LED遥控照明中的应用
摘要:基于AVR单片机设计了一种LED遥控照明系统,给出了红外接收模块和LED驱动模块的设计方法,以及软件程序流程。经测试,该方案可行,具有一定的应用价值。 引言 LED照明已经进入了家庭用户,与传统的照明设备(如白炽灯、荧光灯)相比,具有光源单色纯度高、色彩多样、效率高、光强度可调等优点。针对传统照明亮度不易调节、开关位置固定的问题,本文基于AVR单片机设计了一种LED遥控照明系统,提出了LED照明灯的驱动与亮度调节的方法。 1 LED照明灯控制系统原理 系统原理图如图1所示。当红外接收器接收到红外遥控信号时,通过外部中断将AVR单片机从休眠模式中唤醒;AVR单片机开始解析红外信号,如果与系统地址匹配,则将根据解
[单片机]
AVR单片机JTAG调试快速入门
以下的degug方式,英文版来自 AVR Studio 4. 为达到准确理解的效果,我试图将它翻译出来。如有不准确的地方,请大家指正: Auto Step 自动执行 它能重复执行指令。如果当前处于 source 方式时(即C语言窗口显示方式),一条的指令会被执行。如果处理 disassembly 方式 (即显示为汇编指令方式),一条汇编指令会被执行。每条指仅被执行后,窗口的所有信息会更新。 每条指令的执行延时,可以在 debug option 里选择。 当用户按下停止或有断点(breakpoint)时,将停止自动执行。 Step Into 单步执行: 仅执行一条指令。如果当前处于 source 方式时(即C语言窗
[单片机]