基于ARM9的带农历实时时钟LCD显示设计
以2010年为例,农历无闰月,农历1月和3月是大月,2月和4月是小月,故而第1 Byte为00001010(即0x0A);农历的5月、8月、10月和12月是大月,6月、7月、9月和11月是小月,故而第2 Byte为10010101(即0x95);由于2010年的农历没有闰月,所以也就没有第13个月,故而第3Byte的第7位为0,2010年春节所在的公历2月14日,故而第3 Byte的第6~0位为1001110,即第3 Byte为0x4E。
公历转农历的算法框图如图5所示。本文引用地址:https://www.eepw.com.cn/article/150711.htm
2.4 实时时钟的显示
通过调用字符显示函数,将读取的实时时钟显示在LCD屏幕上。本文将要显示的实时时钟字符转换成字模,把所得的字模放在数组中,读取实时时钟寄存器,调用字符显示函数显示数字和汉字,从而将实时时钟显示在LCD屏幕上。最后显示效果图如图6所示。
3 结束语
设计了基于Samsung公司ARM9处理器S3C2440和液晶显示屏WXCAT35的带农历实时时钟显示电路。为了能够实现RTC的实时显示,采用S3C2440A中提供的RTC时间节拍中断,让它每秒钟中断一次,每次中断读取时间,刷新一次实时时钟。此外,在通过UART对RTC进行修改后,采用外部按键中断实现对实时时钟的更新,从而完成对时间的修改。设计通过软件形式使得不带农历实时时钟芯片能够实现对农历的显示,增强了芯片的应用范围,为在需要农历时钟作为参考的工作环境提供了便利。
led显示器相关文章:led显示器原理
评论