导航:首页 > 操作系统 > 51单片机数码管万年历

51单片机数码管万年历

发布时间:2022-09-27 21:21:30

⑴ 51单片机万年历能加什么功能

51万年历最基本的可以实现年月日的显示,如果想要丰富功能,可以加入按键,用来调节时间。可以用蜂鸣器实现闹钟功能,除了在数码管上显示外,还可以用led点阵显示……能加的东西很多,要根据你想的功能来实现。

⑵ 单片机做万年历用数码管的优缺点

优点,定时精准,缺点,电路复杂成本高。
数码管万年历的设计原理是利用AT89C5单片机内部定时/计数器TO的模式2(8位自动重装初值)产生一个时间为250us的信号,再计数4000次产生1S的时间后发出中断,再由单片机进行数据处理后,送人数码管(共阴极数码管)显示(动态显示)。

⑶ 用51单片机单片机做数码管万年历,要什么芯片驱动数码管比较好呢

用74HC573锁存器,只如果是14个数码管的话,用3个锁存器就够了。
一共需要用到单片机的11个IO口

⑷ 51单片机做的万年历两个8位数码管显示日期时间,一个两位数码管显示温度,一个一位数码管显示星期,

用单片机做万年历,最好是再加一片DS1302之类的时钟芯片,还有电池(超级电容也可以)。
否则时间不准的。还容易出问题,程序量也大。
52单片机驱动19位数码管没什么问题,内存中建立每一位的缓存变量,中断里面依次动态扫描就行了。

⑸ 求一基于51单片机的万年历,显示年 月 日 农历 星期 温度 时间 ,不用实时的时钟芯片 。用数码管显示,

建议改下方案,用实时时钟芯片会方便些,因为,通过编程做时钟运行没问题,精度也绝对可以做到比一些常用的时钟芯片高,但做成万年历时,星期还好,大小月、闰月等等很麻烦,如果在加上农历,就更麻烦,另外这样的系统一旦断电就要重新设置,至于EEPROM等也不一定很稳定。

⑹ 51单片机实现万年历

可以实现秒.MS都可以
时钟芯片用DS12887就可以了,15元左右,挺方便,不用外接其他东西.
不过需要注意一下,好象DS12887的读引脚是高电平有效,和单片机连的饿时候要接反向器,或者用三极管也行.

⑺ 基于51单片机制作万年历,用数码管,定时器,不用时钟芯片,不用液晶,怎么做求大神解,原理图和C程序

基于51单片机制作万年历,用两个8位一体的共阴数码管,显示日期和时间。数码管位选用两片74HC138,便于动态扫描显示,又节省引脚。用3个按键调时,K1为选择调时状态,K2为加1键,K3为减1键。

仿真图如下:

⑻ C51单片机8位数码管万年历时间+日期

这个不难,但是很繁琐的。
1、你要实现按键功能,目测你要软件查询实现。
2、LCD1602驱动,不难,网上代码一堆。
3、计时功能:要用到定时器,也不是很难。
4、实现数字加减,数字位置(很烦)
5、校时(其实就是调整数字)
6、日历和时间没有本质区别,都一样。

⑼ 用51单片机设计数码管万年历系统 要求 ⑴能显示阳历年、月、日、星期(2)能够人为校正年、月、日、星期

不好意思,现在比较忙,帮你做实在是不行,不过我有之前做过的毕设,你可以改改,想要的话可以联系我

⑽ C51单片机的万年历程序设计

我这有个数码管显示的程序
以前做的,。。
你可以在我这个程序上修改修改
包括键盘扫描,还有动态显示



