找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2183|回复: 0
收起左侧

有关stm32f103zet6驱动LCD1602的问题

[复制链接]
回帖奖励 2 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次
ID:385079 发表于 2018-11-15 18:36 | 显示全部楼层 |阅读模式
这是我的LCD.H文件
#ifndef    _LCD1602_H_
#define    _LCD1602_H_
#include "stm32f10x.h"
#include "sys.h"
#define DATAOUT(x) GPIO_Write(GPIOF,x);//Êä³ö  
#define lcd_RS  PBout(4)
#define lcd_RW  PBout(5)
#define lcd_EN  PBout(6)
void write_cmd(unsigned char cmd);
void write_data(unsigned char );
void lcd_char_write(unsigned char x,unsigned char y,unsigned char data);
void lcd_clear(void);
void lcd_init(void);
#endif
下面是c文件
#include "LCD1602.h"
#include "delay.h"

void write_cmd(unsigned char cmd)
{
   delay_ms(5);
     lcd_RS=0;
     lcd_RW=0;
     lcd_EN=1;
     DATAOUT(cmd);
     delay_us(100);
     lcd_EN=0;
}
void write_data(unsigned char data )
{
   lcd_RS=1;
     lcd_RW=0;
     lcd_EN=1;
     DATAOUT(data);
     delay_us(100);
     lcd_EN=0;
}
void lcd_char_write(unsigned char x,unsigned char y,unsigned char data)
{
  if (y == 0)
     {     
     write_cmd(0x80 + x);   
     }
else
     {      
     write_cmd(0xC0 + x);      
     }        
     write_data(data);
}
void lcd_clear(void)
{
  write_cmd(0x01)    ;
  delay_ms(5);
}
void lcd_init(void)
{
   write_cmd(0x38);   
   delay_ms(5);
   write_cmd(0x38);
   delay_ms(5);
   write_cmd(0x38);
   delay_ms(5);
   write_cmd(0x38);  
   write_cmd(0x08);   
   write_cmd(0x01);  
   write_cmd(0x06);   
   delay_ms(5);
   write_cmd(0x0C);  
}
主函数main如下
#include "stm32f10x.h"
#include "sys.h"
#include "LCD1602.H"
#include "delay.h"

int main()
{
lcd_init();
lcd_clear();
    while(1)
    {
    lcd_char_write(1,0,30);
    }
}
代码没有错,编译通过了,可是在LCD1602上面没有显示,求大佬们解我之迷惑
1.png


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表