历史上的今天
今天是:2024年11月19日(星期二)
2019年11月19日 | AVR单片机相位修正PWM定时器0发生模式试验程序
2019-11-19 来源:51hei
/*AVR相位修正PWM定时器0发生模式*/
/*PWM波的产生机理是定时器0的TCNT0由0到255,在由255到0,不断地计数,当在0-255计数时TCNT0=OCR0时在OC0引脚上出现低电平,*/
/*当在255-0计数时TCNT0=OCR0时在OC0引脚上出现高电平,当由0加到255,再由255减到0时,产生溢出中断,可以再终端服务中修改OCR0的值,以改变占空比,比用引脚模拟要准确*/
/*另外值得说的是相位修正PWM很适合用在电机控制的场合,他比快速PWM慢,因此它的最大频率要比快速PWM低的多*/
/* 相位修正PWM实验 20110416 天津第四项目部宿舍 王均伟 */
#include #define uchar unsigned char #define uint unsigned int #define set_bit(a,b) a|=(1<#define clr_bit(a,b) a&=~(1<#define get_bit(a,b) a&(1<uchar i; #pragma interrupt_handler time0fistpwm_isr:10 void time0fistpwm_isr()//定时计数器0溢出中断 { if(OCR0==255) {OCR0=0;}//加这个语句是为了在OC0引脚上表现出电压越来越高,灯越来越亮的效果, OCR0++; //OCR0越小则OC0引脚电压越低越,换句话说低电平时间越长。 } void int_time0fistpwm()//定时器0用在相位修正PWM设置初始化 { SREG=0x80;//开启全局中断 TCNT0=0;// OCR0=0;;// TCCR0=0x65; //工作在相位修正PWM模式,当TCNT0由0-TOP时,OCR0=TCNT0时,OC0脚拉低,当TCNT0由TOP-0时,OCR0=TCNT0时,OC0脚拉高,此时计时器继续计数,当TCNTO=0时溢出时,并产生中断,可以在中断里设置下一次的低电平时间,OCR0越小低电平时间越长 OC0引脚(就是4脚),时钟1024分频,开启定时器 TIMSK=0x01;//开启定时器溢出中断 } void main() { DDRC=0xff; PORTC=0x00; DDRB|=(1<<3); PORTB|=(1<<3); int_time0fistpwm(); while(1); }
史海拾趣
|
摘要: 介绍了3DES加密算法的原理并详尽描述了该算法的FPGA设计实现。采用了状态机和流水线技术,使得在面积和速度上达到最佳优化;添加了输入和输出接口的设计以增强该算法应用的灵活性。各模块均用硬件描述语言实现,最终下载到FPGA芯片Stratix E ...… 查看全部问答> |
|
本人欲采用外部的AD模块进行模数转换,ADC芯片是TI的ADS931——我的办法是数据口与430的IO直接连,这样连接是否有问题?第二个问题是ADS931的CLK引脚和430该如何连接?谢谢 [ 本帖最后由 周星星在哈工程 于 2011-8-23 14:58 编辑 ]… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 02:59 编辑 我们的作品在家测试一切正常,用现场的恒压源测试,高于7V都没有问题,到5.5V测试时,输出电压一下降至2.7V,用万用表测量作品输入电压仅4.6V,而恒压源显示为5.5V,有遇到这种情况的同学进来讨论。获 ...… 查看全部问答> |
|
BBB突然就没办法启动了,现在插上电源,电源指示灯闪一下就灭了,我检查了下也没有短路,怎么会这样哇.正常电压如图所示,我现在的电压情况是:离GND最近的,也就是GND上面的那个是5V(图中显示正常值是5V),右侧的三个电容中中间那个是1.1v(图中显示 ...… 查看全部问答> |
|
请问谁写有MSP-EXP430G2的TCA6416A.h、LCD_128.h、HT1621.h、I2.h文件 如题请问谁写有MSP-EXP430G2的TCA6416A.h、LCD_128.h、HT1621.h、I2.h文件… 查看全部问答> |




