在线时间0 小时
UID120480
注册时间2009-4-7
NXP金币0
该用户从未签到
新手上路

- 积分
- 10
- 最后登录
- 1970-1-1
|
经过的大侠帮忙看看下面的程序,下载后,液晶屏不能清屏,initLCD就是清屏程序,是什么问题呢
//12864的数据口接mc9s12dg128的PORTA口
//12864的cs1,cs2,rs,rw接mc9s12dg128的PORTB口的高四位
//12864的en接PORTK_BIT4
#define bus PORTA
#define cs1 PORTB_BIT4
#define cs2 PORTB_BIT5
#define rs PORTB_BIT6
#define rw PORTB_BIT7
#define en PORTK_BIT4
#define busy PORTA_BIT7
void init_12864(void)
{ DDRK_BIT4=1;
DDRB=0xFF;
DDRA=0xFF;
PUCR=0x0F;
}
//查询忙碌标志信号程序//
void check_busy(void)
{
do
{
en=1;
rs=0;
rw=1;
DDRA=0;
delay(2);
}while(busy);
DDRA=0xFF;
}
void choose12864(uchar i)//i是要写的屏.0是左屏,1是右屏,2是双屏
{
switch (i)
{
case 0: cs1=0;cs2=1;break;
case 1: cs1=1;cs2=0;break;
case 2: cs1=0;cs2=0;break;
default: break;
}
}
//写指令到12864
void w_code(uchar cod)
{
check_busy();
en=0;
rw=0;
rs=0;
bus=cod;
en=1;
en=0;
}
//写显示数据到12864
void w_data(char dat)
{
check_busy();
en=0;
rw=0;
rs=1;
bus=dat;
en=1;
en=0;
}
void initLCD(void) //初始化LCD
{
uchar i,k;
choose12864(2);
w_code(0x3e); //开显示设置
w_code(0xc0); //设置显示起始行为第一行
w_code(0xb8); //页面地址设置
w_code(0x40); //列地址设为0
for(i=0;i
|
|