找回密码
 立即注册
查看: 1261|回复: 4

求助大佬,我屏幕不正常工作。

[复制链接]

1

主题

2

回帖

23

积分

新手上路

积分
23
发表于 2023-5-29 08:44:42 来自手机 | 显示全部楼层 |阅读模式
有没有大佬知道,怎样让这块屏幕正常工作,是在屠龙刀上用的,屏幕的规格书我也放下面了,我试了几次,屏幕是亮了,但没显示任何字符,我是新手,还请各位大佬帮帮忙,
IMG20230524101252.jpg
IMG20230524101303.jpg
IMG20230526115112.jpg

12864B-V2.2中文说明书.pdf

2.1 MB, 下载次数: 100

屏幕规格书

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-5-29 09:22:44 | 显示全部楼层
实验箱上有这种屏的接口,屠龙刀板子需要飞线,可以参考实验箱对应接口进行飞线测试:

1.png

回复 支持 反对

使用道具 举报 送花

1

主题

2

回帖

23

积分

新手上路

积分
23
发表于 2023-5-29 09:41:08 来自手机 | 显示全部楼层
好的,谢谢,等下班了,我回家继续试试。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:522
  • 最近打卡:2025-05-02 00:29:54

10

主题

1159

回帖

5121

积分

论坛元老

