简易万年历
- 格式:doc
- 大小:120.50 KB
- 文档页数:31
实验七设计性实验
一.实验题目:简易万年历
二.功能说明:
2014年06月12日
12 : 00 : 00 30ºC
液晶屏上显示即时的日期、时间和温度,且日期和时间可调节。三.编程思想:
编程采用模块化思想,将程序分为几个模块,即液晶屏模块、数字温度传感器模块、定时器模块等。
定义端口,使日期和时间各位可调。
四.程序清单:
LCD.c文件
#include
#include
unsigned char code number_X[]=
{ //宽x高=8x16,纵向字节倒序
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, //0
0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00, //1
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00, //2
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00, //3 0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00, //4 0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00, //5 0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00, //6 0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00, //7 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00, //8 0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, //9 0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //-
0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //nop 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00, //:
};
/***********************************
*函数:void LCD_WriteCommandE1(unsigned char com) *功能:写指令代码子程序(E1)
***********************************/
void LCD_WriteCommandE1(unsigned char com)
{
while(CRADD1 & 0x80);
CW ADD1 = com;
}
/***********************************
*函数:void LCD_WriteCommandE1(unsigned char com) *功能:写显示数据子程序(E1)
***********************************/
void LCD_WriteDataE1(unsigned char dat)
{
while(CRADD1 & 0x80);
DWADD1 = dat;
}
/***********************************
*函数:void WriteCommandE2(unsigned char com) *功能:写指令代码子程序(E2)
***********************************/
void LCD_WriteCommandE2(unsigned char com) {
while(CRADD2 & 0x80);
CW ADD2 = com;
}
/***********************************
*函数:void WriteCommandE2(unsigned char com) *功能:写显示数据子程序(E2)
***********************************/
void LCD_WriteDataE2(unsigned char dat)
{
while(CRADD2 & 0x80);
DWADD2 = dat;
}
/*********************************
*函数:void LCD_Init()