立即注冊(cè) 登錄
返回首頁

uid:471403的個(gè)人空間

日志

stm32鏈接lcd1602 四線驅(qū)動(dòng) 解決亂碼

已有 1813 次閱讀2019-2-9 14:55

void Init_LCD1602() { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); write_com(0x28); delay_ms(30); write_com(0x01); delay_ms(30); write_com(0x06); delay_ms(30); write_com(0x0c); delay_ms(30); } /******************指令************************/ void write_com(u8 com) { rs=0; rw=0; en=1; GPIO_Write(GPIOA,com/16*16); en=0; en=1; GPIO_Write(GPIOA,com%16*16); en=1; en=0; } /*******************數(shù)據(jù) 亂碼在硬件下正常的情況下,主要為高四位和低四位的沖突,表現(xiàn)為只發(fā)其中之一,忽略再次使能************************/ void write_dat(u8 date) { rs=1; rw=0; en=1; GPIO_Write(GPIOA,date/16*16); //先發(fā)高四位 en=0; en=1; GPIO_Write(GPIOA,date%16*16);//再發(fā)低四位 en=1; en=0; }
#ifndef __1602_H 
#define __1602_H 

#include "sys.h"

#define rs PBout(0) 
#define rw PBout(1)
#define en PBout(2) 

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); 

#endif

路過

雞蛋

鮮花

握手

雷人

評(píng)論 (0 個(gè)評(píng)論)

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

返回頂部