M16的16位定时器程序集_第1页
M16的16位定时器程序集_第2页
M16的16位定时器程序集_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、M16 的 16 位定时器 (相位修正 PWM 模式 )程序集 /= /=文件说明BEGIN= /-2009-4-18-/*本程序为 M16 的 16 位定时器相位修正位定时器相位修正用晶振:晶振: 16MPWM模式最简单的应(时 PD5(OC1A)Pin-19 输出 500HZ 的方波 ,PD4(OC1B)Pin-18 输出 1000HZ%20 占空比的 PWM 信号钟频率不同时频率不同)钟频率不同时频率不同)*/= 文件说明END=/= #includevoid main()DDRD|=0X30; / 设置 PD5,PD4 为输出(注 1)TCCR1A=0X63; / 模式 11,相位修正

2、 PWM. OC1A 在匹配时电平取反 . /OC1B 在匹配时电平取反清零 ,在 TOP 时置位(注 2)(注 3) TCCR1B=0X11; / 模式 11,相位修正 PWM(1 分频 )(注 4)OCR1A=7999; /TOP值OCR1B=8000/5; /匹配值要点:要点:1. TOP 值由 OCR1A 确定,确定,匹配值由OCR1B 确定 ,PWM信号频率由确定。确定。2. PWM 信号产生过程:信号产生过程: TCNT1 从 0 进行加一计数进行加一计数,引脚输出电平改变,计数,到达 OCR1B 时 OC1B 引脚输出电平改变,与快速 PWM 不同的是,到达 TOP 值时 TCN

3、T1 并不清零到达 OCR1B 不同的是,并不清零 ,而是开始进行减一计数,而是开始进行减一计数,时 OC1B 引脚输出电平再次改变。引脚输出电平再次改变。如此循环如此循环。循环。由此可知PWM 信号的占空比为OCR1B/TOP 或 1-OCR1B/TOP,频率是快速 PWM 信号的1/2.3. 模式 11 下 OC1B 输出 PWM 信号,信号, OC1A 引脚只能输出 50%的方波信号,的方波信号,频率为 PWM 信号的1/2,且要求 OC1A 比较匹配模式为匹配时电平取反比较匹配模式为匹配时电平取反。匹配时电平取反。4. 模式 11 与模式 15 的 PWM 波形一样波形一样,只是频率减

4、小了一半。,只是频率减小了一半。相关寄存器 TCCR1A,TCCR1B ,OCR1A, OCR1B,ICR1 视图1De 阿德制作M16 的 16 位定时器 (相位修正 PWM 模式 )程序集2De 阿德制作M16 的 16 位定时器 (相位修正 PWM 模式 )程序集注 1:必须将 PD4,PD5 设置为输出,设置为输出,其对应引脚才能输出波形注 2:模式选择由 TCCR1A,TCCR1B 的 WGM13:0WGM13:0 确定,确定,见表table47。table47。注 3:OC1A,OC1B 的比较输出模式分别由 TCCR1A 的位 COM1A1:0 和COM1B1:0 确定,见表 t

5、able45. 确定,注 4:分频系数由 TCCR1B 的 CS12:0 确定,确定,为 001 时无分频,分频,见表 table48。/模式 10 的程序晶振: 16M / 晶振:/频率 1000Hz ,OC1A(Pin-15)输出 1/3 占空比 PWM 信号, OC1B(Pin-14)输出 20% 占空比 PWM 信号 信号,#includevoid main()DDRD|=0X30; / 设置 PD5,PD4 为输出TCCR1A=0XA2;/ 模式 10,相位修正 PWM. OC1A(Pin-15) ,OC1B(Pin-14)匹配时清零,TOP 时置位 TCCR1B=0X11; / 模

