竞赛时写的几个程序分享了液晶驱动LCD12864Word下载.docx
- 文档编号:15727724
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:15
- 大小:19.93KB
竞赛时写的几个程序分享了液晶驱动LCD12864Word下载.docx
《竞赛时写的几个程序分享了液晶驱动LCD12864Word下载.docx》由会员分享,可在线阅读,更多相关《竞赛时写的几个程序分享了液晶驱动LCD12864Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
**
**------------------------------------------------------------------------------------------------------
**SystemFunction:
LCDDriver------液晶驱动
**
液晶型号:
12864
**使用LPC2103连接方式:
(串行)
SID:
P0.6(MOSI),SCLK:
P0.4(SCK0)
PSB:
GND(serial),/RST:
VCC,CS:
VCC
LEDA:
VCC,LEDK:
GND
**Modifiedby:
**Modifieddate:
********************************************************************************************************/
#include"
config.h"
/*系统常量定义*/
/*PINSEL0引脚功能选择寄存器常量*/
#defineSCK0
(1<
<
8)
//P0.4定义位,01
#defineMOSI0
12)
//P0.6定义位,01
/*SPI_SPCRSPI控制寄存器常量*/
#defineCPHA
3)
//时钟相位控制
#defineCPOL
4)
//时钟极性控制
#defineMSTR
5)
//主模式选择
#defineLSBF
6)
//字节的移动方向
#defineSPI_MODEMSTR
//选择SPI接口模式为主模式、SCK高有效空闲状态为0,上升沿采样,MSB传输在前
/*变量定义*/
uint8uiDisp_Addr=0x00;
//液晶显示ddram地址
/*********************************************************************************************************
**Functionname:
delay
延时函数
**Inputparameters:
uiDly
**Outputparameters:
无
*********************************************************************************************************/
voiddelay(uint32uiDly)
{
uint32i;
for(;
uiDly>
0;
uiDly--)
for(i=0;
i<
5000;
i++);
}
LCD_SPI_Initial
SPI接口初始化
无
voidLCD_SPI_Initial()
PINSEL0|=(SCK0|MOSI0);
//设置P0.4为SPI0串行时钟端,P0.6为SPI主出从入端
SPI_SPCCR=8;
//SPI时钟计数寄存器
SPI_SPCR=SPI_MODE;
//SPI控制寄存器
}
LCD_Serial_Send
主控CPU向LCD串行发送数据或指令
uidata
待发送数据或指令;
uimark
数据或指令标志,1为指令,0为数据
voidLCD_Serial_Send(uint8uidata,uint8uimark)
uint8uiComorData;
switch(uimark)
case0:
uiComorData=0xfa;
break;
case1:
uiComorData=0xf8;
SPI_SPDR=uiComorData;
//写入SPI数据寄存器,发送数据或指令判断控制字
while((SPI_SPSR&
0x80)==0);
//等待发送完毕(SPIF传输完成标志置位)
delay
(1);
SPI_SPDR=(uidata&
0xf0);
//写入SPI数据寄存器,启动发送高4位
while((SPI_SPSR&
delay
(1);
SPI_SPDR=((uidata&
0x0f)<
4);
//写入SPI数据寄存器,启动发送低4位
LCD_Initial
LCD初始化
voidLCD_Initial()
//LCD初始化
LCD_Serial_Send(0x30,1);
//功能设置:
基本指令集
LCD_Serial_Send(0x04,1);
//点设定:
显示字符/光标从左到右移位,DDRAM地址加1
LCD_Serial_Send(0x0c,1);
//显示设定:
开显示,不显示光标位置
LCD_Serial_Send(0x01,1);
//清DDRAM
LCD_Serial_Send(0x02,1);
//DDRAM地址归位
LCD_Serial_Send(0x80,1);
//显示地址设置
LCD_Erase
清LCDDDRAM寄存器
voidLCD_Erase()
LCD_Serial_Send(0x01,1);
LCD_Position_Select
选择LCDDDRAM地址
uiline,uirow显示行和列的值
voidLCD_Position_Select(uint8uiline,uint8uirow)
if(uiline==1)
uiDisp_Addr=0x80+uirow-1;
elseif(uiline==2)
uiDisp_Addr=0x90+uirow-1;
elseif(uiline==3)
uiDisp_Addr=0x88+uirow-1;
else
uiDisp_Addr=0x98+uirow-1;
LCD_Disp_Char
**Descr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 竞赛 几个 程序 分享 液晶 驱动 LCD12864
![提示](https://static.bdocx.com/images/bang_tan.gif)