求PIC 单片机C语言写的中断程序,TMR0,TMR1,TMR2,AD中断都需要

[复制链接]
6752|6
 楼主| 电子三极管 发表于 2010-7-9 16:18 | 显示全部楼层 |阅读模式
求PIC 单片机C语言写的中断程序,TMR0,TMR1,TMR2,AD中断都需要  再次谢谢
Beatachen 发表于 2010-7-9 17:21 | 显示全部楼层
void interrupt isr(void)
{
        // Timer 0 Interrupt
        if (T0IF == 1 && T0IE == 1)
                {           }
               // Timer 1 Interrupt
                if (TMR1IF == 1 && TMR1IE == 1)
                {           }
                // Timer 2 Interrupt
                if (TMR2IF == 1 && TMR2IE == 1)
                {           }
                // AD Interrupt
                if (ADIF == 1 && ADIE == 1)
                {           }
}
 楼主| 电子三极管 发表于 2010-7-9 20:28 | 显示全部楼层
T0IF == 1 && T0IE == 1 有这样的写法嘛 ? 不解,小弟不材。能解释一下嘛 2# Beatachen
 楼主| 电子三极管 发表于 2010-7-9 20:30 | 显示全部楼层
T0IE 跟 T0IF就代表TMR0IE和TMR0IF吗? 3# 电子三极管
headwolf_83 发表于 2010-7-11 17:53 | 显示全部楼层
自己查一下所用芯片的具体头文件,头文件里面是什么名称,就用什么名称,有可能两个符号都是可以的,看看编译能否过就知道了。
tcc8073 发表于 2010-7-24 20:48 | 显示全部楼层
T0IF == 1 && T0IE == 1 有这样从语法角度是没有什么问题的,T0IF==0是真,T0IE==1也是真,T0IF == 1 && T0IE == 1表示是真
su_mj000 发表于 2010-7-24 23:04 | 显示全部楼层
2楼的方式是对的,但书写还可简化一点:

void interrupt isr(void)
{
        // Timer 0 Interrupt
        if (T0IF && T0IE)
                {           }
               // Timer 1 Interrupt
                if (TMR1IF && TMR1IE)
                {           }
                // Timer 2 Interrupt
                if (TMR2IF && TMR2IE)
                {           }
                // AD Interrupt
                if (ADIF && ADIE)
                {           }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:承接采集设备运行参数,如温度、速度、压力、浓度、流量、节拍、湿度、重量等。采用PIC 51 AVR等类单片机 59467837(杭州单片机开发技术交流QQ群)

116

主题

530

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部