找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1043|回复: 0
收起左侧

单片机NT0中断计数程序

[复制链接]
ID:500398 发表于 2019-5-31 10:42 | 显示全部楼层 |阅读模式
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

uchar code DSY_CODE[]=
{
         0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7f,0x6f,0x00
};
uchar Display_Buffer[3]={0,0,0};
uint Count = 0;
sbit Clear_Key = P3^6;

void Show_Count_ON_DSY()
{
         Display_Buffer[2] = Count / 100;
        Display_Buffer[1] = Count % 100 /10;
        Display_Buffer[0] = Count % 10;        
        if(Display_Buffer[2]==0)
        {
                 Display_Buffer[2] = 0x0a;
                if(Display_Buffer[1]==0)
                {
                         Display_Buffer[1]=0x0a;
                }
        }
        P0 = DSY_CODE[Display_Buffer[0]];
        P1 = DSY_CODE[Display_Buffer[1]];
        P2 = DSY_CODE[Display_Buffer[2]];
}

void main()
{
         P0 = 0xff;
        P1 = 0xff;
        P2 = 0xff;
        IE = 0x81;
        IT0 = 1;
        while(1)
        {
                 if(Clear_Key == 0)
                        Count = 0;
                Show_Count_NO_DSY();
        }
}

void EX_INT0() interrupt 0
{
         Count ++;
}

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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