资源简介
51单片机万年历程序及proteus仿真,具有年月日和温湿度功能,采用LCD1602显示,经测试可完美运行
代码片段和文件信息
#include
//#include“DS18B20_3.H“
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define wd 1 //定义是否有温度功能 =0时无温度,=1时有温度
#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 ZDK=1NZK=1; //整点报时,闹钟开关控制位 =0时,关闭,=1时,开启
bit zdkg=0nzkg=0;
unsigned char temp_miao;
unsigned char bltime; //背光亮的时间
//DS1302时钟芯片与C51之间的引脚连接定义
sbit IO=P1^1;
sbit SCLK=P1^0;
sbit RST=P1^2;
uchar amiaoshifenriyuenianweeksetntemp;
uint flag;
//flag用于读取头文件中的温度值,和显示温度值
bit c_moon;
uchar nz_shi=12nz_fen=0nz_miao=0setNZn; //定义闹钟变量
uchar shangyimiaobsntemp_hour; //记录上一秒时间
uchar T_NL_NZ; //计数器
bit timeron=0; //闹钟启用标志位
bit baoshi=0; //整点报时标志位
bit p_r=0; //平年/润年 =0表示平年,=1表示润年
data uchar year_moonmonth_moonday_moonweek;
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代表的是累加器的地址。
***************************************************************/
//********阳历转换阴历表************************************
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
0x5d0x520xBA //1914
0x0B0x540x4e //1915
0x0d0x6A0x43 //1916
0x290x6d0x37 //1917
0x090x5B0x4B //1918
0x740x9B0xC1 //1919
0x040x970x54 //1920
0x0A0x4B0x48 //1921
0x5B0x250xBC //1922
0x060xA50x50 //1923
0x060xd40x45 //1924
0x4A0xdA0xB8 //1925
0x020xB60x4d //1926
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-27 13:00 protus仿真\
文件 142939 2011-04-27 22:54 protus仿真\LCDShow.DSN
文件 1221 2018-04-20 08:55 protus仿真\LCDShow.PWI
文件 142947 2011-04-25 09:50 protus仿真\Last Loaded LCDShow.DBK
文件 17574 2012-11-05 22:58 protus仿真\wnl.hex
目录 0 2018-05-27 13:00 程序\
文件 5115 2002-04-16 14:32 程序\STARTUP.A51
文件 11666 2018-01-11 19:37 程序\STARTUP.LST
文件 749 2018-01-11 19:37 程序\STARTUP.OBJ
文件 55142 2018-01-11 19:37 程序\wnl
文件 65304 2011-04-09 17:29 程序\wnl.LST
文件 69543 2018-01-11 19:37 程序\wnl.M51
文件 1097 2018-01-11 19:37 程序\wnl.Opt
文件 2191 2018-01-11 19:37 程序\wnl.Uv2
文件 17631 2018-01-11 19:37 程序\wnl.hex
文件 68 2018-01-11 19:37 程序\wnl.lnp
文件 997 2018-01-11 19:37 程序\wnl.plg
文件 1080 2013-04-01 16:46 程序\wnl_Opt.Bak
文件 2057 2013-04-01 16:46 程序\wnl_Uv2.Bak
文件 105742 2018-01-11 19:37 程序\万年历程序lcd1602.LST
文件 64484 2018-01-11 19:37 程序\万年历程序lcd1602.OBJ
文件 48795 2012-03-24 15:49 程序\万年历程序lcd1602.c
相关资源
- 51单片机DS18B20程序及proteus仿真
- 51单片机全自动洗衣机课程设计
- 51单片机跑马灯完整程序与电路仿真图
- 基于51单片机1602显示 实时时钟
- 51单片机宠物喂食器代码、仿真、电路
- 单片机电子温度计
- AT89C52单片机开发板完整Proteus仿真图
- 基于51单片机的时钟汇编程序
- 基于Proteus的双直流稳压电源的设计与
- 基于51单片机的数字频率计课程设计
- 51单片机汇编语言将片外ram30-50H中数据
- 51单片机控制sim808
- 基于51单片机的三路电磁传感器自动循
- 51单片机读写flash
- uCOSII在M32上移植的完整代码含proteus模
- 89c51单片机电子琴设计
- 基于51单片机信号发生器
- proteus单片机仿真串口汽车防夹
- 51单片机驱动WiFi模块ESP8266模块的代码
- 0145、低成本可调数显稳压电源(1.3
- Proteus不用单片机的数字电路频率计仿
- Proteus 仿真MSP430之LCD12864
- proteus 双机通信仿真简单实用的单片机
- c51单片机的经典密码锁keil c
- 51单片机超声测距汇编
- 基于51单片机12864画点画线画圆的程序
- 倒车雷达超声波测距系统
- 直流电机PWM控制proteus仿真图
- 波形发生器 Proteus
- STC15 万年历程序
评论
共有 条评论