积分
5121
发表于 2023-5-29 10:13:08 | 显示全部楼层
你这个屏幕是ST7920驱动的。

  1. /*---------------------------------------------------------------------*/
  2. /* --- STC MCU Limited ------------------------------------------------*/
  3. /* --- STC 1T Series MCU Demo Programme -------------------------------*/
  4. /* --- Mobile: (86)13922805190 ----------------------------------------*/
  5. /* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
  6. /* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
  7. /* --- Web: www.STCAI.com ---------------------------------------------*/
  8. /* --- Web: www.STCMCUDATA.com  ---------------------------------------*/
  9. /* --- BBS: www.STCAIMCU.com  -----------------------------------------*/
  10. /* --- QQ:  800003751 -------------------------------------------------*/
  11. /* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序        */
  12. /*---------------------------------------------------------------------*/
  13. /*************  功能说明    **************
  14. 本例程基于STC8H8K64U为主控芯片的实验箱9进行编写测试,STC8G、STC8H系列芯片可通用参考.
  15. 128*64的LCD显示程序
  16. 显示图形,汉字,英文,数字
  17. 下载时, 选择时钟 24MHz (用户可自行修改频率).
  18. ******************************************/
  19. #include "stc8h.h"       //包含此头文件后,不需要再包含"reg51.h"头文件
  20. #include "intrins.h"
  21. #define     MAIN_Fosc       24000000L   //定义主时钟
  22. typedef     unsigned char   u8;
  23. typedef     unsigned int    u16;
  24. typedef     unsigned long   u32;
  25. sbit    LCD_RS = P4^5;  //定义引脚
  26. sbit    LCD_RW = P4^2;
  27. sbit    LCD_E  = P4^4;
  28. sbit    PSB    = P3^5;      //PSB脚为12864的串、并通讯功能切换,我们使用8位并行接口,PSB=1
  29. sbit    LCD_RESET   =   P3^4;   //  17---RESET  L-->Enable
  30. #define LCD_Data P6
  31. #define Busy    0x80 //用于检测LCD状态字中的Busy标识
  32. void    delay_ms(u16 ms);
  33. void    WriteDataLCD(u8 WDLCD);
  34. void    WriteCommandLCD(u8 WCLCD,BuysC);
  35. u8      ReadDataLCD(void);
  36. u8      ReadStatusLCD(void);
  37. void    LCDInit(void);
  38. void    LCDClear(void);
  39. void    LCDFlash(void);
  40. void    DisplayOneChar(u8 X, u8 Y, u8 DData);
  41. void    DisplayListChar(u8 X, u8 Y, u8 code *DData);
  42. void    DisplayImage (u8 code *DData);
  43. u8  code uctech[] = {"南通国芯微电子  "};
  44. u8  code net[]    = {" stcmcudata.com "};
  45. u8  code mcu[]    = {"专业制造51单片机"};
  46. u8  code qq[]     = {" QQ: 800003751  "};
  47.     //128*64点阵图形数据
  48. code u8 gImage_gxw[1024] = { /* 0X10,0X01,0X00,0X80,0X00,0X40, */
  49. 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  50. 0X00,0X3F,0X03,0XF0,0X3F,0X03,0XF0,0X00,0X00,0X00,0X0C,0X00,0X00,0X00,0XC0,0X00,
  51. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X00,0X0C,0X00,0X18,0XFF,0XE0,0X00,
  52. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X00,0X08,0X1C,0X1C,0X1B,0X00,0X00,
  53. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X1F,0XFF,0XFE,0X0C,0X0E,0X00,0X00,
  54. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X00,0X0C,0X00,0X00,0X8C,0X60,0X00,
  55. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X04,0X0C,0X10,0X00,0XFF,0XF0,0X00,
  56. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X07,0XFF,0XF8,0X0C,0XCC,0X60,0X00,
  57. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X00,0X06,0X63,0X18,0X7E,0XCC,0X60,0X00,
  58. 0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X06,0X33,0X98,0X0C,0XFF,0XE0,0X00,
  59. 0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X06,0X32,0X18,0X0C,0XCC,0X60,0X00,
  60. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X05,0XD8,0X0C,0XCC,0X60,0X00,
  61. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0XFF,0X78,0X0C,0XFF,0XE0,0X00,
  62. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X08,0XD8,0X0C,0XCC,0X60,0X00,
  63. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X07,0XFF,0XF8,0X0C,0XCC,0X60,0X00,
  64. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X0C,0X18,0X0C,0XCF,0XE0,0X00,
  65. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X0C,0X18,0X3E,0X80,0X40,0X00,
  66. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X0C,0X18,0X73,0XC0,0X00,0X00,
  67. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X0D,0XF0,0X20,0X7F,0XF8,0X00,
  68. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X00,0X30,0X00,0X00,0X00,0X00,
  69. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  70. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  71. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X00,0X18,0X01,0X84,0X00,0X00,
  72. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X07,0XFF,0XFC,0X01,0XC6,0X00,0X00,
  73. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X06,0X00,0X58,0X01,0X86,0X30,0X00,
  74. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X07,0XFF,0XD8,0X7F,0XFF,0XF8,0X00,
  75. 0X60,0X00,0XFD,0X1F,0XF0,0X7A,0X00,0X18,0X00,0X06,0X0C,0X18,0X01,0X86,0X00,0X00,
  76. 0X60,0X01,0X87,0X13,0X30,0XC6,0X00,0X18,0X00,0X06,0X0C,0X18,0X01,0X86,0X00,0X00,
  77. 0X60,0X03,0X03,0X33,0X11,0X83,0X00,0X18,0X00,0X06,0X0C,0X18,0X00,0X40,0X00,0X00,
  78. 0X60,0X03,0X03,0X03,0X01,0X83,0X00,0X18,0X00,0X06,0X0C,0XD8,0X00,0X30,0X00,0X00,
  79. 0X60,0X03,0X80,0X03,0X03,0X80,0X00,0X18,0X00,0X06,0XFF,0XF8,0X03,0X38,0X00,0X00,
  80. 0X60,0X01,0XC0,0X03,0X03,0X00,0X00,0X18,0X00,0X06,0X0F,0X18,0X0B,0X98,0X80,0X00,
  81. 0X60,0X00,0X78,0X03,0X03,0X00,0X00,0X18,0X00,0X06,0X0D,0X98,0X0B,0X18,0XC0,0X00,
  82. 0X60,0X00,0X1E,0X03,0X03,0X00,0X00,0X18,0X00,0X06,0X0C,0XD8,0X1B,0X00,0X70,0X00,
  83. 0X60,0X00,0X07,0X03,0X03,0X00,0X00,0X18,0X00,0X06,0X0C,0X18,0X1B,0X01,0X30,0X00,
  84. 0X60,0X00,0X03,0X03,0X03,0X80,0X00,0X18,0X00,0X06,0X0C,0XD8,0X3B,0X01,0X30,0X00,
  85. 0X60,0X03,0X03,0X03,0X03,0X83,0X00,0X18,0X00,0X07,0XF7,0XB8,0X33,0X01,0X80,0X00,
  86. 0X60,0X03,0X03,0X03,0X01,0X82,0X00,0X18,0X00,0X06,0X00,0X18,0X03,0X01,0X80,0X00,
  87. 0X60,0X01,0XC6,0X03,0X01,0XC6,0X00,0X18,0X00,0X07,0XFF,0XF8,0X01,0XFF,0X80,0X00,
  88. 0X60,0X01,0X7C,0X07,0XC0,0X7C,0X00,0X18,0X00,0X06,0X00,0X18,0X00,0X00,0X00,0X00,
  89. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X04,0X00,0X00,0X00,0X00,0X00,0X00,
  90. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  91. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  92. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  93. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X21,0X86,0X00,0X07,0X00,0X00,0X00,0X10,
  94. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X31,0X86,0X00,0X07,0X00,0X03,0XFF,0XF8,
  95. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X65,0X66,0X00,0X02,0X00,0X00,0X00,0X68,
  96. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0XC7,0X7C,0X00,0X02,0X08,0X00,0X00,0XC0,
  97. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X95,0X6C,0X41,0XFF,0XFC,0X00,0X03,0X80,
  98. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X19,0X3D,0X6F,0XE1,0X82,0X0C,0X00,0X0E,0X00,
  99. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X3E,0XE9,0XA1,0X82,0X0C,0X00,0X0E,0X00,
  100. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X60,0X59,0X81,0X82,0X0C,0X00,0X0C,0X0C,
  101. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X6F,0XFD,0X81,0XFF,0XFC,0X1F,0XFF,0XFE,
  102. 0X60,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0XE0,0X15,0X81,0X82,0X0C,0X00,0X0C,0X02,
  103. 0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XA6,0X45,0X81,0X82,0X0C,0X00,0X0C,0X00,
  104. 0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0X27,0XC7,0X01,0X82,0X0C,0X00,0X0C,0X00,
  105. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X26,0X47,0X01,0XFF,0XFC,0X00,0X0C,0X00,
  106. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X26,0X5F,0X01,0X82,0X0B,0X00,0X0C,0X00,
  107. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X26,0X77,0X01,0X02,0X03,0X00,0X0C,0X00,
  108. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X26,0XEF,0X80,0X02,0X03,0X00,0X0C,0X00,
  109. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X24,0X59,0XC0,0X02,0X03,0X00,0X0C,0X00,
  110. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X38,0X30,0XE0,0X03,0XFF,0X80,0X7C,0X00,
  111. 0X00,0X21,0X02,0X10,0X21,0X02,0X10,0X00,0X38,0XE0,0X00,0X00,0X00,0X00,0X18,0X00,
  112. 0X00,0X3F,0X03,0XF0,0X3F,0X03,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  113. };
  114. void main(void)
  115. {
  116.     P_SW2 |= 0x80;  //扩展寄存器(XFR)访问使能
  117.     P0M1 = 0x30;   P0M0 = 0x30;   //设置P0.4、P0.5为漏极开路(实验箱加了上拉电阻到3.3V)
  118.     P1M1 = 0x30;   P1M0 = 0x30;   //设置P1.4、P1.5为漏极开路(实验箱加了上拉电阻到3.3V)
  119.     P2M1 = 0x3c;   P2M0 = 0x3c;   //设置P2.2~P2.5为漏极开路(实验箱加了上拉电阻到3.3V)
  120.     P3M1 = 0x50;   P3M0 = 0x50;   //设置P3.4、P3.6为漏极开路(实验箱加了上拉电阻到3.3V)
  121.     P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
  122.     P5M1 = 0x0c;   P5M0 = 0x0c;   //设置P5.2、P5.3为漏极开路(实验箱加了上拉电阻到3.3V)
  123.     P6M1 = 0xff;   P6M0 = 0xff;   //设置为漏极开路(实验箱加了上拉电阻到3.3V)
  124.     P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口
  125.     delay_ms(100); //启动等待,等LCD讲入工作状态
  126.     LCDInit(); //LCM初始化
  127.     delay_ms(5); //延时片刻(可不要)
  128.     while(1)
  129.     {
  130.         LCDClear();
  131.         DisplayImage(gImage_gxw);//显示图形
  132.         delay_ms(5000);
  133.         LCDClear();
  134.         DisplayListChar(0,1,uctech);    //显示字库中的中文数字
  135.         DisplayListChar(0,2,net);       //显示字库中的中文数字
  136.         DisplayListChar(0,3,mcu);       //显示字库中的中文
  137.         DisplayListChar(0,4,qq);        //显示字库中的中文数字
  138.         delay_ms(5000);
  139.     }
  140. }
  141. //========================================================================
  142. // 函数: void delay_ms(u8 ms)
  143. // 描述: 延时函数。
  144. // 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.
  145. // 返回: none.
  146. // 版本: VER1.0
  147. // 日期: 2013-4-1
  148. // 备注:
  149. //========================================================================
  150. void delay_ms(u16 ms)
  151. {
  152.      u16 i;
  153.      do{
  154.           i = MAIN_Fosc / 10000;
  155.           while(--i)    ;   //10T per loop
  156.      }while(--ms);
  157. }
  158. //******************************************
  159. void LCD_delay(void)
  160. {
  161.     _nop_();
  162.     _nop_();
  163.     _nop_();
  164.     _nop_();
  165.     _nop_();
  166.     _nop_();
  167.     _nop_();
  168.     _nop_();
  169.     _nop_();
  170.     _nop_();
  171. }
  172. //写数据
  173. void WriteDataLCD(u8 WDLCD)
  174. {
  175.     ReadStatusLCD(); //检测忙
  176.     LCD_RS = 1;
  177.     LCD_RW = 0;
  178.     LCD_Data = WDLCD;
  179.     LCD_delay();
  180.     LCD_E = 1;
  181.     LCD_delay();
  182.     LCD_E = 0;
  183. }
  184. //写指令
  185. void WriteCommandLCD(u8 WCLCD,BuysC) //BuysC为0时忽略忙检测
  186. {
  187.     if (BuysC) ReadStatusLCD(); //根据需要检测忙
  188.     LCD_RS = 0;
  189.     LCD_RW = 0;
  190.     LCD_Data = WCLCD;
  191.     LCD_delay();
  192.     LCD_E = 1;
  193.     LCD_delay();
  194.     LCD_E = 0;  
  195. }
  196. //读状态
  197. u8 ReadStatusLCD(void)
  198. {
  199.     LCD_Data = 0xFF;
  200.     LCD_RS = 0;
  201.     LCD_RW = 1;
  202.     LCD_delay();
  203.     LCD_E = 1;
  204.     LCD_delay();
  205.     while (LCD_Data & Busy); //检测忙信号
  206.     LCD_E = 0;
  207.     return(LCD_Data);
  208. }
  209. void LCDInit(void) //LCM初始化
  210. {
  211. //  PSB = 1;    //并口
  212. //  PSB = 0;    //SPI口
  213.     delay_ms(10);
  214.     LCD_RESET = 0;
  215.     delay_ms(10);
  216.     LCD_RESET = 1;
  217.     delay_ms(100);
  218.    
  219.     WriteCommandLCD(0x30,1); //显示模式设置,开始要求每次检测忙信号
  220.     WriteCommandLCD(0x01,1); //显示清屏
  221.     WriteCommandLCD(0x06,1); // 显示光标移动设置
  222.     WriteCommandLCD(0x0C,1); // 显示开及光标设置
  223. }
  224. void LCDClear(void) //清屏
  225. {
  226.     WriteCommandLCD(0x01,1); //显示清屏
  227.     WriteCommandLCD(0x34,1); // 显示光标移动设置
  228.     WriteCommandLCD(0x30,1); // 显示开及光标设置
  229. }
  230. //按指定位置显示一串字符
  231. void DisplayListChar(u8 X, u8 Y, u8 code *DData)
  232. {
  233.     u8 ListLength,X2;
  234.     ListLength = 0;
  235.     X2 = X;
  236.     if(Y < 1)   Y=1;
  237.     if(Y > 4)   Y=4;
  238.     X &= 0x0F; //限制X不能大于16,Y在1-4之内
  239.     switch(Y)
  240.     {
  241.         case 1: X2 |= 0X80; break;  //根据行数来选择相应地址
  242.         case 2: X2 |= 0X90; break;
  243.         case 3: X2 |= 0X88; break;
  244.         case 4: X2 |= 0X98; break;
  245.     }
  246.     WriteCommandLCD(X2, 1); //发送地址码
  247.     while (DData[ListLength] >= 0x20) //若到达字串尾则退出
  248.     {
  249. //        if (X <= 0x0F) //X坐标应小于0xF
  250.         {
  251.             WriteDataLCD(DData[ListLength]); //
  252.             ListLength++;
  253.             X++;
  254.         }
  255.     }
  256. }
  257. //图形显示122*32
  258. void DisplayImage (u8 code *DData)
  259. {
  260.     u8 x,y,i;
  261.     unsigned int tmp=0;
  262.     for(i=0;i<9;)       //分两屏,上半屏和下半屏,因为起始地址不同,需要分开
  263.     {
  264.         for(x=0;x<32;x++)   //32行
  265.         {
  266.             WriteCommandLCD(0x34,1);
  267.             WriteCommandLCD((0x80+x),1);//列地址
  268.             WriteCommandLCD((0x80+i),1);    //行地址,下半屏,即第三行地址0X88
  269.             WriteCommandLCD(0x30,1);        
  270.             for(y=0;y<16;y++)   
  271.                 WriteDataLCD(DData[tmp+y]);//读取数据写入LCD
  272.             tmp+=16;        
  273.         }
  274.         i+=8;
  275.     }
  276.     WriteCommandLCD(0x36,1);    //扩充功能设定
  277.     WriteCommandLCD(0x30,1);
  278. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-02 07:55:56
已绑定手机

19

主题

3191

回帖

4872

积分

论坛元老

积分
4872
发表于 2024-3-13 11:28:52 | 显示全部楼层
可调电阻调了吗?出厂默认对比度都很低看不到字
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:45 , Processed in 0.112458 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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