我想問一下,我在仿真的時候可以實現上滑滾動顯示,但是在實物上只能顯示,不能滾動,這是為什么?
9XTOVCWTBGC}2`F]_G@4ZTK.png (6.49 KB, 下載次數: 85)
下載附件
2020-5-21 15:00 上傳
B]70F_3R062FQXK8(I7{M]L.png (6.09 KB, 下載次數: 83)
下載附件
2020-5-21 15:00 上傳
(因為實物和仿真的cs1和cs2一個是非一個不是,所以左右半屏是反對,實物上是對的)
- <div>#include <reg52.h> //部分代碼
- #define uchar unsigned char
- #define uint unsigned int
- #define LCDLCDDisp_Off 0x3e
- #define LCDLCDDisp_On 0x3f
- #define Page_Add 0xb8//Ò³
- #define Column_Add 0x40//ÁÐ
- #define Start_Line 0xC0//ÐÐ
- #define GPIO_KEY P1</div><div>
- </div><div>Disp(uchar page,uchar column, uchar code *word)
- </div>{
- uchar i;
- LCD_cs1=0;
- LCD_cs2=1;
- write_com(0xb8|page);
- write_com(0x40|column);
- for(i=0;i<16;i++)
- write_data(word[i]);
- for(i=32;i<48;i++)
- write_data(word[i]);
- for(i=64;i<80;i++)
- write_data(word[i]);
- for(i=96;i<112;i++)
- write_data(word[i]);
-
- LCD_cs1=0; //×ó°ëÆÁϲ¿·Ö
- LCD_cs2=1;
- write_com(0xb8|page+1);
- write_com(0x40|column);
- for(i=16;i<32;i++)
- write_data(word[i]);
- for(i=48;i<64;i++)
- write_data(word[i]);
- for(i=80;i<96;i++)
- write_data(word[i]);
- for(i=112;i<128;i++)
- write_data(word[i]);
- LCD_cs1=1; //ÓÒ°ëÆÁÉϲ¿·Ö
- LCD_cs2=0;
- write_com(0xb8|page);
- write_com(0x40);
- for(i=128;i<144;i++)
- write_data(word[i]);
- for(i=160;i<176;i++)
- write_data(word[i]);
- for(i=192;i<208;i++)
- write_data(word[i]);
- for(i=224;i<240;i++)
- write_data(word[i]);
- LCD_cs1=1; //ÓÒ°ëÆÁϲ¿·Ö
- LCD_cs2=0;
- write_com(0xb8|page+1);
- write_com(0x40);
- for(i=144;i<160;i++)
- write_data(word[i]);
- for(i=176;i<192;i++)
- write_data(word[i]);
- for(i=208;i<224;i++)
- write_data(word[i]);
- for(i=240;i<250;i++)
- write_data(word[i]);
- }
- for(k=0xc0;k<0xff;k++) //這個是上下滾動的顯示
- {
- Disp(2,0,zk1); /
- LCD_cs1=0;
- LCD_cs2=0;
- write_com(k);
- }
復制代碼 謝謝大家
|