找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

STM32驱动DS18B20,在LCD1602显示温度以及对外部脉冲计数问题

查看数: 3404 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-5-19 13:08

正文摘要:

程序见附件,求大神帮忙看看哪里出错了,LCD没法正常显示 #include "delay.h" #include "stm32f10x.h"   #include "lcd1602.h" #include "sys.h" #include "usart.h" #includ ...

回复

ID:522583 发表于 2019-5-24 12:02
w1179benp 发表于 2019-5-23 20:40
建议:先单写很“干净”的LCD驱动部分,显示正常了,再一个一个增加其它部分。出问题便于检查

LCD能正常显示,但是加上DS18B20之后,温度没法正常显示出来,脉冲计数也是
ID:149451 发表于 2019-5-23 20:40
建议:先单写很“干净”的LCD驱动部分,显示正常了,再一个一个增加其它部分。出问题便于检查
ID:522583 发表于 2019-5-22 21:47
w1179benp 发表于 2019-5-21 11:04
感觉LCD1602的数据口和控制口应该用不同的端口,否则在赋予数据或命令时,控制端的状态就不在所需状态了

void LCD1602_GPIO_Config(void)
{
    GPIO_InitTypeDef       GPIO_InitStructure;
        
      
             RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC,ENABLE);//使能PB,PD端口时钟
       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|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;        //IO口速度为50MHz
       GPIO_Init(GPIOC, & GPIO_InitStructure);                                //初始化GPIOC0~7

       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出模式
       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //IO口速度为50MHz
       GPIO_Init(GPIOB, & GPIO_InitStructure);                                //初始化GPIB10,11,12   
                       
}
改成这样还是不能显示
ID:149451 发表于 2019-5-21 11:04
感觉LCD1602的数据口和控制口应该用不同的端口,否则在赋予数据或命令时,控制端的状态就不在所需状态了

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

Powered by 单片机教程网

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