• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求解答

fank28545 2015-12-10 浏览量:1473

数码管的显示:

    按键1连接外部中断0,按一次按键数码管显示的数字加1(0-9)

求解答

 AT89C51、 Keil的。求解答

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 下载:

    #include 
    
    
    unsigned char KeyDown_Flag = 0;
    unsigned char Count = 0;
    
    //函数:INT_Init()
    //描述:外部中断初始化
    //参数:无
    static void INT_Init(void)
    {
    	IT0 = 1;	// 低电平产生中断
    	EX0 = 1;	// 开中断外部0
    }
    //函数:ISR_Init()
    //描述:中断初始化
    //参数:无
    void ISR_Init(void)
    {
    	INT_Init();								// 外部中断初始化
      EA = 1;										// 开全局中断
    }
    void main(void)
    {
    	ISR_Init();
    	P1 = 0;
    	while(1)
    	{
    		if(KeyDown_Flag == 1)
    		{
    			Count++;
    			P1 = Count;
    			KeyDown_Flag = 0;
    		}
    	}
    }
    //函数:Inter_Init()
    //描述:外部中断初始化
    //参数:无
    void ISR_INT0(void) interrupt 0
    {
    	KeyDown_Flag = 1;					// 标记按键成功
    }

    这个代码其实是从这个//www.icxbk.com/group-topic-id-45240.html里面摘抄的。欢迎常来Proteus板块!


    • 发布于 2015-12-10
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:8
  • 你是要用中断功能来进行计数的吗?

    还是要用判断功能检测按键进行计数。用中断的话你要开启P3相应PIN的中断功能,并配置外部中断是高电平有效,还是低电平有效,或者是上升沿触发有效。这样程序相对复杂些。

    用判断法,可以直接判断接按键的PIN是高电平或者低电平时,计数并送出一个显示代码。用向上计数法,计数9次,并依次送出0~9的显示代码。这样写程序相对简单些。

    • 发布于2015-12-10
    • 举报
    • 评论 0
    • 0
    • 0

  • #include

     sbit K3=P3^2;
    unsigned char KeyValue=0;

    unsigned char code DIG_CODE[17]={
    0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

     void Delay(unsigned int n);

     int main(void)
     {
       //设置INT0
    IT0=1;//跳变沿出发方式(下降沿)
    EX0=1;//打开INT0的中断允许。

    EA=1;//打开总中断

    while(1)
    {
    P2= DIG_CODE[KeyValue] ;
    }
     }
     void Delay(unsigned int n)   //延时50us误差 0us
    {
        unsigned char a,b;
    for(;n>0;n--)
    {
        for(b=1;b>0;b--)
            for(a=22;a>0;a--);
    }
    }
    void Int0() interrupt 0 //外部中断0的中断函数
    {
    Delay(1); //延时消抖
    if(K3==0)
    if(KeyValue++==9)
    {
    KeyValue=0;
    };

    }




    哎  !现在这学生怎么了

    • 发布于2015-12-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 哈哈,还没睡觉哈!你先我一步,你这个电路有点问题,看看下面这个。
    • 发布于2015-12-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 上啊,最近工期有点紧张,我这才有点时间。
    • 发布于2015-12-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 公司的,主要在节电方面。做一个官网检测,然后进行调度。
    • 发布于2015-12-10
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求解答