硬件资源:
----------------
AT89S52(12M)
RT12232F液晶(可以用1602代替,限于SED1520驱动的1602)
两个按键,可以根据需要使用一个按键或者两个按键
5V蜂鸣器
两个LED
S8550三极管(用来驱动蜂鸣器,可以不要)
若干电阻(限流跟上拉用)
------------------------
由于晶振误差等因素,如果发现一周内时钟偏差较大,可以自行调整,理想的做法是
在1s定时器中断里面加入若干个空操作语句(限于时钟快的情况)
----------------------------
功能简介以及操作指南:
1、能够显示任意公历年月,以及从1901-2099年的农历。
2、一个闹钟,闹钟时间到以后蜂鸣器发声提示,如果用户
没有按下任何键,则会持续鸣叫40S(可以在程序钟设置ring_time值)
后停止。在这过程中按下任何按键都可以停止闹铃。
此外,蜂鸣器还为按键提供声音指示。
3、长按任意一个按键(1S长按)进入设置状态,在设置状态下,短按两个按键分别实现
数值的加与减。设置状态下20S时间内用户没有再按下按键,则设置有效并会自动返回日期显示界面
4、非设置状态下短按任意一个按键,则会进入到农历日期查看界面,并且农历显示会持续5S。
在此5S(可以程序中修改该值)时间内,系统为不受控状态。5S过后自动返回日期显示界面。
5、闹钟开关设置:一个按键用来打开闹钟,另一个按键用来关闭闹钟,这是唯一的需要两个按键
配合使用的地方,因此如果只用一个按键,需修改闹钟开关部分程序
--------------------------------
各个功能块按顺序如下:
调整年
调整月
调整日
调整星期
调整时
调整分
调整秒
//以上被调整单元会反白显示
闹钟小时
闹钟分钟
闹钟是否开
关于使用到的引脚,参见各个引脚定义
---------------
P0-LCD DB0-DB7
P2.1-RS(A0)
P2.2-RW
P2.3-E
P3.3--SW1
P3.4--SW2
P2.4--BELL
P2.5--LED
--------------------------------