【正确答案】下面是在双行显示板的第一行第三个位置显示4个字符GOOD的程序dslcd.c。程序包括初始化函数init_lcd、显示字符函数d_char和显示字符串函数display。
应用程序:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define LCDCOM XBYTE [0x7ff0]
#define LCDDATA XBYTE[0x7ff1]
sbit bflag=ACC^7;
uchar idata s_GOOD[5]={0x47,0x4fr,0x4f,0x44,0x00);
void wait (void)
{
dof ACC=LCDCOM;}while (bflag==1);//查询BF标志
}
void init_lcd(void)
{
LCDCOM=0x38; //置功能;2行,5x7字符
wait();
LCDCMO=0x06; //置输入模式:地址增量,显示屏不移动
wait();
LCDCMO=0x0f; //显示开,显示光标,显示闪烁
wait();
LCDCMO=0x01; //清显示
wait();
}
void d_char (uchar a)
{
LCDDATA=a;
wait();
}
void display(uchar x,uchar idata *s) //显示字符串函数
{
uchar i=0; //参数显示位置和显示的字符串
LCDCOM=x;
While(s[i]!=0x00) //置显示位置地址
{
d_char(s[i]);
i++;
}
}
void main (void)
{
init_lcd ();
display() 2, s_GOOD;
}
【答案解析】