您当前的位置:五五电子网电子知识单片机-工控设备ARM单片机ARM微控制器LPC210X的LCD接口技术 正文
ARM微控制器LPC210X的LCD接口技术

ARM微控制器LPC210X的LCD接口技术

点击数:7765 次   录入时间:03-04 12:03:00   整理:http://www.55dianzi.com   ARM单片机
#define SPI_CS 0x00000004 //74HC595选通线为P0.2

传输字模数值到数据线上的子程序:

void SendData(unsigned char date){

unsigned char i;

IOCLR=SPI_CS; //SPI_CS=0

for(i=0;i<8;i++){ //依次发送8位数据

IOCLR=SPI_CLK; //SPI_CLK=0

if((date&0x80)!=0) //传输最高位

IOSET=SPI_DATA;

Else

IOCLR=SPI_DATA;

date<<=1;

IOSET=SPI_CLK; //SPI_CLK=1

}

IOSET=SPI_CS; //SPI_CS=1

}

其它程序与方法1类似。有了以上子程序,就可以很方便地加以调用,进行液晶驱动显示。

2.3 CPLD分部连接法

CPLD是大规模逻辑器件,对于LPC210X的复杂应用显得非常重要,笔者的项目是用它来扩展外部接口的,LCD应用只是其中一部分,连接图如图3所示。

共占用9线,为说明方便,也选用了连续的GPIO口。该方法把一个字节字模分成高4位和低4位,分别通过P0.0~P0.3传送。在CPLD里设计一个4位锁存器,当高4位传送完毕后,锁存器进行锁存,然后发送低4位,接着由P0.4选通锁存器,将8位数据同时送出,这样节省了4个GPIO口;另外由P0.5通过CPLD直接控制CS1和CS2,也节省了1个GPIO口。LPC210X程序参照方法1很容易写出,只是注意这里是分两次、每次4位传送,以及每次传送要改变P0.4的状态。CPLD采用了Xilinx XC9500系列的XC9572,程序用Verilog-HDL语言编写,其中数据分部传送程序设计如下:

module latch(out_high,out_low,data,enable);//定义模块latch

output[3:0]out_high; //定义输出口高4位

output[3:0]out_low; //定义输出口低4位

input enable; 定义锁存选通信号

reg[3:0] out_high;

reg[3:0]out_low;

reg[3:0]LOCk; //定义锁存寄存器

always@(enable or data)

begin

if(!enable) //低电平锁存

lock<=data;

else //高电平开通锁存 ,输出8位

begin

out_high=lock;

out_low=data;

end

end

endmodule

至于P0.5选通CS1、CS2,在另一always块中用ifelse语句进行判断就可以了。

程序设计完成后,在WEBPACK中对用到的引脚进行分配与锁定,然后编译。如果需要仿真的 埃

上一页  [1] [2] 


本文关键字:技术  控制器  接口  ARM单片机单片机-工控设备 - ARM单片机