基于单片机利用无字库12864液晶模块自制日历
之前必须先进行数制转换)。数据刷新实际上就是查询1302当前“秒”是否等于上次查询结果,如不等于则已经过去1秒,在数组记下新秒,刷新显示“秒”-当然是1秒刷新一次;而且当秒更新为O日寸要更新“分”……·以此类推。第3点上次已有叙述使用,畔畔字模的方法,其中编制了8 x 8小数字、1 2×16数字、16×1 6汉字几种字模用于不同的显示位置,另外有个小鸡啄米的动画,可以在16点阵字模工具中用鼠标点击,分别画出小鸡低头和小鸡抬头两个图案,在秒刷新时交替显示即可。用字模软件制作好所需的字模后,把所有常量字模数组定义放在头文件miniClock中,这些数组全部放在FLASH区。
图形界面的模拟指示针、刻度的制作也不困难,只要事先规划出水平刻度长度,起点和终点坐标画出水平线,垂直刻度则按照刻度位置画出短垂直线,指示地则是在刻度上方或下方垂直直线,它的位置要计算好,根据时间数据刷新而改变。
标题“小小日历钟”是个汉字串,用一个汉字串显示函数Vold show-string1616(ucharx,uchary,uchar * string,uchar string_length);参数是显示起始列、页、字串指针、字串长度,同时要事先定义—个以上指针所指的字串数组,此数组的元素是待显示的字模在字模数组的位置。
整个程序流程见图7,左远是主流程,右边是年日月时分秒更新流程。
调试
硬件焊好后,反复检查无误 不插M8、1302和LCD锂电池,插上稳压小板,接通USB电源,测试M8插座,1302插座,编程口和LCD的VCC电源应为正常3.3V,拆下稳压断电,插上锂电池,1302插座8脚应为2.4V,插上S5并接通,VCC应为3∨,至此电池没有问题了。拔掉S5,插上M8、液晶和1302,插上稳压板和USB电源,如果你从末使用过这种LCD,不妨自己先编制一些小程序(例如启动、初始化M8和液晶后,用不同的参数运行清屏函数)观察液晶显示是否如同预期,如果没有反应要再次检查程序中对M8引脚定义是否和你的实际硬件接线一致,这个小液晶和别的一些液晶不同,不需要硬件调整对比度夏,不会因此对比度调节不当而不显示(除非你修改了默认值)。这—关先过了再往下走。往M8下载程序,如果一切正常,画面会立即出来。不过现在的口期、时间不对、按动S2最下面一行日期时间的分隔符上会呈现竖线光标,连续按S2光标会循环右移,在光标停下的位置按动S1,在上面就会出现设定值,反复按动会循环递增,就这样逐—调节日期和时间,如图5所示。最后按下S3,新的时间就存入1302了,并能按秒刷新。现在插上电池,一切就好了。如图 6所示,可见时、分已经改为新的设定值。可以去掉稳压板,虽然液晶熄灭,可是1302还在闷声不响地运行,如果你插上开关S5再接通,液晶又亮了。为了节省电池消耗,不要老是开着它。如同老式怀表,看表前再按开盖子。
模块 自制 日历 液晶 字库 单片机 利用 基于 相关文章:
- 什么是module 以及如何写一个module(转)(04-23)
- 在Linux 2.6内核下编译可以加载的内核模块(04-23)
- 用DSP56F805 PWM模块输出高频正弦波(05-25)
- DSP与PC机的无线交换调制模块设计(09-17)
- 基于TMS320F28334的伺服系统模块设计(02-25)
- Linux安全模块(LSM)简介(06-12)