51单片机开发板6位数按秒计时程序
2025-09-30 来源:bilibili
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,m,a,b,c,d,e,f;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f);
void delay(uint z);
void init();
void main()
{
init();
while(1)
{
if(m==20)
{
m=0;
temp++;
a=temp/1000000;
b=temp%100000/10000;
c=temp%10000/1000;
d=temp%1000/100;
e=temp%100/10;
f=temp%10;
if(temp==1000000)
{
temp=0;
}
}
display(a,b,c,d,e,f);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)
{
dula=1;P0=table[a];dula=0;wela=1;P0=0xfe;wela=0;delay(1);P0=0xff;
dula=1;P0=table[b];dula=0;wela=1;P0=0xfd;wela=0;delay(1);P0=0xff;
dula=1;P0=table[c];dula=0;wela=1;P0=0xfb;wela=0;delay(1);P0=0xff;
dula=1;P0=table[d];dula=0;wela=1;P0=0xf7;wela=0;delay(1);P0=0xff;
dula=1;P0=table[e];dula=0;wela=1;P0=0xef;wela=0;delay(1);P0=0xff;
dula=1;P0=table[f];dula=0;wela=1;P0=0xdf;wela=0;delay(1);P0=0xff;
}
void init()
{
wela=0;
dula=0;
temp=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
PT0=1;
TR0=1;
}
void timer() interrupt 1
{
TR0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++;
TR0=1;
}
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




