这两个星期形似有点忙,弄的懒猫身心疲乏,乃至有时不由得竟对他人发了火,这一点懒猫很抱愧,在此说一对不住,期望你们能体谅。好了,再忙,懒猫也得抽暇学点东东,仍是那句老话,学如行舟,不进则退,懒猫虽爱飞,但还没有学会飞,所认为了懒猫能周游世界的愿望,懒猫必定要好好斗争再好好斗争!
嗯,好了,不费话,这几天抽暇在上篇日志的基础上写,又增加了点东东,做了个实时时钟,当然功用还不全,还没有调时刻的功用,还没有守时的功用,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~~