不好意思,最近在忙国赛现在才看到,附件我发到百度云了链接: https://pan.baidu.com/s/1eSMRKcy 密码: pm9s首先所以说一下自己为什么做这个时钟吧,时间还要追溯到2016年暑假,我报名了参加-所谓的高大上的“
蓝桥杯全国软件和信息技术专业人才大赛” ,我报名了单片机组(其实就是C51,用的是STC15单片机

),暑假前期在学校练习了几套比赛的模拟题目我就回家了,回家的时候不小心带了一个12864液晶,回到家后没事干,耐不住寂寞的我,就去上网找寻12864的好玩制作,发现了已经有许多大神做了12864的时钟并开源了,我照葫芦画瓢开始了我的学习制作之路,这里非常感谢吴鉴鹰老师的12864时钟连载系列资料,虽然它是用Protues仿真12864,但是他的程序思想给了我很多灵感启发,还有郭天祥老师,他的DS18B20时序写得非常好,通俗易懂啊,我第一次对着时序图写ic驱动就是DS18B20,当自己能从0开始写驱动并能使用时,那时我真的很开心,(不好意思打了点小广告

)
说一下自己的12864时钟功能特点吧
1.年月日时分秒星期显示(哈哈废话了,时钟这7个肯定要有的

)
2.3个独立的闹钟设置,并在主界面有3个闹钟的状态显示图标(16x16像素的自制图标取模)
3.用one-wire的DS1820做的传感器的温度显示
4.可以设定背光延时关闭(5-30秒)或常亮
5.由于使用的时钟芯片是DS1302比较喳而且外置晶振,走时略微不准,有“软件消除走时误差校准”功能
6.嗯,还有一个小小的功能-整点报时(只是蜂鸣器长鸣一声而已

)
7.有菜单界面,时间设置采用光标定位
再说一下我的程序核心思想吧
1.本时钟有4个按键(菜单,加,减,确认),其中前3个是while(1)扫描方式,确认键是外部中断触发
2.读温度,时间,闹钟是采用定时器中断方式,1秒中有2-3次读取吧
3.菜单界面制作,主要靠flag标志位+确认键的中断优先级,背光也是用标志位
4.主界面的1,4行采用12864的基本库模式,23行大数字用12864的绘图模式
最后说一句,还是非常感谢蓝桥杯这个比赛的,还记得那时候我费尽心思把i2c,spi,one-wire总线协议死记硬背了下来,让我了解到了时序,受益匪浅
[ 此帖被w7767896789在2017-07-23 23:33重新编辑 ]