资源简介
本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。
附件为C代码。
附件为C代码。

代码片段和文件信息
#include
//#include“DS18B20_3.H“
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define wd 1 //定义是否有温度功能 =0时无温度,=1时有温度
#include “eeprom52.h“
#define yh 0x80 //LCD第一行的初始位置因为LCD1602字符地址首位D7恒定为1(100000000=80)
#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)
//液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)
sbit en=P2^7;
sbit rw=P2^6; //如果硬件上rw接地,就不用写这句和后面的rw=0了
sbit rs=P2^5;
//校时按键与C51的引脚连接定义
sbit set=P3^0; //设置键
sbit add=P3^1; //加键
sbit dec=P3^2; //减键
sbit seeNL_NZ=P3^3; //查看农历/闹钟
sbit DQ=P3^7; //
sbit buzzer=P2^0; //蜂鸣器,通过三极管8550驱动,端口低电平响
sbit led=P2^4; //LCD背光开关
bit led1=1;
bit NZ_sdgb=1;
unsigned char temp_miao;
unsigned char bltime; //背光亮的时间
//DS1302时钟芯片与C51之间的引脚连接定义
sbit IO=P1^1;
sbit SCLK=P1^0;
sbit RST=P1^2;
char amiaoshifenriyueweeksetn;
int tempnian;
uint flag;
//flag用于读取头文件中的温度值,和显示温度值
bit c_moon;
char nz_shinz_fensetNZn; //定义闹钟变量
uchar shangyimiaobsntemp_hour; //记录上一秒时间
uchar T_NL_NZ; //计数器
bit timerOn=0; //闹钟启用标志位
bit baoshi=0; //整点报时标志位
bit p_r=0; //平年/润年 =0表示平年,=1表示润年
data uchar year_moonmonth_moonday_moon;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
/************************************************************
ACC累加器=A
ACC.0=E0H
ACC.0就是ACC的第0位。Acc可以位寻址。
累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,
是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,
常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。
一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址。
***************************************************************/
/******************把数据保存到单片机内部eeprom中******************/
void write_eeprom()
{
SectorErase(0x2000);
byte_write(0x2000 nz_shi);
byte_write(0x2001 nz_fen);
byte_write(0x2002 timerOn);
byte_write(0x2060 a_a);
}
/******************把数据从单片机内部eeprom中读出来*****************/
void read_eeprom()
{
nz_shi = byte_read(0x2000);
nz_fen = byte_read(0x2001);
timerOn = byte_read(0x2002);
a_a = byte_read(0x2060);
}
/**************开机自检eeprom初始化*****************/
void init_eeprom()
{
read_eeprom(); //先读
if(a_a != 1) //新的单片机初始单片机内问eeprom
{
nz_shi = 12;
nz_fen = 30;
timerOn=0;
a_a = 1;
write_eeprom(); //保存数据
}
}
//********阳历转换阴历表************************************
code uchar year_code[597]={
0x040xAe0x53 //1901 0
0x0A0x570x48 //1902 3
0x550x260xBd //1903 6
0x0d0x260x50 //1904 9
0x0d0x950x44 //1905 12
0x460xAA0xB9 //1906 15
0x050x6A0x4d //1907 18
0x090xAd0x42 //1908 21
0x240xAe0xB6 //1909
0x040xAe0x4A //1910
0x6A0x4d0xBe //1911
0x0A0x4d0x52 //1912
0x0d0x250x46 //1913
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-03-25 12:56 1-程序\
文件 5115 2002-04-16 14:32 1-程序\STARTUP.A51
文件 11666 2017-10-19 22:40 1-程序\STARTUP.LST
文件 749 2017-10-19 22:40 1-程序\STARTUP.OBJ
文件 3058 2017-07-07 16:45 1-程序\eeprom52.h
文件 58895 2017-10-19 22:40 1-程序\wnl
文件 65304 2011-04-09 17:29 1-程序\wnl.LST
文件 71932 2017-10-19 22:40 1-程序\wnl.M51
文件 2147 2013-09-23 21:28 1-程序\wnl.Uv2.bak
文件 18775 2017-10-19 22:40 1-程序\wnl.hex
文件 68 2017-10-19 22:40 1-程序\wnl.lnp
文件 1083 2014-07-06 18:00 1-程序\wnl.opt.bak
文件 172 2017-11-13 15:00 1-程序\wnl.plg
文件 58998 2017-11-13 15:00 1-程序\wnl.uvopt
文件 13387 2014-07-06 18:16 1-程序\wnl.uvproj
文件 1083 2014-05-26 23:19 1-程序\wnl_Opt.Bak
文件 1709 2013-01-27 16:10 1-程序\wnl_Uv2.Bak
文件 58994 2017-11-12 15:56 1-程序\wnl_uvopt.bak
文件 188 2016-04-29 00:18 1-程序\ykc.plg
文件 54375 2016-04-29 00:18 1-程序\ykc.uvopt
文件 54375 2016-04-29 00:18 1-程序\ykc_uvopt.bak
文件 0 2016-04-29 00:17 1-程序\ykc_uvproj.bak
文件 100075 2017-10-19 22:40 1-程序\万年历程序lcd1602.LST
文件 68791 2017-10-19 22:40 1-程序\万年历程序lcd1602.OBJ
文件 47915 2017-10-17 14:35 1-程序\万年历程序lcd1602.c
相关资源
- 利用DS1302和msp430进行闹钟和万年历的
- 简易的电阻电容测量电路
- 【单片机】51单片机数码管显示万年历
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- 制作万年历 日期 农历 温度显示
- 基于PIC单片机的万年历的设计
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- protues万年历仿真
- 万年历系统汇编语言课程设计
- GSM监控系统51单片机设计
- 百度万年历 日期选择控件 带农历节日
- 易语言天文算法万年历源码
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- DS1302+DS13B20+12864,万年历。农历
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- 实用万年历Sywnlv6.11
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- Lcd12864大时钟万年历 农历生肖温度
- 12864多功能万年历
评论
共有 条评论