51单片机程序编写教程简单的1062液晶显示程序求助

1602液晶显示屏在51单片机上的使用方法
介绍1062液晶屏的使用方法。
1602液晶显示屏在51单片机上的使用方法下载
下载资料需要,并消耗一定积分。
下载此资料的人还喜欢:
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
本周热点资料
电子资料热门词
上传者其它资料
单片机下载排行数码管 点阵已关 怎么还闪? 1062不能正常显示 - 【51单片机】 -
电子工程世界-论坛
后使用快捷导航没有帐号?
请完成以下验证码
查看: 1751|回复: 1
数码管 点阵已关 怎么还闪? 1062不能正常显示
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
要使用1062液晶显示& &所以通过void cmg88()//关数码管,点阵函数,但是点阵关不不了,还是不停的闪,液晶显示也有点闪,不知道为什么这样。
#include&reg51.h&//包含头文件,一般情况不需要改动,头文件包含特殊功能
#include&intrins.h&
sbit RS=P1^0; //定义端口
sbit RW=P1^1;
sbit EN=P2^5;
sbit DU=P2^0;
sbit WE=P2^1;
sbit CS88=P2^2;
#define RS_CLR RS=0
#define RS_SET RS=1
#define RW_CLR RW=0
#define RW_SET RW=1
#define EN_CLR EN=0
#define EN_SET EN=1
#define DataPort P0
#define uchar unsigned char
#define uint&&unsigned int
/****************************************************
*****************************************************/
& &&&//计数值32位
uint num_l;& &//计数值中间变量16位
uint num_h;&&//计数值中间变量16位
bit count_& &&&//脉冲计数标志
bit timer_50ms_&&//50ms 定时标志
uchar&&count_a=0;& &//定时程序中判断是否到一秒/一分的标志
uchar number=0;& &&&//数据序号
uchar code display0[16]={&& &51mcu R& &&&&};
uchar code display1[16]={&&&I Love you& &&};
void cmg88()//关数码管,点阵函数
/*------------------------------------------------
uS延时函数,含有输入参数unsignedchart,无返回值
unsignedchar是定义无符号字符变量,其值的范围是
0~255这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下T=tx2+5uS
------------------------------------------------*/
void DelayUs2x(uchar t)
while(--t);
/*------------------------------------------------
mS延时函数,含有输入参数unsignedchart,无返回值
unsignedchar是定义无符号字符变量,其值的范围是
0~255这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(uchar t)
while(t--)
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
/*------------------------------------------------
& && && && && &判忙函数
------------------------------------------------*/
bit LCD_Check_Busy(void)
DataPort=0xFF;
return(bit)(DataPort&0x80);
/*------------------------------------------------
& && && && &&&写入命令函数
------------------------------------------------*/
void LCD_Write_Com(uchar com)
while(LCD_Check_Busy());//忙则等待
/*------------------------------------------------
& && && && && &写入数据函数
------------------------------------------------*/
void LCD_Write_Data(uchar Data)
while(LCD_Check_Busy());//忙则等待
DataPort=D
/*------------------------------------------------
& && &&&清屏函数
------------------------------------------------*/
void LCD_Clear(void)
LCD_Write_Com(0x01);
DelayMs(5);
/*------------------------------------------------
& && && & 写入字符串函数
------------------------------------------------*/
void LCD_Write_String(uchar x,uchar y,uchar *s)
LCD_Write_Com(0x80+x); //表示第一行
LCD_Write_Com(0xC0+x); //表示第二行
LCD_Write_Data(*s);
/*------------------------------------------------
& && && && && &写入字符函数
------------------------------------------------*/
void LCD_Write_Char(uchar x,uchar y,uchar Data)
LCD_Write_Com(0x80+x);
LCD_Write_Com(0xC0+x);
LCD_Write_Data(Data);
/*------------------------------------------------
& && && && && & 初始化函数
------------------------------------------------*/
void LCD_Init(void)
cmg88();//关数码管,点阵函数
LCD_Write_Com(0x38); /*显示模式设置*/
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
LCD_Write_Com(0x08); /*显示关闭*/
LCD_Write_Com(0x01); /*显示清屏*/
LCD_Write_Com(0x06); /*显示光标移动设置*/
DelayMs(5);
LCD_Write_Com(0x0C); /*显示开及光标设置*/
LCD_Write_String(1,0,display0);
LCD_Write_String(1,1,display1);
/*------------------------------------------------
& && && && && &&&主函数
------------------------------------------------*/
void main(void)
LCD_Init();
在线时间1426 小时
威望6316分
芯币21678枚
E金币300枚
TA的帖子TA的资源
先不考虑程序查查硬件吧
EEWORLD 官方微信
EE福利 唾手可得
Powered by查看: 849|回复: 0
51单片机:1602液晶显示欢迎界面源程序
#include&reg52.h&
#define uchar unsigned char
#define uint unsigned int
uchar code table[]=&hello! jasper&;& &//写字符串时用“”而不是{ }了
uchar code table1[]=&& &xm.dabiao& & &;
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;& &&&
sbit wela=P2^7;&&
void delay(uint z)& &&&//延时
{
for(x=z;x&0;x--)
&&for(y=110;y&0;y--);
}
void write_com(uchar com) //写指令函数
{
lcdrs=0;& &
delay(5);& &
lcden=1;& &
lcden=0;
}
void write_data(uchar date)& &//写数据 函数
{
lcden=0;
}
void init()
{
dula=0;& && && &&&//初始化,关断数码管
write_com(0x38);& &&&
write_com(0x0e);& &
write_com(0x06);&&
write_com(0x01);&&
// write_com(0x80);&&
write_com(0x80+0x10);&&
}
void main()
{
for(num=0;num&13;num++)&&
{& && &&&
&&write_data(table[num]);&&
&&delay(20);&&
}
// write_com(1);& &//清屏
//----------------------------再写第二行
write_com(0x80+0x51);& &
for(num=0;num&16;num++)
{
&&write_data(table1[num]);
&&delay(20);
for(num=0;num&16;num++)
{
&&write_com(0x18);& &//由code控制位 表算得18,整屏左移
&&delay(160);&&
while(1);
}
//-------------------------复制代码
Powered by基于51单片机的1602显示时钟程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机的1602显示时钟程序
你可能喜欢基于51单片机24小时可调时钟1602液晶显示程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机24小时可调时钟1602液晶显示程序
&&单片机,液晶显示
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 单片机1602液晶显示 的文章

 

随机推荐