用MCS-51单片机来驱动液晶显示本已不属于单片机本身的知识了,我所用到的液晶是1602液晶屏,主要是要自已去查看相关芯片的文档,所以自然对英语阅读能力是一个不小的挑战.在看文档的时候,我们也只需要注意几个相对重要的问题,而不用面对大篇的文档而不知何去何从,第一重要当然是液晶的时序图了,只有掌握了时序图后我们才能写出合理正确的程序,除此之外,还有相关引角的作用也是必不可少的.
在编写相关程序时,首先是将相关位进行设置,将RW接地即可,还有就是要合理设置RS位和EN位了,它们分别是读写选择位,命令数据先择位,使能位了,在操作时序的时候,我们主要也是来操作EN位来以时序进行控制的所以,她是极其重要的.接下来,我们就可以向芯片写指令了,比如清屏,设置液晶的显示模式等等.接下来我们就可以写你所要写进去的数据了.
下面是我写的一个简单的例子程序,已成功运行,运行环境:STC89C52单片机,1602的液晶屏.
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcdrs = P1^0;
sbit lcdrw = P1^1;
sbit lcden = P1^2;
uchar table1[] = "I LIKE MCU!";
uchar table2[] = "www.yunchow.com";
uchar i;
void init();
void write_cmd(uchar);
void write_data(uchar);
void delay(uint);
void main()
{
init();
//write_data('A');//向液晶写入一个A
//write_cmd(0x80+0x10);//设置地址指针位置
delay(20);
for(i=0;i<10;i++) //写入table1的数据
write_data(table1[i]);
write_cmd(0x80+0x51); //让地址指针指向第二行第17个位置
for(i=0;i<15;i++)
{ //写入table2的数据
write_data(table2[i]);
//delay(5);
}
for(i=0;i<16;i++) //让液晶整屏移动
{
write_cmd(0x18);
delay(500);
}
while(1);
}
/** 将发送的数据进行翻转,高位到低位,低位转到高位 **/
uchar reverse(uchar c)
{
uchar chbuff=0;
if (c&0x01) chbuff=chbuff|0x80;
if (c&0x02) chbuff=chbuff|0x40;
if (c&0x04) chbuff=chbuff|0x20;
if (c&0x08) chbuff=chbuff|0x10;
if (c&0x10) chbuff=chbuff|0x08;
if (c&0x20) chbuff=chbuff|0x04;
if (c&0x40) chbuff=chbuff|0x02;
if (c&0x80) chbuff=chbuff|0x01;
return chbuff;
}
/** 向液晶显示器发送命令 **/
void write_cmd(uchar cmd)
{
lcdrs = 0;
P0 = reverse(cmd);
delay(5);
lcden = 1;
delay(5);
lcden = 0;
delay(5);
}
/** 向液晶写入数据 **/
void write_data(uchar dat)
{
lcdrs = 1;
P0 = reverse(dat);
delay(5);
lcden = 1;
delay(5);
lcden = 0;
}
void delay(uint t)
{
uint x,y;
for(x=t;x>0;x--)
for(y=110;y>0;y--);
}
void init()
{
lcdrw = 0;
lcden = 0;
write_cmd(0x01);//清屏
write_cmd(0x38);//显示模式设置
write_cmd(0x0f);//显示开/关及光标设置
write_cmd(0x06);//设置地址指针自动加1和整屏不移动
write_cmd(0x80+0x10);//设置地址指针位置
}
虽然这个程序简单,但是我还是花了好几天时间,因为刚开始没注意我所用到的实验板居然把P0~P7分别接到的液晶的D7~D0,导致了我刚开始所写的指令全是错误的指令(指令反过来了),这也正是我为什么会在源代码中加上reverse(uchar data);函数的原因所在了.
附上一份1602的文档
分享到:
相关推荐
书中的应用部分涵盖了MCS-51单片机在各种实际场景下的应用实例,如数字时钟、温度测量、电机控制、液晶显示等。这些实例既有助于读者巩固理论知识,又能提高解决实际问题的能力。每个实例都包含了完整的C语言程序...
这份"参考资料-基于MCS-51单片机的液晶显示设计.zip"的压缩包内容,主要是关于如何利用MCS-51单片机实现液晶显示器(LCD)的控制和显示技术。以下将详细阐述相关知识点。 1. MCS-51单片机:MCS-51,又称8051,是由...
MCS-51单片机,作为8位微控制器的代表,因其性能稳定、成本低廉而被广泛应用于各种嵌入式系统设计中。本篇文章将深入探讨基于MCS-51单片机的嵌入式系统设计,帮助读者理解这一领域的核心概念和应用。 MCS-51单片机...
本书是在第3版《MCS:51单片机应用设计》一书的基础上,从应用的角度,详细地介绍了MCS:51单片机的硬件结构、指令系统、各种硬件接口设计、各种常用的数据运算和处理程序、接口驱动程序以及MCS:51单片机应用系统的...
《MCS-51单片机应用设计》是由张毅刚、彭喜源和谭晓昀三位专家合著,由哈尔滨工业大学出版社出版的一本专业教材。该书深入浅出地介绍了MCS-51系列单片机在实际应用中的设计方法和技术,是学习和掌握单片机技术的重要...
《新编MCS-51单片机应用设计》是一本深入探讨MCS-51系列单片机的权威著作,特别强调了其实用性和设计方法。这本书在2011年出版时被誉为最清晰、最完整的PDF版本,对学习和研究MCS-51单片机的读者来说,具有极高的...
根据提供的信息,《新编MCS-51单片机应用设计》是一本专注于MCS-51系列单片机的应用与设计的专业书籍。该书由哈尔滨工业大学出版社出版,作者为张毅刚。从推荐者的评价来看,这本书被认为是非常实用且足够全面的教程...
《MCS-51单片机期刊》是一本聚焦于单片机开发和应用的最新出版物,旨在为读者提供全面且深入的单片机知识。MCS-51单片机,也被称为8051单片机,是英特尔公司推出的经典微控制器系列,因其强大的性能和广泛的适用性,...
《新编MCS-51单片机应用设计》一书中提供了大量的实验例程和应用案例,覆盖了LED驱动、按键扫描、液晶显示、温度测量、无线通信、电机控制等多个方面,旨在帮助读者巩固理论知识,提高实际操作能力。通过亲手制作...
在本项目中,MCS-51单片机将接收到的GPS数据解析后,通过1602液晶显示地理位置、时间等信息,为用户提供直观的视觉反馈。 4. **Protues仿真**:Protues是一款强大的虚拟原型设计工具,它允许工程师在实际硬件制作前...
在这个实例中,我们关注的是如何使用MCS-51单片机来驱动LCD1602显示模块,同时结合键盘实现一个具有计时模式和时钟模式的功能系统。 LCD1602,全称是16字符×2行的液晶显示器,通常用于显示文本信息。它具有16个可...
4. **人机交互**:MCS-51单片机可以连接液晶显示屏、键盘等设备,提供友好的用户界面,方便操作员输入加工指令、查看加工状态和故障信息。 5. **故障诊断与安全保护**:单片机可以通过监控系统的运行状态,实时检测...
《新编MCS-51单片机应用设计》是哈尔滨工业大学出版社出版的一本关于单片机应用设计的教材,由张毅刚编写。这本书主要面向的读者是那些对MCS-51单片机有学习需求的高校学生、教师及电子技术爱好者。MCS-51系列单片机...
### MCS-51单片机实验系统用户手册关键知识点解析 #### 一、单片机基础知识 - **定义与起源**:单片机,又称单芯片微型计算机(Single Chip Microcomputer),是集成了中央处理器(CPU)、存储器(RAM & ROM)、输入输出...
### MCS-51单片机开发板电路图详解 #### 一、开发板概述 MCS-51单片机开发板是一种集成了多种功能模块的实验平台,旨在为学习和开发基于MCS-51系列单片机的应用提供便利。此开发板包含了基本的电路配置,以及一...
本文的设计中,MCS-51单片机作为数字电子称的核心控制单元,负责接收处理传感器信号并控制显示输出等任务。24位A/D转换器芯片HX712作为信号转换单元,负责将模拟信号转换为数字信号。应变式称重传感器用于获取重量...
在学习MCS-51单片机时,还会接触到一些常见的接口技术,如液晶字符显示屏、液晶图形点阵显示屏、红外遥控发射接收、继电器、二极管点阵、数码管和能显示汉字的显示屏等。这些都是单片机应用中常见的外围设备,通过...
本书被评价为是初学者入门MCS-51单片机的最佳教材之一,同时也可作为常用的手册使用。 ### MCS-51单片机简介 MCS-51单片机是一种基于8位微处理器的集成电路芯片,广泛应用于各种电子设备和自动化控制系统中。它的...
设计中可能涉及到的主要芯片有MCS-51单片机,以及用于数字显示的MAX7219驱动芯片和液晶显示屏(LCD)。 2. **程序流程** 程序流程图描述了从启动到结果显示的整个过程,包括按钮检测、时间计算、信号处理和结果...
《MCS-51单片机温度控制系统》 在电子工程领域,单片机是一种集成了微处理器、存储器和外围设备接口的微型计算机,广泛应用于各种自动化控制和监测系统中。本毕业设计以MCS-51系列单片机为核心,构建了一个温度控制...