#include "lcd.h"
#include "delaytime.h"
#include "dotarry.h"
#include "uart0.h"
LCD_COM lcdcom ;
/**************************************************************************************
*文件名:LCD延时子函数
*功能:LCD延时子函数
*输入参数:LCD延时time
*输出参数:无
*说明:
***************************************************************************************/
void LCD_SYS_Delay ( uint32 time )
{
while ( time != 0 ) time--;
}
/**************************************************************************************
*文件名:LCD初始化
*功能:配置LCD
*主要函数列表:
*修改纪录:
*说明:
***************************************************************************************/
void LCD_Init ( void )
{
LCD_CONTRL; /* 配置LCD的控制线 */
LCD_DATA; /* 配置LCD的数据线 */
LCD_Clr_Con; /* LCD的控制线清0 */
LCD_Clr_Data; /* LCD的数据线清0 */
LCD_SYS_Delay ( 1 );
LCD_POWER_1; /* 打开LCD的电源 */
delay_ms ( 1 );
LCD_RSET_1;
LCD_Set_Windows ( 0x07 );
LCD_SetCom ( LCD_COM_DisplayKey,0x00 );
LCD_SetCom ( LCD_COM_BeginLine,0x00 );
LCD_Clr_Window ( );
}
/*****************************************************************************************
*文件名:LCD显示数据转化为IO口输出
*功能:显示数据转化为IO口输出
*输入参数:显示数据
*输出参数:无
*说明:
******************************************************************************************/
void LCD_DoData ( uint8 data )
{
uint8 i,j;
i = data;
for ( j = 0;j < 8;j++)
{
switch ( j )
{
case 0:
if ( ( 0x01&i ) == 1 )
LCD_D0_1;
else
LCD_D0_0;
break;
case 1:
if ( ( 0x01&i ) == 1 )
LCD_D1_1;
else
LCD_D1_0;
break;
case 2:
if ( ( 0x01&i ) == 1 )
LCD_D2_1;
else
LCD_D2_0;
break;
case 3:
if ( ( 0x01&i ) == 1 )
LCD_D3_1;
else
LCD_D3_0;
break;
case 4:
if ( ( 0x01&i ) == 1 )
LCD_D4_1;
else
LCD_D4_0;
break;
case 5:
if ( ( 0x01&i ) == 1 )
LCD_D5_1;
else
LCD_D5_0;
break;
case 6:
if ( ( 0x01&i ) == 1 )
LCD_D6_1;
else
LCD_D6_0;
break;
case 7:
if ( ( 0x01&i ) == 1 )
LCD_D7_1;
else
LCD_D7_0;
break;
default: break;
}
i = ( i >> 1 );
}
}
/*****************************************************************************************
*文件名:LCD命令设置
*功能:根据不同的命令执行不同的操作
*输入参数:
*输出参数:无
*说明: 对命令的处理
1,判断是什么命令
2,判断后进入相应的处理程序
3,
******************************************************************************************/
void LCD_SetCom ( LCD_COM lcdcom,uint8 data )
{
uint8 i;
i = data;
switch ( lcdcom )
{
case LCD_COM_DisplayKey:
i = ( 0x3e | i );
LCD_ACOM;
LCD_SYS_Delay ( 1 );
LCD_RS_0;
LCD_DoData ( i );
LCD_SYS_Delay ( 1 );
LCD_E_1;
LCD_SYS_Delay ( 5 );
LCD_E_0;
LCD_SYS_Delay ( 5 );
break;
case LCD_COM_BeginLine:
i = ( 0xc0 | i );
LCD_ACOM;
LCD_SYS_Delay ( 1 );
LCD_RS_0;
LCD_DoData ( i );
LCD_SYS_Delay ( 1 );
LCD_E_1;
LCD_SYS_Delay ( 5 );
LCD_E_0;
LCD_SYS_Delay ( 5 );
break;
case LCD_COM_SetXAddr:
i = ( 0xb8 | i );
LCD_ACOM;
LCD_SYS_Delay ( 1 );
LCD_RS_0;
LCD_DoData ( i );
LCD_SYS_Delay ( 1 );
LCD_E_1;
LCD_SYS_Delay ( 5 );
LCD_E_0;
LCD_SYS_Delay ( 5 );
break;
case LCD_COM_SetYAddr:
i = ( 0x40 | i );
LCD_ACOM;
LCD_SYS_Delay ( 1 );
LCD_RS_0;
LCD_DoData ( i );
LCD_SYS_Delay ( 1 );
LCD_E_1;
LCD_SYS_Delay ( 5 );
LCD_E_0;
LCD_SYS_Delay ( 5 );
break;
case LCD_COM_WRData:
LCD_ACOM;
LCD_SYS_Delay ( 1 );
LCD_RS_1;
LCD_DoData ( i );
LCD_SYS_Delay ( 1 );
LCD_E_1;
LCD_SYS_Delay ( 5 );
LCD_E_0;
LCD_SYS_Delay ( 5 );
break;
case LCD_COM_REData:
break;
default: break;
}
}
/**************************************************************************************
*文件名:LCD全屏清O
*功能:LCD全屏清O
*主要函数列表:
*修改纪录:
*说明:
***************************************************************************************/
void LCD_Clr_Window ( void )
{
uint8 i,j;
for( i = 0; i < 8; i++ )
{
LCD_SetCom ( LCD_COM_SetXAddr,i );
LCD_SetCom ( LCD_COM_SetYAddr,0x00 );
for( j=0; j<64; j++ )
{
LCD_SetCom ( LCD_COM_WRData,0x00 );
}
}
}
/**************************************************************************************
*文件名:设置显示器显示区域
*功能:设置显示器显示区域
*输入参数列表;显示的区域数值
*输出参数列表:无
*主要函数列表:
*修改纪录:
*说明:显示的区域数值是根据"area"的底3位判断;
如果
lcd.zip_LED_visual c
版权申诉
44 浏览量
2022-09-23
08:04:11
上传
评论
收藏 3KB ZIP 举报
![avatar](https://profile-avatar.csdnimg.cn/76d4ee81f5f6465b8156d97495319ccf_weixin_42659252.jpg!1)
JaniceLu
- 粉丝: 85
- 资源: 1万+
最新资源
- 使用FFT算法对一个信号进行分析.rar
- 171cms游戏应用下载系统源码.zip
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
- Java项目:在线蛋糕商城系统(java+jsp+mysql)源码+数据库+期末大作业.zip
- ZapyaClient10_7-1.apk
- 织梦cms站长导航网站源码.zip
- 基于SSM+MySQL的网络投票调查问卷系统源码+数据库(java期末大作业).zip
- 基于jsp+servlet的宠物商城网站系统源码+数据库(java期末大作业).zip
- 基于Python+Tensorflow实现声纹识别+源代码+文档说明.zip
- java-leetcode题解之第112题路径总和.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)