如图所示,要求在LCD1602 第一行显示: 0123456789ab@#$&共16个数符, 第二行显示: ABCDEFGHIJKLMNOP共16个字母。 编程如下 #include ; //定义LCD1602寄存器选择位标示符 sbit RW=P1^1; sbit E=P1^0; void out(unsigned char x) { unsigned char i; ; //写LCD1602有效 ; //输出写入LCD1602的数据 for(i=0;i<10;i++); E=1; for(i=0;i<10;i++); ; //使能端下降沿触发 } void init1602() //LCD1602初始化函数 { ; //写指令寄存器 out(0x38); out(0x06); out(0x0c); out(0x03); } void wr1602(unsigned char d[],a) { unsigned char i; unsigned int t; RS=0; out(a); for(t=0;t<300;t++); ; // 写LCD1602数据寄存器 for( ) //循环写入16个显示数据,i初始值是0 { ; //以此写入显示数据(在数组d中) for(t=0;t<300;t++); } } void main() { unsigned char x[16]={"0123456789ab@#$&"}; unsigned char y[16]={"ABCDEFGHIJKLMNOP"}; E=0; init1602(); ; // 写LCD1602第一行数据 ; // 写LCD1602第二行数据 while(1); }