❶ 基于51单片机的万年历
只需要专注三块第块调节LED数码管显示搞显示方面学习
第二块显示了基础上弄DS1302程序做DS18B20程序弄调节按钮程序
fbeqkacpnl参考哈·····
❷ 用单片机做个万年历
如果你用液晶的话,加个1602,再加上4个按键就可以了。
如果你用数码管的话,还要买一片154.
最好加上蜂鸣器,和几个LED做指示灯
硬件很容易做出来,软件就麻烦点了,需要看一下1602的用法(用数码管就可略此步了)1302的用法。
之后,做电路板估计要厂家做,自己设计到厂家做好至少2周吧,硬件焊接加测试几天完活,软件设计很漫长,如果只用业余时间做,至少2周。
祝你成功
❸ 有关51单片机制作一个万年历
LCD功耗低,驱动较数码管复杂。
晶振可考虑采用32,768kHz,容易实现半秒和1秒的定时。
❹ 51单片机实现万年历
可以实现秒.MS都可以
时钟芯片用DS12887就可以了,15元左右,挺方便,不用外接其他东西.
不过需要注意一下,好象DS12887的读引脚是高电平有效,和单片机连的饿时候要接反向器,或者用三极管也行.
❺ 单片机万年历设计
#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit DS1302_CLK = P3^1;sbit DS1302_IO = P3^2;sbit DS1302_RST = P3^0;uchar a,b,c,d,e,f,g,h;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar wr_data[8]={0x11,0x12,0x06,0x02,0x10,0x53,0x10};uchar readtimeR[8];void delays(uint n){while(n--);}/*****************************************************************************函数功能:写DS1302一个字节子程序入口参数:出口参数:*****************************************************************************/void sendbyte(uchar a){uchar i,temp;temp=a;for(i=8;i>0;i--) { if(temp&0x01) //先发低位DS1302_IO=1;elseDS1302_IO=0;temp=temp>>1;DS1302_CLK=1;delays(5);DS1302_CLK=0;delays(5); }}/*****************************************************************************函数功能:读DS1302一个字节子程序入口参数:出口参数:*****************************************************************************/uchar readbyte(void){uchar i,dat=0;for(i=8;i>0;i--) {DS1302_IO=1;dat>>=1; if(DS1302_IO) dat|=0x80; DS1302_CLK=1;delays(5);DS1302_CLK=0;}return dat;} /*****************************************************************************函数功能:写DS1302地址子程序入口参数:add入口数据:dat*****************************************************************************/void write_DS1302(uchar address,uchar dat){DS1302_RST=0;delays(10);DS1302_CLK=0;delays(10);DS1302_RST=1;delays(5);sendbyte(address);delays(5);sendbyte(dat);DS1302_RST=0;DS1302_CLK=0;}/*****************************************************************************函数功能:读DS1302地址子程序入口参数:add出口参数:readtimeR[]*****************************************************************************/uchar read_DS1302(uchar address){ uchar timer;DS1302_RST=0;delays(2);DS1302_CLK=0;delays(2);DS1302_RST=1;sendbyte(address); timer=readbyte();DS1302_RST=0;DS1302_CLK=0;return timer;}/*****************************************************************************函数功能:初始化DS1302子程序入口参数:wr_data[](全局变量)出口参数:*****************************************************************************/void DS1302_init(){write_DS1302(0xbe,0x00);write_DS1302(0x8e,0x00); //关闭保护,若写0x80,则开启保护write_DS1302(0x8c,wr_data[0]); //年write_DS1302(0x88,wr_data[1]); //月write_DS1302(0x86,wr_data[2]); //日 write_DS1302(0x8A,wr_data[3]); //星期write_DS1302(0x84,wr_data[4]); //时write_DS1302(0x82,wr_data[5]); //分write_DS1302(0x80,wr_data[6]); //秒 write_DS1302(0x8e,0x80);}/*****************************************************************************函数功能:读DS1302时间子程序入口参数:出口参数:全局变量(year,mouth,data,day,hour,minute,second)*****************************************************************************/void read_time(void){readtimeR[0]=read_DS1302(0x8d); //年readtimeR[1]=read_DS1302(0x89); //月readtimeR[2]=read_DS1302(0x87); //日readtimeR[3]=read_DS1302(0x8b); //周readtimeR[4]=read_DS1302(0x85); //时readtimeR[5]=read_DS1302(0x83); //分readtimeR[6]=read_DS1302(0x81); //秒}void ms(){ e=readtimeR[5]>>4;f=readtimeR[5]&0x0f;g=readtimeR[6]>>4;h=readtimeR[6]&0x0f;P2=0xfc;P0=table[e];delays(500);P2=0xfd;P0=table[f];delays(500);P2=0xfB;P0=table[g];delays(500);P2=0xf7;P0=table[h];delays(500);}void hm(){ c=readtimeR[4]>>4;d=readtimeR[4]&0x0f; e=readtimeR[5]>>4;f=readtimeR[5]&0x0f; P2=0xfc;P0=table[c];delays(500);P2=0xfd;P0=table[d];delays(500); P2=0xfb;P0=table[e];delays(500);P2=0xf7;P0=table[f];delays(500);}void main(){DS1302_init();while(1){read_time();// a=readtimeR[3]>>4;// b=readtimeR[3]&0x0f;/* P2=0xf8;P0=table[a];delays(500);P2=0xf9;P0=table[b];delays(500);*/// ms();hm();}}
❻ 用单片机制作电子万年历
力天电子,天翔电子都有这方面的视频!
❼ 51单片机的点阵万年历和51单片机的万年历有什么区别,解释具体一点,谢谢啊各位大神
点阵万年历,就是万年历通过点阵形式显示出来,点阵就是人机交互的一个界面,51单片机的万年历说的是,人机交互可以用任何能显示的形式体现出来
❽ 单片机制作万年历主要技术和方法
可以自己模拟一个时钟,也可以使用单片机内部的时钟功能寄存器(部分支持),最好的是使用相关时钟芯片,这个时间很准,加上备用电池就是一个时钟了,万年历也同时支持,
再就是硬件制作了,需要很多元器件,
❾ 单片机万年历的发展史
历史?我接触单片机这么长时间,看了足够多的资料,还不知道单片机万年历的历史呢,就算有,那也只能说明你的老师是无聊透顶。去编撰历史还不如做一个查询全世界时间的电子表。
❿ 可以对单片机万年历赋予什么功能
没分啊 那也给你发一个吧 DS1302+DS18B20 用1602显示 我在PROTUES仿真上做的 你可以根据程序画电路图 很简单 程序 采用模块化方式 /*初始化*/ #define uint unsigned int #define uchar unsigned char uchar code tab[]=" 20 - - " ; uchar code...