|
公司的老产品,上面能显示两行7个半汉字 刚开始怀疑是12232 可是从指令上看着不是,各位坛友有没有用过的来一起说一下
下面是这个屏的程序:
- void init_for_lcd(void)
- {
- unsigned char uu;
- //s_delay(100);
- SET_E_LCD(0); //PC6输出高电平
- SET_E_LCD(1); //PC5输出高电平
- // CLR_E_LCD(0);
- // CLR_E_LCD(1);
- CLR_A0(); //PC7输出低电平
- for(uu=0;uu<2;uu++)
- {out_lcd_data(0xaf,uu); //
- out_lcd_data(0xc0,uu); //
- out_lcd_data(0xa4,uu); //
- out_lcd_data(0x00,uu); //
- out_lcd_data(0xb8,uu); //
- out_lcd_data(0xa9,uu); //
- out_lcd_data(0xa0,uu); //
- out_lcd_data(0xee,uu); //
- }
- disp_str.last_init_secs=get_sys_secs_l();
- }
- void out_lcd_data(unsigned char AA,unsigned char BB)
- {
- if(!CHK_A0()) //指令需要旋转数据 //判断PC7
- {
- unsigned char cc=AA;
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- asm("ror r10");
- asm("ROL r22");
- /*
- AA=0;
- for(u=0;u<8;u++)
- {
- AA<<=1;
- if(cc&1)
- AA|=1;
- cc>>=1;
- }
- */
- }
- PORTA=AA;
- // NOP();
- DDRA=0xff;
- // latch_E_LCD(BB);
- SET_E_LCD(BB);
- CLR_E_LCD(BB);
- }
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|