📄 lcd.c
字号:
/*
;***********************************************************************
;* 北京达盛科技有限公司
;* 研 发 部
;*
;* http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ---------------
;*
;* 文件名称 : lcd.C
;* 文件功能 : 该文件为测试lcd的测试程序,CPU=TMS320VC5402LF2407
;* 接口说明: LCD型号LCM12864ZK,青云公司,设置在串行方式
; LCDRS<=HRESET; --LCD复位用CPU2的复位信号,低有效
;
; LCDE(SCLK)<= 串行时钟, '1'写IO 8006
'0'读IO 8006
; LCDCS< =1 ; --LCD片选信号,‘1’允许,在CPLD里面直置‘1’
; LCDRW(SID)<= 串行数据,'1'写IO 8007
; '0'读IO 8007
//------------------头文件--------------------------------------
/*******************************************************************/
#include "exp4_2407.h"
#include "delay.h"
#include "cpuinit.h"
#include "lcms.h"
#include "PHANTOM.h"
/*******************************************************************/
//----------------------------------------------------------
// --------------- 宏定义 ---------------------------------/
//----------------------------------------------------------
#define UCHAR unsigned char
#define UINT16 unsigned int
#define UINT32 unsigned long
//---------------------------------------------------------
/* 端口定义 */
//---------------------------------------------------------
ioport UINT16 port8006; //串行时钟地址
ioport UINT16 port8007; //串行数据地址
//----------------------------------------------------------
/* 全局变量定义 */
//---------------------------------------------------------
UCHAR data_buff1[10] = "白日依山尽";
UCHAR data_buff2[10] = "黄河入海流";
UCHAR data_buff3[10] = "欲穷千里目";
UCHAR data_buff4[10] = "更上一层楼";
//interrupt void PHANTOM(void);
/*
************************************************************
****************** 主函数 *******************
************************************************************
*/
void main()
{
UINT16 temp,i;
//----------系统初始化-------------------------------
asm(" nop ");
cpu_init(); //初始化CPU
asm(" nop ");
//-----------LCD初始化--------------------------------
asm(" nop ");
Initlcm();
//------------LCD显示---------------------------------
for(;;)
{
Delay(50000);
Delay(50000);
Delay(50000);
//-----------------------------------------------------------
SendCMD(0x0082); //设定DDRAM的地址在第一行 82H
delay_100us();
for(i =0;i<10;i++)
{
SendDat(data_buff1[i]);
delay_100us();
asm(" nop ");
}
asm(" nop ");
//------------------------------
SendCMD(0x0092); //设定DDRAM的地址在第二行 92H
delay_100us();
for(i =0;i<10;i++)
{
SendDat(data_buff2[i]);
delay_100us();
}
asm(" nop ");
//--------------------------------
SendCMD(0x008a); //设定DDRAM的地址在第三行 8AH
delay_100us();
for(i =0;i<10;i++)
{
SendDat(data_buff3[i]);
delay_100us();
}
asm(" nop ");
//--------------------------------
SendCMD(0x009a); //设定DDRAM的地址在第四行 9AH
delay_100us();
for(i =0;i<10;i++)
{
SendDat(data_buff4[i]);
delay_100us();
}
asm(" nop ");
//-------------------------------------------------------------
delay_100us();
Delay(50000);
Delay(50000);
Delay(50000);
delay_100us();
SendCMD(CLEAR); //清除显示
}
//----------- 踏步--------------------------
while(1)
{
temp = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -