基于51单片机倒计时秒表99-00仿真设计

news/2024/11/7 14:27:54/

基于51单片机倒计时秒表99-00仿真设计

这里写目录标题

  • 基于51单片机倒计时秒表99-00仿真设计
    • 仿真电路
    • 程序
      • 主函数
      • 数码管显示
    • 百度云下载链接

(源码+仿真)

仿真原版本:proteus 7.8

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0017

功能说明:

该设计为99-0秒反向计时的秒表,能够通过数码管或液晶显示读秒,该系统主要包括单片机最小系统、显示单元、定时计数器设计。

系统要求启动秒表后,从99开始计时,计到0秒停止,中途可以通过按键控制暂停/继续读秒,复位后能够重新从99开始读秒。

仿真电路

倒计时开始

img

倒计时到62秒

img

程序

主函数

主要完成定时器,外部中断的初始化和循环显示倒计时数值。

void main()
{EA=1;	//开总中断EX0=1;//外部中断0EX1=1;//外部中断1IT0=1;//设置下降沿触发中断0IT1=1;//设置下降沿触发中断1TMOD=0X01;//T0的工作模式为模式1TH0=(65536-50000)/256;	 TL0=(65536-50000)%256;//12M晶振 定时器1定时50毫秒溢出初值ET0=1; //允许定时器1中断TR0=1;//启动定时器0  sec_cnt =0;while(1){	led_sacn();				  		//数码管显示,时刻刷新if(flag1s&&state)						//一秒执行一次{flag1s=0;if(sec_cnt<99){sec_cnt++;			//秒数递增}}}
}

数码管显示

void led_sacn()
{seg_disp(sec_cnt/10,0);//显示W0控制的数码管 时刻刷新seg_disp(sec_cnt%10,1);//显示W1控制的数码管}void seg_disp(uchar number,uchar wei)//数码管动态显示程序 wei代表数码管W0 W1 W2 W3的位选
{P0=0XFF;//清零,防止重影if(wei == 0){//显示第一位W0=0;W1=1;P0=seg_du[number];delay_ms(2);W0=1;}if(wei == 1){//显示第二位W0=1;W1=0;	P0=seg_du[number];delay_ms(2);W1=1;}}void delay_ms(ms)	  //延时 大概精度
{uchar value=ms,i;while(value--) for(i=0;i<110;i++);
}

百度云下载链接

----下载----


http://www.ppmy.cn/news/615625.html

相关文章

c语言 自动计时的秒表,c语言实现的简单秒表计时器

#include #include #include #include struct tm //定义时间结构体&#xff0c;包括时分秒和10毫秒 { int hours,minutes,seconds; int hscd; }time,tmp,total; //time用以计时显示&#xff0c;tmp用以存储上一阶段时间&#xff0c;total记总时间 int cnt; FILE* fout; //每…

蓝桥杯STM32F103RB数码管计时(秒表)

STM32F103RB数码管定时&#xff08;秒表&#xff09; 硬件单路配置TIM2及其中断代码片如下(示例)中断执行函数代码片如下(示例)seg.c(数码管)代码片如下(示例)完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git) 实验功能&#xff1a;三位数码管实现十分…

51单片机0-99秒表计数器+60秒倒计时(数码管两位数)

51秒表计数器倒计时&#xff08;数码管两位数&#xff09; 一&#xff1a;简介 我们实践的效果是用数码管显示0~99并在按下“转换键”后&#xff0c;实现60秒倒计时&#xff0c;并用蜂鸣器报警提示&#xff0c;兼并计数器和倒计时两种功能。 主要内容包括&#xff1a; 1.认识数…

使用定时器按键扫描数码管制作一个可存储数据的秒表

目录 1.前言 1.1实验现象 1.2 项目资源 2.主要程序及解释 2.1中断中进行按键扫描 2.2 中断中进行数码管扫描 2.3中断中进行秒表的驱动 2.4主函数 1.前言 1.1实验现象 实验现象&#xff1a;按下K1并松开按键秒表开始计时&#xff0c;按下K2并松开按键秒表停止计时&…

【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。

LCD1602显示字符和时间是最基本的实验&#xff0c;在综合前面所学知识并结合c语言程序设计&#xff0c;就可以通过独立按键&#xff0c;来对时间进行校准&#xff0c;计时等功能、或者通过矩阵键盘的按键进行输入&#xff0c;进而让LCD屏上显示的出我们想要的内容和效果。应实验…

KST-51单片机:c语言编程实现数码管动态显示秒表的倒计时

/*60S倒计时*/ /*个位每1S变一次&#xff0c;从0&#xff5e;9*/ /*十位,个位为0的下一秒十位发生变化*/#include<reg52.h>sbit ADDR0P1^0; sbit ADDR1P1^1; sbit ADDR2P1^2; sbit ADDR3P1^3; sbit ENLEDP1^4;unsigned char code LedChar[] { 0xC0,0xF9,0xA4,0xB0,0x99,0…

stm32倒计时秒表proteus_单片机课程设计倒计时秒表教程文件

精品文档 精品文档 一、设计目的 此次设计是我们更进一步了解基本电路的设计流程&#xff0c;提高自己的设计理念&#xff0c; 丰富自己的理论知识&#xff0c;巩固所学知识&#xff0c;使自己的动手动脑能力有更进一步提高&#xff0c; 为自己今后的学习和工作打好基础&#x…

android手机时钟、闹钟、计时器、秒表app源码

简 介 此多功能闹钟界面采用TabHost框架&#xff0c;头部包含分别用LinearLayout水平布局显示四个标签闹钟&#xff0c;时钟&#xff0c;计时器和秒表&#xff0c;FrameLayout框架内部采用LinearLayout垂直布局。功能事件的基本实现分别有AlarmView类&#xff0c;AlarmReceiver…