T-C1的PWM应用(精)课件_第1页
T-C1的PWM应用(精)课件_第2页
T-C1的PWM应用(精)课件_第3页
T-C1的PWM应用(精)课件_第4页
T-C1的PWM应用(精)课件_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AVR单片机技术电子信息工程技术专业资源库定时器/计数器实例解析

T/C1的PWM应用深圳职业技术学院苏全T/C1的PWM功能应用实例一、实现功能:

在实验开发板上进行实验:利用T/C1快速PWM模式实现LED灯的渐明渐暗,具体方法是:在单片机的比较匹配输出口PD5(OCRlA)、PD4(OCRlB)分別外接一只LED灯,开机后LED灯最亮,然后逐渐变暗,再逐渐变亮。T/C1的PWM功能应用实例二、T/C1的PWM实验电路图T/C1的PWM功能应用实例三、程序释疑:

程序的功能是通过定时/计数器1的8位快速PWM功能,控制PD4(OClB)、PD5(OC1A)这两个端口输出比较匹配信号,通过连接在这两个端口上的LED的明暗变换观察效果。

本例中用到变量count,该变量的作用是:改变比较匹配寄存器OCRlA、OCRlB的值,从而使PWM输出的占空比发生变化。T/C1的PWM功能应用实例#include<

iom16v.h>#defineucharunsignedchar#defineuintunsignedintuintcount; /******延时函数*******

voidDelay_ms(uintxms){inti,j; for(i=0;i<xms;i++{for(j=0;j<1140;j++);}}变量定义及延时函数四、源程序T/C1的PWM功能应用实例voidport_init(){ PORTD&=(0«PD4)|(0«PD5); //PD4、PD5输出0 DDRD|=(1«PD4)|(1«PD5); //定时计数器的两个 //比较匹配输出端口PD4(OC1B) //PD5(OC1A)设置为输出口}端口初始化函数T/C1的PWM功能应用实例voidtimer1_init(){ TCCR1A|=(1«COM1A1)|(1«COM1A0)|(1«C0MB1)|(1

«COMB0)|(1«WGM10);//比较输出通道A,B均为比较匹配时置位,TOP时淸零

TCCR1B|=(1«WGM12)|(1«CS10); //8位快速PWM模式。时钟不分频0CR1A=0;0CR1B=0;SREG=0x80; //使能全局中断}

定时器1初始化函数T/C1的PWM功能应用实例voidmain(void){port_init(); timerl_init();while(1){for(count=O;count<256;count++)

//OCR=0时,LED最亮,然后逐渐变暗{0CR1A=count; //比较匹配寄存器賦值0CR1B=count;

//比较匹配寄存器賦值Delay_ms(20);

//延时一段时间,以观察效果}Delay_ms(3000);

//LED最暗时,延时一段时间主函数T/C1的PWM功能应用实例for(count=255;count>0;count--)

//OCR=255时,LED最暗,然后逐渐变亮{

0CR1A=count;0CR1B=coun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论