| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3499 人关注过本帖
标题:这是一份加急帖,求大神们指教!
取消只看楼主 加入收藏
luo8232
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-8
结帖率:100%
收藏
 问题点数:0 回复次数:0 
这是一份加急帖,求大神们指教!
(1)开始时,倒计时器数码管显示“24”
(2)按下SP1,开始倒计时;
(3)按下SP2,计时暂停;
(4)再次按下SP1后,计时继续。
(5)SP3按钮功能为计时清零,系统复位。
发挥功能:设置两个指示灯D1(绿灯)、D2(黄灯),正常倒计时时绿灯D1亮,暂停时黄灯D2亮,倒计时至0后指示灯D1、D2同时以10Hz频率闪烁。

这是篮球24秒倒计时的要求。
#include<reg51.h>
#define uchar unsigned char
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int time=0,time1=25;
sbit com0=P3^0;
sbit com1=P3^1;
sbit key=P1^0;
sbit key1=P1^1;
sbit key2=P1^2;
sbit D1=P1^3;
sbit D2=P1^4;
void delay()
   {
     unsigned char m;
    m=500;
         while(m--);
   }

  
void display(unsigned char luo)
 {
    com0=1;
    P2=tab[luo/10];
    delay();
    com0=0;
   
    com1=1;
    P2=tab[luo%10];
      delay();
    com1=0;
 }
void daojishi()
{
   time1--;
   if(time1==-1) time1=25;
}




void main(void)
{   
unsigned char j;
while(1)
{
   if(key==0) {time=24;D1=0;D2=1;}
   if(key==1) {time1=25;D1=1;D2=1;}
    {

   daojishi();
   for(j=200;j>0;j--)
   {display(time1);}
   
 
     }
    if(time1==0)
    {
    while(1)
    {
       com0=1;
       com1=1;
       delay();
       D1=0;
         D2=0;
       delay();
       D1=1;
         D2=1;
       delay();
            if(key==1) break;
    }
    }
  }
}
 
 现在只有按键1能够运行,按键2跟按键三还不能控制,请问一下怎么加入中断程序?
搜索更多相关主题的帖子: include 数码管 指示灯 篮球 
2016-06-09 10:12
快速回复:这是一份加急帖,求大神们指教!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016506 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved