找回密码
 立即注册
搜索
查看: 2519|回复: 8

转个自己的贴-一块160*80不带控制器的液晶屏

[复制链接]
发表于 2017-10-9 21:59:52 来自手机 | 显示全部楼层 |阅读模式
一块160*80不带控制器的液晶屏

我的效果,直接用ram创建一个160*80的显存区,1k一下ram就别玩了,没有控制器,只有驱动器,
5块钱还要什么飞机呢!
程序:
  1. #include "STC15F2K60S2.H"
  2. #include "intrins.h"
  3. typedef unsigned char uchar;
  4. typedef unsigned int uint;

  5. //显示刷新帧速25ms,40帧,微闪烁,过快导致对比度下降
  6. #define LCD_DATA P2
  7. sbit  LCD_RST = P4^4;                // 重启    L
  8. sbit  LCD_XCS = P3^2;                //命令选择L
  9. sbit  LCD_SID = P3^3;                //命令串行数据
  10. sbit  LCD_XCLK = P3^4;                //命令时钟
  11. sbit  LCD_DISP = P3^5;                //L关闭显示
  12. sbit  LCD_CP = P4^2;                    //数据移位时钟
  13. sbit  LCD_LP = P4^1;                    //数据锁存,com数据移位
  14. sbit  LCD_M = P3^7;                            //LCD输出交流信号
  15. sbit  LCD_FLM = P3^6;                    //帧起始
  16. sbit    LCD_D1    = P2^0;                        //数据输入
  17. sbit    LCD_D2    = P2^1;
  18. sbit    LCD_D3    = P2^2;
  19. sbit    LCD_D4    = P2^3;


  20. /***********************阴码,顺向(高位在前)逐行式************************************/
  21. uchar xdata LCD_RAM[80][20]={
  22. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  23. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  24. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  25. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  26. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  27. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  28. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  29. {0x00,0x70,0x3E,0x07,0xC0,0x3C,0x3F,0x81,0xFB,0xFF,0x1F,0x83,0xE0,0x1C,0x0F,0xE0,0x3F,0x1F,0xE0,0x00},
  30. {0x00,0xF0,0x67,0x8C,0xE0,0x3C,0x30,0x07,0x00,0x07,0x39,0xC7,0x30,0x3C,0x0E,0x70,0x71,0x9C,0x70,0x00},
  31. {0x01,0xF0,0x03,0x80,0x70,0x7C,0x30,0x06,0x00,0x06,0x30,0xCE,0x38,0x3E,0x0E,0x38,0xE0,0x1C,0x38,0x00},
  32. {0x03,0x30,0x03,0x80,0x70,0x7C,0x30,0x0E,0x00,0x0E,0x30,0xCE,0x18,0x3E,0x0E,0x39,0xC0,0x1C,0x1C,0x00},
  33. {0x00,0x30,0x03,0x80,0x70,0xFC,0x30,0x0C,0x00,0x0C,0x39,0xCE,0x18,0x76,0x0E,0x39,0xC0,0x1C,0x1C,0x00},
  34. {0x00,0x30,0x03,0x80,0xE1,0xDC,0x3F,0x0F,0xF0,0x1C,0x1F,0x8E,0x1C,0x77,0x0E,0x71,0xC0,0x1C,0x1C,0x00},
  35. {0x00,0x30,0x07,0x07,0xC1,0x9C,0x03,0x8E,0x38,0x1C,0x0F,0x0E,0x3C,0xE7,0x0F,0xF1,0xC0,0x1C,0x1C,0x00},
  36. {0x00,0x30,0x0E,0x00,0xF3,0x9C,0x01,0xCC,0x38,0x38,0x3B,0xC3,0xF8,0xE3,0x8E,0x39,0xC0,0x1C,0x1C,0x00},
  37. {0x00,0x30,0x0E,0x00,0x73,0x1C,0x01,0xCC,0x18,0x38,0x70,0xE0,0x18,0xE3,0x8E,0x19,0xC0,0x1C,0x1C,0x00},
  38. {0x00,0x30,0x1C,0x00,0x37,0xFF,0x01,0xCE,0x18,0x70,0x70,0xE0,0x39,0xFF,0x8E,0x1D,0xC0,0x1C,0x18,0x00},
  39. {0x00,0x30,0x38,0x00,0x70,0x1C,0x01,0xCE,0x38,0x70,0x70,0xE0,0x39,0xC1,0xCE,0x18,0xE0,0x1C,0x38,0x00},
  40. {0x00,0x30,0x70,0x18,0x70,0x1C,0x63,0x86,0x30,0x60,0x31,0xC0,0x71,0x81,0xCE,0x38,0xF1,0x9C,0x70,0x00},
  41. {0x03,0xFE,0xFF,0xCF,0xC0,0x1C,0x7F,0x03,0xE0,0xE0,0x1F,0x8F,0xC3,0x80,0xCF,0xF0,0x3F,0x1F,0xC0,0x00},
  42. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  43. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  44. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  45. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  46. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  47. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  48. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  49. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  50. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  51. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  52. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  53. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  54. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  55. {0x03,0xFC,0x7F,0x87,0xF0,0xC0,0xC7,0x0E,0x70,0xEE,0x07,0x80,0x78,0xE0,0xC0,0xFC,0x1F,0xE0,0x7E,0x00},
  56. {0x03,0x80,0x60,0x0E,0x18,0xC0,0xC7,0x0E,0x71,0xCE,0x07,0xC0,0xF8,0xF0,0xC3,0x87,0x1C,0x71,0xE3,0x80},
  57. {0x03,0x80,0x60,0x1C,0x00,0xC0,0xC7,0x0E,0x73,0x8E,0x07,0xC0,0xF8,0xF0,0xC3,0x03,0x1C,0x31,0x81,0xC0},
  58. {0x03,0x80,0x60,0x38,0x00,0xC0,0xC7,0x0E,0x77,0x0E,0x07,0xE0,0xF8,0xF8,0xC7,0x03,0x9C,0x33,0x81,0xC0},
  59. {0x03,0x80,0x60,0x30,0x00,0xC0,0xC7,0x0E,0x7E,0x0E,0x07,0xE1,0xF8,0xD8,0xC6,0x03,0x9C,0x33,0x80,0xC0},
  60. {0x03,0x80,0x60,0x30,0x00,0xC0,0xC7,0x0E,0x7C,0x0E,0x07,0x61,0xB8,0xDC,0xC6,0x01,0x9C,0x73,0x00,0xC0},
  61. {0x03,0xFC,0x7F,0x31,0xF8,0xFF,0xC7,0x0E,0x7C,0x0E,0x07,0x73,0xB8,0xCE,0xC6,0x01,0x9C,0x73,0x00,0xC0},
  62. {0x03,0x80,0x60,0x30,0x38,0xC0,0xC7,0x0E,0x7E,0x0E,0x07,0x73,0x38,0xCE,0xC6,0x01,0x9F,0xC3,0x00,0xC0},
  63. {0x03,0x80,0x60,0x30,0x38,0xC0,0xC7,0x0E,0x77,0x0E,0x07,0x3F,0x38,0xC7,0xC6,0x03,0x9C,0x03,0x80,0xC0},
  64. {0x03,0x80,0x60,0x38,0x38,0xC0,0xC7,0x0E,0x73,0x8E,0x07,0x3F,0x38,0xC7,0xC7,0x03,0x9C,0x03,0x81,0xC0},
  65. {0x03,0x80,0x60,0x18,0x38,0xC0,0xC7,0x0C,0x73,0x8E,0x07,0x1E,0x38,0xC3,0xC7,0x03,0x1C,0x01,0x81,0x80},
  66. {0x03,0x80,0x60,0x1E,0x38,0xC0,0xC7,0x4C,0x71,0xCE,0x07,0x1E,0x38,0xC1,0xC3,0x87,0x1C,0x01,0xC3,0x80},
  67. {0x03,0xFE,0x60,0x07,0xF0,0xC0,0xC7,0x78,0x70,0xEF,0xF7,0x1C,0x38,0xC1,0xC0,0xFC,0x1C,0x00,0x7F,0xE0},
  68. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0},
  69. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30},
  70. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  71. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  72. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  73. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  74. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  75. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  76. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  77. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  78. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  79. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  80. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  81. {0x03,0xFC,0x1F,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  82. {0x03,0x8E,0x71,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  83. {0x03,0x8E,0x70,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  84. {0x03,0x86,0x70,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  85. {0x03,0x8E,0x70,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  86. {0x03,0x8E,0x3C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  87. {0x03,0xF8,0x1F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  88. {0x03,0x9C,0x07,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  89. {0x03,0x8C,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  90. {0x03,0x8E,0x01,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  91. {0x03,0x8E,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  92. {0x03,0x87,0x63,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  93. {0x03,0x87,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  94. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  95. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  96. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  97. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  98. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  99. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  100. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  101. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
  102. };

  103. void LCD_Init(void)                            //为了保证屏幕亮度,必须刷新较慢暂定50hz
  104. {
  105. uint i=0,x=0,y=0;
  106.    
  107.     //LCD_CP=1;
  108.     LCD_LP=1;
  109.     LCD_FLM=1;
  110.    
  111.     LCD_LP=0;
  112.     LCD_FLM=0;
  113.     for (x=80;x>0;x--)
  114.         {
  115.         LCD_LP=1;
  116.         LCD_LP=0;
  117.         for (i=0;i<20;i++)
  118.             {
  119.                
  120.             y=LCD_RAM[x];
  121.                
  122.             
  123.             LCD_CP=1;
  124.             LCD_DATA=y>>4;
  125.             
  126.             LCD_CP=0;
  127.                 LCD_CP=1;
  128.             LCD_DATA=y;
  129.             
  130.             LCD_CP=0;
  131.             }
  132.    
  133.         }LCD_M=~LCD_M;
  134. }
  135. delay_us()
  136. {_nop_();
  137.     _nop_();
  138.     _nop_();
  139.     _nop_();
  140.     _nop_();
  141.     _nop_();
  142.     _nop_();
  143.     _nop_();
  144.     _nop_();
  145.     _nop_();
  146.     _nop_();
  147.     _nop_();
  148. }
  149. void LCD_CMD (uchar command)                    //发送命令时,必须延时足够(先设定2us)才能正确配置命令
  150. {    uchar i=0;
  151.     LCD_XCS=0;
  152.     delay_us();
  153.     LCD_XCLK=1;
  154.     delay_us();
  155.     for (i=0;i<8;i++)
  156.         {
  157.         command<<=1;
  158.         LCD_SID=CY;
  159.             delay_us();
  160.         LCD_XCLK=0;
  161.             delay_us();
  162.         LCD_XCLK=1;   
  163.             delay_us();                        //上升沿读取数据
  164.             
  165.         }
  166. //    LCD_XCLK=0;
  167. //    LCD_SID=1;
  168.     LCD_XCS=1;
  169.         delay_us();                                //关闭命令控制
  170. }

  171. void main()
  172. { unsigned char i, j;

  173.    
  174.     LCD_RST=0;
  175.     i = 59;
  176.     j = 90;
  177.     do
  178.     {
  179.         while (--j);
  180.     } while (--i);
  181.     LCD_RST=1;   
  182.     LCD_CMD(0x08);                        //00000000bD3 select frame direction.0:normal,1:reverse,bias 1/9
  183.     LCD_CMD(0x27);                    //00101111bSelect internal power supply operating mode
  184.                
  185.     LCD_CMD(0x46);                            //01000111bSelect internal resistor ratio(Rb/Ra) mode
  186.     LCD_CMD(0x67);                                    //01100111bSet the LCD booster frequency
  187.     LCD_CMD(0xf0);                                //11011010bSet the V0 output voltage  electronic volume register
  188.     LCD_XCS=0;                                    //这三条必须有,不然升压不工作!或许是A,B两个版本的区别   
  189.     LCD_SID=1;
  190.     LCD_XCLK=0;        
  191.    
  192.    
  193. //    LCD_DISP=0;
  194. //    LCD_DISP=1;
  195. //    LCD_XCS=0;
  196. //    LCD_SID=0;
  197. //    LCD_XCLK=0;
  198.    
  199.     while (1)
  200.         { LCD_Init();}
  201. }
复制代码



           

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
 楼主| 发表于 2017-10-9 22:00:18 来自手机 | 显示全部楼层
自己的帖子转过来,
发表于 2017-10-10 18:28:00 | 显示全部楼层
垃圾猪 发表于 2017-10-9 22:00
自己的帖子转过来,

转过来,就好好转嘛,单片机C代码,论坛发贴时有专门的代码按钮的。
发表于 2017-12-6 08:19:32 | 显示全部楼层
普通人用不上,看着就蒙。
发表于 2017-12-6 09:45:15 | 显示全部楼层
本帖最后由 光速飞行 于 2017-12-6 09:46 编辑
勇闯沙滩 发表于 2017-12-6 08:19
普通人用不上,看着就蒙。

你身边到处都是,这些是简单的了,怎么用不上呢?
发表于 2017-12-6 13:39:16 | 显示全部楼层
光速飞行 发表于 2017-12-6 09:45
你身边到处都是,这些是简单的了,怎么用不上呢?

看那一大堆程序有点蒙,
发表于 2017-12-6 15:59:10 | 显示全部楼层
勇闯沙滩 发表于 2017-12-6 13:39
看那一大堆程序有点蒙,

这是C语言,C语言很多地方都上。
发表于 2017-12-19 02:20:04 | 显示全部楼层
这个屏点亮了
发表于 2020-10-2 22:28:02 | 显示全部楼层
虽然俺看不懂,屏亮了就是高手。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|仪表爱好者 ( 京ICP备2021027848号 )

GMT+8, 2024-4-19 18:31 , Processed in 0.078125 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表