/***********************************************/
//作者: 元培电信1601旺仔 2018/1/6
/***********************************************/
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
#define N 2500
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f};//显示0~9的值
u16 number[9];
u16 minute,sec,mse,i,a; //这里的minute是分计时部分,sec是秒部分,mse是毫秒部分
void _time();
void timedeal();
void display();
void main()
{
minute=0;sec=0;mse=0;
i=0;a=0;
_time();
timedeal();
while(1)
{
timedeal();
display();
}
}
void timedeal()
{
number[0]=mse%10; //时,分,秒每个两位
number[1]=mse/10;
number[3]=sec%10;
number[4]=sec/10;
number[6]=minute%10;
number[7]=minute/10;
}
void display()
{
if(a==5)
{
mse++;
a=0;
}
if(mse>99)
{
mse=
基于51的数码管计数器
最新推荐文章于 2024-08-29 16:33:04 发布
本文介绍了一个基于51单片机的数码管计数器设计,通过定时器中断实现毫秒、秒和分钟的计时,并通过数码管显示。程序中包含了数码管显示数值的数组、计时处理函数和中断服务函数。
摘要由CSDN通过智能技术生成