5054|3

3238

帖子

5

TA的资源

五彩晶圆(中级)

楼主
 

关于富士通9B506LCD屏驱动和GPIO的笔记心得 [复制链接]

首先要驱动屏就需要了解最基本的IO寄存器配置现在我来介绍一些基本的GPIO操作需要配置的寄存器:ADE/SPSR寄存器决定了输入引脚的特性,比如ADE/SPSR=0时输入的值为IO引脚读取的值,ADE/SPSR=1输入的值总是为0.需要配置的寄存器有PFR,PDIR,PDOR,PCR,DDR,EPFR;现在分别说下各个寄存器的作用:

ADE:这个寄存器决定了是否IO端口将被使用为特殊引脚(一个模拟输入引脚)还是一个数字输入还是数字输出引脚。

SPSR:该寄存器设置是否IO端口将被使用为一个特殊引脚(USB或者震荡引脚)或者一个数字输入输出引脚

PFR:该寄存器设置是否IO端口将被使用为GPIO功能还是一个外设功能的输入输出引脚

PCR:该寄存器去设置是否IO端口的上拉电阻将被连接还是断开,如果这个IO端口是被使用为数字输入引脚或者双向的数字引脚。

DDR:该寄存器去设置是否IO端口将被使用为输入引脚还是输出引脚如果IO端口被使用为GPIO功能。(备注:如果一个引脚被选择作为一个外设IO,设定的值是无效的)

PDIR:该寄存器去读取IO端口的电平状态

如果IO端口是被使用为数字输入引脚,它读出输入的值

如果IO端口是被使用为数字输出引脚,它读出输出的值

如果IO端口是被使用为一个模拟输入引脚,它总是读出0

PDOR:该寄存器去设置输出状态如果IO端口是被使用为一个GPIO的功能

当值设置为0时,它输出低电平

当值设置为1时,输出高电平(备注:如果引脚设置为GPIO输入时或者外设的输入输出功能时,设置值是不确定的)

EPFR:该寄存器去选择一外设的输入输出功能和设置重分配功能

设置外设输出引脚:它设置是否为IO端口产生输出,此外,它也可以设置那个IO端口一个外设功能将被重分配给每个引脚

设置外设输入引脚:它可以设置那个IO端口一个外设功能将被重分配给每个引脚。

设置外设双向引脚:

它可以设置那个IO端口一个外设功能将被重新分配给每个引脚

对于每个寄存器的介绍先告一段落,现在我们来说下如何配置IO端口为GPIO

首先设置ADE/SPSR=0时输入的值为IO引脚读取的值,其次PFR=0(1:选择的是外设功能,0选择的是GPIO功能),其实是设置DDR(0:设置为输入功能,1为输出功能)相应的数据输入寄存器是PDIR(1:为输入高电平,0:为输入低电平)数据输出寄存器PDOR(1:为输出高电平,0:为输出低电平)

介绍完了配置GPIO功能现在来讲讲外设功能:

首先设置ADE/SPSR=0时输入的值为IO引脚读取的值,设置PFR=1,设置EPFR设置为外设引脚,设置EPFR输出输入EPFR输入输出使能.(要了解具体的操作请查看数据手册241)

 

端口设置寄存器有:PFR0PFR8

上拉设置寄存器有:PCR0-PCR7

端口输入输出方向寄存器:DDR0-DDR8

端口输入数据寄存器:PDIR0-PDIR8

端口输出数据寄存器:PDOR0-PDOR8

模拟输入设置寄存器:ADE

特殊端口输入寄存器:SPSR

外扩引脚功能设置寄存器:EPFR00-EPFR10(EPFR03备用)

现在我们来配置下PFRX:如下图所示:


从图上可知每个寄存器都是有16位,当相应的位设置为0时为GPIO功能,当设置为1时相应的引脚为外设输入输出功能。PFR00位设为P0015P0F,其他端口设置寄存器以此类推。JTAG引脚被选择为P04-P00初始值为1

上拉寄存器配置:

PCR00位设置为P00,15位为P0F其他以此类推,当使用I2C功能时,使用外部上拉通过设置PCRX=0

 

关于如何配置DDR寄存器:如图所示

端口数据输入寄存器配置:PD0Rx

端口数据输出寄存器配置:PDIRx

有关ADE的配置:

呵呵,弄了这么多现在应该可以解决LCD驱动的问题了,现在我们来一起分析下如何编写LCD驱动

显示命令:



基本设置:

1ADC=0(正常)

2SHL=1(反转)

3LCD像素选择=1/9

4:初始化显示行=0

5:显示ON/OF=OFF(正常)

6:反转显示(ON/OF)=OFF(正常)

7:设置电源控制设置:

8:显示ON/OF=ON

4.3复位LCD模块

这个LCD模块将被初始化通过使用RES

当打开VDDVSS电源,维持RES在低电平,在电源提供稳定后释放复位状态(RES=1

4.6基本的操作序(初始化序列)

1:打开电源VDDVSS当维持RES=0

2:等待电源稳定

3:释放RES复位信号(RES=1)

4:LCDbias=1/9

5ADC=Normal

6:SHL=reverse

7:初始化Displayline=0

8:电源控制(延迟50ms

9:电源控制(延迟50ms

10:电阻选择

11:设置参考电压模式

12:设置参考电源电阻

13:显示打开

14:设置页地址为0

15:设置列地址

16:写显示的数据

17:写其他显示数据

从原理图上可以看到如下信息:

LCD_CS     PORT1.7

LCD_CD     PORT1.6

LCD_WR     PORT1.5

LCD_RD     PORT1.4

LCD_SCK       PORT1.3

LCD_MOSI   PORT1.2

LCD_C86       PORT1.1

LCD_PS     PORT1.0

LCD_DATA[0..7]       PORT5.[0..7]

从数据手册上我们可知12864屏的行有128行有64列有8

设置LCD命令:

Display_On               0xAF   // A0,RD,WR:010

Display_Off                 0xAE   // A0,RD,WR:010

这两句话就是配置屏幕是否亮灭 0xaf: 1010  1111 最后一位决定了屏的亮灭(1:为亮,0为灭)

设置Set_Start_Line_00x40(01 000000)

设置页的地址Set_Page_Addr_0为:0xb0

设置列地址Set_ColH_Addr_0(高四位):0x10

设置列列地址Set_ColLAddr_0(低四位):0x00

其他的控制寄存器主要是上面的图片显示的方式配置的

[ 本帖最后由 wateras1 于 2012-6-25 12:15 编辑 ]

最新回复

  详情 回复 发表于 2012-6-29 09:25
点赞 关注
 

回复
举报

2856

帖子

260

TA的资源

五彩晶圆(高级)

沙发
 
你写的真够细呀

点评

呵呵,队长见笑了,水平太差了,不写细点自己看不懂。:hug:  详情 回复 发表于 2012-6-25 15:11
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

板凳
 

回复 沙发 ltbytyn 的帖子

呵呵,队长见笑了,水平太差了,不写细点自己看不懂。
 
 
 

回复

1万

帖子

16

TA的资源

版主

4
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表