lcd.c

来自「自己写的串口的固件程序」· C语言 代码 · 共 69 行

C
69
字号
#include "config.h"
#define rs (1<<8)
#define rw (1<<9)
#define en (1<<10)
#define busy (1<<7)
uint8 txt0[]={"An arm7  example"};
uint8 txt1[]={"By HXK"};
uint8 txt2[]={"2009-03-29"};

void ChkBusy()
{
	IO0DIR=0x700;
	while(1)
	{
		IO0CLR=rs;
		IO0SET=rw;
		IO0SET=en;
		if(!(IO0PIN&busy))break;
		IO0CLR=en;
	}
	IO0DIR=0x7ff;
	
}

void WrOp(uint8 data)
{
	ChkBusy();
	IO0CLR=rs;
	IO0CLR=rw;
	IO0CLR=0xFF;
	IO0SET=data;
	IO0SET=en;
	IO0CLR=en;
}
void WrDat(uint8 data)
{
	ChkBusy();
	IO0SET=rs;
	IO0CLR=rw;
	IO0CLR=0xFF;
	IO0SET=data;
	IO0SET=en;
	IO0CLR=en;
}

void lcd_init(void)
{
	WrOp(0x38);
	WrOp(0x06);
	WrOp(0x0c);
	
}

void DisText(uint8 addr,uint8 *p)
{
	WrOp(addr);
	while(*p!='\0')
	WrDat(*(p++));
}
void lcd(void)
{
	lcd_init();
	IO0DIR=0x7FF;
	IO0CLR=0x7ff;
	DisText(0x80,txt0);
	DisText(0xC0,txt1);
	DisText(0xC6,txt2);
		
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?