嵌入式C语言程序设计 使用MCS-51EX5-7.doc
文本预览下载声明
童梦无忧网 试管婴儿论坛
本文由壹个坏孩子贡献
/*
标题:范例 5-7
版本:1.0
Target:89S51
程序描述:这个程序利用89X51连接绘图型LCD,然后显示出:
现在时间是:
12:30:00
/05/09/01 */
/* ***************************************************** */
#include REGX51.H
/* 绘图型LCD 指令 */
#define GLCD_OFF 62 //关闭绘图型LCD
#define GLCD_ON 63 //打开绘图型LCD
#define GLCD_START_LINE_0 192 //设定绘图型LCD左半边的起始行
#define SET_PAGE 184 //设定绘图型LCD的页数
#define SET_Y_ADDRESS_0 64 //设定绘图型LCD的y轴位置
#define CLEAR 0 //清除绘图型LCD
/* 绘图型LCD 控制线 */
#define ENABLE 1
#define DISABLE 0
#define READ 1
#define WRITE 0
#define COMMAND 0
#define DATA 1
#define GLCD_RESET P2_2
#define GLCD_CS2 P2_3
#define GLCD_CS1 P2_4
#define GLCD_D_I P2_5
#define GLCD_R_W P2_6
#define GLCD_ENABLE P2_7
typedef struct {
char hour;
char minute;
char second;
} time;
typedef struct {
char year;
char month;
char day;
} date;
time now;
date today;
unsigned char gx,gy;
static unsigned timer0_tick;
char code int2char[]=0123456789;
char code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};
char code weekday[7][4]={MON,TUE,WED,THU,FRI,SAT,
SUN};
unsigned char code digit[10][4][8]=
//0
{{
{0X00,0X00,0X00,0XFC,0XFE,0X03,0X01,0X81},
{0XC1,0X61,0X31,0X1B,0XFE,0XFC,0X00,0X00},
{0X00,0X00,0X00,0X0F,0X1F,0X36,0X23,0X21},
{0X20,0X20,0X20,0X30,0X1F,0X0F,0X00,0X00}},
//1
{
{0X00,0X00,0X00,0X00,0X00,0X04,0X06,0XFF},
{0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
{0X00,0X00,0X00,0X00,0X20,0X20,0X20,0X3F},
{0X3F,0X20,0X20,0X20,0X00,0X00,0X00,0X00}},
//2
{
{0X00,0X00,0X00,0X1C,0X1E,0X03,0X01,0X81},
{0XC1,0X41,0X61,0X33,0X3E,0X1C,0X00,0X00},
{0X00,0X00,0X00,0X3C,0X3E,0X33,0X31,0X31},
{0X30,0X30,0X30,0X30,0X30,0X3C,0X00,0X00}},
//3
{
{0X00,0X00,0X00,0X0C,0X0E,0X02,0X01,0X41},
{0X41,0XE1,0XE1,0XB2,0X1E,0X0C,0X00,0X00},
{0X00,0X00,0X00,0X0C,0
显示全部