📄 avryejing.c
字号:
#include"mega16.h"
#include"delay.h"
#define Line_Len 30
//---------定义数据通道口------------------
#define Data_Addr PORTC
#define Date_en DDRC
#define Date_in PINC
#define MyWR PORTB.0
#define MyRD PORTB.1
#define MyCE PORTB.2
#define MyCD PORTB.3
//---------向液晶屏送一帧数据------------------
flash unsigned char k[]={
0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,
0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,//三0
0x20,0x20,0x23,0xA8,0xAA,0xA9,0xA9,0xA9,0xAF,0xA8,0xB8,0xE8,0x81,0x02,0x04,0x08,
0x40,0x40,0xFC,0x40,0x48,0x4C,0x48,0x50,0xFE,0x40,0xA0,0xA0,0x10,0x0E,0x04,0x00,//峡1
0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x02,0x02,0x02,0x04,0x04,0x08,0x10,0x20,0x40,
0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0x80,0x40,0x40,0x20,0x10,0x18,0x0E,0x04,//大2
0x01,0x10,0x0C,0x08,0x7F,0x40,0x8F,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x02,0x01,
0x08,0x8C,0xC8,0x90,0xFE,0x04,0xE8,0x40,0x80,0xFE,0x80,0x80,0x80,0x80,0x80,0x00,//学3
0x01,0x01,0x01,0x3F,0x21,0x21,0x3F,0x21,0x21,0x21,0x3F,0x21,0x01,0x01,0x00,0x00,
0x00,0x00,0x00,0xF8,0x08,0x08,0xF8,0x08,0x08,0x08,0xF8,0x08,0x02,0x02,0xFE,0x00,//电4
0x00,0x3F,0x00,0x00,0x00,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x05,0x02,
0x00,0xF0,0x20,0x40,0x80,0x00,0x00,0x04,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//子5
0x08,0x08,0x14,0x13,0x21,0x40,0xBF,0x21,0x21,0x25,0x22,0x20,0x20,0x20,0x1F,0x00,
0x02,0x02,0x12,0x12,0xD2,0x92,0x12,0x12,0x12,0x12,0x12,0x82,0x82,0x8A,0x84,0x00,//创6
0x10,0x08,0x7F,0x22,0x14,0xFF,0x08,0x08,0xFF,0x08,0x2C,0x2A,0x4A,0x89,0x2A,0x10,
0x00,0x0E,0x70,0x40,0x40,0x7E,0x48,0x48,0x48,0x48,0x48,0x88,0x88,0x08,0x08,0x08,//新7
0x00,0x40,0x20,0x30,0x27,0x00,0xE0,0x27,0x21,0x21,0x21,0x21,0x29,0x36,0x20,0x00,
0x20,0x28,0x24,0x24,0xFE,0x20,0x20,0xE0,0x20,0x10,0x10,0x0A,0xCA,0x06,0x02,0x00,//试8
0x00,0xF8,0x08,0x48,0x48,0x49,0x4B,0x7C,0x04,0x06,0x35,0xC5,0x04,0x17,0x08,0x00,
0x00,0x40,0x40,0xA0,0x90,0x0E,0xF0,0x00,0x84,0x44,0x48,0x48,0x10,0xFE,0x00,0x00,//验9
0x02,0x01,0x3F,0x20,0x40,0x3F,0x04,0x08,0x1F,0x01,0x01,0x3F,0x01,0x01,0xFF,0x00,
0x00,0x00,0xFE,0x04,0x08,0xFC,0x00,0x20,0xF0,0x10,0x00,0xF8,0x00,0x00,0xFE,0x00,//室10
0x00,0x00,0x7C,0x44,0x47,0x44,0x7C,0x45,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,0x00,
0x10,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x90,0x90,0x10,0x10,0x10,0x10,0x50,0x20,//时11
0x10,0x10,0x20,0x3D,0x41,0x7D,0x91,0x11,0xFD,0x10,0x10,0x10,0x10,0x14,0x18,0x10,
0x20,0x20,0x20,0xFC,0x24,0x24,0x24,0x24,0xFC,0x20,0x20,0x20,0x20,0x20,0x20,0x20,//钟12
0x08,0x0F,0x10,0x10,0x20,0x4F,0x88,0x08,0x08,0x08,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0xFC,0x80,0x80,0x80,0xF8,0x80,0x80,0x80,0x80,0xFE,0x80,0x80,0x80,0x80,0x80,//年13
0x07,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x07,0x04,0x08,0x08,0x10,0x20,0x40,0x00,
0xF0,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0x10,0x50,0x20,0x00,//月14
0x00,0x1F,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x00,0x00,
0x00,0xF0,0x10,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0x10,0x10,0xF0,0x10,0x00,0x00,//日15
0x08,0x0C,0x08,0x10,0x10,0x20,0x40,0x9F,0x04,0x04,0x04,0x04,0x08,0x10,0x20,0x40,
0x80,0x80,0x40,0x20,0x30,0x18,0x0E,0xE4,0x20,0x20,0x20,0x20,0x20,0xA0,0x40,0x00,//分16
0x0C,0xF0,0x10,0x11,0xFD,0x11,0x32,0x3A,0x54,0x54,0x90,0x10,0x10,0x10,0x11,0x16,
0x20,0x20,0x20,0x28,0xA4,0x22,0x22,0x20,0x22,0x22,0x04,0x08,0x10,0x60,0x80,0x00,//秒17
0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,//118
0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00,//318
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,//019
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,//219
0x00,0x1F,0x10,0x1F,0x10,0x1F,0x01,0x11,0x1F,0x21,0x21,0x4F,0x01,0x01,0x7F,0x00,
0x00,0xF8,0x08,0xF8,0x08,0xF8,0x00,0x00,0xFC,0x00,0x00,0xF8,0x00,0x00,0xFE,0x00,//星20
0x22,0x22,0x7F,0x22,0x3E,0x22,0x3E,0x22,0x22,0xFF,0x00,0x24,0x22,0x43,0x81,0x00,
0x00,0x7C,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x7C,0x44,0x84,0x84,0x14,0x08,0x00,//期21
0x41,0x20,0x30,0x2F,0x01,0x01,0xE5,0x25, //迹 18
0x29,0x31,0x22,0x22,0x24,0x50,0x8F,0x00,
0x00,0xC0,0x40,0xFE,0x20,0x20,0x28,0x24,
0x26,0x24,0x20,0xA0,0x40,0x00,0xFE,0x00
};
void Post_Msg(unsigned char msg)
{Date_en=0xff;
Data_Addr=0xff;
MyCE=0;
MyCD=0;
Data_Addr = msg;
MyWR=0;
MyWR=1;
MyCE=1;
}
//------------送一条指令函数-----------------
void Post_Com(unsigned char msg)
{Date_en=0xff;
MyCE=0;
MyCD=1;
Data_Addr=msg;
MyWR=0;
MyWR=1;
MyCE=1;
}
//-------------接收一帧据数-------------------
unsigned char Read_Msg()
{unsigned char Statu;
Date_en=0xff;
Data_Addr=0xFF;
MyCE=0;
MyCD=1;
MyRD=0;
Date_en=0;
Statu=Date_in;
MyRD=1;
MyCE=1;
Date_en=0xff;
return (Statu);
}
//*********************************************
//*************************************
//读状态函数
//*************************************
void Read_Sta(unsigned char mark)
{
bit exit=0;
unsigned char Sta;
while(1)
{
Sta=Read_Msg(); //取得lcd当前状态
switch(mark) //得到需要的状态
{
case 1:if((Sta&0x03)==0x03)exit=1;break; //分离状态1,读写状态
case 2:if(Sta&0x04)exit=1;break; //分离状态2
case 3:if(Sta&0x10)exit=1;break; //分离状态3
default:break;
}
if(exit)break; //确认退出
}
}
//****************************************
//*************************************
//通讯函数
//说明:参数mark:传送的数据,2为两帧dat1和dat2都有效,1为一帧dat1有效,dat1为数据1, dat2为数据2,com为指令码
//*************************************
void Send_lcd(unsigned char mark,unsigned char dat1,unsigned char dat2,unsigned char com)
{
if(mark) //判断指令类型
{
Read_Sta(1);
Post_Msg(dat1); //类型1和2dat1均有效
if(mark==2)
{
Read_Sta(1);
Post_Msg(dat2); //类型2时dat2有效
}
}
Read_Sta(1);
Post_Com(com); //送指令码
}
//*************************************
//*************************************
//清显示函数
//说明:此函数可将液晶屏内从00单元开始8200单元结束的所有区域数据清零,但是不会对CGRAM汉字字模区清零
//************************************
void Clear()
{
unsigned int i;
Send_lcd(2,0x00,0x00,0x24); //置光标首地址(0x00,0x00)
Send_lcd(0,0x00,0x00,0xb0); //设置自动写方式
for(i=0;i<0x1b00;i++)
{
Read_Sta(3); //判断状态三(自动写标志位)
Post_Msg(0x00); //当前地址数据清零
}
for(i=0x1b00+1100;i<8200;i++)
{Read_Sta(3);Post_Msg(0x00);}
Send_lcd(0,0x00,0x00,0xb2); //自动写入结束
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -