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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

仿真LCD1602不亮

[復制鏈接]
跳轉到指定樓層
樓主


求問為什么這個仿真lcd1602 不亮啊而且高低電平也沒有顯示
#include "lcd1602.h"
#include "stm32f1xx_hal.h"
#include "delay.h"

static void LCD_Enable(void);
static void LCD_Write8Bits(uint8_t data)
{
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D0_PIN, (data & 0x01) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D1_PIN, (data & 0x02) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D2_PIN, (data & 0x04) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D3_PIN, (data & 0x08) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D4_PIN, (data & 0x10) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D5_PIN, (data & 0x20) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D6_PIN, (data & 0x40) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_DATA_PORT, LCD_D7_PIN, (data & 0x80) ? GPIO_PIN_SET : GPIO_PIN_RESET);

    LCD_Enable();
}

void LCD_Init(void) {
    HAL_Delay(50);

}
void LCD_SendCommand(uint8_t cmd) {
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_RS_PIN, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_RW_PIN, GPIO_PIN_RESET);

    LCD_Write8Bits(cmd >> 8);
    LCD_Write8Bits(cmd & 0x0F);
}

void LCD_SendData(uint8_t data) {
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_RS_PIN, GPIO_PIN_SET);
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_RW_PIN, GPIO_PIN_RESET);

    LCD_Write8Bits(data >> 4);
    LCD_Write8Bits(data & 0x0F);
}

static void LCD_Enable(void) {
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_EN_PIN, GPIO_PIN_RESET);
    Delay_us(1);
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_EN_PIN, GPIO_PIN_SET);
    Delay_us(1);
    HAL_GPIO_WritePin(LCD_CTRL_PORT, LCD_EN_PIN, GPIO_PIN_RESET);
    Delay_us(100);
}

void LCD_SendString(char *str) {
    while (*str) {
        LCD_SendData(*str++);
    }
}

void LCD_SetCursor(uint8_t row, uint8_t col) {
    uint8_t address = (row == 0) ? (0x80 + col) : (0xC0 + col);
    LCD_SendCommand(address);
}

void LCD_Clear(void) {
    LCD_SendCommand(0x01);
    HAL_Delay(2);
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:940483 發表于 2025-4-14 15:37 | 只看該作者
LCD_Init()你這里面初始化函數哪里去了?怎么只有個延時
GPIO也沒有配成輸出模式
還有你的數據發送邏輯,高4位,低四位都沒分清楚啊
估計還有錯,暫且看出這么多
LCD1602指導手冊認真多看兩遍
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品伦一区二区三级视频 | 野狼在线社区2017入口 | 欧美视频| 午夜亚洲 | 亚洲男人天堂 | 国产高清一区二区三区 | 中文字幕在线看第二 | 狠狠的操 | 成年人网站免费 | 天堂av在线影院 | 欧美成人免费 | 日本网站免费在线观看 | 影音av| 狠狠躁躁夜夜躁波多野结依 | 午夜精品久久久久久久久久久久久 | 91中文字幕在线 | 福利网址| 欧美视频xxx | 欧美日韩专区 | 国产偷录视频叫床高潮对白 | 91精品国产91久久久久久 | 国产精品777一区二区 | 国产三级精品三级在线观看四季网 | 欧美三区在线观看 | 精品少妇一区二区三区日产乱码 | 国产高清久久久 | 久久精品亚洲精品国产欧美kt∨ | 91亚洲一区 | 欧美日韩1区2区 | 久久福利电影 | 日韩一区精品 | 久久不射电影网 | 亚洲精品一区中文字幕乱码 | 综合视频在线 | 精品在线一区二区三区 | 51ⅴ精品国产91久久久久久 | 日韩在线成人 | 久久久久久高潮国产精品视 | 一区免费 | 午夜国产 | 久久久精品 |