利用单片机编程实现万年历 求助~!!!!

作者&投稿:长沙视 (若有异议请与网页底部的电邮联系)
单片机万年历代码求助,请问怎么实现设置时间,如图所示~

你好!
你这是带字库的液晶吗?把代码发一下,帮你看看怎么修改程序

万年历用的时钟芯片一般都是DS1302,会使用DS1302就基本没什么问题了,下面是我做过电子小闹钟写的DS1302头文件,希望能给你帮助#define uchar unsigned char
#define uint unsigned intvoid ds1302writebyte(uchar date) //写一个字节
{
uchar i;
for(i=8;i>0;i--)
{
scl=0;
date>>=1;
io=CY;
scl=1;
}
}void write1302(uchar com,uchar date) //写一个数据
{
ce=0;
scl=0;
io=0;
ce=1;
ds1302writebyte(com);
ds1302writebyte(date);
scl=0;
io=0;
ce=0;
}uchar read1302(uchar com) //读一个数据
{
uchar i,date;
ce=0;
scl=0;
io=0;
ce=1;
ds1302writebyte(com);
for(i=8;i>0;i--)
{
scl=0;
date>>=1;
if(io)
{
date=date|0x80;
}
scl=1;
}
scl=0;
io=0;
ce=0;
return (date);
}uchar ds1302bcd_asciidi(uchar date) //ds1302bcd码转ascii函数
{

date=date&0x0f;
date=date|0x30;
return (date);
}
uchar ds1302bcd_asciigao(uchar date,uchar type) //ds1302bcd码转ascii函数
{
switch(type)
{
case 's': date=date&0x7f; break;
case 'm': date=date&0x7f; break;
case 'h': date=date&0x7f; break;
}
date>>=4;
date=date&0x0f;
date=date|0x30;
return date;
}

很简单。
你的难点根本不用考虑了,如果你用时钟芯片,比如DS12887,里面可以自动计算闰年,内置的闹钟指令。

你的要求很容易达到,使用52系列单片机,加上一个并行时钟芯片DS12887然后接一个点阵液晶。

程序的话很多,就不好写出了,涉及到时钟的读出,然后讲读出的值传到LCD中。

前几天做了个简单的电子钟。

就用DS12C887,接一个12864汉字液晶,12864汉字液晶每行显示8个汉字,一共能显示4行,而且DS12C887提供闹钟功能,闰月能功能,刚开始做,最好还是买一个51的开发板,做这个需要两个子程序,去网上找,或者到迅雷里下,自己再组合一下,就好了,很简单的。

用时钟芯片DS1302,,HT1380,,,自动计算闰年,月等.......................

只有3根线和单片机连接,,简单,,,非常简单,,,我空间有DS1302驱动程序

直接用89x51就可以了.


利用单片机编程实现万年历 求助~!!!
很简单。你的难点根本不用考虑了,如果你用时钟芯片,比如DS12887,里面可以自动计算闰年,内置的闹钟指令。你的要求很容易达到,使用52系列单片机,加上一个并行时钟芯片DS12887然后接一个点阵液晶。程序的话很多,就不好写出了,涉及到时钟的读出,然后讲读出的值传到LCD中。前几天做了个简单的电子钟。

关于大学单片机编程问题?
65536-10000=55536(计数器初值),55536转十六进制数等于D8F0,赋初值:TH0=0xD8;TL0=0xF0;然后启动计数器:TR0=1;计数器中断不用打开,然后一直查询TF0是否为1,以便确定溢出中断,溢出后记得把TF0清0,

单片机编程问题,用数组将字模建立,然后把数值元素\/10%10就可显示出来...
你说的是显示数字吧,一个数要显示,首先要分离出个十百千万,例如 234要分离时 234/100%10=2 是百位 234/10%10=3 是十位 234%10=4 是个位 /表示求商的整数部分 %表示求商的余数部分 当然,要分离的数位数较多时,按上述方法写比较长,可改用循环语句写,就只用到%10和/10了...

单片机编程用汇编好还是C语言好?
单片机编程,C语言编程但很好。大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,大部分用户已经不再便用。1.单片机汇编语言 汇编语言是一种符号语言,它使用文字助记符来表示机器指令。它是最接近机器代码的语言。它的主要优点是占用资源少,程序执行效率高。由于每条指令对应于一个...

STC单片机PWM编程!
4. 了解用单片机产生正弦信号的基本方法。二、实验原理 ADuC848中包含一个12位电压输出DAC模块,DAC模块中寄存器的设置如下:DAC控制寄存器:DACCON NC表示未定义;DACPIN为DAC输出引脚选择;1 = 设置DAC输出引脚为Pin 13 (AINCOM);0 = 设置DAC输出引脚为Pin 14 (DAC);DAC8为DAC转换位数模式...

51单片机C语言编程如何实现长按按键实现数值的累加
这个可以用定时器来做,比如检查某键,按键时间超过2秒后一个变量开始累加知道键释放为止。实现方法如下:include<reg51.h> define uint unsigned int define uchar unsigned char uint v=0,time=0;sbit key=P1^0;void t0isr()interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;time...

小弟没学过单片机,想做一个用单片机控制电磁锁,请问原理是什么,需要学 ...
单片机就是一个可以通过编程实现开关量输出的器件,它的输出端可以通过灌流的方式驱动负荷,驱动能力依各系列、型号而不同,一般是经接口器件或三极管放大输出;你用单片机控制电磁铁,最基本的可以达成1】控制电磁铁的通断。2】通过键盘、遥控或其他方式进行编码实现密码锁功能。至于定时开、定时关、错码...

