📄 8255a.c
字号:
#include <reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define A XBYTE[0x7efc]
#define B XBYTE[0x7efd]
#define C XBYTE[0x7efe]
#define Com XBYTE[0x7eff]
void LCD_INIT( )
{ int i;
Com=0x80;
A=0xff;
C=0xff; //P1口输出信号状态
C=0xff;
for(i=0;i<100;i++); //延迟
//LcdEn=0;
//P1=DBPort;
Com=0x80;
A=0x00; //写入命令 8位数据端口,2行显示,5*10点阵
C=0x00;
B=0x00;
C=0xf9;
for(i=0;i<100;i++); //延迟
C=0xf8;
//P1=DBPort; //P1口输出信号状态
Com=0x80;
C=0xf8;
B=0x0f;
C=0xf9;
for(i=0;i<100;i++); //延迟
C=0xf8;
//P1=DBPort; //P1口输出信号状态
//写入命令 光标移动,字符不动
Com=0x80;
C=0xf8;
B=0x06;
C=0xf9;
for(i=0;i<100;i++); //延迟
C=0xf8;
//P1=DBPort; //P1口输出信号状态
}
void LCD_CLR() //写入命令 清屏
{ int i;
Com=0x80;
C=0xf8;
B=0x01;
C=0xf9;
for(i=0;i<100;i++); //延迟
C=0xf8;
//P1=DBPort; //P1口输出信号状态
}
void Gotoxy(int x,int y)
{
int i;
Com=0x80;
if(y==0) //写入命令 光标移动,字符不动
{
C=0xf8;
B=0x80|x; // 不能改变第一行字符显示位置
C=0xf9;
for(i=0;i<100;i++); //延迟
C=0xf8;
//P1=DBPort; //P1口输出信号状态
}
if(y==1) //写入命令 光标移动,字符不动
{
C=0xf8;
B=0x80|(x+0x40);
//DBPort=0x80|x;
C=0xf9;
for(i=0;i<100;i++); //延迟
C=0xf8;
//P1=DBPort; //P1口输出信号状态
}
}
void writedata(uchar dat)
{
int i;
Com=0x80;
C=0xfc;
B=dat;
C=0xfd;
for(i=0;i<100;i++); //延迟
C=0xfc;
}
void Print(unsigned char *str)
{
while(*str!='\0')
{
int i=0;
Com=0x80;
C=0xfc;
B=*str;
C=0xfd;
for(i=0;i<100;i++); //延迟
C=0xfc;
str++;
}
}
main()
{
uchar i;
Com=0x80;
A=0xff;
B=0xff; //P1口输出信号状态
C=0xff;
for(i=0;i<100;i++); //延迟
//LcdEn=0;
//P1=DBPort;
Com=0x80;
A=0x00; //写入命令 8位数据端口,2行显示,5*10点阵
C=0x00;
B=0x00;
C=0xf9;
for(i=0;i<100;i++); //延迟
LCD_INIT( );
Gotoxy(2,1);
Print("0123456789");
// while(1)
// {
// key=keyboard();
// A=key;
// delay();
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -