STC 51单片机48——数码管显示外部中断次数

 

#include<reg52.h>
#include<intrins.h>
#include "math.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long     
//共阴字形码表【实验】数码管实验时,一定要将点阵模块跳针放到VCC上!!!
uchar code led[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
uint num=0;
//显示数值范围为0~99
//延时,控制每位显示的时间,t=200:流水显示;t=1:连续显示。仿真的时候,只能流水显示
void  delay(void)                    
{
    uchar i;
    uint t;
    t=10;
    while(t--) for(i=0;i<100;i++);
}


void  main()
{    
    uchar i;
    uchar temp;
    ulong nn;
    EA=1;                             //总中断允许
    EX0=1;                             //允许外部中断0中断
    EX1=1;                            //允许外部中断1中断
    IT0=1;                             //选择外部中断0为跳沿触发方式
    IT1=1;                             //选择外部中断1为跳沿触发方式
    IP=0x04;                         //设置/INT1为高优先级,/INT0为低优先级
  while(1)
  {
        nn=num;
        i=0<<2;//采用38译码器,P22、P23、P24
        temp=nn%10;
        P0=led[temp];
        P2=i;                //P2口输出位控码 个位
        delay();        //
        P0=0x00; //清零。如果没有这句,仿真时,数码管数据会闪烁
        
        i=1<<2;//采用38译码器,P22、P23、P24
        nn=nn/10;
        temp=nn%10;
        P0=led[temp];
        P2=i;                //十位
        delay();        
        P1=num;
        
        P0=0x00; //清零。如果没有这句,仿真时,数码管数据会闪烁
   }
}

void int0_isr(void)  interrupt 0      //增加1
{    
     delay();
   if(num<99)    num++;
     else num=0;
}
void int1_isr (void)  interrupt 2     //减少1
{    
     delay();
   if(num>0)    num--;
     else num=99;
}
    
   
完整资料打包(含仿真):

STC51单片机48-数码管显示外部中断次数-单片机文档类资源-CSDN下载

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fengyuzhe13

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值