Atmega32A驱动LCD1602显示屏

2019-11-11来源: 51hei关键字:Atmega32A  驱动LCD1602  显示屏

对于初学者来说,最烦躁的可能就是调试程序,往往小小一个问题,要找个一个小时,甚至几个小时才能解决,这个程序是刚调试完的,整整九个多小时啊,现在看着挺简单的,没调试好前根本不敢肯能调得好.高手别笑,初学者参考
编程环境Atmel Studio 7.0 和Proteus 8仿真,说明:仿真和真实电路是有点区别的,仿真Proteus 8只能用内部晶振,最大8MHz,我的DIY板是16M,所以实际电路总是比仿真的跑快好多

单片机源程序:

/*

* LCD1602_AVR.h

*

* Created: 2017/3/19 23:07:51

*  Author: lyl


*LCD1602的基本操作时序

        1,读状态,输入:RS=L        RW=H        E=H                        输出:D0~D7=状态字

        2,读数据,输入:RS=H        RW=H        E=H                                输出:D0~D7=数据

        

        2,写指令,输入:RS=L        RW=L        D0~D7=指令码                E=高脉冲                输出:无

        3,写数据,输入:RS=H        RW=L        D0~D7=数据                E=高脉冲                输出:无

*/ 

#define F_CPU 8000000UL

#include        //io端口寄存器配置文件,必须包含

#include       //GCC中的延时函数头文件

#define uchar unsigned char

#define uint unsigned int


#ifndef LCD1602_AVR_H_

#define LCD1602_AVR_H_


#define DataPort PORTC

#define DataPort_DDR DDRC

#define DataPort_PIN PINC

#define CtrPort PORTB

#define CtrPort_DDR DDRB

#define CtrPort_PIN PINB


#define RS 0

#define RW 1

#define EN 2


#define LCD1602_SetRS()                (CtrPort |= (1<

#define LCD1602_ClrRS()                (CtrPort &= ~(1<

#define LCD1602_SetRW()                (CtrPort |= (1<

#define LCD1602_ClrRW()                (CtrPort &= ~(1<

#define LCD1602_SetEN()                (CtrPort |= (1<

#define LCD1602_ClrEN()                (CtrPort &= ~(1<


void LCD1602_PortInit(void);        //端口初始化

void LCD1602_CheckBusy(void);        //LCD1602忙信号检测

void LCD1602_Init(void);        //LCD1602初始化

void LCD1602_WriteData(uchar ucData);//在液晶上写数据或者命令,0为命令,1为数据

void LCD1602_WriteCmd(uchar cmd);

void LCD1602_CursorPosition(uchar x,uchar y);//将液晶的坐标移动到指定的位置

void LCD1602_WriteChar(uchar x,uchar y,uchar ucData);//在指定的位置上显示一个字符串;

void LCD1602_WriteString(uchar x,uchar y,uchar *Str);//在液晶上显示字符串



#endif



关键字:Atmega32A  驱动LCD1602  显示屏 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479601.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:AVR PCF8591 AD&DA数码管显示
下一篇:8位共阳数码管74HC595芯片AVR单片机控制 proteus仿真及源码

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Atmega128A被我锁死,又救活了
AVR单片机编程熔丝位时候不小心选择了外部RC,导致单片机锁死的简单解决方法。今天在捣鼓Atmega128A, 惦记起了熔丝位,手闲于是写入了这个 于是乎,这个开发板就再也不能被PORGISP软件识别了, 调入flash,点击【自动】按钮就会显示error。 手闲赔钱啊,锁死了咋办?上网找答案,有处论坛里有位兄弟也是我这问题,他的解决办法就是“时钟锁死的AVR单片机可以通过外部输入一个几十K到1M左右的时钟到XTAL1引脚进行解锁”“输入的时钟电平需到5V。可以不是方波,片内有波形调整电路”“烧写好熔丝之后,再烧程序的时候不用每次都重新烧写熔丝。可以在ISP软件中把勾勾去掉”“找一个时钟输入
发表于 2019-10-25
Atmega128A被我锁死,又救活了
ATMEGA16A单片机的多点测温系统完成版 Proteus仿真程序
 0.png (38.96 KB, 下载次数: 18)下载附件  保存到相册2019-6-29 04:45 上传 单片机源程序如下:/***************************************************************************实验名   :DS18B20模块*实验效果 :单总线调试,此代码可用于测多点温度*显示     :此代码用了LCD显示读取地址位*平台     : Atmega16,基于8MHz*调试时间 :2019年6月7日 23:14
发表于 2019-10-16
ATMEGA16A单片机的多点测温系统完成版 Proteus仿真程序
ATMEGA16A单片机1602字符显示程序
* 【编译环境】: ICCAVR  * 【函数功能】: 1602字符显示        * 【晶    振】:  8M                * 【芯    片】:  ATMEGA16A         #include<iom16v.h>#define uchar unsigned char #define uint unsigned
发表于 2019-10-15
Atmega128a的4位独立键盘控制程序
//***********************************************************************//                        包含文件//***********************************************************************#include <string.h>#include <stdio.h>#define       
发表于 2019-10-15
Atmega8a的采样(查询法)
];//存温度#define get while(!(ADCSRA & (1 << ADIF)))//若转化完成,ADIF=1========================================atmega8和16不同,16的采样可以由定时器触发
发表于 2018-10-07
Atmega8a的采样(查询法)
PIC单片机驱动LCD12864显示字符源代码
;}//---------------------------------------//名称: 初始化LCD屏//-----------------------------------------void init_lcd(void){Rst=0;           //复位液晶delay(250);      //加些延时delay(250);Rst=1;           //复位结束delay(250);      //加些延时Psb=1;    
发表于 2019-11-09
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved