澳门新萄京3522

澳门新萄京3522 > 控制/MCU > 正文

MEGA8单片机对LCD1602液晶屏的驱动

2019年04月09日 15:16 次阅读

调试过程总结一下:

1)由于找不到的162064222葡京的网址,不知道它的操作时序。看到一些帖子说1620和1602没区别,还是有点将信将疑。后面用网友编写的1602程序试验,才知道它们俩没啥区别

2)关于是否检测LCD处于空闲,觉得还是最好在写指令和写数据时都加上。不检测,会导致显示结果不正常。

3)由于连线很多14根(加上背光就是16根),如果有一根除了问题就会影响到显示。所以我是用万用表一根线一根线量了之后才通电试验的。

4)看到很多帖子都建议在初始化LCD前延时几十毫秒。本例中并没有延时,显示也正常。

5)总的说来,不是很难。在遇到问题时只要能够仔细分析,就能找出原因和解决方法。自己前几天在试程序时就是显示结果不对,一直在检查自己的程序,没想到原来是单片机的Flash到寿命了那个郁闷啊。

MEGA8单片机对LCD1602液晶屏的驱动

头文件中有五个函数:

Function1.unsigned char AskBusy(void) 询问LCD1620是否空闲, 返回值“1”空闲, “0”为忙;

FuncTIon2.WritEDAta(char data) 写数据到LCD1620;

FuncTIon3.WriteCommand(char command) 写指令到LCD1620;

FuncTIon4.PutOneCharLCD(x,y,*Disp) 在LCD1620上显示一个字符, x,y定义位置

FuncTIon5.PutStringLCD(a,b,*DispString) 在LCD1620上显示一个字符串, a,b定义初始位置。 Function6.LCD_Init() 初始化LCD

在使用此头文件之前,必须有以下宏定义:

#define DataPortPullup PORTx

#define DataPortDirection DDRx

#define ReadLCDPINPINx

#defineCTRlPortPullup PORTx

#define CtrlPortDirection DDRx

#define RS_Bit Px?

#define RW_Bit Px?

#define E_Bit Px?

其中“x”代表B,C,D(mega8中无A口),“?”代表“0~1”

完整头文件如下(解释搞了一大堆,也学学用英语……):

/*******************************************************/

/* Project :1620 Display Headfile */

/* Date :2008,3,11 */

/* Author :lhy */

/* Version :v1.1 */

/* Rework :lhy */

/* Rework Date :2008.4.28 */

/* */

/* Comments : */

/* 1 Function Description */

/* Function1.unsigned char AskBusy(void) */

/* --Calls this Fun to ask if LCD is busy, */

/* 1--free,0--busy; */

/* Function2.WritEDAta(char data) */

/* --Write data to LCD */

/* Function3.WriteCommand(char command) */

/* --write command to LCD */

/* Function4.PutOneCharLCD(x,y,*Disp) */

/* --Put one char to LCD. */

/* Function5.PutStringLCD(a,b,*DispString) */

/* --Put String to LCD. Max length 32bits. */

/* */

/* 2 How to use */

/* Before use this HeadFile, */

/* need to define as below: */

/* #define DataPortPullup PORTx */

/* #define DataPortDirection DDRx */

/* #define ReadLCDPin PINx */

/* #define CtrlPortPullup PORTx */

/* #define CtrlPortDirection DDRx */

/* #define RS_Bit Px? */

/* #define RW_Bit Px? */

/* #define E_Bit Px? */

/* ‘x’ -》 A,B,C,D.。. */

/* ‘?’ -》 0,1,2,3,4,5,6,7 */

/* And set control port output,like this: */

/* CtrlPortDirection |= */

/* (1《/* 3 Add the Function “LCD_Init(void)” */

/* Before this Fun, you must set control port */

/* output. */

下载发烧友APP

打造属于您的人脉电子圈

关注澳门新萄京3522微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

澳门新萄京3522观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不

发烧友学院 发表于 2017-05-16 00:00 585次阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

单片机开根号的快速算法

发表于 2019-04-10 07:00 104次阅读
单片机开根号的快速算法

请问12C5A单片机低电压怎么检测

发表于 2019-04-10 06:35 35次阅读
请问12C5A单片机低电压怎么检测

