找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 815|回复: 0
打印 上一主题 下一主题
收起左侧

mega128单片机PWM输出关不掉

[复制链接]
跳转到指定楼层
楼主
ID:600942 发表于 2019-12-13 15:55 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
各位大佬,我用的mega128单片机,用定时器2做了PWM输出想把它输出可控,一直没关掉,试了初值置0的方式可以关掉,请问直接对寄存器为进行设置怎样关?
/*定时器2初始化函数*/
void Timer2_Init( void )
{
        PORTB = 0x00;
        DDRB  = 0xff;
       
        TCCR2 |= (1<<WGM21) | (1<<WGM20);             //快速PWM模式
        TCCR2 |= (1<<CS22)  | (0<<CS21) | (1<<CS20);  //1024分频
        //TCCR2 |= (1<<COM21) | (0<<COM20);             //比较匹配发生时OC2清零,计数到TOP时OC2置位
        //TCNT2=200;
        //OCR2=timer2_init_count;
        TIMSK |= (1<<TOIE2);                          //T/C2溢出中断使能
}

我下面用的时候写成了这样:
case 0x06:                                    
beep();
if ( m%2 )
{                                                            
        data( 0x0A, 0x01 );
        TCCR2 |= (1<<COM21) | (0<<COM20);       
}
else
{                                                                            
        data( 0x0A, 0x00 );         
        TCCR2 |= (0<<COM21) | (0<<COM20);
        PORTB &= ~BIT(7);
        PORTB &= ~BIT(7);
        PORTB &= ~BIT(7);
}
m++;                                                                                                                                           
break;

这样端口关不掉,请问大家该怎么改啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表