在protues仿真中lm016l只是屏幕有亮光,但不显示内容。

具体仿真内容是用一个ds18b20温度传感器与51单片机实现温度上下限可调并测温超过限定值报警。一下是仿真图片和程序,求大神看看问题出在哪里了,谢谢!程序:#includ... 具体仿真内容是用一个ds18b20温度传感器与51单片机实现温度上下限可调并测温超过限定值报警。一下是仿真图片和程序,求大神看看问题出在哪里了,谢谢!

程序:

#include"delay.h"
#include"18b20.h"
/*------------------------------------------------
18b20初始化
------------------------------------------------*/
bit Init_DS18B20(void)
{
bit dat=0;
DQ = 1;
DelayUs2x(5);
DQ = 0;
DelayUs2x(200);
DelayUs2x(200);
DQ = 1;
DelayUs2x(50);
dat=DQ;
DelayUs2x(25);
return dat;
}

/*------------------------------------------------
读取一个字节
------------------------------------------------*/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
DelayUs2x(25);
}
return(dat);
}
/*------------------------------------------------
写入一个字节
------------------------------------------------*/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
DelayUs2x(25);
DQ = 1;
dat>>=1;
}
DelayUs2x(25);
}

/*------------------------------------------------
读取温度
------------------------------------------------*/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned int b=0;
unsigned int t=0;
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0x44);
DelayMs(10);
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0xBE);
a=ReadOneChar();
b=ReadOneChar();

b<<=8;
t=a+b;

return(t);
}
以及

#ifndef __DS18B20_H__
#define __DS18B20_H__

#include<reg52.h>
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int;
/*------------------------------------------------
端口定义
------------------------------------------------*/
sbit DQ=P2^7;//ds18b20 端口
/*------------------------------------------------
函数声明
------------------------------------------------*/
unsigned int ReadTemperature(void);
bit Init_DS18B20(void);
unsigned char ReadOneChar(void);
void WriteOneChar(unsigned char dat);

#endif
电路
这是lm016l的定义端口函数#include "1602.h"#include "delay.h"#define CHECK_BUSYsbit RS = P2^4; //定义端口 sbit RW = P2^5;sbit EN = P2^6;#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P1
展开
 我来答
查晓筠0i5
2015-01-08 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4978万
展开全部

可以给你i写一份

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
强力谠美哥
2015-01-12
知道答主
回答量:12
采纳率:0%
帮助的人:7.9万
展开全部
已邮件 请查收
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿叶小白白
2020-06-02
知道答主
回答量:1
采纳率:0%
帮助的人:615
展开全部
弄个锤子,我也弄不出来啊,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友283d78e
2015-01-09 · 知道合伙人IT服务行家
百度网友283d78e
知道合伙人IT服务行家
采纳数:1491 获赞数:2982

向TA提问 私信TA
展开全部
没有液晶的程序当然搞不了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式