收集51单片机设计例子

发表于 2019-04-10 02:30 36次阅读
收集51单片机设计例子

stc89c52单片机IO口继电器控制不了led灯

发表于 2019-04-09 23:21 33次阅读
stc89c52单片机IO口继电器控制不了led灯

LabVIEW对51单片机电压的采集,用VISA写入函数发送字符串voltage,VISA读取函数也是字符串?

发表于 2019-04-09 22:41 48次阅读
LabVIEW对51单片机电压的采集,用VISA写入函数发送字符串voltage,VISA读取函数也是字符串?

请问基于51单片机的漏电保护器怎么实现

发表于 2019-04-09 20:47 45次阅读
请问基于51单片机的漏电保护器怎么实现

我的单片机仿真出现了问题,键位不能控制TH TL,其他键位正常使用

发表于 2019-04-09 15:10 215次阅读
我的单片机仿真出现了问题,键位不能控制TH  TL,其他键位正常使用

程控直流稳压电源

发表于 2019-04-09 13:14 329次阅读
程控直流稳压电源

这是一个指纹设计电路刚学PCB想把这个电路做成实物,麻烦各位帮忙看下电路

发表于 2019-04-09 13:07 400次阅读
这是一个指纹设计电路刚学PCB想把这个电路做成实物,麻烦各位帮忙看下电路

LabVIEW上位机通过485通讯对下位单片机控制,请问使用VISA串口该怎么编写指令

发表于 2019-04-09 08:43 244次阅读
LabVIEW上位机通过485通讯对下位单片机控制,请问使用VISA串口该怎么编写指令

单片机电子时钟的设计

定义一个结构体类型 sTime 用来封装日期时间的各个元素,又用该结构体定义了一个时间缓冲区变量 b...

发表于 2019-04-08 16:34 113次阅读
单片机电子时钟的设计

单片机内部密码破解的常用方法解析

单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。为了防止未经授权访问或...

发表于 2019-04-08 16:27 72次阅读
单片机内部密码破解的常用方法解析

单片机数控电源的设计

