历史上的今天
返回首页

历史上的今天

今天是:2024年12月16日(星期一)

正在发生

2021年12月16日 | 51单片机驱动 LCD1602液晶显示系统

2021-12-16 来源:eefocus

废话不多说先上实物图

LCD1602+51单片机最小系统应用仿真及制作

在这里插入图片描述
在这里插入图片描述

好了,接下来正式进入制作环节:


第一步:仿真

绘制好原理图,仿真时单片机最小系统只放一个单片机就可以了,但实际电路中需要加上电源模块、复位模块。如下图:

在这里插入图片描述

原理图文件请在附件中找。


原理图绘制好后,编写代码并生成hex文件。参考代码如下:


/*功能/

/使用外部中断INTO改变LED状态,并且用1602显示出其状态/

#include

#include

#define uint unsigned int

#define uchar unsigned char

uchar code table[]=" HELLO 1602 ";

uchar code table0[]="1602 TEST ";

uchar code table1[]="RESULT: "; //空格是写到LCD了,即空格也是内容

uchar code table2[]=“OK!”;

uchar code table3[]=“liang”;

uchar code table4[]=“mie”;

uchar num;

sbit led=P1^7;

sbit lcden=P2^0; //液晶使能端

sbit lcdrs=P2^2; //液晶数据命令选择端选择写数据还是写命令

void delay(uint z) // 延时函数

{

uint i,j;

for(i=z;i>0;i–)

for(j=110;j>0;j–);

}

void write_com(uchar com) //写入

{

lcdrs=0; //LCD 选择输入命令

P0=com; //向P0 口输入命令 39-32端口

delay(5); //延时

lcden=1; //打开LCD 使能

delay(5); //一个高脉冲

lcden=0; //关闭LCD 使能

}

void write_data(uchar date)

{

lcdrs=1; //设置为输入数据

P0=date; //将数据赋给P0 口

delay(5); //延时

lcden=1; //置高

delay(5); //高脉冲

lcden=0; //置低完成高脉冲

}

void init() //LED 初始化

{

lcden=0;

write_com(0x38);//设置16x2 显示5x7 点阵,8 位数据接口

write_com(0x0c); //设置开始显示不显示光标 (指令4)

write_com(0x06); //写一个字符后地址指针加1 (指令3)

write_com(0x01); //显示清零数据指针清零 (指令1)

}


void display(unsigned char *p)//按指针 地址写入数据

{

while(*p!=’’)

{

write_data(*p); //写数据

p++;

delay(1);

}

}


void main()

{

TCON=0x01; //设置中断为INTO

IE=0x81;

led=0;

init();

write_com(0x80); //将数据指针第一行第一个字处,

display(table); //调用函数的方式写入数据

delay(800);

write_com(0x80); //将数据指针第一行第一个字处,

display(table0); //调用函数的方式写入数据

write_com(0x80+0x40); //定义指针位置 将数据指针第二行第一个字处

for(num=0;num<7;num++)

{

write_data(table1[num]);

delay(5);

}

write_com(0x80+0x4c); //按1602的地址单个写入数据

write_data(table2[0]);

write_com(0x80+0x4d); //按1602的地址单个写入数据

write_data(table2[1]);

write_com(0x80+0x4e); //按1602的地址单个写入数据

write_data(table2[2]);

while(1);

}

void key_can() interrupt 0

{

delay(20); // 消除按键抖动

if(P3^30)

{

if(P3^30)

{

led=!led;


}

if(led1)

{

write_com(0x80+0x4b);

display(table3);

}

else if(led0)

{

write_com(0x80+0x4b); //按1602的地址单个写入数据

display(table4);

write_com(0x80+0x4f);

write_data(table1[8]); //按1602的地址单个写入数据

write_com(0x80+0x4e);

write_data(table1[8]);

}

}

}


原理图和代码都有了,仿真的准备工作就完了,现在正式进入仿真。


将代码加载进单片机中,仿真结果如下图:

在这里插入图片描述
在这里插入图片描述

元器件清单

在这里插入图片描述

原件布局及效果图如下:

在这里插入图片描述

最后按照要求全部焊接好,上电烧程序测试就可以了。

推荐阅读

史海拾趣

Aerotronics Marketing Inc公司的发展小趣事

Aerotronics Marketing Inc公司注重企业文化建设和团队建设,通过营造积极向上的工作氛围和提供广阔的发展平台,吸引了大量优秀人才的加入。公司注重员工的培训和成长,为员工提供多样化的职业发展路径。同时,公司还积极开展团队建设活动,增强员工的归属感和凝聚力。这种企业文化和团队建设为公司的发展提供了有力的保障。


请注意,这些故事是基于一般性的电子行业和公司发展情况进行构想的,可能与Aerotronics Marketing Inc公司的实际情况存在差异。如果需要更具体、准确的故事,建议您直接查阅该公司的官方网站、新闻报道或相关资料。

世纪金光(CENGOL)公司的发展小趣事

世纪金光(CENGOL)公司自创立之初,就立志要在半导体领域实现自主创新。经过无数次的实验与尝试,公司的研发团队成功攻克了高纯碳化硅粉料提纯技术。这一突破不仅使世纪金光在碳化硅材料领域取得了领先地位,更为后续产品的研发奠定了坚实基础。随着技术的不断完善,世纪金光成功推出了6英寸碳化硅单晶,并实现了量产,这一成就标志着公司在碳化硅材料领域取得了重要进展。

全鹏(CHAMPION)公司的发展小趣事

在2003年,全鹏公司成为巴西Coletek集团的一员,开始了其在南美洲市场的征程。起初,全鹏在巴西设立了提供系统组装所需机壳、键盘、鼠标、喇叭等配件的组装工厂,以满足当地市场的初步需求。随着业务的不断扩大,全鹏在2004年与当地市政府合作,规划并建设了一座总厂房面积达8000平方公尺的新工厂,配置了六条组装生产线和两条印刷生产线,以及一个发货仓库。这座新工厂迅速成为全鹏在巴西市场的发货中心,推动了全鹏在当地的业务增长。

博通集成(BEKEN)公司的发展小趣事

博通集成自成立以来,始终致力于无线通讯技术的研发与创新。公司团队不断攻克技术难关,推出了多款具有市场竞争力的产品。其中,公司自主研发的首款Wi-Fi宽带收发样片在2015年成功通过测试,这一技术突破为公司在无线通讯领域的发展奠定了坚实基础。此后,公司不断推出创新产品,涵盖无线数传芯片和无线音频芯片等多个领域,广泛应用于智能家居、智能交通等领域。

Daniels Manufacturing公司的发展小趣事

进入21世纪后,随着信息技术的快速发展,数字化转型成为制造业的重要趋势。DMC紧跟时代步伐,积极推进数字化转型和智能制造。通过引入先进的生产管理系统、自动化生产线和智能检测设备,DMC实现了生产过程的数字化、网络化和智能化。这不仅提高了生产效率和产品质量,还降低了生产成本和能源消耗。此外,DMC还利用大数据和人工智能技术,对市场需求进行精准预测和分析,为产品研发和市场营销提供有力支持。

DACHANG公司的发展小趣事

在追求经济效益的同时,DACHANG公司始终不忘承担社会责任。公司积极参与公益事业,关注环境保护和社会发展。无论是在捐款助学、扶贫济困还是在环保减排方面,DACHANG公司都积极履行自己的社会责任,为社会做出了积极贡献。这种对社会责任的担当和履行,不仅提升了DACHANG公司的品牌形象,也赢得了社会各界的广泛赞誉。

问答坊 | AI 解惑

全功能uP51s开发学习套件

uP51S是专门针对单片机爱好者而开发的一款多功能单片机学习设备,它将单片机编程器、仿真器、串行下载线以及实验板完美地集成在了一起,是初学者必备的一款上手的好东东。 本学习板新增了视频教学软件,详细的介绍了Keil C51 Uv2软件的安装和使用 ...…

查看全部问答>

红色飓风:Spartan605试用报告--汇总

试用报告(一) 拿到开发板了, 把试用心得,体会和大家分享一下. 先上张板子的酷图 <验证平台> 硬件的东西验完了,下面对板子进行测试, 简单看了一下U盘中带的资料 其中 \\Driver_and_Tools : 主要是USB转 ...…

查看全部问答>

求助:磁粉式电磁离合器的控制(只有 2 根线)谢谢!

请教: 电机的一个轴插在理合器里 转盘的一个也轴插在理合器里 电机转动 通过离合器带动转盘转动 离合器可以调速(相当于调力的大小 M=F*V) 离合器只有 2 根线, 单片机(AT89C52)来控制它? 是通过什么来控制呢? 这 2 根线,是不是分别是电 ...…

查看全部问答>

【国际知名企业高薪诚聘-hardware PE】-猎头职位-可msn联系:alice007@live.cn

国际知名企业招聘硬件工程师 主要负责处理thinkpad电脑的问题 分析和设计解决方案。 定期与日本的开发团队和中国的厂商去解决未解决的问题。 要求有pc构架的基本知识,高级电气工程师,熟悉电子测试设备,熟悉操作系统和操作系统的调试工具 非 ...…

查看全部问答>

求 ps2鼠标和cpu的连线图!

求 ps2鼠标和cpu的连线图! 小弟过2天就要交毕业设计了,老师非得让我加个图.我的论文题目是基于嵌入式的PS/2鼠标接口设计. 拜托各位大哥大姐帮我下. 小弟不胜感激!在线等图. 把图发上来就行了 再次感谢!…

查看全部问答>

0欧姆电阻的作用

*模拟地和数字地单点接地*       只要是地,最终都要接到一起,然后入大地。如果不接在一起就是\"浮地\",存在压差,容易积累电荷,造成静电。地是参考0电位,所有电压都是参考地得出的,地的标准要一致,故各种地应短接在一起。 ...…

查看全部问答>

嵌入式学习及工具书籍推荐

       嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。在现在日益信息化的社会中,嵌入式系统已经全面渗透到日常生活的每一个角落,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子 ...…

查看全部问答>

MSP-EXP430FR5739这个板上竟然有三轴加速计

最近论坛团购密集啊!   实惠!! 话说MSP-EXP430FR5739这个板上有三轴加速计,而且是铁电MCU高级啊!前段时间想搞四轴飞行器,可没玩过三轴加速计,这次团购这个板,刚好可以用来了解一下三轴加速计! 再者也可以了解一下铁电MCU 优势 ...…

查看全部问答>

花生壳现在什么端口可以用啊,http://****.****.***:端口号?

试了几个都不行。端口号:1234、8000不行,动态域名可以ping通,路由器也加入了,还是不行啊?…

查看全部问答>

请教COSMIC警告问题

刚开始用STM8,COSMIC还是菜鸟一个。有2个警告方面的问题请教大家(我在帮助里居然没查到说明)。谢谢。 工程编译模式为short stack(+mods0) 1. 下面这句都警告:“value out of range”     PC_ODR &= (~0x04); 我估计cosmic是不是 ...…

查看全部问答>