LPC2134学习日志(二)-- LCD12864时钟
嗯,好了,不费话,这几天抽空在上篇日志的基础上写,又添加了点东东,做了个实时时钟,当然功能还不全,还没有调时间的功能,还没有定时的功能,LCD12864上也没有添加菜单的功能……反正这个是最简单的实时时钟,主要就是学习一下LPC2134内部的RTC,程序虽然能运行,但是在仿真时出了点小BUG,就是秒值3秒钟才更新一次,这一点让懒猫很郁闷,找了良久也没有找出原因,不过懒猫并未放弃,还是一直找下去,直到把它消灭到,如果你写过这方面的程序,也可以指导一下懒猫,懒猫不胜感激,在此深表感谢。
好了,下面给出这次仿真用的接口示意图,再强调一下,这个只是在proteus中仿真用的,不能用于实际焊接:
图1-1
由于这个实时时钟是在上一篇日志《LPC2134学习日志
//文件名称:Clock.h
//功
//作
//备
//
//
//
#ifndef __CLOCK_H__
#define __CLOCK_H__
#include "config.h"
#define RTC_NUM 13
#define T0_NUM 4
struct {
#define Cur_Sec
#define Cur_Min
#define Cur_Hour
#define Cur_Year
#define Cur_Month current_time.month
#define Cur_Day
#define Cur_Week
#define Pre_Sec
#define Pre_Min
#define Pre_Hour
#define Pre_Year
#define Pre_Month pre_time.month
#define Pre_Day
#define Pre_Week
struct {
#define Timet
#define Datet
BOOL t0flag;
BOOL secflag;
BOOL dotflag;
extern void RTC_Init(void);
extern void Timer0_Init(void); //
extern void T0_Process(void);
extern void Updata_Time(void); //
#endif
这个文件里面主要是声明了一些全局变量与一些写RTC和定时器有关的函数,其中BOOL
这个数据类型是我自定义的,在config.h中有声明如下:
//用共用体定义二值变量
typedef enum
{
} BOOL;
下面这几个函数是在main函数中调用的,所以要加上关键字extern,关于Clock.c文件的内容,在这里就不在贴出来了,有点多,有兴趣的可以参看附件,附件里面有源代码与工程文件,编译环境是MDK4.12。这里还要说一下Show_Time(uint8 svalue,uint vposi)这个函数,这个函数是用于更新完数据后在LCD相应位置显示,要说的一点是在重新显示之前一定要把那个位置清0,不然会出现乱码。如下面程序所示:
void Show_Time(uint8 svalue,uint8 vposi)
{
}
好了,先总结这么多吧,该继续工作了,不然boss看到了又以为我再玩,晚上回去再查一下bug~~
LPC2134LCD12864时 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)