精华内容
下载资源
问答
  • 51单片机倒计时源程序.txt
  • 基于51单片机倒计时数码管仿真设计 视频演示地址: https://www.bilibili.com/video/BV1ez4y1o71d/ 功能操作说明: 本设计包括四个按键,单片机复位按键,开始/加,停止/减,设置键。 开机运行后默认显示倒计时时间1...

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

    展开全文
  • 51单片机倒计时控制继电器输出时间,时间大于或等于1秒继电器输出,时间小于1秒继电器停止输出,已经经过调试可靠可行,请放心下载,不会浪费你的积分。
  • 设计要求: 1:上电后二位数码管显示882:单击按钮,倒计时开始从20秒开始,到0时喇叭发声。3:双击按钮开关:倒计时从0开始正常记时,到20秒后发声。4:记数结束从开始状态重新开始下一轮.
  • 基于51单片机倒计时设计

    热门讨论 2010-12-28 18:08:36
    基于51单片机倒计时设计,里面有设计报告,c语言程序等等倒计时可以设置时间,可以暂停等等
  • 关于51单片机倒计时数码管显示的数值转换问题,很详细的
  • 单片机模拟十字路口的交通灯,采用自动红绿黄交通灯控制,具有固定的红灯、绿灯转换时间间隔,自动切换,每个方向具有倒计时功能。 功能要求: 1)要求南北方向车道和东西方向车道2条交叉道路上的车辆自动交替运行...

    综合作业1:倒计时交通灯
    用单片机模拟十字路口的交通灯,采用自动红绿黄交通灯控制,具有固定的红灯、绿灯转换时间间隔,自动切换,每个方向具有倒计时功能。
    功能要求:
    1)要求南北方向车道和东西方向车道2条交叉道路上的车辆自动交替运行,东西和南北方向各有一组红、绿、黄灯用于指挥交通;
    2)红灯的持续时间为55s,绿灯持续时间为50s,闪烁时间为3s;
    3)黄灯在绿灯转为红灯之前亮2s;
    4)每一种灯亮的时间都用LED数码管进行倒计时显示;
    5)如有紧急情况,系统可以禁止普通车辆通行,南北、东西方向都为红灯,时间持续20s,当紧急情况结束后,继续正常工作。

    #include "reg52.h"
    #include "math.h"
    sbit QiTin = P3^0;//启停按键
    sbit duan = P2^6;//数码段
    sbit wei = P2^7;//数码位
    sbit NanBeiHong = P1^0;
    sbit NanBeiHuan = P1^1;
    sbit NanBeiLu = P1^2;
    sbit DongXiHong = P1^5;
    sbit DongXiHuan = P1^6;
    sbit DongXiLu = P1^7;
    bit k=0, d=0;//中断标记//红绿灯倒换标记
    unsigned char code ShuMaGuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0X80};//0~9隐.小数点
    unsigned char code WeiXuanBiao[] = { 0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f };
    unsigned char Js=0;//中断计时
    unsigned char Hm=0;//毫秒
    unsigned char Mo=0;//秒
    unsigned char YanShi=0;延时
    void ShuMaXianShi(unsigned char s,unsigned char w,unsigned char d)
    {
    	YanShi=255;
    	P0=WeiXuanBiao[w];
    	wei=1;
    	wei=0;
    	P0=ShuMaGuan[s]|ShuMaGuan[d];//d显示小数点11,10关闭
    	duan=1;
    	while(YanShi--);
    	P0=ShuMaGuan[10];//消隐
    	duan=0;
    }
    void ZhongDuanSheZhi()
    {
    	TH0+=0X4c;/*定时器赋初值,定时50ms触发中断,自动补偿方式*/
    	TL0+=0X00; 
    	TMOD=0X01;
    	TR0=1; 
    	ET0=1; //开启定时器
    	EA=1; //全局中断开关
    }
    void XianShi()
    {
    		ShuMaXianShi((55-Mo)/10,1,10);
    		ShuMaXianShi((55-Mo)%10,2,11);//红绿灯转换秒数预设为55秒
    //		ShuMaXianShi(Hm,3,10);
    		ShuMaXianShi(10,4,10);
    		ShuMaXianShi(10,5,10);
    		ShuMaXianShi((55-Mo)/10,6,10);
    		ShuMaXianShi((55-Mo)%10,7,11);
    //		ShuMaXianShi(Hm,8,10);	
    }
    void JiShi(/*时间计算*/)
    {
    	if(!(Js%2))
    		if(!k&&++Hm>=10) Hm=0;
    	if(Js>=20)
    	{
    		if(++Mo>=60) Mo=0;
    		Js=0;		
    	}
    }
    void main()
    {
    	ZhongDuanSheZhi();
    	while(1)
    	{//南北红灯//东西绿灯//南北显示时间,东西显示时间雷同不重写了
    		if(Mo==0&&Mo<=50){NanBeiHong=DongXiLu=d;DongXiHong=NanBeiLu=!d;}
    		if(Mo>=50&&Mo<=53)//闪烁
    		{
    			if(Hm>=5)
    			{
    				NanBeiHong=DongXiLu=d;
    				DongXiHong=NanBeiLu=!d;
    			}
    			if(Hm==0)
    			{
    				NanBeiHong=DongXiLu=!d;
    				DongXiHong=NanBeiLu=d;
    			}
    		}
    		if(Mo>=53&&Mo<=55)
    		{
    			NanBeiHuan=DongXiHuan=0;//南北黄灯//东西黄灯
    			NanBeiHong=DongXiLu=DongXiHong=NanBeiLu=1;//南北红灯//东西绿灯
    		}
    		if(Mo>=55){Mo=Hm=Js=0;d=!d;NanBeiHuan=DongXiHuan=1;}//初始化各时间
    		JiShi();
    		XianShi();
    		if(!QiTin)
    		{
    			//XianShi(/*巧借8个数码显示消抖*/);
    			unsigned char Yan_Shi=Js;
    			if(TR0==0)TR0=k=1;//重启中断
    			while(Js==Yan_Shi)XianShi();//中断消抖
    			if(!QiTin)if(!k)TR0=k; else k=0;//关闭中断,消抖后清除标记
    			while(!QiTin) XianShi(/*按下期间显示*/);
    		}
    	}
    }
    void ZhongDuan() interrupt 1
    {
    	++Js;
    	TH0+=0X4c;
    	TL0+=0X00;        
    }

    以上代码在上一例秒表基础上修改,未经测试,只写了红绿灯的逻辑.只定义了一个数码显示用于东西或南北显示,另外一个数码显示雷同就不赘述了.中断按钮用于临时调度,如有特殊要求要另写逻辑.

    粗略调试一下倒计时交通灯

    添加一个紧急按键
    添加一个处理紧急函数
    把紧急处理函数添加到中断中调用

    sbit JinJi = P3^1;//紧急按键
    void JinJi()
    {
        Mo=35;
        while(Mo<=55)
        {
            NanBeiHong=DongXiHong=0;//0表示点亮
            NanBeiHuan=NanBeiLu=DongXiHuan=DongXiLu=1;
            XianShi();
        }
    }

    直解写未调试

    2019-12-24 23:59:47。答提问:能够同时完成的道理很简单也很朴素却是编程最精华最佳最高理念和最精华最佳最高境界,即只有一个主循环体外不要停留在程序的任何地方,虽是单线程也能完成多任务的关键所在。这是一般教学,一般人无法到达的。这个程序还有停留的都可修改成非停留,即可达到无暇最精华最佳最高状态,修改的办法亦在这个程序中,亦在我写的无限嵌套和其他程序中使用的技巧,中华先贤名言:智者千虑必有一失,愚者千虑必有一得。人不怕思考就怕不思考,唯谦恭之人得之,非菲薄之辈可得。

    展开全文
  • //中断计时 毫秒 秒 倒计时 void ShuMaXianShi(unsigned char s,unsigned char w,unsigned char d) { YanShi=255; P0=WeiXuanBiao[w]; wei=1; wei=0; P0=ShuMaGuan[s]|ShuMaGuan[d];//d显示小数点11,10关闭 ...

    本人只学过c,请用C来修改
    1. 使用矩阵键盘,除了8个按键之外额外设置一个清零键(与自带复位不同的)
    2. 抢答器按下一个按键后数值固定,只有按下清零键才能进行下一轮抢答
    3. 使用数码管或者LCD1602显示八路抢答器的数值
    4. 使用外部中断

    #include "reg52.h"
    #include "math.h"
    sbit QiTin = P3^0;//启停按键
    sbit duan = P2^6;//数码段
    sbit wei = P2^7;//数码位
    sbit NanBeiHong = P1^0;
    sbit NanBeiHuan = P1^1;
    sbit NanBeiLu = P1^2;
    sbit DongXiHong = P1^5;
    sbit DongXiHuan = P1^6;
    sbit DongXiLu = P1^7;
    bit k=0, d=0;//中断标记//红绿灯倒换标记
    unsigned char code ShuMaGuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0X80};//0~9隐.小数点
    unsigned char code WeiXuanBiao[] = { 0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f };
    unsigned char code ShaoMiaoZhi[]={238,237,235,231,222,221,219,215,190,189,187,183,126,125,123,119};
    unsigned char Js=0, Hm=0, Mo=0, Dj=0;//中断计时 毫秒 秒 倒计时
    void ShuMaXianShi(unsigned char s,unsigned char w,unsigned char d)
    {
    	YanShi=255;
    	P0=WeiXuanBiao[w];
    	wei=1;
    	wei=0;
    	P0=ShuMaGuan[s]|ShuMaGuan[d];//d显示小数点11,10关闭
    	duan=1;
    	while(YanShi--);
    	P0=ShuMaGuan[10];//消隐
    	duan=0;
    }
    void ZhongDuanSheZhi()
    {
    	TH0+=0X4c;/*定时器赋初值,定时50ms触发中断,自动补偿方式*/
    	TL0+=0X00; 
    	TMOD=0X01;
    	TR0=1; 
    	ET0=1; //开启定时器
    	EA=1; //全局中断开关
    }
    void XianShi()
    {
    //		ShuMaXianShi((55-Mo)/10,1,10);
    //		ShuMaXianShi((55-Mo)%10,2,11);//红绿灯转换秒数预设为55秒
    //		ShuMaXianShi(Hm,3,10);
    		ShuMaXianShi(Dj/10%10,4,10);
    		ShuMaXianShi(Dj%10,5,10);
    //		ShuMaXianShi((55-Mo)/10,6,10);
    //		ShuMaXianShi((55-Mo)%10,7,11);
    //		ShuMaXianShi(Hm,8,10);	
    }
    void JiShi(/*时间计算*/)
    {
    	if(!(Js%2))
    		if(!k&&++Hm>=10) Hm=0;
    	if(Js>=20)
    	{
    		if(++Mo>=60) Mo=0;
    		Js=0;		
    	}
    }
    unsigned char JianPanShaoMiao(/*使用行列反转扫描法*/)
    {
    	unsigned char H=15,L=240;
    	P3=15;
    	if(P3!=15)
    	{
    		unsigned char Yan_Shi=Js;
    		while(Js==Yan_Shi);//中断消抖
    		H=P3;
    		P3=240;
    		L=P3;
    		while(P3!=240)k=1;
    	}
    	P3 = 255;
    	return (H+L);
    }
    unsigned char JianPanQuZhi(/*定义按钮*/)
    {
    	unsigned char Jian_Zhi=0,LinShi=JianPanShaoMiao();
    	while(LinShi!=ShaoMiaoZhi[Jian_Zhi])if(++Jian_Zhi > 15)break;
    	return (Jian_Zhi > 15 ? LinShi : Jian_Zhi);
    }
    void main()
    {
    	unsigned char JZhi=0;
    	ZhongDuanSheZhi();
    	while(1)
    	{
    		//南北红灯//东西绿灯//南北显示时间,东西显示时间雷同不重写了
    //		if(Mo==0&&Mo<=50){NanBeiHong=DongXiLu=d;DongXiHong=NanBeiLu=!d;}
    //		if(Mo>=50&&Mo<=53)//闪烁
    //		{
    //			if(Hm>=5)
    //			{
    //				NanBeiHong=DongXiLu=d;
    //				DongXiHong=NanBeiLu=!d;
    //			}
    //			if(Hm==0)
    //			{
    //				NanBeiHong=DongXiLu=!d;
    //				DongXiHong=NanBeiLu=d;
    //			}
    //		}
    //		if(Mo>=53&&Mo<=55)
    //		{
    //			NanBeiHuan=DongXiHuan=0;//南北黄灯//东西黄灯
    //			NanBeiHong=DongXiLu=DongXiHong=NanBeiLu=1;//南北东西红灯绿灯
    //		}
    //		if(Mo>=55){Mo=Hm=Js=0;d=!d;NanBeiHuan=DongXiHuan=1;}//初始化各时间
    
    		if(!k){JZhi=JianPanQuZhi(/*16路抢答器中断式控制*/);JiShi();}
    		Dj=k?JZhi+1:59-Mo;
    		if(k)Mo=Hm=Js=0;
    		if(Mo>=59){TR0=0;k=1;Mo=Hm=Js=0;}
    		XianShi();
    		if(!QiTin)
    		{
    			//XianShi(/*巧借8个数码显示消抖*/);
    			unsigned char Yan_Shi=Js;
    			if(TR0==0)TR0=k=1;//重启中断
    			while(Js==Yan_Shi)XianShi();//中断消抖
    			if(!QiTin)if(!k)TR0=k; else k=0;//关闭中断,消抖后清除标记
    			while(!QiTin) XianShi(/*按下期间显示*/);
    		}
    	}
    }
    void ZhongDuan() interrupt 1
    {
    	++Js;
    	TH0+=0X4c;
    	TL0+=0X00;        
    }

     

    展开全文
  • 单片机倒计时,是m51单片机,当计时到0是,蜂鸣器会叫,led灯会闪烁
  • 51单片机-计时器-倒计时闹钟
  • 此资源为51单片机共阴数码管倒计时工程,理解原理之后,其实很简单,附件包含代码和仿真文件,(共阳类似)有需要请下载,如有问题请私信。
  • 51单片机-计时器-倒计时闹钟

    千次阅读 2020-02-27 12:22:53
    51单片机-计时器-倒计时闹钟 1. 视频 bilibili视频地址: 2. 文件 文件下载地址: 3. 说明 注意KeyScan()函数if语句! 蜂鸣器频率问题; 想到再补充。 4. 代码 #include <reg52.h> sbit BUZZER = P2^3; ...

    51单片机-计时器-倒计时闹钟


    1. 视频

    bilibili视频地址:

    https://www.bilibili.com/video/av91943244

    51单片机-计时器-倒计时闹钟

    2. 文件

    文件下载地址:

    https://download.csdn.net/download/weixin_43130546/12194355

    3. 说明

    注意KeyScan()函数if语句!
    蜂鸣器频率问题;
    想到再补充。

    4. 代码

    
    #include <reg52.h>
    
    sbit BUZZER = P2^3;
    
    sbit DULA = P2^6;
    sbit WELA = P2^7;
    
    sbit KEYOUT1 = P3^0;
    sbit KEYOUT2 = P3^1;
    sbit KEYOUT3 = P3^2;
    sbit KEYOUT4 = P3^3;
    sbit KEYIN1 = P3^4;
    sbit KEYIN2 = P3^5;
    sbit KEYIN3 = P3^6;
    sbit KEYIN4 = P3^7;
    
    unsigned char code DUTable[16] = 
    {
    	0x3F,0x06,0x5B,0x4F,
    	0x66,0x6D,0x7D,0x07,
    	0x7F,0x6F,0x77,0x7C,
    	0x39,0x5E,0x79,0x71
    };
    
    unsigned char code WETable[8] = 
    {
    	~0x80,~0x40,~0x20,~0x10,
    	~0x08,~0x04,~0x02,~0x01
    };
    
    unsigned char LedBuff[8] = 
    {
    	0x3F,0x00,0x00,0X00,
    	0X00,0X00,0X00,0X00
    };
    
    unsigned char code KeyCode[4][4] = 
    {
    	{0x31,0x32,0x33,0x26},		   //	1		2		3		up
    	{0x34,0x35,0x36,0x25},		   //	4		5		6		left
    	{0x37,0x38,0x39,0x28},		   //	7		8		9		down
    	{0x30,0x1B,0x0D,0x27}		   //	0		ESC		enter	right
    };
    
    unsigned char KeyStay[4][4] = 
    {
    	{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}
    };
    
    unsigned long pdata KeyTime[4][4] = 
    {
    	{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}
    };
    
    unsigned char T0RH,T0RL;
    bit enBuzz = 0;
    bit flagCount = 0;
    bit flag1s = 0;
    unsigned long CountNum = 0;
    
    void ConfigTimer0(unsigned char ms);
    void KeyDriver(void);
    void ShowNumber(void);
    
    void main(void)
    {
    	ConfigTimer0(1);
    	while(1)
    	{
    		KeyDriver();
    		if(flagCount && flag1s)
    		{
    			flag1s = 0;
    			if(CountNum > 0)
    			{
    				CountNum--;
    				ShowNumber();
    				if(0 == CountNum)
    				{
    					enBuzz = 1;
    					P1 = 0x00;
    					flagCount = 0;
    				}
    			}
    		}
    	}
    }
    
    void ConfigTimer0(unsigned char ms)
    {
    	unsigned long tmp;
    
    	tmp = 11059200 / 12;
    	tmp = tmp * ms / 1000;
    	tmp = 65536 - tmp;
    	tmp += 18;
    
    	T0RH = (unsigned char)(tmp>>8);
    	T0RL = (unsigned char)tmp;
    
    	TH0 = T0RH;
    	TL0 = T0RL;
    	TMOD &= 0xF0;
    	TMOD |= 0x01;
    	EA = 1;
    	ET0 = 1;
    	TF0 = 0;
    	TR0 = 1;
    }
    
    void ShowNumber(void)
    {
    	char i;
    	unsigned long num = CountNum;
    	unsigned char buff[8];
    
    	for(i=0; i<8; i++)
    	{
    		buff[i] = num % 10;
    		num /= 10;
    	}
    	for(i=7; i>=1; i--)
    	{
    		if(0 == buff[i])
    		{
    			LedBuff[i] = 0x00;
    		}
    		else
    		{
    			break;
    		}
    	}
    	for(; i>=0; i--)
    	{
    		LedBuff[i] = DUTable[buff[i]];
    	}
    }
    
    void KeyAction(unsigned char KeyCoder)
    {
    	if((0x26 == KeyCoder) || (0x25 == KeyCoder))
    	{
    		if(CountNum < 99999999)
    		{
    			CountNum++;
    			ShowNumber();
    		}
    	}
    	else if((0x28 == KeyCoder) || (0x27 == KeyCoder))
    	{
    		if(CountNum > 0)
    		{
    			CountNum--;
    			ShowNumber();
    		}
    	}
    	else if(0x0D == KeyCoder)
    	{
    		flagCount = 1;
    	}
    	else if(0x1B == KeyCoder)
    	{
    		enBuzz = 0;
    		//P1 = 0xFF;
    		flagCount = 0;
    		CountNum = 0;
    		ShowNumber();
    	}
    }
    
    void KeyDriver(void)
    {
    	unsigned char i,j;
    	static unsigned char KeyBack[4][4] = 
    	{
    		{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}
    	};
    	static unsigned long pdata KeyTimer[4][4] = 
    	{
    		{1000,1000,1000,1000},{1000,1000,1000,1000},
    		{1000,1000,1000,1000},{1000,1000,1000,1000}
    	};
    
    	for(i=0; i<4; i++)
    	{
    		for(j=0; j<4; j++)
    		{
    			if(KeyStay[i][j] != KeyBack[i][j])
    			{
    				if(1 == KeyBack[i][j])
    				{
    					P1 = 0x00;
    					KeyAction(KeyCode[i][j]);
    				}
    				else
    				{
    					P1 = 0xFF;
    				}
    				KeyBack[i][j] = KeyStay[i][j];
    			}
    
    			if(KeyTime[i][j] > 0)
    			{
    				if(KeyTime[i][j] >= KeyTimer[i][j])
    				{
    					KeyTimer[i][j] += 200;
    					if((KeyCode[i][j] == 0x26) || (KeyCode[i][j] == 0x28))
    					{
    						enBuzz = 1;
    						KeyAction(KeyCode[i][j]);
    						enBuzz = 0;
    					}
    				}
    			}
    			else
    			{
    				KeyTimer[i][j] = 1000;
    			}
    		}
    	}
    }
    
    void LedScan(void)
    {
    	static unsigned char i = 0;
    
    	P0 = 0x00;
    	DULA = 1;
    	DULA = 0;
    	P0 = WETable[i];
    	WELA = 1;
    	WELA = 0;
    	P0 = LedBuff[i];
    	DULA = 1;
    	DULA = 0;
    
    	i++;
    	if(i>=8)
    	{
    		i = 0;
    	}
    }
    
    void KeyScan(void)
    {
    	unsigned char i;
    	static unsigned char KeyOut = 0;
    	static unsigned char KeyBuff[4][4] = 
    	{
    		{0xF,0xF,0xF,0xF},{0xF,0xF,0xF,0xF},
    		{0xF,0xF,0xF,0xF},{0xF,0xF,0xF,0xF}
    	};
    
    	KeyBuff[KeyOut][0] = (KeyBuff[KeyOut][0] << 1) | KEYIN1;
    	KeyBuff[KeyOut][1] = (KeyBuff[KeyOut][1] << 1) | KEYIN2;
    	KeyBuff[KeyOut][2] = (KeyBuff[KeyOut][2] << 1) | KEYIN3;
    	KeyBuff[KeyOut][3] = (KeyBuff[KeyOut][3] << 1) | KEYIN4;
    
    	for(i=0; i<4; i++)
    	{
    		if(0x00 == (KeyBuff[KeyOut][i] & 0x0F))
    		{
    			KeyStay[KeyOut][i] = 0;
    			KeyTime[KeyOut][i] += 4;
    		}
    		else if(0x0F == (KeyBuff[KeyOut][i] & 0x0F))
    		{
    			KeyStay[KeyOut][i] = 1;
    			KeyTime[KeyOut][i] = 0;
    		}
    	}
    
    	KeyOut++;
    	KeyOut &= 0x3;
    
    	switch(KeyOut)
    	{
    		case 0 : KEYOUT4 = 1; KEYOUT1 = 0; break;
    		case 1 : KEYOUT1 = 1; KEYOUT2 = 0; break;
    		case 2 : KEYOUT2 = 1; KEYOUT3 = 0; break;
    		case 3 : KEYOUT3 = 1; KEYOUT4 = 0; break;
    		default : break;
    	}
    }
    
    void BuzzScan(void)
    {
    	if(enBuzz)
    	{
    		BUZZER = ~BUZZER;
    	}
    	else
    	{
    		BUZZER = 1;
    	}
    }
    
    void InterruptTimer0(void) interrupt 1
    {
    	static unsigned int tmr1s = 0;
    
    	TH0 = T0RH;
    	TL0 = T0RL;
    
    	LedScan();
    	KeyScan();
    	BuzzScan();
    
    	if(flagCount)
    	{
    		tmr1s++;
    		if(tmr1s>=1000)
    		{
    			tmr1s = 0;
    			flag1s = 1;
    		}
    	}
    	else
    	{
    		tmr1s = 0;
    	}
    }
    
    
    展开全文
  • 本文仅记录我自己瞎搞的...我的单片机长这样:JD51单片机开发板(我也不知道为啥他为啥传上来就斜了)开发板原理图我初步写的程序:#include <reg52.h> #define uchar unsigned char #define uint unsigned ...
  • 单片机倒计时程序

    2017-09-29 00:41:16
    //基于51单片机倒计时器 //时间范围0-99分 //其中shutdownIO为断开单片机自锁的电源用,可不用,就可以循环演示。倒计时运行后仍然可以加减时间
  • 51单片机59秒倒计时

    2018-07-18 20:39:11
    51单片机59秒倒计时例子程序,采用软件延时方法,附有详细注解,c语言
  • 51单片机定时倒计时

    2018-08-20 20:37:05
    p0连8段码LED的数据,LED从左到右p1.0连第一位,p1.1第二位,p1.2第三位,p1.3第四位,按键p1,4连K1,p1.5连K2,p1,6连K3,p1.7连K4,p3.5连K5,,
  • 基于51单片机倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目。起初,我设计和选择的是12864显示简易...
  • 51 单片机 定时器 倒计时 电子钟 闹钟 c语言
  • 本文仅记录我自己瞎搞的...我的单片机长这样:JD51单片机开发板(我也不知道为啥他为啥传上来就斜了)开发板原理图我初步写的程序:#include <reg52.h> #define uchar unsigned char #define uint unsigned ...
  • 用中、小规模集成电路和分立元件设计四位倒计时报警电路。 主要技术指标: 1.四位计数器实现倒计时; 2.能够设置四位计数器的初始值,一个位选键、一个+键、一个-键和一个确定键,通过四个键对四位计数器的每位...
  • 51单片机用定时器做300s倒计时器,适用于初学者
  • 51单片机59秒倒计时例子程序,利用中断法,有详细注解,蛮有用的~
  • 基于51单片机倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目。起初,我设计和选择的是12864显示简易...
  • 计时器能够实现篮球比赛单节12分钟计时的要求,键盘控制具有暂停计时和重新给分和秒重新置数的以及继续计时的功能,
  • 系统由STC89C52单片机+按键电路+复位电路+晶振电路+LCD1602显示模块构成。 具体功能: (1)六位LED显示,从59分59秒99开始...(2)倒计时精度为0.01秒,能正确地进行倒计时; (3)复位后倒计时重新回到初始状态。
  • 51单片机学习 数码管 倒计时

    千次阅读 2020-03-30 20:01:27
    51单片机学习 数码管 倒计时 简介 1.硬件部分 普中单片机 开发板 (138译码器控制)数码管 2.软件部分 keil软件 硬件部分 138译码器 简介 74LS138 为3 线-8线译码器,共有 54LS138和 74LS138 两种线路结构型式。54...
  • 有关51单片机倒计时功能的倒计时表的设计,实现倒计时的功能
  • 基于51单片机倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目。起初,我设计和选择的是12864显示简易...
  • C代码,(stc51系列单片机),利用51单片机做的可存储延时,倒计时开关程序。4位数码管+两片595级联驱动+24c02存储延时时间

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 393
精华内容 157
关键字:

51单片机倒计时