森侃 2023-06-14 16:24 采纳率: 60%
浏览 23
已结题

单片机proteus中LED显示

#include<reg51.h>
#include<intrins.h>
sbit DS18B20_DQ=P3^3;
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;
sbit LCD_EN = P2^2;
typedef unsigned int u8;
typedef unsigned char u16;
typedef float u4;
void LCD_busyCheck()
{
    u8 sta;
    P0=0xff;
    LCD_RS=0;
    LCD_RW=1;
    do{
        LCD_EN=1;
        sta=P0;
        LCD_EN=0;
    }while((sta&0x80)!=0x80);//10000000
}
void LCD_write_x(u8 x)//写单个数据
{
    LCD_busyCheck();
    LCD_RS=1;
    LCD_RW=0;
    P0=x;
    LCD_EN=1;
    LCD_EN=0;
}
void LCD_write_xx(u8 *x)//写单个数据
{
    while(*x)
    {
        LCD_write_x(*x++);//自加
    }
}
void LCD_write_cmd(u8 cmd)//写命令
{
    LCD_busyCheck();
    LCD_RS=0;
    LCD_RW=0;
    P0=cmd;
    LCD_EN=1;
    LCD_EN=0;
}
void LCD_position(bit x,u8 y)
{
    u8 position;
    if(x==0)
        position=0x80+y;
    else
        position=0xc0+y;
}
void main()
{
    u8 i;
    LCD_write_cmd(0x01);
    LCD_write_cmd(0x38);//八位接口,两行显示
    LCD_write_x(0x80);//从第一位开始显示,写地址
    LCD_write_xx("Temperature : ");
    LCD_write_x(0x0c);//从第二行开始显示,写地址
    LCD_write_xx("TEMP: ");
    for(i=0;i<2000;i++);
    while(1)
    {
    }
}

img


代码运行出来没有错误,但proteus中的显示屏(LCD)没有办法显示,运行的话就是下面的图,什么都没有

img


这个要怎么改呀

  • 写回答

2条回答 默认 最新

  • qllaoda 2023-06-14 16:47
    关注

    LCD的VSS VDD VEE都悬空怎么显示。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月14日
  • 已采纳回答 6月14日
  • 创建了问题 6月14日

悬赏问题

  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题
  • ¥20 基于matlab的航迹融合 航迹关联 航迹插补
  • ¥15 用Matlab实现图中的光线追迹
  • ¥15 联想笔记本开机出现系统更新界面