用单片机控制电机和PLC控制电机的优缺点
PLC是生产商将其功能模块化了,并提供专用的编程软件,主要用于开关量的控制,其可靠性比较高。单片机就是一个没有外设的微型计算机,需要与其它的原器件构成一个控制器。PLC是工业控制领域的主力军,能够完成强电的逻辑控制盒运动控制及PID运算;单片机适用于小型自动控制领域及无线控制领域;体积小价格便宜...

单片机编程是什么
单片机编程是指对单片机(Microcontroller Unit,MCU)进行编程的过程。单片机是一种集成度高、功能强大的微型计算机,广泛应用于各种嵌入式系统中。编程的主要目的是通过编写和烧录特定的代码,来控制单片机的行为,实现特定的功能或任务。单片机编程涉及到硬件和软件两个方面。硬件方面,需要了解单片机的内部结构...

单片机模拟软件编程改变地址内的数据
START: MOV DPTR,#2000H ;数据区首址 LOOP: MOV A,DPL ;16进制地址低两位 MOVX @DPTR,A INC DPTR ;下一字节地址 CJNE DPL,#2C,LOOP CJNE DPH,#21,LOOP ;212CH-2000H=12CH=300 END;结束

沛县19684497819: 利用单片机编程实现万年历 求助~!!!! -
终树选灵: 就用DS12C887,接一个12864汉字液晶,12864汉字液晶每行显示8个汉字,一共能显示4行,而且DS12C887提供闹钟功能,闰月能功能,刚开始做,最好还是买一个51的开发板,做这个需要两个子程序,去网上找,或者到迅雷里下,自己再组合一下,就好了,很简单的.

沛县19684497819: 设计一个基于单片机的万年历程序 -
终树选灵: #include<reg51.h>#include"lcd.h"#include"ds1302.h" sbit K1=P3^1; sbit K2=P3^0; sbit K3=P3^2; sbit K4=P3^3; //管脚接线 unsigned char character0[24] = {0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02 ,0x0F,0x09,0x0F,0x09,0x0F,0x09,0x13,0x...

沛县19684497819: 51单片机万年历编程? -
终树选灵: 万年历用的时钟芯片一般都是DS1302,会使用DS1302就基本没什么问题了,下面是我做过电子小闹钟写的DS1302头文件,希望能给你帮助#define uchar unsigned char#define uint unsigned intvoid ds1302writebyte(uchar date) //写一个字节 { ...

沛县19684497819: 怎样制作万年历单片机 -
终树选灵: 今天碰到了N个白痴问题. 万年历是能够显示年月日、二十四节气、农历之类的东西,单片机是一块芯片.万年历可以用单片机来做,但是我真不知道“万年历单片机”怎么做.我想你应该想问的是怎么用单片机来做万年历,我提供思路. 1、单片机最小系统一块.可以用STC89C52芯片+外围电路.可以烧入用户编写的程序,实现万年历所需的逻辑. 2、实时时钟电路一块,可以用DS1302芯片.提供年月日、时分秒数据给单片机. 3、显示器电路一块.用来显示这些数据. 4、一些必要的按键,用来调整数据.

沛县19684497819: 怎样用C51单片机设置万年历,只要程序 -
终树选灵: /*********************************包含头文件********************************/ #include "reg51.h" #include/*********************************端口定义**********************************/ sbit DS1302_CLK = P1^0; sbit DS1302_IO = P1^1; sbit DS1302_RST = P1^...

沛县19684497819: 跪求个利用51单片机1602显示屏DS1302做的万年历c编程序,带有公历,农历,星期,时间功能,一定要有农历 -
终树选灵: 农历计算方式,///月份数据表 code uchar day_code1[9]={0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3}; code uint day_code2[3]={0x111,0x130,0x14e}; /* 函数功能:输入BCD阳历数据,输出BCD阴历数据(只允许1901-2099年) 调...

沛县19684497819: 急求单片机编程高手帮我编一个AT89C51的时钟+万年历的程序! -
终树选灵: 基于单片机的数字钟(电子万年历) http://hi.baidu.com/dsu5566/blog/item/7cfe0fa480cd14fe9152eec8.html

沛县19684497819: 一周内基于51单片机电子万年历设计 -
终树选灵: 第一首先你得学会编程(C语言或者汇编语言) 第二你还得会熟练使用51单片机的内部资源,主要是定时器,IO,中断.当然51内部定时器的时钟做钟表精度差,基本每天需要调时,另外就是断电后时间不能保存,建议你使用RTC芯片或者具有RTC的单片机,第三:你要懂的按键的消抖原理,第四:你要看懂DS18B20和1602液晶的数据手册或者看懂别人写的驱动测序也可以(建议你自己写驱动程序,这样你会学习到很多东西的,特别是对液晶的扫描方式和单总线的理解更加深刻,你也会尝到其中的乐趣,);第五:如果你需要自己绘制硬件电路,你还得清楚单片机的最小系统,普通的电源供电系统,IO的合理分配.

沛县19684497819: 求一基于单片机的项目??? -
终树选灵: 基于单片机的万年历 (用DS1302 和DS18B20 ,可以显示年月日 周 时分秒 温度 ,可调) 基础的话可以从 蜂鸣器 、流水灯、数码管显示(静态和动态)、按键(独立按键和矩阵键盘)、LCD液晶显示、无线接收等一个一个小的模块学习,最后可以做一个综合的实验(万年历).

沛县19684497819: 我要用单片机编写一个万年历,要从哪些地方学习 -
终树选灵: 比较易上手的51系列单片机来做,做这个程序用C语言就行了.电路也简单,就是 引脚电平输出控制数码管显示. 你就学习一下编程 以及芯片简单引脚控制.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网