51单片机通过计时器实现倒计时

这篇具有很好参考价值的文章主要介绍了51单片机通过计时器实现倒计时。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

51单片机通过计时器实现倒计时

实验环境


软件: Keil5+Proteus7

元件: AT89C51 * 1,7SEG-MPX2-CA * 1

单片机倒计时器,51单片机,51单片机,单片机

仿真图


单片机倒计时器,51单片机,51单片机,单片机

代码实现


//名称: 定时器实现数码管倒计时
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define SEG P3

sbit SCON1 = P2^0; 
sbit SCON2 = P2^1;

uchar num=15,ge,shi;
uchar count=0;
uchar flag;

//定义表格存放共阳极LED的点阵码
unsigned char code ledTab[]={
	0xC0, // 1100 0000 数字0
	0xF9, // 1111 1001 数字1
	0xA4, // 1010 0100 数字2
	0xB0, // 1011 0000 数字3
	0x99, // 1001 1001 数字4
  	0x92, // 1001 0010 数字5
	0x82, // 1000 0010 数字6
	0xF8, // 1111 1000 数字7
	0x80, // 1000 0000 数字8
	0x90  // 1001 0000 数字9
};  

void T0INTinit() //定时器T0初始化1秒
{
	TMOD=0x01;
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	EA=1;
	ET0=1;
	TR0=1;
}


void T0INT() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
flag++;
	if(flag==20)//当定时到1秒时执行花括号里面的语句
	{
		flag=0;
	  num--;
    if (num == 0)
     num = 15;
	}
}


//主程序
void main(){
	T0INTinit();
	while(1){	//死循环
		SEG=0xff; //消影,不然只显示一位
		shi = num / 10;
		ge = num % 10;
		switch(count){	
			//通过余晖效应,虽然是不同时间,但人眼感觉是一起亮的
			case 0: SCON1=0;SCON2=1;SEG=ledTab[ge];break;
			case 1: SCON1=1;SCON2=0;SEG=ledTab[shi];break;
		}
		count++;
		if(count>1) count=0;
	}
}

成果图


单片机倒计时器,51单片机,51单片机,单片机文章来源地址https://www.toymoban.com/news/detail-564862.html

到了这里,关于51单片机通过计时器实现倒计时的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式单片机——60秒计时器的实现

    1.设计秒计时器,要求实现60秒计时,用2位LED数码管显示。 2.按键K1,实现秒表的停止和启动。

    2024年02月03日
    浏览(33)
  • 基于PIC单片机篮球计分计时器

    一、系统方案 本设计采用PIC单片机作为主控制器,矩阵键盘控制,比分,计时控制,24秒,液晶12864显示。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 2、液晶显示程序 /******************************************************************************************** 函数名

    2024年02月11日
    浏览(28)
  • 单片机第一季:零基础6——定时器和计时器

    目录 1,单片机定时器原理 2,51单片机定时器/计数器结构 3,定时器配置  4,示例代码-通过定时器控制LED灯间隔1s闪烁  51 单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。 定时器/计数器和单片机的CPU 是相互独立的。定时器/计数器工作

    2024年02月15日
    浏览(38)
  • 51单片机实现倒计时,按键控制倒计时

    基于AT89C52的答辩倒计时。四个按键分别控制倒计时开始,暂停,时间加和减。剩下30S时蜂鸣器响,倒计时结束蜂鸣器响。  

    2024年02月07日
    浏览(39)
  • C51单片机——通过使用定时器控制LED闪灭

    目录 0 引言 1 定时的原理 1.1 生活中的定时 1.2单片机中的定时器 2 C语言程序设计 2.1 定时器的内部功能 2.2 设置寄存器 2.3 实验程序 3 有两个小问题(算是延伸吧) 3.1 只能0.05s闪一次吗? 3.2 每次都要在草稿纸手算初始值好麻烦

    2024年02月06日
    浏览(56)
  • 51单片机-定时器(简易时钟的实现)

    最近在学习51单片机,学到了 定时器 这块,由于自己的基础不太扎实,在这方面花了很多时间,这里通过对定时器和中断的介绍,用 简易时钟 这个例子来对学习的内容进行加深巩固,把自己的经验分享给大家,希望对大家能够有帮助。 其实就是单片机的内部,通过系统时钟

    2024年02月03日
    浏览(40)
  • C51单片机定时器2实现SG90舵机控制

    谈起舵机最初的了解应用于航模,偶然的机会在网上看到有牛人使用多个舵机做人形机器人的关节,感觉这小东西很有趣,蒙发了买来学习学习的想法,这已经是多年前的事了,后来由于某些原因,这个想法直到今年才落地。小东西到手后,把玩了解后,本人把学习过程记录

    2023年04月24日
    浏览(39)
  • 51单片机入门 - 详解定时器实现按键控制流水灯方向

    操作系统:Windows 10 x84-64 单片机:STC89C52RC 编译器:SDCC 烧录软件:stcgal 1.6 开发板:普中51单片机开发板A2套件(2022) 在 VS Code 中新建项目到烧录的过程: 左侧EIDE图标 - 新建项目 - 空项目 - 8位MCU项目 - 保存文件夹。 更改构建配置: SDCC ;更改烧录配置: stcgal 。 在项目文件

    2024年02月06日
    浏览(31)
  • 通过51单片机实现直流电机调速

    随着各种工业生产设备和机械设备的广泛使用,直流电机调速技术的研究和应用越来越受到人们的重视,具有广泛的应用前景。本项目通过51单片机实现直流电机调速功能,为实际工程应用提供一个可靠和有效的调速方案。 如果需要下载项目工程,可以去这里: https://blog.c

    2024年02月14日
    浏览(31)
  • 基于51单片机的倒计时秒表proteus仿真设计

    目录 一、设计背景 二、实现功能 三、仿真演示 四、源程序         近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的数字电子秒表倒计时设计,倒计时精度达0.05s了,解决了传统的由于倒计时精度不够造成的误差和不公平性,是各种

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包