没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
#include "12864_parallel.h"
/******************************************************************
- 功能描述:延时约 1ms 的时间
- 隶属模块:隶属 12864_parallel
- 函数属性:内部
- 参数说明:i:i 个 1ms
- 返回说明:无
- 注:无
******************************************************************/
void delayms(uint i)
{
uint j;
for(; i > 0; i--)
for(j = 112; j > 0; j--);
}
/******************************************************************
- 功能描述:检测忙标志
- 隶属模块:隶属 12864_parallel
- 函数属性:内部
- 参数说明:无
- 返回说明:无
- 注:无
******************************************************************/
void Check_Busy(void)
{
uchar busy;
LCD_Data = 0xff;
LCD_RS = 0;
LCD_RW = 1;
do
{
LCD_EN = 1;
_nop_();_nop_();
busy = LCD_Data & 0x80;
LCD_EN = 0;
}while(busy);
}
/******************************************************************
- 功能描述:向 12864 液晶中写控制命令
- 隶属模块:隶属 12864_parallel
- 函数属性:内部
- 参数说明:cmd:控制命令
- 返回说明:无
- 注:无
******************************************************************/
void Write_Cmd(uchar cmd)
{
Check_Busy();
LCD_RS = 0;
LCD_RW = 0;
LCD_Data = cmd;
LCD_EN = 1;
_nop_();_nop_();
LCD_EN = 0;
_nop_();_nop_();
}
/******************************************************************
- 功能描述:向 12864 液晶中写数据
- 隶属模块:隶属 12864_parallel
- 函数属性:内部
- 参数说明:dat:数据
- 返回说明:无
- 注:无
******************************************************************/
void Write_Data(uchar dat)
{
Check_Busy();
LCD_RS = 1;
LCD_RW = 0;
LCD_Data = dat;
LCD_EN = 1;
_nop_();_nop_();
LCD_EN = 0;
_nop_();_nop_();
}
/******************************************************************
- 功能描述:从 12864 液晶里读数据
- 隶属模块:隶属 12864_parallel
- 函数属性:外部,供用户使用
- 参数说明:无
- 返回说明:无
- 注:无
******************************************************************/
uchar Read_Data(void)
{
uchar LCD_Temp;
Check_Busy();
LCD_RS = 1;
LCD_RW = 1;
LCD_EN = 1;
_nop_();_nop_();
LCD_Temp = LCD_Data;
LCD_EN = 0;
return LCD_Temp;
}
/******************************************************************
- 功能描述:初始化 12864 液晶
- 隶属模块:隶属 12864_parallel
- 函数属性:外部,供用户使用
- 参数说明:无
- 返回说明:无
- 注:无
******************************************************************/
void Init_LCD(void)
{
Write_Cmd(0x30); //基本指令集
delayms(1);
Write_Cmd(0x01); //清除显示
delayms(10);
Write_Cmd(0x0c); //整体显示打开,游标关闭
delayms(1);
Write_Cmd(0x06); //游标右移
delayms(1);
}
/******************************************************************
- 功能描述:清除液晶 GDRAM 中的随机数据
- 隶属模块:隶属 12864_parallel
剩余11页未读,继续阅读
资源评论
- chaoxiaobeibei2011-11-13还好,那几天比赛的时候做菜单,试了好多个都没弄出来。还是理解了一部分问题的。
zhaojing6828
- 粉丝: 2
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功