久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3043|回復: 11
收起左側

剛剛接觸stm32,有沒有大佬幫我看一下程序 LCD1602不顯示

[復制鏈接]
回帖獎勵 9 黑幣 回復本帖可獲得 3 黑幣獎勵! 每人限 1 次(中獎概率 60%)
ID:295783 發(fā)表于 2018-4-21 14:41 | 顯示全部樓層 |閱讀模式
這個程序的LCD1602引腳D0-D7是接到PB8-PB15嗎?   RS  PB5,     RW  PB4 ,      E  PB3這樣接對嗎
我這樣接的為什么不顯示

  1. #include "public.h"
  2. #define DATA (GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15)
  3. #define rs (GPIO_Pin_5)
  4. #define rw (GPIO_Pin_4)
  5. #define e (GPIO_Pin_3)
  6. u8 num[]="0123456789";
  7. u8 a[]=" welcome to PZ  ";
  8. u8 b[]=" Beautiful Girl ";
  9. void GPIOINIT()   //¶Ë¿Ú³õʼ»¯
  10. {
  11. GPIO_InitTypeDef GPIO_InitStructure;
  12. GPIO_InitStructure.GPIO_Pin=DATA|rs|rw|e;
  13. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  14. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  15. GPIO_Init(GPIOB,&GPIO_InitStructure);
  16. // GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);//°Ñµ÷ÊÔÉèÖÃÆÕͨIO¿Ú
  17. }
  18. void RCCINIT() //ϵͳ³õʼ»¯
  19. {
  20. SystemInit();
  21. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  22.     //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  23. //Èç¹û²»¼ÓÕâÌõÓï¾ä³ÌÐòÏÔʾ¾Í»á³ö´í£¬¼´Ã»Óдò¿ª¶Ë¿Ú¸´Óù¦ÄܵÄʱÖÓÅäÖÃ
  24. }
  25. u8 readbusy() //æÐźżì²â
  26. {  
  27. u8 f;
  28. GPIO_ResetBits(GPIOB,rs);  
  29. GPIO_SetBits(GPIOB,rw);
  30. GPIO_SetBits(GPIOB,e);
  31. f=((GPIO_ReadInputData(GPIOB)&0X8000));
  32. delayms(10);
  33. GPIO_ResetBits(GPIOB,e);
  34. return f;  
  35. }
  36. void lcdwrc(u8 c)   //д°ËλÊý¾Ý
  37. {
  38. while(readbusy());
  39. GPIO_ResetBits(GPIOB,rs);  
  40. GPIO_ResetBits(GPIOB,rw);
  41. GPIO_ResetBits(GPIOB,e);
  42. delayms(1);
  43. GPIOB->BSRR = c<<8 & 0xf000;  //½«Êý¾ÝË͵½P0¿Ú
  44.     GPIOB->BRR = ((~c)<<8) & 0xf000;
  45. delayms(1);
  46. GPIO_SetBits(GPIOB,e);
  47. delayms(1);
  48. GPIO_ResetBits(GPIOB,e);
  49. delayms(1);
  50. }
  51. void lcdwrc4bit(long c)    //д8λÊý¾Ý,ͨ¹ý4¸öÒý½Å
  52. {
  53. while(readbusy());
  54. GPIO_ResetBits(GPIOB,rs);  
  55. GPIO_ResetBits(GPIOB,rw);
  56. GPIO_ResetBits(GPIOB,e);
  57. delayms(1);
  58. GPIOB->BSRR = c<<8 & 0xf000;  //½«Êý¾ÝË͵½P0¿Ú
  59.     GPIOB->BRR = ((~c)<<8) & 0xf000;
  60. delayms(1);
  61. GPIO_SetBits(GPIOB,e);
  62. delayms(1);
  63. GPIO_ResetBits(GPIOB,e);
  64. delayms(1);
  65. GPIOB->BSRR = c<<12 & 0xf000;  //½«Êý¾ÝË͵½P0¿Ú
  66.     GPIOB->BRR = ((~c)<<12) & 0xf000;
  67. delayms(1);
  68. GPIO_SetBits(GPIOB,e);
  69. delayms(1);
  70. GPIO_ResetBits(GPIOB,e);
  71. delayms(1);
  72. }
  73. void lcdwrd(long dat)   //¶Á°ËλÊý¾Ýͨ¹ý4¸öÒý½Å
  74. {
  75. while(readbusy());  
  76. GPIO_SetBits(GPIOB,rs);  
  77. GPIO_ResetBits(GPIOB,rw);
  78. GPIO_ResetBits(GPIOB,e);
  79. delayms(1);
  80. GPIOB->BSRR = dat<<8 & 0xf000;  //½«Êý¾ÝË͵½P0¿Ú
  81.     GPIOB->BRR = ((~dat)<<8) & 0xf000;
  82. delayms(1);
  83. GPIO_SetBits(GPIOB,e);
  84. delayms(1);
  85. GPIO_ResetBits(GPIOB,e);
  86. delayms(1);
  87. GPIOB->BSRR = dat<<12 & 0xf000;  //½«Êý¾ÝË͵½P0¿Ú
  88.     GPIOB->BRR = ((~dat)<<12) & 0xf000;
  89. delayms(1);
  90. GPIO_SetBits(GPIOB,e);
  91. delayms(1);
  92. GPIO_ResetBits(GPIOB,e);
  93. delayms(1);
  94. GPIO_ResetBits(GPIOB,rs);
  95. }
  96. void lcdinit()      //LCD³õʼ»¯
  97. {
  98. delayms(15);
  99. lcdwrc4bit(0x32);
  100. delayms(5);
  101. lcdwrc4bit(0x28);
  102. delayms(5);
  103. lcdwrc4bit(0x08);
  104. delayms(5);
  105. lcdwrc4bit(0x01);
  106. delayms(5);
  107. lcdwrc4bit(0x06);
  108. delayms(5);
  109. lcdwrc4bit(0x0c);
  110. delayms(5);
  111. }
  112. void display()    //ÏÔʾ
  113. {
  114. u8 i;
  115. lcdwrc4bit(0x00+0x80);
  116. for(i=0;i<16;i++)
  117. {
  118.   lcdwrd(a[i]);
  119. }
  120. lcdwrc4bit(0x40+0x80);
  121. for(i=0;i<16;i++)
  122. {
  123.   lcdwrd(b[i]);
  124. }
  125. }
  126. int main()
  127. {

  128. RCCINIT();   //  ÏµÍ³Ê±ÖÓ³õʼ»¯
  129. GPIOINIT();   //  ¶Ë¿Ú³õʼ»¯
  130. lcdinit(); //   Òº¾§ÏÔʾ³õʼ»¯
  131. while(1)
  132. {
  133.   display();   
  134. }
  135. }
