STM32F105系列微控制器驅LCD1602顯示

2021-09-28 22:42:32 字數 1664 閱讀 3141

stm32驅動lcd1602步驟如下:

1. 選擇lcd1602的資料io和控制io

本案例選擇的stm32f105的gpioe的pin_0~pin_7作為資料介面,gpioc的pin_11為lcd1602的bla(背光源正極),gpioc的pin_13~pin_15分別作為e(使能訊號)、r/w(讀/寫選擇端)和rs(資料命令選擇端)。

2.使能選擇的io口和初始化lcd1602

原始碼如下:

void init_lcd1602() 

3.寫命令函式

原始碼如下:

void write_com(u8 com)                                   

4.寫資料函式

原始碼如下:

void write_com(u8 com)                                   

5.寫字串

原始碼如下:

void lcdshowstr( unsigned char *strdata, unsigned char row, unsigned char col )//row為「0」在第一行顯示,「1」為第二行。col為該行的起始位置

else

baseaddr += col;

while ( *strdata != '\0' )

}6..c包含標頭檔案和.**件(這些都在正點原子光碟a附帶**中)

.c標頭檔案如下:

#include "lcd1602.h"

#include "sys.h"

#include "delay.h"

.**件原始碼如下:

#ifndef __lcd1602hl__

#define __lcd1602hl__

#include "sys.h"

#define rs pcout(15) 

#define rw pcout(14)

#define en pcout(13) 

void init_lcd1602(void); 

void write_com(unsigned char com); 

void write_dat(unsigned char date); 

void gpio_write(gpio_typedef* gpiox, uint16_t portval); 

void lcdshowstr( unsigned char *strdata, unsigned char row, unsigned char col );

#endif

7.main檔案

main原始碼如下:

#include"sys.h"

#include "lcd1602.h"

unsigned char table = "hello world!";

int main(void);}

8.顯示效果

關於STM32F105的SPI3配置

1.gpio口 table 1 spi3 nss pa4 pa15 spi3 sck pb3pc10 spi3 miso pb4pc11 spi3 mosi pb5pc12 2 配置 table 2 pin name main function after reset alternate funct...

STM32系列ARM微控制器介紹

如果你正為專案的處理器而進行艱難的選擇 一方面抱怨16位微控制器有限的指令和效能,另一方面又抱怨 32位處理器 的高成本和高功耗,那麼,基於arm cortex m3 核心的stm32系列處理器也許能幫你解決這個問題。使你不必在效能 成本 功耗等因素之間做出取捨和折衷。即使你還沒有看完stm32的產...

STM32系列微控制器命名規則

示例 stm32 f 100 c 6 t 6 b 1 2345 6789 從上面的料號可以看出以下資訊 st品牌arm cortex mx系列核心32位超值型mcu,lqfp 48封裝 快閃儲存器容量32kb 溫度範圍 40 85 1.產品系列 stm32代表st品牌cortex mx系列核心 ar...