找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1433|回复: 2
收起左侧

关于单片机中断设置问题,图中那个取反是什么意思?

[复制链接]
ID:974245 发表于 2021-12-30 17:01 | 显示全部楼层 |阅读模式
想问问各位大神,图片中红色字的疑惑,还有就是中断感觉不会设置啊。图中那个取反是什么意思呀
屏幕截图 2021-12-30 165948.png
下面是总程序:
#include <reg51.h>
sbit PWM_I0=P1^0;
void Timer_Init();
void Timer0();
void main(void){
        Timer_Init();
        while(1){
        Timer0();
        }
}

void Timer_Init(void){
        TMOD=0x0;
        TH0=0xe0;//设置初始值,7192转为13位后的高八位
        TL0=0x18;//初始值设置,712转为13位后的低5位
        /*关闭定时器终端*/
        EA=0;
        ET0=0;
        TR0=1;
}

void Timer0(void){
        if(TF0==1)
        {
                TF0=0;
                PWM_I0=!PWM_I0;
                TH0=0xe0;
                TL0=0x18;
        }
}

回复

使用道具 举报

ID:8222 发表于 2021-12-30 18:59 | 显示全部楼层
这是一个方波输出,定时时间一到,低电平转为高电平,再等到下一个定时到来,再由高电平转为低电平,一直循环。PWM_I0=!PWM_I0;为取反运算,如果是低,取反为高,如果为高,取反为低。
回复

使用道具 举报

ID:290373 发表于 2021-12-30 19:58 | 显示全部楼层
TMOD=0x0对于定时器0来讲是作为13位定时器/计数器,TL0只用低5位参与分频,TH0整个8位全用的工作模式。
TF0=1代表定时器0定时时间到了(使用查询方式),要在接下来把这个标志位置0,清除这个标志位。
定时到时的工作是反转PWM_I0。
将定时时间重新写入TH0,TL0,开启下一次定时。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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