復制代碼
回復

使用道具 舉報

ID:295783 發(fā)表于 2018-4-21 15:01 | 顯示全部樓層
有人看見嗎
回復

使用道具 舉報

ID:295783 發(fā)表于 2018-4-21 15:03 | 顯示全部樓層
頂一下
回復

使用道具 舉報

ID:150276 發(fā)表于 2018-4-22 17:27 | 顯示全部樓層
LCD1602要5v供電,stm32是3.3v.你確定電平轉換正確嗎?
回復

使用道具 舉報

ID:295783 發(fā)表于 2018-4-23 08:25 | 顯示全部樓層
51在路上 發(fā)表于 2018-4-22 17:27
LCD1602要5v供電,stm32是3.3v.你確定電平轉換正確嗎?

32我用的是上面帶的USB電源,1602用的是5v
回復

使用道具 舉報

ID:295783 發(fā)表于 2018-4-23 08:25 | 顯示全部樓層
51在路上 發(fā)表于 2018-4-22 17:27
LCD1602要5v供電,stm32是3.3v.你確定電平轉換正確嗎?

我上面那樣接線對嗎
回復

使用道具 舉報

ID:314258 發(fā)表于 2018-4-23 10:22 | 顯示全部樓層
GPIOB->BSRR = c<<8 & 0xf000;
===>GPIOB->BSRR = c<<8 & 0xff00;
高8位
回復

使用道具 舉報

ID:314301 發(fā)表于 2018-4-23 10:59 | 顯示全部樓層
查一下1602的顯示方式,找好每一個點的顯示再進行傳輸
回復

使用道具 舉報

ID:295783 發(fā)表于 2018-4-23 12:55 | 顯示全部樓層
PC7275 發(fā)表于 2018-4-23 10:59
查一下1602的顯示方式,找好每一個點的顯示再進行傳輸

你覺得我連這個都不會嗎??? 老鐵!!!
回復

使用道具 舉報

ID:699194 發(fā)表于 2020-3-29 21:23 | 顯示全部樓層
程序新手 發(fā)表于 2018-4-23 08:25
32我用的是上面帶的USB電源,1602用的是5v

你這樣接電源,都沒有共GND給它,肯定不行的啊
回復

使用道具 舉報

ID:592807 發(fā)表于 2020-3-30 08:40 | 顯示全部樓層
初始化包括io口初始化和指令初始化,你有沒有使用指令對LCD初始化

uc1617s指令

uc1617s指令
回復

使用道具 舉報

ID:707815 發(fā)表于 2020-3-31 10:42 | 顯示全部樓層
泥都知道打點了,那就應該知道取模呀,我沒有看到你取得模,打點函數,根據字模打點,而且,打點的字模大小跟取模大小要一致,完成后,在進行打單個字符,再根據打單個字符,打印字符串,得一步一步的來,你也可以把你那一句話直接取模,直接打點函數打印該字模
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美国产综合 | 成人a在线| 精品欧美乱码久久久久久 | 中文字幕久久精品 | 中文字幕国产精品 | 伊人在线| 国产在线视频一区 | 国产美女免费视频 | 99精品国产一区二区青青牛奶 | 懂色中文一区二区在线播放 | 蜜桃av人人夜夜澡人人爽 | 亚洲成人毛片 | 色综合九九 | 黄色av网站在线免费观看 | 在线啊v | 97视频免费| 一区二区三区中文字幕 | 亚洲国产成人精品久久 | 日韩中文在线观看 | 国产福利在线 | 久草网站| av免费网站在线 | 一级欧美| 亚洲国产成人精品久久久国产成人一区 | 黄色网址在线免费播放 | 欧美精品久久久久久久久老牛影院 | 毛片免费视频 | 久久蜜桃av一区二区天堂 | 中文字幕在线观看www | 成人久久 | 成人午夜影院 | www.国产精 | 黄色国产视频 | 日韩免费视频 | 国产一区二 | 国产精品久久久久久久久久妞妞 | 国产欧美视频一区二区三区 | 欧美炮房 | 欧美成人一级 | 亚洲人的av | 天天人人精品 |