51单片机用lcd1602显示两行字符串
本人打算写一个完整的万年历:这是开始的第一步
完整电路图:
完整代码:
#include <reg51.h>
#include <intrins.h> //包含_nop_( )空函数指令的头文件#define uchar unsigned char
#define uint unsigned int
#define out P2
sbit RS=P3^0;
sbit RW=P3^1;
sbit E=P3^2; void lcd1602_initial(void); //lcd1602初始化函数
void lcd1602_write_command(uchar com); //lcd1602写命令函数
void lcd1602_write_data(uchar dat); //lcd1602写数据函数
void lcd1602_string(uchar ad ,uchar *s);//lcd1602写字符串
void delay(uint); //延时函数uchar code table1[]={"2021-01-24"};
uchar code table2[]={"23:59:50"};/**************************************************************
*函数名 :delay
*函数功能 :延时函数
*函数参数 :需要延时的毫秒数:uint j
*函数返回值 :无
****************************************************************/
void delay(uint j){ //1ms延时子程序uchar i=250;for(;j>0;j--){while(--i);i=249;while(--i);i=250;}
}/**************************************************************
*函数名 :lcd1602_write_command
*函数功能 :lcd1602的写命令函数
*函数参数 :所要设置的命令:uchar command
*函数返回值 :无
****************************************************************/
void lcd1602_write_command(uchar command) {E=0;RS=0;RW=0;out=command;E=1;_nop_( );E=0;delay(1);
}
/**************************************************************
*函数名 :lcd1602_write_data
*函数功能 :lcd1602的写数据函数
*函数参数 :要写入的数据:uchar dat
*函数返回值 :无
****************************************************************/
void lcd1602_write_data(uchar dat){ E=0;RS=1;RW=0;out=dat;E=1;_nop_();E=0;delay(1);
}/**************************************************************
*函数名 : lcd1602_initial
*函数功能 : lcd1602的初始化
*函数参数 : 无
*函数返回值 : 无
****************************************************************/
void lcd1602_initial(void){lcd1602_write_command(0x38); //写入命令0x38:8位两行显示,5×7点阵字符lcd1602_write_command(0x0C); //写入命令0x0C:开整体显示,光标关,无黑块lcd1602_write_command(0x06); //写入命令0x06:光标右移lcd1602_write_command(0x01); //写入命令0x01:清屏delay(1);
}/**************************************************************
*函数名 :lcd1602_string
*函数功能 :将字符串写入对应的地址上
*函数参数 :地址:uchar ad 字符串:uchar *s
*函数返回值 :无
****************************************************************/
void lcd1602_string(uchar ad,uchar *s){lcd1602_write_command(ad);while(*s>0) {lcd1602_write_data(*s++); //输出字符串,且指针增1delay(100);}
}/**************************************************************
*函数名 : 主函数
*函数功能 : 驱动程序
*函数参数 : 无
*函数返回值: 无
****************************************************************/
void main(void){lcd1602_initial( ); //调用对LCD初始化函数 while(1){lcd1602_string(0x80,table1); //显示的第1行数据lcd1602_string(0x80+0x40,table2); //显示第2行数据 delay(300); //延时 }
}
展示效果:
51单片机用lcd1602显示两行字符串相关推荐
- 基于51单片机的LCD1602显示温湿度
51单片机基础难点知识理解后,直接通过下面3个小项目可以更好理解51单片机.中断 定时器 串口甚至是基础的IO输入输出都有结合,再加上一些外设模块的学习(如1602显示屏,L298N电机驱动等) 项目 ...
- 【Proteus仿真】51单片机+DS1302+lcd1602显示
[Proteus仿真]51单片机+DS1302+lcd1602显示 Proteus仿真 工程架构 项目工程 文件结构 主程序代码 #include <reg52.h> #include & ...
- 【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
LCD1602显示字符和时间是最基本的实验,在综合前面所学知识并结合c语言程序设计,就可以通过独立按键,来对时间进行校准,计时等功能.或者通过矩阵键盘的按键进行输入,进而让LCD屏上显示的出我们想要的 ...
- 程序源码分享-51单片机用LCD1602显示MPU6050角度数据
硬件方面选择的是51单片机,显示屏LCD1602,姿态传感器MPU6050的型号为维特智能的JY60,具体设计思路见笔者的文章基于单片机的云台姿态测量系统设计. STM32将mpu6050的数据DAC ...
- 51单片机使用LCD1602显示DS18B20温度传感器温度
使用LCD1602显示DS18B20温度传感器温度.关于DS18B20和LCD的原理,我就不再叙述了,大家自行查找,网上可以找到好多. 使用Proteus仿真.(需要仿真和Keil工程文件的可 ...
- 40、基于51单片机收音机 LCD1602显示系统设计
摘要 本文在具体分析了STC89C52单片机的技术特点与数字FM收音机的基础上,提出了采用单片机控制收音机实现数字调频的方法,并给出了具体的软硬件设计.该系统利主要由STC89C52单片机.液晶显示器 ...
- 51单片机用c语言在液晶1602上显示汉字,lcd1602与单片机连接图,基于51单片机的lcd1602液晶显示屏连接电路图...
描述 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示, ...
- 51单片机 DHT11+LCD1602温湿度显示 + Proteus仿真
51单片机 DHT11+LCD1602温湿度显示+ Proteus仿真 主程序代码 #include <reg52.h> #include <LCD1602.h> #inclu ...
- 51单片机控制LCD1602模块
51单片机控制LCD1602模块 视频播放:LCD1602视频 (1)LCD1602概述 先来看看LCD1602什么意思?Liquid Crystal Display(LCD)表示液晶显示,1602 ...
最新文章
- HaProxy介绍,安装及配置
- php第一行空白,网页头部多出一行空白问题的解决方法 (PHP文件头BOM问题)
- HDU1283 最简单的计算机【模拟】
- 如何将h5网页改成微信网页
- Spring集成redis(Spring Data Redis)
- 【分享】Android JNI实例​
- Java 生成随机数的 N 种方法
- tolua打包Android后路径出错,unity+tolua 64位android崩溃排查过程记录
- jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明
- react改变checkbox的文字类型_React Checkbox不发送onChange
- js自定义对象 (转)
- NOIP2018普及T2暨洛谷P5016 龙虎斗
- 怎么注册开通个人微信小程序
- 高质量图片缩略图生成(编程笔记)
- java文件复制方法_Java复制文件–用Java复制文件的4种方法
- 苹果cms V10模板 仿挖片自适应电影模板
- 华为IPD你学不会(转)
- 一天天学WG--第一天
- 一个蹩脚的图形中文验证码自动识别实现
- 差异数据的对比和整理