资源简介
万年历支持温度农历24节气显示,内含源程序及Proteus仿真文件。

代码片段和文件信息
#include
#include
#include
#include
#include “lcd.h“
#define uchar unsigned char
sbit DS1302_CLK = P2^6; //实时时钟时钟线引脚
sbit DS1302_IO = P2^5; //实时时钟数据线引脚
sbit DS1302_RST = P2^7; //实时时钟复位线引脚
uchar read_1302(void) //从1302中读取一个字节
{
uchar idata_1302;
for(i=0;i<8;i++)
{
data_1302>>=1;
if(DS1302_IO)
{
data_1302|=0x80;
}
DS1302_CLK=1;
DS1302_CLK=0;
}
return (data_1302);
}
void write_1302(uchar data_1302)//向1302中写入一个字节
{
uchar i;
for(i=0;i<8;i++)
{
DS1302_IO=(bit)(data_1302&0x01);
DS1302_CLK=1;
DS1302_CLK=0;
data_1302>>=1;
}
}
//向1302的某一地址中写入一个字节的数据
void write_all_1302(uchar addruchar data_1302)
{
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
write_1302(addr);
write_1302(data_1302);
DS1302_CLK = 1;
DS1302_RST = 0;
}
//从1302的某一地址中读取一个字节的数据
uchar read_all_1302(uchar addr)
{
uchar data_1302;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
write_1302(addr|0x01);
data_1302 = read_1302();
DS1302_CLK = 1;
DS1302_RST = 0;
return (data_1302);
}
void DS1302_SetProtect(bit flag) //是否写保护
{
if(flag)
write_all_1302(0x8E0x80); //禁止写
else
write_all_1302(0x8E0x00); //允许写
}
//停止1302时钟
void stop_1302(void)
{
uchar i;
i = read_all_1302(DS1302_SECOND);
i |= 0x80;
write_all_1302(DS1302_SECONDi);
}
//启动1302时钟
void start_1302(void)
{
uchar i;
i = read_all_1302(DS1302_SECOND);
i &= 0x7f;
write_all_1302(DS1302_SECONDi);
}
//读出1302的时间序列
void read_serial(uchar *j)
{
uchar i;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
write_1302(0xbf);//0xbf为连续读出的命令代码
for(i=0;i<8;i++)
{
*(j+i) = read_1302();
nop();
}
DS1302_CLK = 1;
DS1302_RST = 0;
}
//写入1302的时间序列
void write_date_time(uchar *j)
{
uchar i;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
write_1302(0xbe);//0xbe为连续写入的命令代码
for(i=0;i<8;i++)
{
write_1302(*(j+i));
}
DS1302_CLK = 1;
DS1302_RST = 0;
}
void init1302()
{
DS1302_SetProtect(0);
// write_all_1302(0x8c0x00);
// write_all_1302(0x880x05);
// write_all_1302(0x860x25);
// write_all_1302(0x8a0x04);
// write_all_1302(0x840x00);
// write_all_1302(0x820x59);
// write_all_1302(0x800x55);
DS1302_SetProtect(1);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 125872 2008-07-09 16:58 wangnianli\wnl2.DSN
文件 39026 2008-06-19 10:07 wangnianli\wnl.hex
目录 0 2008-07-09 16:50 wangnianli
文件 2450 2008-07-10 08:38 wangnianli\程序\wnl.plg
文件 1291 2008-06-19 10:03 wangnianli\程序\wnl_main.c
文件 2506 2008-07-10 08:29 wangnianli\程序\ds1302.c
文件 6005 2008-05-23 15:01 wangnianli\程序\LCD.c
文件 2143 2008-06-19 10:05 wangnianli\程序\ds18b20.c
文件 2832 2008-06-19 10:05 wangnianli\程序\lcdshow.c
文件 565 2008-05-24 13:50 wangnianli\程序\ds1302.h
文件 297 2008-05-22 14:34 wangnianli\程序\ds18b20.h
文件 384 2008-06-19 10:07 wangnianli\程序\key.h
文件 590 2008-05-23 15:10 wangnianli\程序\lcd.h
文件 347 2008-06-19 10:06 wangnianli\程序\lcdshow.h
文件 11560 2008-07-10 08:29 wangnianli\程序\key.c
文件 826 2008-05-23 16:07 wangnianli\程序\STARTUP.obj
文件 173 2008-07-10 08:36 wangnianli\程序\wnl.lnp
文件 91101 2008-07-10 08:36 wangnianli\程序\wnl.M51
文件 39283 2008-07-10 08:36 wangnianli\程序\wnl.hex
文件 5662 2008-06-19 09:07 wangnianli\程序\HzCode.h
文件 241 2008-06-19 09:23 wangnianli\程序\ZHnongl.h
文件 17652 2008-06-18 21:37 wangnianli\程序\NLcode.h
文件 20332 2008-06-19 10:07 wangnianli\程序\ZHnongl.OBJ
文件 18612 2008-06-19 10:07 wangnianli\程序\nongli.OBJ
文件 6254 2008-07-10 08:31 wangnianli\程序\lcdshow.LST
文件 11394 2008-07-10 08:31 wangnianli\程序\lcdshow.OBJ
文件 4957 2008-07-10 08:31 wangnianli\程序\ds18b20.LST
文件 6671 2008-07-10 08:31 wangnianli\程序\ds18b20.OBJ
文件 6110 2008-07-10 08:31 wangnianli\程序\ds1302.LST
文件 9011 2008-07-10 08:31 wangnianli\程序\ds1302.OBJ
............此处省略16个文件信息
- 上一篇:围棋棋局识别
- 下一篇:通信电子线路实验指导书
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 利用DS1302和msp430进行闹钟和万年历的
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- proteus仿真 AT89C51输出各种波形
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- 浙江工业大学2005-2006学年单片机习题
评论
共有 条评论