ILI9325的驱动程序有几处地方不懂,求解
/**********************************************************ILI93258位240X320液晶屏例程序****...
/**********************************************************
ILI9325 8位 240X320液晶屏 例程序
**********************************************************/
#include <reg52.h> //C51单片机程序
#include "Font8x16.h" //8X16 字母 数字 符号 **********////这个头文件来源处怎么来的,求解
#include "GB1616.h" //16*16汉字字模
/**********************************************************
液晶屏 16位 引脚定义
**********************************************************/
#define DataBusH P2 //高8位 并行数据口
//#define DataBusL P0 //底8位 并行数据口
sbit LCD_CS= P1^0; //片选
sbit LCD_RS= P1^1; //数据/命令选择
sbit LCD_WR= P1^2; //写数据
sbit LCD_RD= P1^3; //读数据
sbit LCD_RES=P1^4; //复位
/**********************************************************
时间延时函数
/**********************************************************
写指令代码 8 位
**********************************************************/
void Lcd_Write_Cmd(unsigned char DH,unsigned char DL)
{
LCD_CS=0; //片选 0选定 1移除
LCD_RS=0; //1数据/0命令
DataBusH=DH; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
DataBusH=DL; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
LCD_CS=1; //片选 0选定 1移除
}
/**********************************************************
写指令参数、显示数据 8 位
**********************************************************/
void Lcd_Write_Data(unsigned char DH,unsigned char DL)
{
LCD_CS=0; //片选 0选定 1移除
LCD_RS=1; //1数据/0命令
DataBusH=DH; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
DataBusH=DL; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
LCD_CS=1; //片选 0选定 1移除
}
void Lcd_Write_Cmd(unsigned char DH,unsigned char DL)这个函数跟这个函数void Lcd_Write_Data(unsigned char DH,unsigned char DL)的意思,为什么要这样写? 展开
ILI9325 8位 240X320液晶屏 例程序
**********************************************************/
#include <reg52.h> //C51单片机程序
#include "Font8x16.h" //8X16 字母 数字 符号 **********////这个头文件来源处怎么来的,求解
#include "GB1616.h" //16*16汉字字模
/**********************************************************
液晶屏 16位 引脚定义
**********************************************************/
#define DataBusH P2 //高8位 并行数据口
//#define DataBusL P0 //底8位 并行数据口
sbit LCD_CS= P1^0; //片选
sbit LCD_RS= P1^1; //数据/命令选择
sbit LCD_WR= P1^2; //写数据
sbit LCD_RD= P1^3; //读数据
sbit LCD_RES=P1^4; //复位
/**********************************************************
时间延时函数
/**********************************************************
写指令代码 8 位
**********************************************************/
void Lcd_Write_Cmd(unsigned char DH,unsigned char DL)
{
LCD_CS=0; //片选 0选定 1移除
LCD_RS=0; //1数据/0命令
DataBusH=DH; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
DataBusH=DL; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
LCD_CS=1; //片选 0选定 1移除
}
/**********************************************************
写指令参数、显示数据 8 位
**********************************************************/
void Lcd_Write_Data(unsigned char DH,unsigned char DL)
{
LCD_CS=0; //片选 0选定 1移除
LCD_RS=1; //1数据/0命令
DataBusH=DH; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
DataBusH=DL; //8位并口 数据P2
LCD_WR=0; //写数据
LCD_WR=1; //写数据
LCD_CS=1; //片选 0选定 1移除
}
void Lcd_Write_Cmd(unsigned char DH,unsigned char DL)这个函数跟这个函数void Lcd_Write_Data(unsigned char DH,unsigned char DL)的意思,为什么要这样写? 展开
1个回答
展开全部
#include "Font8x16.h" 这个文件是用取模软件生成的
void Lcd_Write_Cmd(unsigned char DH,unsigned char DL)表示写入命令DH*256+DL
void Lcd_Write_Data(unsigned char DH,unsigned char DL)表示往数据寄存器写入(DH*256+DL)
之所以分开写是因为所用的单片机数据总线高八位与低八位地址不连续
追问
我的意思是写指令和写数据的区别,为什么要写指令,比如有那些指令?往数据寄存器写数据时,应该先指明寄存器的地址,写指令是不就是来写寄存器地址的?
追答
是的写指令就是寄存器的地址
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询