[51单片机] 1602液晶显示控制代码2

这是4X4按键映射为0-F的16个字符输入并显示在屏上的程序:

[这里要额外的把单片机p1的8个脚和矩阵键盘的8个脚相连]

/*-----------------------------------------------
名称:LCD1602
论坛:www.doflye.net
编写:shifang
内容:通过矩阵键盘输入,依次显示0-F16中字符
引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<intrins.h>

sbit 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 P0
#define KeyPort P1

unsigned char code dofly_code[]={'0','
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是51单片机控制1602液晶显示显示“guoyangyang”的代码: ```c #include <reg51.h> #define LCD1602_DB P0 // 定义1602的数据端口 sbit LCD1602_RS = P2^6; // 定义1602的RS端口 sbit LCD1602_RW = P2^5; // 定义1602的RW端口 sbit LCD1602_EN = P2^7; // 定义1602的EN端口 void delay(int i) // 延时函数 { while(i--); } void write_com(int com) // 写命令函数 { LCD1602_RS = 0; // RS置低,选中命令寄存器 LCD1602_RW = 0; // RW置低,允许写入 LCD1602_DB = com; // 写入命令 delay(100); // 延时 LCD1602_EN = 1; // 使能 delay(100); LCD1602_EN = 0; // 禁能 } void write_data(int dat) // 写数据函数 { LCD1602_RS = 1; // RS置高,选中数据寄存器 LCD1602_RW = 0; // RW置低,允许写入 LCD1602_DB = dat; // 写入数据 delay(100); // 延时 LCD1602_EN = 1; // 使能 delay(100); LCD1602_EN = 0; // 禁能 } void init_LCD() // 初始化函数 { write_com(0x38); // 8位数据总线,2行,5x7点阵,不显示光标 write_com(0x0c); // 光标不闪烁,不显示光标,显示字符 write_com(0x06); // 光标右移,字符不移动 write_com(0x01); // 清屏 } void main() { init_LCD(); // 初始化LCD write_data('g'); // 写入g write_data('u'); // 写入u write_data('o'); // 写入o write_data('y'); // 写入y write_data('a'); // 写入a write_data('n'); // 写入n write_data('g'); // 写入g write_data('y'); // 写入y } ``` 请将上述代码复制到Keil或其他51单片机开发工具中进行编译、下载和运行。注意,此代码假设1602液晶显示器的数据线连接在P0口,RS、RW和EN端口连接在P2口的6、5和7号引脚。如果您的连接方式不同,请相应地修改代码中的端口定义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值