找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用单片机外部中断记次数,用在一定时间次数如果外部中断没有触发,次数清0

[复制链接]
跳转到指定楼层
楼主
ID:425206 发表于 2019-8-11 11:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
没有实现清0的功能
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit k3 = P3^4;
sbit k4 = P3^5;
uint i;
uint Count_A=0;


void InitTimer0() //定时器0,方式1,10微妙  10*100=1s
{
    TMOD = 0x01;
    TH0 = 0xFF;
    TL0 = 0xF6;
    EA = 1;   //总中断
    ET0 = 1;  //定时器中断
    TR0=1;    //开定时器
         
}


void Show_Counts()
{
                if(Count_A==0)
                {
                                P2=0xff;
                }
                else if(Count_A>0&&Count_A<2)
                        {        
                                P2=0xfc;
                        }
                                else if(Count_A>2&&Count_A<4)
                        {
                                P2=0xfe;
                        }
                        
}
void Timer0Interrupt() interrupt 1  //   interrupt 1是定时器中断
{
    TH0 = 0xFF;
    TL0 = 0xF6;
         
    i++;
         if(i==10)
        {
                i=0;
                P1=0XF8;
        }        
}

void main()
        
{
        InitTimer0();
         IT0 = 1;                  //IT0=0 是低电平触发   1是下降沿  TCON
        IT1 = 1;      //IT1=0 是低电平触发   1是下降沿
        PX0 = 1;      //允许外部中断
        EX0 = 1;                  //INT0的中断允许位
        TR0=1;
        while(1)
        {
                 if(k3 == 0) Count_A = 0;
               
                if (Count_A==5) Count_A = 0;
                Show_Counts();
        }
}


void EX_INT0() interrupt 0
{
         Count_A++;
        TR0=1;
        i=0;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2019-8-11 20:57 | 只看该作者
10us中断周期太短,CPU执行中断任务后几乎没有时间执行主程序。
回复

使用道具 举报

板凳
ID:425206 发表于 2019-8-11 23:00 | 只看该作者
wulin 发表于 2019-8-11 20:57
10us中断周期太短,CPU执行中断任务后几乎没有时间执行主程序。

我忘记改回去了,如果i=10的话 一直会输出p1=0xf8, 外部中断改变后,P1停留改变后,不会变回0xf8
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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