2024年4月15日发(作者:闪靖易)
C0851F410与12864液晶显示
#include "C8051F410.h"
#define uchar unsigned char
#define LCMdata P2
#define Busy 0x80
sbit RS = P1^3;
sbit RW = P1^4;
sbit E = P1^5;
sbit PSB = P1^6;
sbit REST= P0^7;
//sfr16 TMR2RL = 0xCA; // Timer2 Reload Register
//sfr16 TMR2 = 0xCC;
void Display_String(uchar line,uchar *string);
void Wr_Data(uchar wrdata); //写数据
void Wr_Command(uchar wrcommand,busyc); //写指令
void RDbf(void);//读忙状态
void Lcm_Init(void);//液晶初始化
void Delay5Ms(void);//延时5ms
void write_show(uchar);
void SET_CGRAM(uchar,uchar);
void Dis_CG(uchar,uchar,uchar);
void Timer0Init(void);
uchar count,miao;
//uchar OS_Delay[1];
uchar code string_1[] = {"祖国江山好,
"};
uchar code string_2[] = {"爱情少不了。
"};
uchar code string_3[] = {" 温度:00
"};
uchar code string_4[] = {"温州大学--设计
"};
uchar code
CGRAM_ZIKU[]={0x70,0x00,0x50,0x00,0x70,0x00,0x07,
0xFC,0x1C,0x06,0x38,0x02,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x02,0x38,0x02,0x1C,0x0C
,0x0F,0xF0,0x00,0x00,0x00,0x00};
void main(void)
{
PCA0MD &= ~0x40; // Clear watchdog timer enable
OSCICN = 0x81;
while ((OSCICN & 0x40 ) == 0); // Wait until
stable
P0MDOUT = 0x80;
P1MDOUT = 0x78;
P2MDOUT = 0xFF;
XBR1 = 0x40;
Lcm_Init();
Timer0Init() ;
EA = 1 ;
Display_String(1,string_1);
Display_String(2,string_2);
Display_String(3,string_3);
Display_String(4,string_4);
SET_CGRAM(1,&CGRAM_ZIKU);
Dis_CG(2,6,1);
while(1)
{
if(count==20)
{
count=0;
miao++;
if(miao==100)
{
miao=0;
}
write_show(miao);
}
}
}
void SET_CGRAM(uchar num,uchar *CGRAM_ZIKU)
{
uchar i,add;
Wr_Command(0x34);
Wr_Command(0x02);
Wr_Command(0x30);
add=(num
2024年4月15日发(作者:闪靖易)
C0851F410与12864液晶显示
#include "C8051F410.h"
#define uchar unsigned char
#define LCMdata P2
#define Busy 0x80
sbit RS = P1^3;
sbit RW = P1^4;
sbit E = P1^5;
sbit PSB = P1^6;
sbit REST= P0^7;
//sfr16 TMR2RL = 0xCA; // Timer2 Reload Register
//sfr16 TMR2 = 0xCC;
void Display_String(uchar line,uchar *string);
void Wr_Data(uchar wrdata); //写数据
void Wr_Command(uchar wrcommand,busyc); //写指令
void RDbf(void);//读忙状态
void Lcm_Init(void);//液晶初始化
void Delay5Ms(void);//延时5ms
void write_show(uchar);
void SET_CGRAM(uchar,uchar);
void Dis_CG(uchar,uchar,uchar);
void Timer0Init(void);
uchar count,miao;
//uchar OS_Delay[1];
uchar code string_1[] = {"祖国江山好,
"};
uchar code string_2[] = {"爱情少不了。
"};
uchar code string_3[] = {" 温度:00
"};
uchar code string_4[] = {"温州大学--设计
"};
uchar code
CGRAM_ZIKU[]={0x70,0x00,0x50,0x00,0x70,0x00,0x07,
0xFC,0x1C,0x06,0x38,0x02,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x02,0x38,0x02,0x1C,0x0C
,0x0F,0xF0,0x00,0x00,0x00,0x00};
void main(void)
{
PCA0MD &= ~0x40; // Clear watchdog timer enable
OSCICN = 0x81;
while ((OSCICN & 0x40 ) == 0); // Wait until
stable
P0MDOUT = 0x80;
P1MDOUT = 0x78;
P2MDOUT = 0xFF;
XBR1 = 0x40;
Lcm_Init();
Timer0Init() ;
EA = 1 ;
Display_String(1,string_1);
Display_String(2,string_2);
Display_String(3,string_3);
Display_String(4,string_4);
SET_CGRAM(1,&CGRAM_ZIKU);
Dis_CG(2,6,1);
while(1)
{
if(count==20)
{
count=0;
miao++;
if(miao==100)
{
miao=0;
}
write_show(miao);
}
}
}
void SET_CGRAM(uchar num,uchar *CGRAM_ZIKU)
{
uchar i,add;
Wr_Command(0x34);
Wr_Command(0x02);
Wr_Command(0x30);
add=(num