全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

如何实现一种基于51单片机的00-99秒表C语言设计?

时间:2023-07-31 10:00

人气:

作者:admin

标签: 51单片机  C语言  数码管   

导读:如何实现一种基于51单片机的00-99秒表C语言设计?-51单片机00到99,2位数码管显示。上电前显示00,一共2个按键,一个启动,另一个清零功能,显示到99后不变化,程序可自行修改。...

51单片机00到99,2位数码管显示。上电前显示00,一共2个按键,一个启动,另一个清零功能,显示到99后不变化,程序可自行修改。

wKgZomTHFjaATgS-AAC4DeQNSLM167.jpg

wKgaomTHFjaAZfmgAABsgUlTWzs837.jpg

wKgZomTHFjaAMSLvAAB1aMUM8l4154.jpg

原理图仅供参考,能看懂程序必定会接线。

#include <89c51.h>

#define uchar unsigned char

#define uint unsigned int

#define dula P22

#define wela P23

uchar tab[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};

uchar num,t,shi,ge;

void init();

void timer0();

void display();

void delay(uchar);

sbit KEY1 = P3^6;

sbit KEY2 = P3^7;

void main()

{

init();

while(1)

{

timer0();

display();

 


 

if(KEY1 == 0)

{

if(TR0 == 0)

{

t = 0;

num = 0;

TR0=1;

}

}

 


 

else if(KEY2 == 0)

{

TR0 = 0;

TF0 = 0;

t = 0;

num = 0;

TR0=0;

}

}

}

void init()

{

num=t=0;

TMOD=0x01;

TH0=(65536-15536)/256;

TL0=(65536-15536)%256;

EA=1;

ET0=1;

}

void timer0()

{

if(TF0==1)

{

TF0=0;

t++;

if(t==20)

{

 


 

t=0; num++;

}

}

}

void display()

{

if(num >= 99)

{

//num = 0;

 


 

if(TR0) TR0=0;

}

wKgZomTHFnaAIfNCAABNl1QdO7k703.jpg

}

void delay(uchar x)

{

 


 

int i,j;

for(i=x;i>0l;i--)

for(j=255;j>0;j--);

}




审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信