6、式 10,相位修正 PWM(1 分频 )ICR1=7999; /TOP 值OCR1A=8000/3; /匹配值OCR1B=8000/5; /匹配值要点 :1. 模式 10 下, TOP 值由 ICR1 确定,确定, OC1A, OC1B 都能输出 PWM 信号 ,匹配值分别由 OCR1A,2. 模式 10 与模式 14 的 PWM 波形一样,波形一样,只是频率减小了一半。只是频率减小了一半。3 De 阿德制作M16 的 16 位定时器 (相位修正 PWM 模式 )程序集/模式 1 的程序/16M 晶振/PWM 频率 3906.25HZ . OC1A 输出 1/3 占空比 PWM 信号 ,OC1

7、B 输出 ,1/5 占空比 PWM 信号 #includevoid main()DDRD|=0X30; / 设置 PD5,PD4 为输出TCCR1A=0XA1; / 模式 1,相位修正 PWM. OC1A,OC1B 在匹配时清零 ,TOP 时置位TCCR1B=0X02; / 模式 1,相位修正 PWM(8 分频 )OCR1A=(0XFF+1)/3; /OC1A 输出匹配值OCR1B=(0XFF+1)/5; /OC1B 输出匹配值要点 :1. 模式 1 下, TOP 值为固定值 0XFF,因此输出的 PWM 信号频率为固定的,信号频率为固定的,由确定, 16M 晶振 8 分频时为分频时为 390

8、6.25Hz.OC1A,OC1B 都能输出 PWM 信号 ,匹配值分别由 OCR1A, OCR1B 确定 .波形一样,只是频率减小了一半。只是频率减小了一半。2. 模式 1 与模式5 的PWM 波形一样,/模式 2 的程序/16M 晶振/PD5(OC1A)Pin-19 输出 1953.125HZ,1/3 占空比的 PWM 信号 ,PD4(OC1B)Pin-18 输出 1953.125HZ,1/5 占空比的 PWM 信号#includevoid main()DDRD|=0X30; / 设置 PD5,PD4 为输出TCCR1A=0XA2; / 模式 2,相位修正 PWM. OC1A,OC1B 在匹

9、配时清零 ,TOP 时置位TCCR1B=0X02; / 模式 2,相位修正 PWM(8 分频 )OCR1A=(0X1FF+1)/3; /OC1A 输出匹配值OCR1B=(0X1FF+1)/5; /OC1B 输出匹配值要点 :1. 模式 2 下, TOP 值为固定值 0X1FF,因此输出的 PWM 信号频率为固定的,信号频率为固定的,由OCR1A, OCR1B 确定 .2. 模式 2 与模式 6 的 PWM 波形一样,波形一样,只是频率减小了一半。只是频率减小了一半。4 确定, 16M 晶振 8 分频时为分频时为 1953.125Hz. OC1A,OC1B 都能输出 PWM 信号 ,匹配值分别由

10、 De 阿德制作M16 的 16 位定时器 (相位修正 PWM 模式 )程序集/模式 3 的程序/16M 晶振/PD5(OC1A)Pin-19 输出 976.56HZ,1/3 占空比的 PWM 信号 ,PD4(OC1B)Pin-18 输出 976.56HZ,1/5 占空比的 PWM 信号#includevoid main()DDRD|=0X30; / 设置 PD5,PD4 为输出TCCR1A=0XA3; / 模式 3,相位修正 PWM. OC1A,OC1B 在匹配时清零 ,TOP 时置位TCCR1B=0X02; / 模式 3,相位修正 PWM(8 分频 )OCR1A=(0X3FF+1)/3; /OC1A 输出匹配值OCR1B=(0X3FF+1)/5; /OC1B 输出匹配值要点 :1. 模式 3 下, TOP 值为固定值 0X3FF,因此输出的 PWM 信号频率为固定的,信号频率为固定的,由2. 模式 3 与模式 7 的 PWM 波形一样,波形一样,只是频率减小了一半。只是频率减小了一半。5 确定, 16M 晶振 8 分频时为分频时为 976.56Hz .OC1A,OC1B 都能输出 PWM 信号,匹配值分别由 OCR1

温馨提示

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

评论

0/150

提交评论