单片机控制的LCD 1602的电子广告牌_单片机lcd1602程序

2020-02-28 广告词 下载本文

单片机控制的LCD 1602的电子广告牌由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机lcd1602程序”。

单片机控制的LCD 1602的电子广告牌

设计要求:

用单片机控制字符型LCD 1602显示字符信息“Hello everyone!”和“Welcome to Harbin”。字符信息“Hello everyone!”、“Welcome to Harbin”分别从LCD 1602右侧第一行、第一行滚动移入,然后再从左侧滚动移出,循环显示。

功能说明:由于液晶模块用怎样的命令控制显示由模块本身在制造时已经给出,实现相应的显示功能参照说明即可,液晶模块与单片机的连接不采用添加多个与非门的方式,而采用更直接、清晰的方式,使WR、RD直接与LCD的R/W、RS相连,使能端与P3^5相连,由软件给出下降沿,电路图如下:

详细的功能说明:

1)给LCD写命令、送数据等均需要进行选中寄存器、发送命令或数据代码、使能端有效等过程,若逐一写出会使程序混乱冗长,因此将写命令、写数据、初始化等分别封装在子函数中,方便随时调用。

2)为实现滚动显示,使用命令打开整体显示移动。

3)由于显示字母只需将相应的ASCII代码发送给LCM即可,因此将需要显示的字符直接设为数组中的元素,显示时逐一写入液晶。4)若数组中只有相应的字符,显示的末尾会出现预料之外的字符,因此加入足够的空格避免这种现象发生。

5)为实现循环不断显示的功能,只需将函数整体放入while(1)中即可,但应注意下一次循环开始前将DDRAM的地址回复为第一行。C语言程序: #include #define uchar unsigned char #define uint unsigned int #define LCDPORT P0 uchar code tab[]=“Hello everyone!

uchar code tab1[]=”Welcome to Harbin 出现不该出现的字符 sbit LCDE=P3^5;sbit LCDRW=P3^6;sbit LCDRS=P3^7;

void WriteCMD(uchar);

void init();

void WriteData(uchar);

void Delay();

void mydelay(int);

void main(){

uint i;

init();

while(1)

{

for(i=0;i

{

WriteData(tab[i]);的“忙”状态

mydelay(50);

}

mydelay(50);

WriteCMD(0x01);

WriteCMD(0x80+0x40+15);行末尾,从此处开始进入字符

for(i=0;i

{

WriteData(tab1[i]);

mydelay(50);

}

mydelay(50);

“;

”;//字符后面加若干个空格,防止滚动显示时

//定义写命令函数

//定义初始化函数

//定义写数据函数

//定义延迟函数

//定义无符号整形变量

//液晶模块的初始化

//使之一直进行滚动显示程序,不断循环 //显示第一行字符

//每显示一个字符后停留一会,越过液晶

//清屏,准备进行下一行显示

//改变DDRAM的地址,更改为第二 //开始输入第二行字符

WriteCMD(0x01);

WriteCMD(0x80+15);

进入下一次循环,显示重新开始

} }

void Delay(){

uint uiCount;

for(uiCount=0;uiCount

void WriteCMD(uchar Command)

寄存器 {

Delay();

LCDE=1;

LCDRS=0;

LCDRW=0;

LCDPORT=Command;

LCDE=0;

执行命令 }

void WriteData(uchar dat)

符 {

Delay();

LCDE=1;

LCDRS=1;

LCDRW=0;

LCDPORT=dat;

LCDE=0;

}

void init()

{

LCDRW=0;

LCDE=0;

WriteCMD(0x38);

WriteCMD(0x0c);

WriteCMD(0x07);

WriteCMD(0x01);

WriteCMD(0x80+15);

//DDRAM的地址改回第一行,准备 //写命令函数,用于修改液晶的状态

//先延时,越过液晶“忙”状态

//使能端先置1 //设置RS为0,打开指令寄存器

//设置为写寄存器状态

//输出命令

//使能端由1变0,出现下降沿有效,//写数据函数,用于提供液晶的显示的字

//把LCD改为写入数据状态

//再输出数据

//使能端有效,显示数据

//初始化程序,模块化使程序更清晰

//设置双行显示、8位数据接口

//设置整体显示开、光标关、字符不闪烁//设置为增量方式,整体显示移动开 //清屏

//设置字符进入屏幕的初始位置

}

void mydelay(int x){

int i,j;

for(i=x;i>0;i--)

for(j=255;j>0;j--);}

基于51单片机的电子广告牌电路设计

基于51单片机的电子广告牌电路设计2011-10-15 14:08:20来源:互联网关键字:51单片机 电子广告牌0 引 言现在城市中用于装点各种建筑物的绚丽色彩依旧是霓虹灯.但是霓虹灯具有发......

单片机课程设计报告LCD显示温度

《单片机原理与应用》课程设计报告题 目:LCD数字式温度湿度测量计 专 业:自动化 班 级:A1332 学 号:10 姓 名:曾志勇 指导老师:查兵2016-06-08目 录1.设计题目、要求及分工 ............

LCD电子钟程序(广工单片机课程设计)

#include#define uchar unsigned char#define uint unsigned int#define KEY_IO P3#define LCD_IO P0sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;sbit SPK......

单片机控制继电器电路

毕业论文题目:单片机制作控制继电器的电路毕业论文目录引言··············································1 摘要····......

单片机控制交通灯程序代码

毕业设计程序源代码ORG 0000H;主程序的入口地址LJMP MAIN;跳转到主程序的开始处ORG 0003H;外部中断0的中断程序入口地址ORG 000BH;定时器0的中断程序入口地址LJMP T0_INT;跳......

《单片机控制的LCD 1602的电子广告牌.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
单片机控制的LCD 1602的电子广告牌
点击下载文档
相关专题 单片机lcd1602程序 广告牌 单片机 电子 单片机lcd1602程序 广告牌 单片机 电子
[广告词]相关推荐
[广告词]热门文章
下载全文