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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4634|回復: 3
打印 上一主題 下一主題
收起左側

stm32單片機驅動1602顯示的源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:339323 發表于 2018-7-11 01:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
注意供電電壓,測試時因為一直用3.3V所以導致無顯示,浪費大量時間。且對比度引腳接地

STM32單片機源程序如下:
  1. #include "lcd1602.h"
  2. #include "delay.h"
  3.                              
  4. #define DELAY_2N     0

  5. //==================================================
  6. void LCD_init(void)
  7. {
  8.     /*********************液晶使用的I/O口初始化**************************/
  9.                 GPIO_InitTypeDef GPIO_InitStructure;
  10.        
  11.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  12.   
  13.     GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_1 | GPIO_Pin_2| GPIO_Pin_0| GPIO_Pin_3
  14.                                                                                                                                         | GPIO_Pin_4| GPIO_Pin_5| GPIO_Pin_6| GPIO_Pin_7
  15.                                                                                                                                         | GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_10;
  16.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  17.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  18.     GPIO_Init(GPIOC, &GPIO_InitStructure);
  19.        
  20.     LCD_RW(0);                        //讀寫位直接低電平,只寫不讀

  21.     /*********************液晶初始化**************************/        
  22.     delay_us(340);
  23.                 LCD_RS(0);
  24.    
  25.     LCD_write_cmd(0x38);          // 8bit顯示模式,2行,5x7字體
  26.     delay_ms(4);  
  27.     LCD_write_cmd(0x08);         // 顯示關閉
  28.     delay_ms(4);
  29.     LCD_write_cmd(0x01);         // 顯示清屏
  30.     delay_ms(4);
  31.     LCD_write_cmd(0x06);         // 顯示光標移動設置
  32.     delay_ms(4);
  33.     LCD_write_cmd(0x0c);         // 顯示開,光標開,光標閃爍
  34.     delay_ms(4);
  35.                 LCD_write_cmd(0x01);         //清屏
  36.                 delay_ms(4);
  37. }
  38. /*--------------------------------------------------
  39. 函數說明:寫命令到液晶


  40. ---------------------------------------------------*/
  41. void LCD_write_cmd(unsigned char cmd)
  42. {
  43.     LCD_RS(0);
  44.     LCD_Write_byte(cmd);
  45.     delay_us(340);
  46. }
  47. /*--------------------------------------------------
  48. 函數說明:寫數據到液晶


  49. ---------------------------------------------------*/
  50. void LCD_write_data(unsigned char w_data)
  51. {
  52.     LCD_RS(1);
  53.     LCD_Write_byte(w_data);
  54.     delay_us(340);
  55. }
  56. /*--------------------------------------------------
  57. 函數說明:寫4bit到液晶
  58. --------------------------------------------------*/
  59. void LCD_Write_byte(unsigned char num)
  60. {  
  61.                 if (num&0x01)
  62.                                 data0(1);
  63.                 else
  64.                                 data0(0);

  65.                 if (num&0x02)
  66.                                 data1(1);
  67.                 else
  68.                                 data1(0);

  69.                 if (num&0x04)
  70.                                 data2(1);
  71.                 else
  72.                                 data2(0);

  73.                 if (num&0x08)
  74.                                 data3(1);
  75.                 else
  76.                                 data3(0);

  77.                 if (num&0x10)
  78.                                 data4(1);
  79.                 else
  80.                                 data4(0);

  81.                 if (num&0x20)
  82.                                 data5(1);
  83.                 else
  84.                                 data5(0);

  85.                 if (num&0x40)
  86.                                 data6(1);
  87.                 else
  88.                                 data6(0);
  89.                
  90.                 if (num&0x80)
  91.                                 data7(1);
  92.                 else
  93.                                 data7(0);
  94.                 delay_us(340);
  95.     LCD_EN(1);
  96.     delay_us(340);
  97.     LCD_EN(0);
  98.     delay_us(340);
  99. }

  100. /*----------------------------------------------------
  101. LCD_set_xy        : 設置LCD顯示的起始位置
  102. 輸入參數:x、y    : 顯示字符串的位置,X:0-15,Y:0-1               
  103. -----------------------------------------------------*/
  104. void LCD_set_xy( unsigned char x, unsigned char y )
  105. {
  106.     unsigned char address = 0;
  107.     if (y==0)
  108.     {
  109.         address=0x80+x;
  110.     }
  111.     else
  112.     {
  113.         address=0xc0+x;
  114.     }
  115. //                y ? (address=0xc0+x): (address=0x80+x) ;
  116.     LCD_write_cmd(address);
  117. }
  118. /*---------------------------------------------------
  119. LCD_write_string  : 英文字符串顯示函數
  120. 輸入參數:*s      :英文字符串指針;
  121.           X、Y    : 顯示字符串的位置               
  122. ---------------------------------------------------*/
  123. void LCD_write_string(unsigned char X,unsigned char Y, char *s)
  124. {
  125.     LCD_set_xy(X,Y);   
  126.     while (*s)
  127.     {
  128.         LCD_write_data(*s);
  129.         s++;
  130.     }
  131. }

  132. //=======================================================
  133. void LCD_wstring(unsigned char X,unsigned char *s)
  134. {
  135.     LCD_write_cmd(X);   
  136.     while (*s)
  137.     {
  138.         LCD_write_data(*s);
  139.         s++;
  140.     }
  141. }
  142. //void delay(vu32 cnt)
  143. //{
  144. //  cnt <<= DELAY_2N;

  145. //  while (cnt--);
  146. //}
復制代碼

所有資料51hei提供下載:

lcd1602.rar (301.67 KB, 下載次數: 100)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:463898 發表于 2019-1-17 18:15 | 只看該作者
你好,請問如何顯示一個變量的值
回復

使用道具 舉報

板凳
ID:133894 發表于 2019-6-2 20:55 | 只看該作者
挺好的額
回復

使用道具 舉報

地板
ID:96478 發表于 2019-11-5 15:41 | 只看該作者
下來看看
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区精彩视频 | 久久不射电影网 | 天天看天天摸天天操 | 自拍偷拍欧美 | 国产精品一区二区久久 | 亚洲精品电影 | 久久这里有精品 | 日韩中文字幕在线视频观看 | 欧美区在线| 91一区二区在线观看 | 亚洲福利一区二区 | 一道本一区二区 | 国产精品久久久久久亚洲调教 | 亚洲国产成人久久综合一区,久久久国产99 | 国产精品永久久久久久久www | 国产网站在线免费观看 | aaa天堂| 国产一区免费 | 欧美日韩精品在线免费观看 | 欧美日韩亚洲系列 | 亚洲 欧美 日韩在线 | 国产精品久久久久久久岛一牛影视 | 国产一区精品在线 | 91精品久久久久久久久久 | 久久久久国产 | 日本高清视频网站 | 亚洲欧美在线观看 | 成年免费在线观看 | 久久99精品久久久久蜜桃tv | 亚洲国产精品成人无久久精品 | 国产精品久久久久久久7电影 | 精品久久久久香蕉网 | 国产高清无av久久 | 国色天香综合网 | 欧美一区在线视频 | 伦理片97| 久久久久久国产精品 | 国产精品一区一区 | 精品一区二区三区四区五区 | 国产精品视频导航 | 中文在线视频 |