文档详情

万年历12864程序.doc

发布:2017-10-09约4.16万字共32页下载文档
文本预览下载声明
#include REG52.h #include string.h #include intrins.h #define uint unsigned int #define uchar unsigned char /******************************LCM12864**************************************/ #define LCM_data P2 sbit LCM_RS=P0^7; //定义12864液晶RS端,寄存器选择信号 H:数据寄存器 L:指令寄存器 sbit LCM_RW=P0^6; //定义12864液晶RW端,读/写信号 H:读 L:写 sbit LCM_EN=P0^5; //定义12864液晶LCDEN端, 片选信号 下降沿触发,锁存数据 sbit LCM_PSB=P0^4; //定义12864液晶PSB端, H:并行 L:串行 sbit LCM_RST=P0^3; //定义12864液晶RST端, H:不复位 L: //****************************************************************************/ sbit beep = P3^6; sbit BL = P0^1; //定义背光控制口 /*****************************************************************************/ //温度传感器定义 sbit DQ = P3^7; //ds18B20 /*****************************************************************************/ //键盘引脚定义 sbit KEY_1 = P3^0; //确认 sbit KEY_2 = P3^1; //设置 sbit KEY_3 = P3^2; //加 sbit KEY_4 = P3^3; //减 //定义DS1302时钟接口 sbit DS1302_CLK = P1^0; //实时时钟时钟线引脚 sbit DS1302_IO = P1^1; //实时时钟数据线引脚 sbit DS1302_RST = P1^2; //实时时钟复位线引脚 //定义累加器A中的各位 sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; /*****************************************************************************/ //定义全局变量 unsigned char yy,mo,dd,xq,hh,mm,ss,e; //定义时间映射全局变量(专用寄存器) unsigned char nz_shi=12,nz_fen=0,nz_miao=0; //闹钟时分秒变量 bit alam_on=1; //默认开启闹钟 bit c_moon; unsigned char year_moon,month_moon,day_moon,week; bit w = 0; //调时标志位 unsigned char menu = 0;//定义静态小时更新用数据变量 unsigned char keys = 0;//定义静态小时更新用数据变量 unsigned char timecount = 0;//定义静态软件计数器变量 unsigned char count0,BLsecond; uchar code tab1[]= { --单片机万年历-- --芯片 89S/C52-- ----LCM12864---- -----WELCOME---- }; /****************************************************************************/ void DelayM(unsigned int a) //延时函数 1MS/次 { unsigned char i; while( --a != 0) { for(i = 0; i 125; i++); //一个 ; 表示空语句,CPU空转从0加到125,CPU大概就耗时1毫秒? } } /****************************************************************************/ //函数声
显示全部
相似文档