【。。。】
#include
//常量参数
#define TMODW 0x01;
#define SCONW 0x00;
#define xplay 0x04;//显示分频系数
//显示位选
unsigned char data stb;
//键值缓存,0xFF无键命令
unsigned char data keynum;
//显示字型变量
unsigned char data play[8];
//工作参数
unsigned char data l,m;
//字型码
unsigned char code BCDPC[10]=
{0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};
//字位码
unsigned char code STBCODE[8]=
{0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80 };
//400Hz xplay分频计数
unsigned char data cttime;
//时钟参数
unsigned char data hr,min,sec,sec100;
//调整时钟参数(时钟“走”)
void ct1()
{sec100++;
if (sec100==100)
{sec100=0;sec++;
if (sec==60)
{sec=0;min++;
if (min==60)
{min=0;hr++;
if (hr==24) hr=0;
}
}
}
}
//时钟参数→LED 显示缓存7段参数转换函数;
void xcplay()
{play[0]=BCDPC[hr/10];
play[1]=BCDPC[hr%10];
play[2]=BCDPC[min/10];
play[3]=BCDPC[min%10];
play[4]=BCDPC[sec/10];
play[5]=BCDPC[sec%10];
play[6]=BCDPC[sec100/10];
play[7]=BCDPC[sec100%10];
}
//显示扫描
void cplay()
{T0=1;//T0-高电平消隐
T1=0;//T1-低电平准备发脉冲前沿
TI=0;//?
P1=0;//?
SBUF=STBCODE[stb];
while (TI==0)
{
};
TI=0;
SBUF=play[stb];
while (TI==0)
{
};
T1=1;
T0=0;
stb=++stb&0x07;
}

extern void cthl0();
//定时器0中断处理程序
void ct0(void) interrupt 1 using 1
{cthl0();
cttime--;
if (cttime==0)
{cttime=xplay;
ct1();//调用时钟“走”函数
xcplay();//调用时钟参数→Led显示缓存转换函数
};
cplay();
}
void w20ms()
{for (l=0;l<41;l++)
{for (m=0;m<81;m++)
{
}
}
}
void tkey()
{P1=0xF0;
keynum=0xFF;
if (P1!=0xF0)
{w20ms();
P1=0xF0;
if (P1!=0xF0)
{P1=0xFE;
switch (P1)
{case 0xEE:keynum=0;break;
case 0xDE:keynum=1;break;
case 0xBE:keynum=2;break;
case 0x7E:keynum=3;break;
}
P1=0xFD;
switch (P1)
{case 0xED:keynum=4;break;
case 0xDD:keynum=5;break;
case 0xBD:keynum=6;break;
case 0x7B:keynum=7;break;
}
P1=0xFB;
switch (P1)
{
case 0xEB:keynum=8;break;
}
};
};
P1=0x00;
}
void command()
{switch (keynum)
{
case 0:{hr=hr+1;
if (hr==24)
hr=0;
}
break;

case 1:{min=min+1;
if (min==60)
min=0;
}
break;

case 2:{sec=sec+1;
if (sec==60)
sec=0;
}
break;

case 3:{sec100=0;
}
break;

case 4:{
while(!(P1=0xED))
{
hr=0;
min=0;
sec=0;
}
}
break;

case 5:{hr=hr-1;
if (hr==00)
hr=24;
}
break;
case 6:{min=min-1;
if (min==00)
min=59;
}
break;

case 7:{sec=sec-1;
if (sec==00)
sec=0;
}
break;

case 0xFF:break;
}
keynum=0xFF;
}
main ()
{ hr=8;
min=5;
sec=8;
sec100=0;
TMOD=TMODW;
SCON=SCONW;
ET0=1;
TR0=1;
EA=1;
cttime=xplay;
while (1)
{w20ms();
tkey();
command();

};
}

阅读全文

与51单片机数码管万年历相关的资料

热点内容
五菱宏光空调压缩机 浏览:64
为什么app占用几百兆 浏览:676
自动解压失败叫我联系客服 浏览:482
易语言新手源码 浏览:456
oa服务器必须有固定ip地址 浏览:42
传奇源码分析是什么 浏览:267
解放压缩机支架 浏览:255
程序员秃顶搞笑相遇 浏览:6
IBM手机app商店叫什么名字 浏览:834
jpeg压缩质量 浏览:774
云服务器评测对比 浏览:145
java日期转string 浏览:221
openfire源码编译 浏览:897
在线小工具箱引流网站源码 浏览:337
非科班程序员自学 浏览:801
压缩泡沫鞋底底材 浏览:220
程序员职场第一课2正确的沟通 浏览:681
遇到不合法app应该怎么办 浏览:92
汇编程序编译后的文件 浏览:81
大智慧均线源码 浏览:374