ATMEGA16的PWM仿真代码
- 名称:ATMEGA16的PWM仿真代码
- 类型:单片机学习
- 授权方式:免费版
- 更新时间:09-10 23:01:29
- 下载要求:无需注册
- 下载次数:6133次
- 语言简体中文
- 大小:1.44 MB
- 推荐度:3 星级
ATMEGA16的PWM仿真代码
/*晶振为4MHz*/
/*利用Timer1的OC1A脚输出占空比可调的信号*/
/*通过按键控制OCR1A的值*/
/*/
#define PwmOut PD5 //A通道的PWM输出
#define OCR OCR1A
#define KeyUp PA0 //增大PWM值的按键
#define KeyDown PA1 //减小PWM值的按键
#define Above PA2 //设置位值过高指示
#define Below PA3 //设置位值过低指示
#define STEP 64 //定义按键时的步进值
int OcrReg = 1024; //OCR1A初始值
int Icr1Reg = 0x7ff; //PWM的计数顶部值 Icr1Reg = 2047
//unsigned char *show = "0000";
unsigned char temp;
void init(void) //初始化函数
{
//比较匹配时清零,计数到最大时置位OC1A
TCCR1A |= (1<<COM1A1)|(1<<WGM11);
//11位分辨率,快速PWM模式,使用系统时钟作为计数时钟
TCCR1B |= (1<<WGM13)|(1<<WGM12)|(1<<CS10);
ICR1 = Icr1Reg;
OCR = 0 ;
DDRD |= (1<<PwmOut); //置PWM为输出
DDRA |= (1<<Above)|(1<<Below); //指示灯定义为输出 字串6
DDRA &= ~((1<<KeyUp)|(1<<KeyDown)); //按键定义为输入
PORTA |= (1<<KeyUp)|(1<<KeyDown); //按键开启上拉
PORTA |= (1<<Above)|(1<<Below); //关闭两个指示灯
//TIMSK |= (1<<OCIE1A); //允许计数器比较匹配中断
//SREG |= (1<<7); //开全局中断
} 字串6
《ATMEGA16的PWM仿真代码》相关下载
- › Atmel 15xx系列CPLD下载软件
- › ATMEGA48与DS1302组成的定时控制系统
- › ATmega103单片机在跳频系统数字信号处理中的应用
- › ATMega48的Bootloader的软件实用方法
- › Atmel单片机应用技巧
- › ATMEL8051系列单片机选型指南 (三)
- 在百度中搜索相关下载:ATMEGA16的PWM仿真代码
- 在谷歌中搜索相关下载:ATMEGA16的PWM仿真代码
- 在soso中搜索相关下载:ATMEGA16的PWM仿真代码
- 在搜狗中搜索相关下载:ATMEGA16的PWM仿真代码