精华内容
下载资源
问答
  • 倒计时设计

    2011-11-29 17:43:06
    可实现60以内对任意数值的的倒计时功能,此电路中未加1hz的分频,用了一个input,在仿真中输入了1hz的方波信号。当倒数到0时,保持
  • 数电的课程设计篮球30秒倒计时课程设计,mulitisim仿真
  • 课程设计题九: 倒计时时钟设计

    千次阅读 2019-07-13 00:02:36
    1)设计任务:完成倒计时时钟的设计。 2)指标要求 (1)能够分钟级的倒计时,分钟和秒显示。 (2)倒计时的起始值可以设置。 (3)具有暂停和清零按钮,倒计时结束报警。 (4)供电电压3.3V/5V。 获取该程序...

    1)设计任务:完成倒计时时钟的设计。

    2)指标要求

    (1)能够分钟级的倒计时,分钟和秒显示。

    (2)倒计时的起始值可以设置。

    (3)具有暂停和清零按钮,倒计时结束报警。

    (4)供电电压3.3V/5V。

    获取该程序的方式:

    1、CSDN下载:

    https://download.csdn.net/download/qq_38351824/11341672

    2、关注微信公众号下载:

         ① 关注微信公众号:Tech云  

         ②

    3、可以关注点赞并在下方评论,我给你邮箱发过去。

    一、Protues仿真图:

    二、程序源码:

    因为注释非常的全,这里就不再进行讲解了。

    /*******************************************************************************
    ================================================================================
    【平    台】STC89C51_sumjess平台
    【编    写】sumjess
    【E-mail  】1371129880@qq.com
    【软件版本】V2.0
    【最后更新】2019年06月10日
    【相关信息参考下列地址】
    【网    站】
               https://blog.csdn.net/qq_38351824
               http://www.51hei.com/bbs/mcu-2-1.html
    ---------------------------------------------------------------------------------
    【dev.env.】MDK4.02及以上版本
    【Target  】STC89C51
    第一次修订:2019/05/09
    第二次修订:2019/05/21
    第三次修订:2019/06/10
    【problem 】
        (1)库内补充的不全面;
        (2)库内解释部分不全面;
        (3)库内还存在一定的bug;
    【direction】
          下一步的目标就是把库继续集成!
    【explain 】
          为了方便使用,我也自己写了很多的库,和优化了算法和表示方式!
    【warning】
          目前程序中暂无错误 !   
    ---------------------------------------------------------------------------------
    没有完美的代码,只有不断的奉献,大家一起努力;
    赠人玫瑰手留余香,欢迎大家反馈bug!
    ================================================================================
    ********************************************************************************/	
    #include<reg52.h>
    
    #define uchar unsigned char
    #define uint  unsigned int
    
    #define duan P1		//段选
    #define wei  P3		//位选
    sbit key1 = P2^3;   //设置
    sbit key2 = P2^4;   //加
    sbit key3 = P2^5;   //减
    sbit key4 = P2^6;   //启动
    sbit key5 = P2^7;   //手动
    sbit out  = P2^2;   //输出控制 ,低电平有效
    sbit di   = P2^0;   //蜂鸣器
    
    bit flag=0,flag1=0,shan=0;
    uchar knum,shan_cont,i;
    uchar shi=0,fen=0,miao=0;  //时分秒
    uint cont,cont1,cont2;
    uchar code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴段码表
                       //  0  	1	 2	  3	   5	6	 7	  8	  9
    uchar code weima[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};           //位码        加反相器用
    				   //  1   2    3    4   5     6    7    8
    uchar LedBuff[]={0,0,0,0,0,0,0,0};                                      //数码管显示缓冲区
    
    void init()			//定时器初始化
    {
    	TMOD |= 0x01;             //设置定时器0为工作方式1(M1M0为01)
    	TH0 = (65536-1000)/256;   //1ms初值 @12MHz
    	TL0 = (65536-1000)%256;
    	EA = 1;					  //开总中断
    	ET0 = 1;				  //开定时器0中断
    	TR0 = 1;        		  //启动定时器0
    }
    
    void dis()          //显示函数
    {
            LedBuff[0] = duanma[miao%10];
            LedBuff[1] = duanma[miao/10];
            LedBuff[2] = 0x40;
            LedBuff[3] = duanma[fen%10];
            LedBuff[4] = duanma[fen/10];
            LedBuff[5] = 0x40;
            LedBuff[6] = duanma[shi%10];
            LedBuff[7] = duanma[shi/10];
    }
    
    
    void keysan()		//按键扫描函数
    {
    	static bit  kf1=0,kf2=0,kf3=0;   //自锁标志,这里一定要加static(或者用全局变量),否则按键不灵
    	static uint i=0,j=0,k=0,l=0,m=0; //消抖延时变量
    //启动/暂停键//
    	if(knum==0)			   //只要时分秒都不等于0
    	{
    	    if(key4 == 1)	   //启动 暂停键
    	    {
    	        m=0;		   //按键消抖计时变量清零
    	        kf2=0;		   //按键自锁标志清零
    	    
    	    }
    	    else if(kf2 == 0 ) //有按键按下,且是第一次被按下
    	    {
    	        ++m;  //消抖
    	        if( (m>20) && ((miao != 0) || (fen != 0) || (shi != 0)) )
    	        {       
    			   //时分秒都为0时,不能启动输出,只要其中之一不为0,就能启动输出
                    m=0;		   //按键消抖计时变量清零
                    kf2=1;		   //自锁按键置位,避免一直触发
                    flag = !flag;  //启动、暂停计时标志
                    out  = !out;   //LED状态取反
    	        }
    	    }        
    	}          
    
    //启动/暂停键//	        
    	if(out==1)            //加这句,只有在输出关闭的时候,才能设置计时时间,在倒计时的过程中是不能设置的
    	{
    	    if(key1==1)   //设置   //IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
    	    {
    	        i=0;           //按键消抖计时变量清零
    	        kf1=0;         //按键自锁标志清零
    	    }
    	    else if(kf1 == 0)  //有按键按下,且是第一次被按下
    	    {
    	        ++i;		   //消抖
    	        if(i>12)
    	        {
    	            i=0;		   //按键消抖计时变量清零
    	            kf1=1;         //自锁按键置位,避免一直触发
    	            knum++;		   //调节时分秒--->123
    	            if(knum==4) knum = 0;  //按第四次关闭设置
    	        }        
    	    }
    	}	
    //加1按键//	
    	if(key2==0)                     //加1按键	快速加数
    	{
    	        j++;
    	        if(j >= 3000)           //长按,数码管扫描放中断里面,这里的值就要取得大才行
    	        {                       //因为没用delay延时,CPU跑的很快
    	                if(knum==1)
    	                {
    	                    miao++;					//秒钟加1
    	                    if(miao==60) miao = 0;	//超过60s变成0
    	                }
    	
    	                if(knum==2)
    	                {
                            fen++;					//分钟加1
                            if(fen==60) fen=0;		//超过60变0
    	                }
    	
    	                if(knum==3)
    	                {
                            shi++;					//小时加1
                            if(shi==24) shi=0;		//超过24变0
    	                }
    	
    	                j=1000;           //这里j的值可以设置连加的快慢,j的值越大就越快
    	        }                         //因为初值越大,加到3000的时间就越短
    	}        										  
    	else									 //慢速加数
    	{ 
    	                if(knum==1)
    	                {
    	                    miao++;					//秒钟加1
    	                    if(miao==60) miao = 0;	//超过60s变成0
    	                }
    	
    	                if(knum==2)
    	                {
                            fen++;					//分钟加1
                            if(fen==60) fen=0;		//超过60变0
    	                }
    	
    	                if(knum==3)
    	                {
                            shi++;					//小时加1
                            if(shi==24) shi=0;		//超过24变0
    	                }
    	                j=0;
    	
    	}        
    //减1按键//		
    	if(key3==0)                 //减1按键	快速减数
    	{
            k++;
            if(k >= 3000)           //长按,数码管扫描放中断里面,这里的值就要取得大才行
            {						//因为没用delay延时,CPU跑的很快
                if(knum==1)
                {
                    miao--;					 //秒钟减1
                    if(miao==255) miao = 59; //小于0就等于59
                }	
                if(knum==2)
                {
                    fen--;					 //分钟减1
                    if(fen==255) fen=59;	 //小于0就等于59
                }	
                if(knum==3)
                {
                        shi--;				 //时钟减1
                        if(shi==255) shi=23; //小于0就等于23
                }	
                k=1000;
            }
    	}        	
    	else
    	{ 
            if(k>500 && k<3000) //短按
            {
                if(knum==1)
                {
                    miao--;					 //秒钟减1
                    if(miao==255) miao = 59; //小于0就等于59
                }	
                if(knum==2)
                {
                    fen--;					 //分钟减1
                    if(fen==255) fen=59;	 //小于0就等于59
                }	
                if(knum==3)
                {
                        shi--;				 //时钟减1
                        if(shi==255) shi=23; //小于0就等于23
                }
            }
    	        k=0;        //消抖变量清零,为下次按键做准备        
    	} 
           
    }
    
    
    void main()
    {
    	init();			//定时器初始化
    	out = 1;
    	while(1)
    	{
    	    keysan();	//按键扫描函数
    	    dis();		//显示函数
    	    if(shi==0 && fen==0 && miao==0 && flag == 1 )  //倒计时时间到
    	    {
    	        flag=0;   //停止计时
    	        flag1=1;  //启动蜂鸣器标志置1
    	        out=1;    //关闭输出
    	    }
    	}        
    }
    
    void timer() interrupt 1
    {
            TH0 = (65536-1000)/256;          //1毫秒初值
            TL0 = (65536-1000)%256;
    //1s计时//        
            if(flag)
            {
    	        cont++;
    	        if(cont == 1000)          	 //1s到
    	        {
    	            cont = 0;				 //清0
    	            miao--;					 //秒数减1
    	            if(miao==255)			 //如果小于0,就是59
    	            {
    		            miao=59;
    		            fen--;				 //分钟数减1
    		            if(fen==255)		 //如果小于0,就是59
    		            {
    	                    fen=59;
    	                    shi--;			 //小时减1
    	                    if(shi==255) shi=0;		   //时钟小于0,就是0
    	                    if(shi==0) fen=59;		   //时钟小于0,就是255
    	                    if(fen==0 && shi==0) fen=0;//时钟分钟都为0,就是0	 
    		            }
    	            }
    	        }
            }
    //蜂鸣器控制//
            if(flag1)              //倒计时时间到,启动蜂鸣器
            {
                cont1++;
                if(cont1==500) //500ms蜂鸣器响一次
                {
                    cont1=0;
                    di=!di;
                    cont2++;
                    if(cont2==20)//500*20=10000ms=10s,蜂鸣器响10s后停止
                    {
    	                cont2=0;
    	                flag1=0;
                    }
                }
            }
    //启动/暂停键//
            if(knum != 0)
            {
                shan_cont++;
                if(shan_cont==100)  //设置时,100ms闪烁时间 可根据实际效果调整
                {
                    shan_cont=0;
                    shan = !shan;
                }
            }
    /**********************************数码管扫描函数**********************************/
            i++;			  //挨个显示
            if(i>=8) i=0;	  //清0
            duan = 0x00;	  
            switch(i)
            {
                case 0: 
                        if(knum==1) //如果设置键第一次按下
                        {
    					 if(shan==1) {wei = 0x00; duan = LedBuff[0];}  //设置秒位闪烁
                         else {wei = weima[0]; duan = LedBuff[0];}
                        }
                        else{wei = weima[0]; duan = LedBuff[0];}        break;        //否则正常显示           
                case 1:                                   
                        if(knum==1)	//如果设置键第一次按下
                        {
    					 if(shan==1){wei = 0x00; duan = LedBuff[1];}   //设置秒位闪烁
                         else{wei = weima[1]; duan = LedBuff[1];}
                        }
                        else{wei = weima[1]; duan = LedBuff[1];}  break;	//否则正常显示
        
                case 2:  wei = weima[2]; duan = LedBuff[2];        break;	//显示-            
                case 3:        
                        if(knum==2) //如果设置键第二次按下
                        {
    					 if(shan==1){wei = 0x00; duan = LedBuff[3];}   //设置分位闪烁
                         else{wei = weima[3]; duan = LedBuff[3];}
                        }
                        else{wei = weima[3]; duan = LedBuff[3];}    break;//否则正常显示
                
                case 4:        
                        if(knum==2) //如果设置键第二次按下
                        {
    					 if(shan==1){wei = 0x00; duan = LedBuff[4];}  //设置分位闪烁
                         else{wei = weima[4]; duan = LedBuff[4];}
                        }
                        else{wei = weima[4]; duan = LedBuff[4];}        break;	//否则正常显示            
                case 5:  wei = weima[5]; duan = LedBuff[5];        break;		//显示-            
                case 6:        
                        if(knum==3) //如果设置键第三次按下
                        {
    					 if(shan==1){wei = 0x00; duan = LedBuff[6];} //设置时位闪烁
                         else{wei = weima[6]; duan = LedBuff[6];}
                        }
                        else{wei = weima[6]; duan = LedBuff[6];}        break;//否则正常显示        
                case 7:        
                        if(knum==3) //如果设置键第三次按下
                        {
    					 if(shan==1){wei = 0x00; duan = LedBuff[7];}    //设置时位闪烁
                         else{wei = weima[7]; duan = LedBuff[7];}
                        }
                        else{wei = weima[7]; duan = LedBuff[7];}        break;//否则正常显示            
                default: break;        
    
            }
    }
    展开全文
  • 数字逻辑倒计时器原理硬件原理1234
  • 1)设计任务:完成倒计时时钟的设计。 2)指标要求 (1)能够分钟级的倒计时,分钟和秒显示。 (2)倒计时的起始值可以设置。 (3)具有暂停和清零按钮,倒计时结束报警。 (4)供电电压3.3V/5V。
  • 很不错的一个资源:由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。倒计时到,由蜂鸣器发出报警。绘制系统...
  • 我们常见的软件设计中使用倒计时的地方主要有:获取验证码时、阅读某个页面完成任务时和常见的考试问答类等等方向。由此我们可见倒计时主要是有规避了在短时间内的不正常访问和满足系统期望对用户的页面停留时间做...

    倒计时的应用

    我们常见的软件设计中使用倒计时的地方主要有:获取验证码时、阅读某个页面完成任务时和常见的考试问答类等等方向。由此我们可见倒计时主要是有规避了在短时间内的不正常访问和满足系统期望对用户的页面停留时间做限制。

    怎样使用Axure制作倒计时

    我们主要介绍点某个按钮倒计时和进入页面倒计时两种类型的制作,因为其他类型基本就是对这两种基础类型做变形或结合。

    验证码的倒计时

    老规矩先上效果图:
    在这里插入图片描述
    由于方便演示,我们就讲此次的倒计时设置为5秒,点击按钮获取验证码。

    1. 先拖入两个input输入框和一个按钮

    2. 设置好输入框的提升文本在这里插入图片描述
      在这里插入图片描述

    3. 设置好一个变量ITime用来控制我们的倒计时总数
      在这里插入图片描述

    4. 设置按钮的单击时的操作在这里插入图片描述

    思路:(1)禁用该按钮且时间变量值每次减少1,等待1秒后重新出发该点击事件;只在ITime大于1的情况下成立。(2)当时间变量值ITime减少到1时,我们可以启用当前按钮且重新设置文本即可。

    1. 设置禁用按钮的样式

    进入页面倒计时

    效果图:在这里插入图片描述
    进入某个页面后开始倒计时,时间结束则自动提交。

    1. 同理先布局好页面,并给予倒计时一个点击事件:在这里插入图片描述

    2. 主要是我们需要给当前页面一个载入事件让系统自动去触发其它事件,这是关键:在这里插入图片描述
      这是我们整个页面自动启动事件的关键入口

    总结

    倒计时的设置其实在做设计时会常常使用到,我们只要熟练的学会某一种就可以去举一反三地设置不同的种类和模型。只要我们去创造、去发现才能体会到不同的设置会带来什么样的效果解决什么样的问题。这才是最重要的!
    此次演示的资源设计,有兴趣的同学可以下载学习

    展开全文
  • 倒计时秒表

    2015-12-07 00:14:47
    现代电子技术课程设计倒计时秒表,文档和电路都有
  • 24秒倒计时器的设计与仿真,这里很详细的将设计步骤和设计器材列了出来
  • 有详细的电路原理和仿真电路,数字电路课程设计
  • 24秒倒计时篮球计数器设计(protues软件仿真
  • VB的倒计时钟制作VB的倒计时钟制作VB的倒计时钟制作
  • 这是一份Protel应用课设报告,要求设计一个简易的365倒计时器,用Protel进行原理的绘制,PCB板的制作和仿真。。。
  • 数电课程设计倒计时数字显示器线路连接
  • 单片机倒计时程序.zip

    2021-08-13 14:46:53
    设计倒计时器,最大99秒,倒计时为0时停止,发出声音。提高部分:按键设定倒计时时间,有开始停止键。含汇编程序以及仿真原理
  • 一款电子技术论文设计方案,里边各种引脚俱全,上传给大家提供参考。
  • SDK提供有比较灵活的属性控制,可修改倒计时按钮背景颜色、文字颜色、按钮圆角大小、点击时背景颜色,基本能满足全部UI设计需求。请下载资源包里面提供了SDK的用法截图、Demo、SDK(务必注意看看 5张SDK使用说明图片)...
  • 求单片机,倒计时,时钟设计,c语言编程的程序和原理。大佬们快救救我吧,我找崩溃了
  • 数电课程设计、multisim、仿真文件、原理
  • 高考已过,相信很多同学都经历过看着老师在黑板上每天给大家倒计时,距离高考还有xxx天!高考前夕,每一分每一秒都很重要,这个高考倒计时牌资料分享出来,老师和家长们可以动手做起来咯~嘿!同学,高考,你准备好了...
  • 基于51单片机倒计时数码管仿真设计 视频演示地址: https://www.bilibili.com/video/BV1ez4y1o71d/ 功能操作说明: 本设计包括四个按键,单片机复位按键,开始/加,停止/减,设置键。 开机运行后默认显示倒计时时间1...

    基于51单片机倒计时数码管仿真设计
    视频演示地址:
    https://www.bilibili.com/video/BV1ez4y1o71d/
    功能操作说明:
    本设计包括四个按键,单片机复位按键,开始/加,停止/减,设置键。
    开机运行后默认显示倒计时时间1分,十秒。
    按下开始或停止进行倒计时。按下设置后,设置分和秒。

    展开全文
  • Protues仿真,纯硬件电路设计,满足课程设计需求。包含原理,PCB文件
  • html实现的新年倒计时

    2018-12-27 11:18:04
    html实现的新年倒计时,可以根据更改图片和功能,是2019的倒计时
  • 这是一套倒计时5秒开场PPT动画... PPT模板用绿色作为PPT背景色,5秒倒计时设计了点状的动态背景;本套PPT动画适合制作PowerPoint倒计时开场; 关键词:绿色PPT背景,数字PPT背景图片,幻灯片视觉特效动画,倒计时PPT动
  • 15秒的倒计时和15分钟的倒计时

    千次阅读 2017-04-07 15:31:39
    描述:15秒的倒计时 --> 00: 15: 00 作者:offline 时间:2017-04-04 描述:15分钟的倒计时 --> 15: 00: 00 $(function(){ var i=14; var m=99; setInterval(function(){ if(i>=0){
    <!DOCTYPE html>
    
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    <!--
    作者:offline
    时间:2017-04-04
    描述:15秒的倒计时
    -->
    <span class="span1">00</span>:
    <span class="span2">15</span>:
    <span class="span3">00</span>
    <br>
    <!--
    作者:offline
    时间:2017-04-04
    描述:15分钟的倒计时
    -->
    <span class=" span4">15</span>:
    <span class="span5">00</span>:
    <span class="span6">00</span>
    </body>
    <script src="js/jquery-2.1.4.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
    $(function(){
    var i=14;
    var m=99;
    setInterval(function(){
    if(i>=0){
    m=99;
    $('.span2').text(i--);
    }
    },1000)
    setInterval(function(){
    if(m>=0){
    $('.span3').text(m--);
    }
    },10)
    })
    $(function(){
    var i=14,m=59,n=99;
    setInterval(function(){
    if(i>=0){
    m=59;
    $('.span4').text(i--);
    }
    },6000)
    setInterval(function(){
    if(m>=0){
    n=99;
    $('.span5').text(m--);
    }
    },1000)
    setInterval(function(){
    if(n>=0){
    $('.span6').text(n--);
    }
    },10)
    })
    </script>
    </html>
    展开全文
  • 基于Proteus的篮球赛24秒倒计时设计与仿真.pdf
  • 考试倒计时提醒设计 源码分享 高考已过,相信很多同学都经历过看着老师在黑板上每天给大家倒计时,距离高考还有xxx天!高考前夕,每一分每一秒都很重要,这个高考倒计时牌资料分享出来,老师和家长们可以动手做...
  • SDK提供有比较灵活的属性控制,可修改倒计时按钮背景颜色、文字颜色、按钮圆角大小、点击时背景颜色,基本能满足全部UI设计需求。请下载资源包里面提供了SDK的用法截图、Demo、SDK(务必注意看看 5张SDK使用说明图片...
  • js案例 小米秒杀倒计时 新年倒计时

    千次阅读 2020-08-01 19:06:10
    小米秒杀倒计时设计方案 源代码如下 ** 首先设计一个整体的框架 即css内容(调好合适边框 等) css样式如下 <div class="box"> <h3 class="start">14:00 场</h3> <div class="photo"> &...
  • 倒计时C#程序说明

    2012-08-13 16:34:03
    倒计时程序流程、代码。适于HH:MM:SS的倒计时

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,721
精华内容 5,488
关键字:

倒计时设计图