12864电子钟源程序

上传人:M****1 文档编号:464705380 上传时间:2023-08-07 格式:DOCX 页数:28 大小:36.38KB
返回 下载 相关 举报
12864电子钟源程序_第1页
第1页 / 共28页
12864电子钟源程序_第2页
第2页 / 共28页
12864电子钟源程序_第3页
第3页 / 共28页
12864电子钟源程序_第4页
第4页 / 共28页
12864电子钟源程序_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《12864电子钟源程序》由会员分享,可在线阅读,更多相关《12864电子钟源程序(28页珍藏版)》请在金锄头文库上搜索。

1、/带农历节日提醒电子钟并口版/LCM_psb = P24接高电平/LCM_rst = P23; /Reset Signal 低电平有效,直接接高电平/头文件#include #include #include #define uint unsigned int#define uchar unsigned char/*/灯与扬声器定义sbitled_back = P21;/背光控制(V2.1程序中加入了背光控制的硬件电路)sbitbeep = P14;/扬声器(V2.1程序中将V1.1程序中的蜂鸣器改为扬声器)/*/温度传感器定义sbit DQ = P13;/ds18B20/*/键盘引脚定义sb

2、it KEY_1 = P32; /左上sbit KEY_2 = P33; /左下sbit KEY_3 = P34; /右上sbit KEY_4 = P35; /右下sbit KEY_I = P36; /常0(V2.1电路中无效)/*/LCD接口定义sbit RS = P27;/模式位,为0输入指令,为1输入数据sbit RW = P26;/读写位,为0读,为1写sbit E = P25;/使能位sbit LCM_psb = P24;/此处可去掉,直接接高电平sbit LCM_rst = P23;/此处可去掉,直接接高电平#define Lcd_Bus P0 /数据总线/*/定义DS1302时钟

3、接口sbit clock_clk =P10;/ds1302_clk(时钟线)sbit clock_dat =P11;/ds1302_dat(数据线)sbit clock_Rst =P12;/ds1302_Rst(复位线)/*/定义累加器A中的各位sbit a0 = ACC 0;sbit a1 = ACC 1;sbit a2 = ACC 2;sbit a3 = ACC 3;sbit a4 = ACC 4;sbit a5 = ACC 5;sbit a6 = ACC 6;sbit a7 = ACC 7;/*/定义全局变量unsigned char yy,mo,dd,xq,hh,mm,ss,e;/定义

4、时间映射全局变量(专用寄存器)bit c_moon;data uchar year_moon,month_moon,day_moon,week;bit w = 0; /调时标志位static unsigned char menu = 0;/定义静态小时更新用数据变量static unsigned char keys = 0;/定义静态小时更新用数据变量static unsigned char timecount = 0;/定义静态软件计数器变量/*/void DelayM(unsigned int a)/延时函数 1MS/次unsigned char i;while( -a != 0)for(

5、i = 0; i 0)/应用:LCM_WriteString(您好!); write_data(*s); s+; /*/void LCM_WriteDatOrCom(bit i,unsigned char word)/写指令或数据(被调用层)if(i = 0)write_com(word);/写指令或数据(0,指令)elsewrite_data(word);/写指令或数据(1,数据)void lcm_clr(void)/清屏函数LCM_WriteDatOrCom(0,0x01);/*/函数声明void LCM_WriteString(unsigned char *str) ; /写字符 例:L

6、CM_WriteString(您好!);void LCM_WriteDatOrCom(bit ,unsigned char ); /(0,指令) (1,数据)void LCM_w_byte(unsigned char bbyte); /写一个字节给LCMvoid delaynms(unsigned int di); /延时void LCM_init(void); /LCM初始化void LCM_clr(void); /清屏void Delay(int num);bit get_moon_day(uchar month_p,uint table_addr);void Conversion(bit

7、 c,uchar year,uchar month,uchar day);void nl();void days (viod) /公历节日数据库 LCM_WriteDatOrCom(0,0x80);LCM_WriteDatOrCom(0,0x98);/ -|-|if ( mo = 0x01 & dd = 0x01 ) LCM_WriteString(Happy New Year!); /1月if ( mo = 0x01 & dd = 0x05 ) LCM_WriteString(二十四节气:小寒); if ( mo = 0x01 & dd = 0x20 ) LCM_WriteString(二十四节气:大寒); if (month_moon= 0x01 & day_moon = 0x01 ) LCM_WriteString( 春节快乐 ); /阴历日期填阴历月和日 if (month_moon= 0x01 & day_moon = 0x15 ) LCM_WriteString( 元宵节快乐 ); /*/ if (month_moon= 0x02 & day_moon = 0x14

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号