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

標題: stm32單片機驅動1602顯示的源程序 [打印本頁]

作者: a123455    時間: 2018-7-11 01:54
標題: stm32單片機驅動1602顯示的源程序
注意供電電壓,測試時因為一直用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)




作者: LXH121    時間: 2019-1-17 18:15
你好,請問如何顯示一個變量的值
作者: HuM1989    時間: 2019-6-2 20:55
挺好的額
作者: lk3272    時間: 2019-11-5 15:41
下來看看




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人午夜看片 | 欧美亚洲综合久久 | 成年网站在线观看 | 日韩成人一区 | 精品在线一区 | 在线观看视频91 | 久草www | 成人激情视频免费在线观看 | 亚洲欧美日韩一区二区 | 久久精品免费观看 | 国产在线小视频 | 中文字幕国产 | 久久精品aaa | 精品视频在线观看 | 亚洲成人免费在线观看 | 在线视频 亚洲 | 欧美视频在线一区 | 成人欧美一区二区三区色青冈 | 午夜一区二区三区在线观看 | 亚洲免费一区 | 拍真实国产伦偷精品 | 亚洲成av人片在线观看 | 视频在线一区二区 | 欧美日韩中| 欧美一级电影免费观看 | 91精品久久久久久久久久入口 | 青青草综合 | 中文字幕一区二区三区四区五区 | 亚洲精品久久国产高清情趣图文 | 日韩欧美国产精品一区二区 | 日韩国产一区二区三区 | 国产一级一片免费播放 | 亚洲欧美国产精品一区二区 | 国产精品久久久久久妇女6080 | 日韩在线免费视频 | 国产精品久久久久不卡 | 精国产品一区二区三区四季综 | 农村妇女毛片精品久久久 | 二区在线视频 | 久久久久久久久国产 | 欧美日韩在线高清 |