标题: 单片机代码在开发板上都是对的,怎么在仿真上就不行了 [打印本页]

作者: 昆明路口卖提莫    时间: 2018-9-1 14:51
标题: 单片机代码在开发板上都是对的,怎么在仿真上就不行了
#include <reg51.h>
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit busy=P0^7;

void busycheck()          //LCD查忙
{
        RS=0;
        RW=1;
        E=1;
        while(1)
        {
                if(0==busy)
                {
                        E=0;break;
                }
        }

}
void whitedata(unsigned char Data)        //写入数据
{
        busycheck();
        RS=1;
        RW=0;
        E=1;
        P0=Data;
        E=0;
}
void whitecommand(unsigned command)  //写入操作命令
{
        busycheck();
        RS=0;
        RW=0;
        E=1;
        P0=command;
        E=0;
}
void InitLCD()                   //1602初始化
{
        whitecommand(0x38);          //显示模式设置        
        whitecommand(0x01);          //清屏        
        whitecommand(0x0f);          //开显示,显示光标,光标不闪烁        
        whitecommand(0x06);          //光标+1,屏幕不移动        
}
void main()
{         
        InitLCD();
        whitecommand(0x81);
        whitedata(6+0x30);        
        while(1)
        {
        }
}



作者: wc86110    时间: 2018-9-1 16:16
仿真电路不等同于开发板电路能显示么?

作者: 昆明路口卖提莫    时间: 2018-9-1 16:42
wc86110 发表于 2018-9-1 16:16
仿真电路不等同于开发板电路能显示么?

我知道仿真只是个大概,但是原理都对着吖, 脑阔疼
作者: 649935124    时间: 2018-9-1 20:21
过来看一看
作者: 谌熠    时间: 2018-9-2 10:38
有几个问题:
1、仿真电路中单片机的ALE信号端口没有接地
2、P0端口的上拉电阻是不是太大了,一般1K的就够了
作者: zl2168    时间: 2018-9-2 11:25
本帖最后由 zl2168 于 2018-9-2 15:45 编辑

给你介绍一本书,张志良编著的:《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行,可演示,可观测,程序语句条条有注解。


51单片机仿真设计实例教程仿真文件.rar (4.88 MB, 下载次数: 9)


作者: wc86110    时间: 2018-9-2 23:58
因这个程序得把连在 P0^7 引脚上的上拉电阻去掉,屏幕才会显示信息




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1