标题:
简易单片机电子表设计(无按键,不能修改,后续会继续更新)
[打印本页]
作者:
还挺
时间:
2021-4-20 08:57
标题:
简易单片机电子表设计(无按键,不能修改,后续会继续更新)
51hei图片_20210420085313.jpg.png
(216.38 KB, 下载次数: 38)
下载附件
2021-4-20 09:01 上传
参考单片机C语言1:
#include <reg52.h>
void delay(unsigned int t)
{
while (--t);
}
char ledwei=P1;
int m;
unsigned int hour,sec,min;
char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9//
/*********定时器初始化子程序********/
void time0(void)
{
TMOD |=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
/************数码管显示*************/
void display()
{
ledwei=0x2f;
P0=a[hour/10];
delay(100);
led1wei=0xff;
delay(100);
ledwei=0x1f;
P0=a[hour%10];
delay(100);
ledwei=0xff;
delay(100);
ledwei=0x37;
P0=a[min/10];
delay(100);
ledwei=0xff;
delay(100);
ledwei=0x3b;
P0=a[min%10];
delay(100);
ledwei=0xff;
delay(100);
ledwei=0x3d;
P0=a[sec/10];
delay(100);
ledwei=0xff;
delay(100);
ledwei=0x3e;
P0=a[sec%10];
delay(100);
ledwei=0xff;
delay(100);
}
void main()
{
time0();
while(1)
{
display();
if(m==20)
{
m=0;
sec++;
if (sec==60)
{
sec=0;
min++;
if (min==60)
{
min=0;
hour++;
if (hour==24)
{
sec=0;
hour=0;
}
}
}
}
}
}
/***********定时器实现24小时循环*******/
void time1(void) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++;
}
参考语言2
#include <reg52.h>
void delay(unsigned int t)
{
while (--t);
}
sbit led1wei=P1^1;
sbit led2wei=P1^2;
sbit led3wei=P1^3;
sbit led4wei=P1^4;
sbit led5wei=P1^5;
sbit led6wei=P1^6;
int m;
unsigned int hour,sec,min;
char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9//
/*********定时器初始化子程序********/
void time0(void)
{
TMOD|=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
/************数码管显示*************/
void display()
{
led1wei=0;
P0=a[hour/10];
delay(100);
led1wei=1;
delay(100);
led2wei=0;
P0=a[hour%10];
delay(100);
led2wei=1;
delay(100);
led3wei=0;
P0=a[min/10];
delay(100);
led3wei=1;
delay(100);
led4wei=0;
P0=a[min%10];
delay(100);
led4wei=1;
delay(100);
led5wei=0;
P0=a[sec/10];
delay(100);
led5wei=1;
delay(100);
led6wei=0;
P0=a[sec%10];
delay(100);
led6wei=1;
delay(100);
}
void main()
{
time0();
delay(50000);
while(1)
{
display();
if(m==20)
{
m=0;
sec++;
if (sec==60)
{
sec=0;
min++;
if (min==60)
{
min=0;
hour++;
if (hour==24)
{
sec=0;
由于篇幅有限 第二参考语言不完整,关于按键设计,大家可以自行设计
所有文件在附件中
DZSZ.rar
(42.46 KB, 下载次数: 6)
2021-4-20 08:56 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
还挺
时间:
2021-4-20 09:52
新手,欢迎大佬批评指正,,跟新内容:
http://www.51hei.com/bbs/dpj-209859-1.html
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1