这次做的数控电源设计思想没什么新意,就是一个数模转换(ADC0809)和一个模数转换(DAC0832...

发表于 2019-04-08 16:19 60次阅读
单片机数控电源的设计

单片机中断响应需要具备哪些条件

2、现行的机器周期不是当前正执行指令的最后一个周期。我们知道,单片机有单周期、双周期、三周期指令,当...

发表于 2019-04-06 09:00 29次阅读
单片机中断响应需要具备哪些条件

单片机控制数码管的设计

这是比较常见的数码管的原理图,我们板子上一共有6个数码管。前边有了 LED 小灯的学习,数码管学习就...

发表于 2019-04-06 09:00 50次阅读
单片机控制数码管的设计

单片机实现一分钟定时器功能的设计

2个定时中断,2个按钮中断 #include #define SEG P2 //数码管 ...

发表于 2019-04-06 09:00 45次阅读
单片机实现一分钟定时器功能的设计

单片机堆栈操作指令的用法介绍

第一条指令称之为推入,就是将direct中的内容送入堆栈中,第二条指令称之为弹出,就是将堆栈中的内容...

发表于 2019-04-04 14:38 76次阅读
单片机堆栈操作指令的用法介绍

单片机对蜂鸣器的设计

蜂鸣器的使用: 蜂鸣器粗略设定频率,以20ms即50hz发声 #include #...

发表于 2019-04-04 14:30 88次阅读
单片机对蜂鸣器的设计

如何设置超级终端实现单片机与电脑通讯

#include void int_initial()//串口中断初始化 { EA...

发表于 2019-04-04 14:22 73次阅读
如何设置超级终端实现单片机与电脑通讯

单片机开发时的常遇问题解析

nRF24L01模块(使用Mirf库时)的自动应答问题:项目里使用一个nRF24L01(服务端)接收...

发表于 2019-04-04 14:07 69次阅读
单片机开发时的常遇问题解析

单片机中电磁兼容性的处理方法

PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发...

发表于 2019-04-04 13:59 93次阅读
单片机中电磁兼容性的处理方法

单片机系统抗干扰的方法有哪些

影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选...

发表于 2019-04-03 15:25 115次阅读
单片机系统抗干扰的方法有哪些

SAM4E单片机在UART异步串口通信协议中的应...

这次试试使用UART,实现开发版和PC间的通信。功能比较简单,就是把PC发向开发版的内容发送回去。这...

发表于 2019-04-03 15:18 72次阅读
SAM4E单片机在UART异步串口通信协议中的应...

单片机对日志系统的设计

为单片机设计了一套简单的日志系统,通过日志系统提供的接口可以查看设备状态,并进行一些基本的调试。 ...

发表于 2019-04-02 14:26 81次阅读
单片机对日志系统的设计

如何掌握特定的单片机使用方法,并开发出高质量的单...

先不去解释总线的总类与它们的工作原理,也不去解释设备的工作原理,做个比方:CPU好比大脑,设备就好比...

发表于 2019-04-02 13:35 289次阅读
如何掌握特定的单片机使用方法,并开发出高质量的单...

在程序里面这个蜂鸣器的驱动就是个高低电平驱动

可以看出其实在while之后蜂鸣器状态已经是关闭的了,但是保险起见,确保函数调用完之后蜂鸣器是关闭的...

发表于 2019-04-02 12:40 383次阅读
在程序里面这个蜂鸣器的驱动就是个高低电平驱动

单片机8051/8751最小应用系统

直接接地,表明选择外部存储器;片外4K字节单元地址要求地址线12根(A 0 ~A 1 1),由P0和...

发表于 2019-04-02 12:37 321次阅读
单片机8051/8751最小应用系统

实现蓝牙HC-05、06与单片机的连接及与手机通...

首先,给单片机载入串口通信程序,注意!!一般下载程序时单片机与蓝牙断开,避免因蓝牙占用单片机串口导致...

发表于 2019-04-02 12:35 343次阅读
实现蓝牙HC-05、06与单片机的连接及与手机通...

单片机驱动继电器电路设计

由于继电器的线圈是感性器件,变化的电流通过线圈时线圈会产生自感电动势,根据法拉第定律,自感电动势的大...

发表于 2019-04-02 09:46 1504次阅读
单片机驱动继电器电路设计

单片机中的看门狗有什么作用

看门狗是用来防止万一单片机程序出错造成重大损失的。 防错的原理很简单,它在硬件上就是一个定时器...

发表于 2019-04-01 14:25 201次阅读
单片机中的看门狗有什么作用

如何实现单片机的自动化测试

首先确认 功能这条主线可以走通。比如UART发送字符这个功能主线是:SysCtl 配置MCU时钟源,...

发表于 2019-04-01 14:19 127次阅读
如何实现单片机的自动化测试

PLC与单片机的差别

如上所说,那么MCS-51单片机当然也可以用于PLC制作,只是8位CPU在一些高级应用如: 大量运算...

发表于 2019-04-01 10:41 587次阅读
PLC与单片机的差别

单片机和嵌入式有什么区别和概念的理解和感悟

单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们...

发表于 2019-03-30 11:00 751次阅读
单片机和嵌入式有什么区别和概念的理解和感悟

mcu原理

微控制单元又称单片微型计算机或者单片机,是把中央处理器(CPU)的频率与规格做适当缩减,并将内存、计...

发表于 2019-03-29 15:03 283次阅读
mcu原理

如何实现单片机程序代码的反汇编

要进行目标代码的变换,首先必须根据硬件画出实际的地址和数据的接线图,然后借助于工具软件进行变换。在“...

发表于 2019-03-29 14:33 103次阅读
如何实现单片机程序代码的反汇编

单片机复位电路的基本知识解析

1、单片机为什么要复位? 使单片机回复初始状态,从PC指针的0地址开始执行程序 2、如何...

发表于 2019-03-29 14:28 194次阅读
单片机复位电路的基本知识解析

单片机定时器与计数器的工作方式解析

定时器/计数器的工作方式0称之为13位定时/计数方式。它由TL(1/0)的低5位和TH(0/1)的8...

发表于 2019-03-28 14:29 83次阅读
单片机定时器与计数器的工作方式解析

基于可编程数字电位器的AVR嵌入式单片机剖析

AVR嵌入式单片机具有丰富的硬件、软件资源,其中的串行I2C接口能满足很多应用场合的要求,两个AVR...

发表于 2019-03-27 15:39 125次阅读
基于可编程数字电位器的AVR嵌入式单片机剖析

周立功专访:周立功和他的团队已经找到了属于自己的...

周立功一直渴望得到深造,就在1992年机会到来了。国家选拔各地省以上的先进工作者去中国纺织大学(现在...

发表于 2019-03-27 13:40 522次阅读
周立功专访:周立功和他的团队已经找到了属于自己的...

单片机编程总结

Pcf8591ad转换,有四个通道的输入,读pcf8591时,选通哪一个通道,读的就是那个通道输入的...

发表于 2019-03-27 10:57 296次阅读
单片机编程总结

电池电量监测解决方案的演示介绍

视频简介:本视频将向您介绍如何利用高精度∆-Σ ADC和PIC®单片机开发高性价比的电池电量监测解决...

发表于 2019-03-27 06:22 127次阅读
电池电量监测解决方案的演示介绍

嵌入式系统学什么

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。以计算机技术为基础,软硬件可裁剪,适应应用...

发表于 2019-03-26 15:21 427次阅读
嵌入式系统学什么

应用IAR开发EFM32过程中的一些经验积累

我们经常需要在Disassembly窗口中找到指定函数的位置,或者需要在Memory窗口中找到指定变...

发表于 2019-03-26 15:12 401次阅读
应用IAR开发EFM32过程中的一些经验积累

单片机正常工作的三大条件

如果单片机一直处于复位状态,那么单片机的程序肯定运行不正常,所以在遇到单片机不能正常工作且电源正常的...

发表于 2019-03-26 14:55 305次阅读
单片机正常工作的三大条件

影响单片机晶振报价的五大要素介绍

1.晶振频率:也是晶振的标称频率,通常来说在晶体的表面壳上面会有标明,标明的字样大多数是中性激光印字...

发表于 2019-03-26 14:24 77次阅读
影响单片机晶振报价的五大要素介绍

Microchip为PIC®和SAM单片机提供统...

Microchip Technology 今日宣布推出最新版本的统一软件框架MPLAB® Harmo...

发表于 2019-03-25 16:50 68次阅读
Microchip为PIC®和SAM单片机提供统...

以EN8F154单片机为例,了解单片机开发的规则...

看门狗电路通常是一块在有规律的时间间隔中进行更新的硬件。更新一般由单片机来完成,如果在一定间隔内没能...

发表于 2019-03-22 15:44 348次阅读
以EN8F154单片机为例,了解单片机开发的规则...

单片机和74HC595驱动芯片对数码管的控制设计

本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的...

发表于 2019-03-22 15:04 195次阅读
单片机和74HC595驱动芯片对数码管的控制设计

基于步进电机和单片机的航海罗经模拟器方案设计浅析

航海罗经模拟器的组成结构原理是:船舶舵轮的转动引起了船舶航向的改变,同时也就引起了船舶罗经读数的变化...

发表于 2019-03-22 08:36 98次阅读
基于步进电机和单片机的航海罗经模拟器方案设计浅析

ATMEGA8单片机对步进电机的驱动

constucharmotortb[]={0x11,0x99,0x88,0xCC,0x44,0x66...

发表于 2019-03-21 14:33 131次阅读
ATMEGA8单片机对步进电机的驱动

I2C接口与单片机之间的通信设计

I2C总线技术是Philips公司研制出来的串行扩展技术。他是一种简单、双向二线制同步串 行总线,他...

发表于 2019-03-21 14:24 101次阅读
I2C接口与单片机之间的通信设计

单片机空闲模式和掉电模式的设定方法

当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存...

发表于 2019-03-20 14:19 93次阅读
单片机空闲模式和掉电模式的设定方法

单片机PCB设计对电磁兼容性的处理

PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发...

发表于 2019-03-20 14:01 139次阅读
单片机PCB设计对电磁兼容性的处理

单片机与PLC的主要区别及工作原理解释

PLC是什么呢?PLC的全称是ProgrammableLogicController(可编过程控制器...

发表于 2019-03-18 14:20 392次阅读
单片机与PLC的主要区别及工作原理解释

一文掌握全部单片机硬件抗干扰技术

变压器双隔离措施:变压器初级输入端串接电容,初、次级线圈间屏蔽层与初级间电容中心接点接大地,次级外屏...

发表于 2019-03-18 11:05 392次阅读
一文掌握全部单片机硬件抗干扰技术

采用ARM和单片机的CPLD/FPGA高速数据处...

传统的数据采集系统一般采用单片机,系统大多通过PCI总线完成数据的传输。其缺点是数学运算能力差;受限...

发表于 2019-03-16 09:00 155次阅读
采用ARM和单片机的CPLD/FPGA高速数据处...

单片机静态局部变量的使用方法

1.静态局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时...

发表于 2019-03-14 14:28 79次阅读
单片机静态局部变量的使用方法

单片机模块化编程的原则有哪些

那么什么是模块化呢?首先我们来简单来聊聊模块概念,我们可能听说过电源模块,通信模块,这些是硬件模块,...

发表于 2019-03-13 14:20 149次阅读
单片机模块化编程的原则有哪些

单片机电磁兼容性的处理方法解析

PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发...

发表于 2019-03-12 13:58 142次阅读
单片机电磁兼容性的处理方法解析

最新款智能车基于重力传感器的手势遥控车

ADXL345加速度传感器附在手上来识别手势代表的方向,操作装置小巧,操作方法简单易行,将传感器装置...

发表于 2019-03-11 17:01 610次阅读
最新款智能车基于重力传感器的手势遥控车

单片机控制板PCB设计需要注意的原则和细节问题

设计电路板最基本的过程可以分为三大步骤:电路原理图的设计,产生网络表,印制电路板的设计。不管是板上的...

发表于 2019-03-11 10:21 750次阅读
单片机控制板PCB设计需要注意的原则和细节问题

单片机I2C总线的应用原理

I2C总线是开漏引脚并联的结构,因此我们外部要添加上拉电阻。对于开漏电路外部加上拉电阻,就组成了线“...

发表于 2019-03-08 15:21 230次阅读
单片机I2C总线的应用原理

单片机按键扫描程序和显示程序及延时程序解析

#include//包含 单片机 内部资源预定义 __CONFIG(0x1832); /...

发表于 2019-03-07 14:42 133次阅读
单片机按键扫描程序和显示程序及延时程序解析

如何消除单片机数码管的鬼影现象

“鬼影”的出现,主要是在数码管位选和段选产生的瞬态造成的。举个简单例子,我们在数码管动态显示的那部分...

发表于 2019-03-06 15:03 208次阅读
如何消除单片机数码管的鬼影现象

归纳出单片机开发中应掌握的几个基本技巧

他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执...

发表于 2019-03-05 10:24 328次阅读
归纳出单片机开发中应掌握的几个基本技巧

单片机应用系统的开发流程

首先是熟练掌握单片机的基本原理,虽然现在单片机厂商众多,但各家单片机的基本结构和原理都比较相近,例如...

发表于 2019-03-05 10:12 708次阅读
单片机应用系统的开发流程

单片机知识讲解:什么是高阻态?

在我们刚一开始接触到51单片机的时候对P0口必须加上上拉电阻,否则P0就是高阻态。对这个问题可能感到...

发表于 2019-03-04 13:43 520次阅读
单片机知识讲解:什么是高阻态?

单片机学习心得1:89c51单片机定时器应用!

89c51单片机内部有两个16位的定时/计数器,即定时器T0和定时器T1,单片机的定时功能其实就是通...

发表于 2019-03-04 13:36 420次阅读
单片机学习心得1:89c51单片机定时器应用!

单片机中的堆栈详细64222葡京的网址说明

因为单片机有CPU、存储器、IO等等,使他(人性化一点以配合下文)看起来就像一个比较小的计算机,所以...

发表于 2019-03-03 11:24 601次阅读
单片机中的堆栈详细64222葡京的网址说明

AT90S8515单片机对LED数码显示管的控制...

第1行表示程序中包含定义AT90S8515特殊功能寄存器的头文件8515def.inc,指明所用器件...

发表于 2019-03-01 14:24 155次阅读
AT90S8515单片机对LED数码显示管的控制...