标题: 单片机+lcd12864仿真和实物的问题,仿真ok但是实物不能滚动 [打印本页]

作者: chengyuyu    时间: 2020-5-21 15:05
标题: 单片机+lcd12864仿真和实物的问题,仿真ok但是实物不能滚动
我想问一下,我在仿真的时候可以实现上滑滚动显示,但是在实物上只能显示,不能滚动,这是为什么? (因为实物和仿真的cs1和cs2一个是非一个不是,所以左右半屏是反对,实物上是对的)
  1. <div>#include <reg52.h>                                                                                      //部分代码
  2. #define  uchar  unsigned char
  3. #define  uint  unsigned int
  4. #define LCDLCDDisp_Off   0x3e
  5. #define LCDLCDDisp_On    0x3f
  6. #define Page_Add         0xb8//&Ograve;&sup3;
  7. #define Column_Add       0x40//&Aacute;&ETH;
  8. #define Start_Line       0xC0//&ETH;&ETH;
  9. #define GPIO_KEY P1</div><div>
  10. </div><div>Disp(uchar page,uchar column, uchar code *word)
  11. </div>{
  12. uchar i;
  13. LCD_cs1=0;
  14. LCD_cs2=1;
  15. write_com(0xb8|page);
  16. write_com(0x40|column);
  17. for(i=0;i<16;i++)
  18. write_data(word[i]);
  19. for(i=32;i<48;i++)
  20. write_data(word[i]);
  21. for(i=64;i<80;i++)
  22. write_data(word[i]);
  23. for(i=96;i<112;i++)
  24. write_data(word[i]);
  25.         
  26. LCD_cs1=0;                                 //×ó°&euml;&AElig;&Aacute;&Iuml;&Acirc;&sup2;&iquest;·&Ouml;
  27. LCD_cs2=1;
  28. write_com(0xb8|page+1);
  29. write_com(0x40|column);
  30. for(i=16;i<32;i++)
  31. write_data(word[i]);
  32. for(i=48;i<64;i++)
  33. write_data(word[i]);
  34. for(i=80;i<96;i++)
  35. write_data(word[i]);
  36. for(i=112;i<128;i++)
  37. write_data(word[i]);

  38. LCD_cs1=1;                              //&Oacute;&Ograve;°&euml;&AElig;&Aacute;&Eacute;&Iuml;&sup2;&iquest;·&Ouml;
  39. LCD_cs2=0;
  40. write_com(0xb8|page);
  41. write_com(0x40);
  42. for(i=128;i<144;i++)
  43. write_data(word[i]);
  44. for(i=160;i<176;i++)
  45. write_data(word[i]);
  46. for(i=192;i<208;i++)
  47. write_data(word[i]);
  48. for(i=224;i<240;i++)
  49. write_data(word[i]);

  50. LCD_cs1=1;                                //&Oacute;&Ograve;°&euml;&AElig;&Aacute;&Iuml;&Acirc;&sup2;&iquest;·&Ouml;
  51. LCD_cs2=0;
  52. write_com(0xb8|page+1);
  53. write_com(0x40);
  54. for(i=144;i<160;i++)
  55. write_data(word[i]);
  56. for(i=176;i<192;i++)
  57. write_data(word[i]);
  58. for(i=208;i<224;i++)
  59. write_data(word[i]);
  60. for(i=240;i<250;i++)
  61. write_data(word[i]);
  62. }               

  63. for(k=0xc0;k<0xff;k++)   //这个是上下滚动的显示
  64.               {
  65.                             Disp(2,0,zk1);         /
  66.                                                                             LCD_cs1=0;
  67.                             LCD_cs2=0;
  68.                             write_com(k);
  69. }        
复制代码
谢谢大家



作者: chengyuyu    时间: 2020-5-21 17:03
找到问题了,因为实物为cs1和cs2,仿真的是cs1和cs2的非,所以里面的显示函数cs1和cs2全为0或者1的忘改了,只改了一个为0,一个为1的,不好意思。
作者: yzwzfyz    时间: 2020-5-21 18:38
找出仿真与实物的不同就可以了。
作者: zzccll    时间: 2022-2-14 12:40
实物不是不需要片选吗
作者: 树根l    时间: 2022-3-30 13:30
想问下实物用的是ks0108驱动吗,需要注意什么东西啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1