12864LCD电子钟说明文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void lcm_w_test(bit start, unsigned char ddata) {
unsigned char start_data,Hdata,Ldata;
if(start==0)
start_data=0xf8; //0:写指令
else
start_data=0xfa; //1:写数据
while(*str != '\0'){ lcm_w_test(1,*str++);
} *str = 0; } /******************************************************************************/
2. 仿制说明
Doyoung 电子技术 将无条件共享原理图、说明文档、HEX 文件供有兴趣的朋友仿制使用。如您 成功仿制本设计,至信 @,即可获得本制作品的源代码,用于学习或升级 升级开发。如果您成功升级了一次程序将可以获得 Doyoung现在制作品的所有源代码包(不包括 日后制作品)。目的只有一个,力图创造独立资料。
按键 3:下一项 按键 4:减 1
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整日期 [-]
按键 3:下一项 按键 4:减 1
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整分钟 [-]
Байду номын сангаас
按键 3:下一项 按键 4:减 1
当状态处于 调整分钟 时,再按[Next]键将循环到 调整年份。
doyoung
5/7
12864LCD 电子钟说明文档
DoYoung 原创
正常状态下,长按左上角键(1:[Dis])将显示版本信息。放开按键则返回正常状态。
1. 概要
作品简介 功能特征
部分程序举例
1/7
12864LCD 电子钟说明文档
DoYoung 原创
这 12864LCD 电子钟是利用 89S52 驱动 128*64LCD 显示的电子时钟制作,其采用 DS1302 芯片独立产 生时间。折叠台历式外型可以方便的摆放在桌面上,也可以折叠存放。隐形式按键设计使用户操作 更直观、方便。高精度温度显示,公历节日提醒是其卓越之处。模块化的源代码、新颖别致的电路 图使后继爱好者制作和升级开发更方便。
12864LcdClock Hello !! V1.01 2006-11-26 from DoYoung
节日提醒内容
以下是现有的公历节日提醒内容。
if ( mo == 0x01 && dd == 0x01 ){ lcm_w_word("Happy New Year!!"); }//1 月 if ( mo == 0x01 && dd == 0x28 ){ lcm_w_word(" 世界麻风日 "); }
if ( mo == 0x03 && dd == 0x17 ){ lcm_w_word(" 国际航海日 "); }
if ( mo == 0x03 && dd == 0x21 ){ lcm_w_word(" 世界森林日 "); }
if ( mo == 0x03 && dd == 0x12 ){ lcm_w_word(" 植树节
"); }
if ( mo == 0x03 && dd == 0x14 ){ lcm_w_word(" 国际警察日 "); }
if ( mo == 0x03 && dd == 0x15 ){ lcm_w_word(" 消费者权益日 "); }
if ( mo == 0x02 && dd == 0x02 ){ lcm_w_word(" 世界湿地日 "); }//2 月 if ( mo == 0x02 && dd == 0x13 ){ lcm_w_word(" 明天情人节了 "); } if ( mo == 0x02 && dd == 0x14 ){ lcm_w_word(" 今天是情人节 "); }
如果您的 LCD 是自动调整灰度的,可不接电位器,而将 VO 直接接高电平。 制作时,温度传感器 IC 应用线引出远离电路板,以保证温度精准。
doyoung
3. 使用说明
界面介绍
3/7
12864LCD 电子钟说明文档
DoYoung 原创
显示信息 日期显示 时间显示
年份显示
[Dis] 2007 [Set] 2 月 14 日 星期五 23:34.10 23.5℃
数量 1 1 1 1 1 2 1 2 1 1 4
品名 单片机 温度传感器 IC 备用电池 晶振 电位器 电解电容 LED 万能电路板* 电阻 电容 LED
型号 AT89S52 DS18B20 3.6V 32.768HZ 10K 220uF 蓝色 * 470 欧 10uF 双色-红绿,共阳
数量 1 1 1 1 1 2 1 * 6 1 4
lcm_w_byte(Ldata);
//发送低四位
delaynms(5); //延时是必须的
}
/******************************************************************************/
//发送一个字节(底层函数)
void lcm_w_byte(unsigned char bbyte) {
部分程序代码采用了简单高效的编写方法,保证性能意念新鲜。 采用数据指针方法的 LCD 串行通信部分程序:
/******************************************************************************/
//写指令或数据 (0,指令) (1,数据)
今天情人节
节日显示
设置项 星期显示 温度显示
时钟初始化
硬件制作完成,通电后屏幕将显示如照片样张一样的显示格式,但数据有可能错误,因为 DS1302 必须初始化。
按键 1 按键 2
[Dis] 2007 [Set] 2 月 14 日 星期五
23:34.10 23.5℃ 今天情人节
按键 3 按键 4
开机后,同时按下 左下角(2)和右下角(4)两个按键。当屏幕四角的红色 LED 亮起时再转为同 时按下 左上角(1)、左下角(2)和右下角(4)三个按键(转按过程应在 3 秒之内)。长按 3 秒后 屏幕将显示:
9 年、月、日、小时、分、秒、星期、温度、节日同屏显示,一目了然。 9 时间设置功能,简单快捷。 9 整点报时(早 8 点至晚 21 点) 9 128*64LED 显示,亮度高 9 备用电池,长久走时 9 温度显示,00.0 度高精度(00.0~99.9 摄氏度) 9 隐藏式按键,模拟触摸屏的方位按键操作简单 9 国际、国内公历重要节日提醒 9 日历台式外型设计,至于桌面美观大方
Hdata=ddata&0xf0;
//取高四位
Ldata=(ddata<<4)&0xf0; //取低四位
lcm_w_byte(start_data); //发送起始信号
delaynms(5); //延时是必须的
lcm_w_byte(Hdata);
//发送高四位
delaynms(5); //延时是必须的
unsigned char i;
for(i=0;i<8;i++){
SID=bbyte&0x80; //取出最高位
SCLK=1;
SCLK=0;
bbyte<<=1; //左移
}
}
/******************************************************************************/
DoYoung 电子技术 — 创造独立资源!
12864LCD电子钟说明文档
DoYoung 原创 V1.0 2007.2.11
目录
1. 概要 ............................................................................. 1 2. 仿制说明 ......................................................................... 2 3. 使用说明 ......................................................................... 3 4. 相关升级 ......................................................................... 6 5. 常见问题与注意事项................................................................ 6 版本信息 ............................................................................ 6
if ( mo == 0x03 && dd == 0x01 ){ lcm_w_word(" 国际海豹日 "); }//3 月
if ( mo == 0x03 && dd == 0x03 ){ lcm_w_word(" 全国爱耳日 "); }
if ( mo == 0x03 && dd == 0x08 ){ lcm_w_word(" 3.8 妇女节 "); }
23:34.10 23.5℃ [+] 调整星期 [-]
按键 3:下一项 按键 4:减 1
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整小时 [-]
按键 3:下一项 按键 4:减 1
按键 1:退出 按键 2:加 1
如果您决定仿制本设计,请先根据发布的原理图和元件 BOM 表购买元件。
品名 STN LCD 显示屏 蜂鸣器 时钟 IC 晶振 稳压 IC 陶瓷电容 电源适配器 陶瓷电容 电源接口座 电阻 微动开关
型号 128*64 汉字库 有源 5V DS1302 12.00MHZ LM7805 01.uF 9V 2A 30pF (视电源而定) 10K 5*5*6
按键 3:下一项 按键 4:减 1
以下依次按 [Next] 调整其它数据。
doyoung
4/7
12864LCD 电子钟说明文档
DoYoung 原创
调整月份 调整日期 调整星期 调整小时 调整分钟
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整月份 [-]
lcm_w_test(0,0x01); delaynms(40); //启动等待,等 LCM 讲入工作状态 } /*****************************************************************************/ //向 LCM 发送一个字符串,长度 64 字符之内。 //应用:lcm_w_word("您好!"); void lcm_w_word(unsigned char *str){
初始化成功!
2007-1-1 00:00.0
时钟调整 调整年份
在正常状态下按右上角键(3:[Set])进入调时状态。根据屏幕四角的按键功能操作。 (下列图中红色字体会随着加/减调整而改变。)
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整年份 [-]
//延时(LCM 占用)
void delaynms(unsigned int di) {
doyoung
2/7
12864LCD 电子钟说明文档
DoYoung 原创
unsigned int da,db; for(da=0;da<di;da++);
for(db=0;db<10;db++); } /*****************************************************************************/ //清屏函数 void lcm_clr(void){