Proteus仿真之LCD1602

news/2024/7/24 11:00:48 标签: proteus, LCD1602, 仿真

1.项目简介:利用Proteus仿真LCD1602上显示字母。

2.设计思路:首先要读懂LCD1602的时序图和每一个端口高低电平时的含义。

 

然后,通过操作的端口的高低电平来达到操作数据的目的。主要思路是,根据端口的组合来,将数据赋值到数据引脚,注意延时。

电路图如下:

 

3.代码:

#include <reg52.h>

#define unchar unsigned char
#define uint unsigned int

unchar code table[] = "hello ereryone";
unchar code table1[] = "welcome to here!";

//define pins
sbit lcden = P2^2;
sbit lcdrs = P2^0;
sbit lcdrw = P2^1;

unchar num;

void delay(uint z)
{
	uint x,y;
	for(x = z;x > 0;x--)
		{
			for(y = 110;y > 0;y--);
		}
}

void write_com(unchar com)
{
	lcdrs = 0;
	P0 = com;
	delay(5);
	lcden = 1;
	
	delay(5);
	lcden = 0;
}

void write_data(unchar date)
{
	lcdrs = 1;
	P0 = date;
	delay(5);
	lcden = 1;
	delay(5);
	lcden = 0;
}

void init()
{
	lcden = 0;
	write_com(0x38);
	write_com(0x0f);
	write_com(0x06);
	write_com(0x01);
}

void main()
{
	lcdrw = 0;
	init();
	
	write_com(0x80);
	for(num = 0;num < 15;num++)
	{
		write_data(table[num]);
		delay(5);
	}
	
	write_com(0x80 + 0x40);
	for(num = 0;num < 16;num++)
	{
		write_data(table1[num]);
		delay(20);
	}
	while(1);
}


4.运行结果:

5.总结: 通过使能端口的状态(高低电平),进行数据和命令的操作。需要注意的是,在计算机中8个bit为一个字节,所以lcd的数据引进有8个,通过给这8个引进赋予二进制数(0/1),组合起来就是字母对应ascii码,即可显示出字母。因为LCD1602只有8个数据引脚,所有它一次只能写入一个字母。如果要写汉字,需要转换ascii码。


http://www.niftyadmin.cn/n/412266.html

相关文章

实战干货——教你用Fiddler捕获HTTPS请求

目录 安装Fiddler 配置Fiddler 配置手机 iOS机安装证书 安全思考&#xff1f; 总结&#xff1a; 安装Fiddler 这里不特别说明了&#xff0c;网上搜索一大把&#xff0c;根据安装引导一步步安装即可。&#xff08;这里采用的是fiddler v4.6&#xff09; fiddler抓包视频教…

NetSuite 中国财务常用报表功能包

目录 1.致谢 2.功能说明 2.1 概述 2.2 报表说明 3.安装 4.操作指南 4.1 CLR_资产负债表 4.2 CLR_资产负债表&#xff08;期初/发生/结余&#xff09; 4.3 CLR_利润表 4.4 CLR_利润表季报 4.5 CLR_现金流量表 4.6 CLR_现金流量表季报 4.7 CLR_总账 4.8 CLR_序时账…

基于国产RK3588+多路H.265视频编解码 转码 3U VPX 方案

一、概述 3U VPX音视频转码模块是信迈科技推出的基于RK3588平台用于音视频的编解码、转码&#xff0c;本模块SDI视频、模拟音频输入&#xff0c;视频进行分辨率和帧率的变换&#xff0c;音频进行采样率和码率等的变换&#xff0c;网口输入的视频流进行解码或者转码&…

Oracle中改变表的Owner和tablespace

初用Oracle&#xff0c;很多的不熟悉&#xff0c;建完库&#xff0c;没有建用户&#xff0c;也没创建表空间&#xff0c;就直接system用户建表添加数据&#xff0c;几个月过去&#xff0c;表建了近百个&#xff0c;数据添加了几万条&#xff0c;才越来越觉得这种方式缺点太多&a…

android frida检测绕过

Frida检测是一种常见的安卓逆向技术&#xff0c;常用于防止应用程序被反向工程。如果您遇到了Frida检测&#xff0c;您可以尝试以下方法来绕过它&#xff1a; 使用Magisk Hide模块&#xff1a;Magisk是一个强大的安卓root工具&#xff0c;它附带了一个Magisk Hide模块&#xff…

正则表达式替换工具V1.1.0.16绿色免费版

软件介绍 字符描述&#xff1a; ^符号匹配字符串的开头。例如&#xff1a; ^abc与“abc xyz”匹配&#xff0c;而不与“xyz abc”匹配 $符号匹配字符串的结尾。例如&#xff1a; abc$与“xyz abc”匹配&#xff0c;而不与“abc xyz”匹配。 注意&#xff1a;如果同时使用^符号…

Target DVS EDI项目开源介绍

近期为了帮助广大用户更好地使用 EDI 系统&#xff0c;我们根据以往的项目实施经验&#xff0c;将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后&#xff0c;只需要下载我们整理好的示例代码&#xff0c;并放置在知行之桥指定的工作区中&#xff0c;即可开始使用。 …

Day_47选择排序

目录 一. 选择排序的实现 1. 简单选择排序 2. 性能分析 二. 代码实现 1. 核心代码 三. 代码展示 四. 数据测试 五. 总结 一. 选择排序的实现 1. 简单选择排序 选择排序的基本思想是&#xff1a;每一趟&#xff08;如第i趟&#xff09;在后面n-i1&#xff08;i1,2,3...n-1&a…