📄 lcd.c
字号:
#include "reg66x.h"
#include "absacc.h"
#define uchar unsigned char
uchar j=0;
uchar flash;
bit addbit=1;
uchar code zhou[]={
/*-- 文字: 周 --*/
/*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x10,0x18,0x0F,0x01,0x05,0x1D,0x15,0x15,0x1D,0x1D,0x01,0x3F,0x38,0x00,0x00,
0x00,0x00,0x00,0xE0,0xE0,0x60,0x60,0xF0,0xF0,0x60,0x60,0x60,0xF0,0x20,0x00,0x00,
/*-- 文字: 立 --*/
/*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x18,0x18,0x18,0x08,0x0F,0x08,0x08,0x08,0x1F,0x19,0x18,0x18,0x38,0x18,0x08,
0x00,0x00,0x40,0x40,0x40,0xC0,0x40,0x70,0x70,0xC0,0xC0,0x40,0x40,0x40,0x00,0x00,
/*-- 文字: 功 --*/
/*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x04,0x04,0x06,0x06,0x33,0x12,0x1A,0x0E,0x16,0x13,0x11,0x18,0x1C,0x07,0x01,0x00,
0x00,0x40,0x40,0x40,0xC0,0x40,0x40,0x40,0x40,0x40,0xF0,0x70,0x80,0x80,0x80,0x00,
};
uchar code li[]=
{
/*-- 文字: 单 --*/
/*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x0C,0x0C,0x04,0x07,0x06,0x06,0x1F,0x3F,0x06,0x06,0x06,0x0D,0x0C,0x0C,0x00,
0x00,0x00,0x00,0x40,0xC0,0xD0,0xB0,0xC0,0xC0,0xB0,0xD0,0xC0,0xE0,0x00,0x00,0x00,
/*-- 文字: 片 --*/
/*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x18,0x08,0x0C,0x07,0x01,0x01,0x01,0x3F,0x3F,0x01,0x01,0x03,0x03,0x03,0x01,
0x00,0x00,0x00,0x00,0xF0,0xC0,0x40,0x40,0x70,0x60,0x40,0x40,0x40,0x00,0x00,0x00,
/*-- 文字: 机 --*/
/*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x04,0x06,0x03,0x3F,0x03,0x12,0x1C,0x0F,0x00,0x00,0x0F,0x18,0x18,0x18,0x08,
0x00,0x00,0x40,0x40,0xF0,0x40,0x40,0x00,0xE0,0x20,0x20,0xE0,0x20,0x00,0x00,0x00,
};
void delay(uchar k) //延时
{
uchar i,j;
for(i=0;i<k;i++)
for(j=0;j<250;j++);
}
void c_send(uchar a) //输入指令
{
XBYTE[0xFC01]=0; //RS输出0
XBYTE[0xFC03]=a; //指令
delay(5);
}
void d_send(uchar a) //输入数据
{
XBYTE[0xFC01]=1; //RS输出1
XBYTE[0xFC03]=a; //数据
delay(5);
}
main()
{
uchar i;
delay(200);
delay(200);
delay(200);
//黑屏
XBYTE[0XFC00]=1; //片选选择左半屏
c_send(0X3F);
c_send(0xc0);
c_send(0xb8);
for(j=0;j<8;j++)
{
c_send(0xb8+j);
for(i=0;i<64;i++)
d_send(0xff);
}
XBYTE[0XFC00]=2; //片选选择右半屏
c_send(0X3F);
c_send(0xc0);
c_send(0xb8);
for(j=0;j<8;j++)
{
c_send(0xb8+j);
for(i=0;i<64;i++)
d_send(0xff);
}
//显示输出
XBYTE[0XFC00]=1; //输出显示周立功
c_send(0X3F);
c_send(0xc0);//
c_send(0x50);
c_send(0xb9);
flash=0x50;
for(i=0;i<96;i++)
{
if(i%16==0)
{
if(addbit)
{
// flash[1]=0xc0+(i/2);
flash=0x50+(i/2);
c_send(0xc0);
c_send(flash);
}
else
{
c_send(0xc0);
c_send(flash);
}
c_send(0xb8+(uchar)addbit);
addbit=~addbit;
}
d_send(zhou[i]);
}
XBYTE[0XFC00]=2; //输出显示单片机
c_send(0X3F);
c_send(0xc0);
c_send(0x40);
c_send(0xb9);
flash=0x40;
for(i=0;i<96;i++)
{
if(i%16==0)
{
if(addbit)
{
// flash[1]=0xc0+(i/2);
flash=0x40+(i/2);
c_send(0xc0);
c_send(flash);
}
else
{
c_send(0xc0);
c_send(flash);
}
c_send(0xb8+(uchar)addbit);
addbit=~addbit;
}
d_send(li[i]);
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -