#include <REG51.H>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
//延时子程序模块
//**********************************************
void mdelay(uint delay)
{ uint i;
for(;delay>0;delay--)
{for(i=0;i<80;i++) //1ms延时.
{;}
}
}
//************************************************
void show(); //液晶显示程序
//****************************************
//12864液晶显示部分子程序模块
//****************************************
sbit rs = P3^0;
sbit rw = P3^1;
sbit e = P3^2;
#define lcddata P0
sbit busy=P0^7; //lcd busy bit
void wr_d_lcd(uchar content);
void wr_i_lcd(uchar content);
void clrram_lcd (void);
void init_lcd(void);
void busy_lcd(void);
void rev_row_lcd(uchar row);
void rev_co_lcd(uchar row,uchar col,uchar mode);
void clr_lcd(void);
void wr_co_lcd(uchar row,uchar col,uchar lcddata1,uchar lcddtta2);
void wr_row_lcd(uchar row,char *p);
//**********************************
//液晶初始化
//**********************************
void init_lcd(void)
{
wr_i_lcd(0x06); /*光标的移动方向*/
wr_i_lcd(0x0c); /*开显示,关游标*/
}
//***********************************
//填充液晶DDRAM全为空格
//**********************************
void clrram_lcd (void)
{
wr_i_lcd(0x30);
wr_i_lcd(0x01);
}
//***********************************
//对液晶写数据
//content为要写入的数据
//***********************************
void wr_d_lcd(uchar content)
{
busy_lcd();
rs=1;
rw=0;
lcddata=content;
e=1;
;
e=0;
}
//********************************
//对液晶写指令
//content为要写入的指令代码
//*****************************
void wr_i_lcd(uchar content)
{
busy_lcd();
rs=0;
rw=0;
lcddata=content;
e=1;
;
e=0;
}
//********************************
//液晶检测忙状态
//在写入之前必须执行
//********************************
void busy_lcd(void)
{
lcddata=0xff;
rs=0;
rw=1;
e =1;
while(busy==1);
e =0;
}
//********************************
//指定要显示字符的坐标
//*******************************
void gotoxy(unsigned char y, unsigned char x)
{
if(y==1)
wr_i_lcd(0x80|x);
if(y==2)
wr_i_lcd(0x90|x);
if(y==3)
wr_i_lcd((0x80|x)+8);
if(y==4)
wr_i_lcd((0x90|x)+8);
}
//**********************************
//液晶显示字符串程序
//**********************************
void print(uchar *str)
{
while(*str!='\0')
{
wr_d_lcd(*str);
str++;
}
}
//***************************************
//液晶显示主程序模块
//***************************************
void show()
{
gotoxy(1,0);
print("欢迎光临锐志电子");
mdelay(200);
gotoxy(2,0);
print("【锐志电子】");
mdelay(200); //扫描延时
gotoxy(3,0);
print("WWW.RICHMCU.COM");
mdelay(200); //扫描延时
gotoxy(4,0);
print("12864 液晶测试");
mdelay(200); //扫描延时
}
//************************************
//主程序
//*************************************
main()
{
init_lcd();
clrram_lcd();
while(1)
{
show(); //液晶显示数据
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码)210-12864中文显示测试(51单片机C语言实例Proteu
资源详情
资源评论
资源推荐
收起资源包目录
210-12864中文显示测试(51单片机C语言实例Proteus仿真和代码).rar (12个子文件)
210-12864中文显示测试
12864_Uv2.Bak 2KB
12864_Opt.Bak 1KB
12864.hex 1KB
12864.Opt 1KB
12864.OBJ 7KB
12864.LST 7KB
12864.Uv2 2KB
12864.M51 8KB
12864 6KB
12864.plg 378B
12864.lnp 42B
12864.c 3KB
共 12 条
- 1
荣华富贵8
- 粉丝: 124
- 资源: 7649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 成都市地图含高新区(高新南区,高新西区),天府新区,东部新区虚拟行政区划
- XILINXFPGA源码XilinxEDK设计试验
- XILINXFPGA源码XilinxEDKMicroBlaze内置USB固件程序
- 基于 django 的视频点播后台管理系统源代码+数据库
- 基于Java的网上医院预约挂号系统的设计与实现(部署视频)-kaic.mp4
- 新建项目opengrok
- XILINXFPGA源码XilinxDDR3最新VHDL代码(通过调试)
- XILINXFPGA源码XilinxDDR2存储器接口调试代码
- 班级事务管理系统设计与实现(部署视频)-kaic.mp4
- excel带下拉框展示(动态展示)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0