由于具体显示屏型号未知,以下代码仅提供基本思路,需要根据具体情况进行调整:

#include <reg52.h>  //头文件,包含STC89C52芯片的寄存器定义

sbit LCD_RS=P2^0;   //定义LCD1602的RS、RW、EN端口
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^2;

void delay(unsigned int i)   //延时函数,用于控制LCD的数据传输速度
{
    while(i--);
}

void write_com(unsigned char com)   //向LCD发送指令
{
    LCD_RS=0;   //将RS置为0,表示发送的是指令
    LCD_RW=0;   //将RW置为0,表示向LCD写入数据
    LCD_EN=1;   //将EN置为1,表示开始传输数据
    P0=com;     //将指令数据写入P0口
    delay(100); //延时等待传输完成
    LCD_EN=0;   //将EN置为0,表示传输结束
}

void write_data(unsigned char dat)   //向LCD发送数据
{
    LCD_RS=1;   //将RS置为1,表示发送的是数据
    LCD_RW=0;   //将RW置为0,表示向LCD写入数据
    LCD_EN=1;   //将EN置为1,表示开始传输数据
    P0=dat;     //将数据写入P0口
    delay(100); //延时等待传输完成
    LCD_EN=0;   //将EN置为0,表示传输结束
}

void init_lcd()   //初始化LCD显示屏
{
    write_com(0x38);   //设置显示模式
    write_com(0x0c);   //显示开、光标关、光标闪烁关
    write_com(0x06);   //光标右移
    write_com(0x01);   //清屏
}

void main()   //主函数
{
    init_lcd();   //初始化LCD显示屏

    write_data('S');   //向LCD发送数据:S
    write_data('T');   //向LCD发送数据:T
    write_data('C');   //向LCD发送数据:C
    write_data('8');   //向LCD发送数据:8
    write_data('9');   //向LCD发送数据:9
    write_data('C');   //向LCD发送数据:C
    write_data('5');   //向LCD发送数据:5
    write_data('2');   //向LCD发送数据:2

    write_com(0xc0);   //将光标移动到第二行第一列
    write_data('1');   //向LCD发送数据:1
    write_data('2');   //向LCD发送数据:2
    write_data('3');   //向LCD发送数据:3
}
``
根据STC89C52芯片在其显示屏上显示单片机和123给出具体的全部代码

原文地址: https://www.cveoy.top/t/topic/huMp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录