[color=#333333 !important]
显示触摸功能的综合实现
[color=#333333 !important]
PIC32MX系列的并行控制接口模块功能非常强大,只需要对其寄存器进行正确的初始化配置,即可自动适应各种并行接口的时序要求。当需要进行读写指令切换时,只需要改变读写状态寄存器的值,芯片就会根据初始化配置时设置的值自动产生时序电平。在进行写操作时,芯片也会根据设置的值,自动使数据信号达到所要求的建立电平和保持电平的时间。SSD1926相对应的寄存器配置如下:
[color=#333333 !important]

[color=#333333 !important]
并行接口数据传输时序如图4所示。[page]
[color=#333333 !important]

[color=#333333 !important]
图4中,CS信号为片选信号,对SSD1926进行操作时在整个操作周期中保持高电平。RS信号为地址与数据选择信号,写地址时保持低电平,写数据时保持高电平。PMWR为写操作使能信号。当写操作开始时,首先等待1个外部时钟周期(B),确保PMD[15:0]上的数据或地址信号已稳定建立;然后保持3个外部时钟周期的高电平(M),确保信号内容完全写入SSD1926;最后用1个外部时钟周期(E)结束写操作。BUSY信号为PMMODEbits.BUSY寄存器的状态。进行读写操作时,BUSY信号自动置高;只有读到BUSY信号为低时(表示上一次操作已完成,总线空闲),程序才能开始下一次读写操作。把对应I/O口和寄存器的操作编程集成起来,编写为子程序,可方便地在主程序中实现PIC32MX系列单片机与SSD1926之间的数据传输。人机界面主程序框图如图5所示。
[color=#333333 !important]

[color=#333333 !important]
当A/D采样得到的接触点X、Y坐标发生变化时,消息处理函数根据得到的消息发出相应的指令。除了进行数据输入/输出和与下位机通信外,当需要进行页面切换时,就更改页面状态,调用“新页面建立”函数,切换到新的页面;当需要进行页面内容更新时,就调用“页面更新”函数,更新当前页面的状态。
[color=#333333 !important]
为了简化编程,软件中定义了几种常用的图形模块,如按键、静态图片、静态文字段、动态数据显示框等。每个模块都具有模块创建、模块更新和消息响应3个子程序。模块创建子程序根据模块的上下左右坐标、模块的颜色、模块的内容及状态等参数,在液晶显示器的对应位置上显示出模块的图案,并在对应的内存空间中记录下模块的状态。模块更新子程序定义了模块不同状态下图案的变化,比如按键模块当被触摸时即显示出3D效果的凹陷图案,未被触摸时即显示3D效果的凸出图案。消息响应子程序则根据A/D采样得到的接触点X、Y坐标,判断模块是处于触摸过程的接触、移动还是放开状态,并对状态进行响应。Microchip公司特别针对PIC32MX系列还开发了图形软件库(graphics library)。该软件可以方便地把各种语言、各种字体的文字以及位图格式的图片转化为能够在软件中直接使用的数组矩阵,极大地方便了用户。
[color=#333333 !important]
显示触摸功能的综合实现
[color=#333333 !important]
PIC32MX系列的并行控制接口模块功能非常强大,只需要对其寄存器进行正确的初始化配置,即可自动适应各种并行接口的时序要求。当需要进行读写指令切换时,只需要改变读写状态寄存器的值,芯片就会根据初始化配置时设置的值自动产生时序电平。在进行写操作时,芯片也会根据设置的值,自动使数据信号达到所要求的建立电平和保持电平的时间。SSD1926相对应的寄存器配置如下:
[color=#333333 !important]

[color=#333333 !important]
并行接口数据传输时序如图4所示。[page]
[color=#333333 !important]

[color=#333333 !important]
图4中,CS信号为片选信号,对SSD1926进行操作时在整个操作周期中保持高电平。RS信号为地址与数据选择信号,写地址时保持低电平,写数据时保持高电平。PMWR为写操作使能信号。当写操作开始时,首先等待1个外部时钟周期(B),确保PMD[15:0]上的数据或地址信号已稳定建立;然后保持3个外部时钟周期的高电平(M),确保信号内容完全写入SSD1926;最后用1个外部时钟周期(E)结束写操作。BUSY信号为PMMODEbits.BUSY寄存器的状态。进行读写操作时,BUSY信号自动置高;只有读到BUSY信号为低时(表示上一次操作已完成,总线空闲),程序才能开始下一次读写操作。把对应I/O口和寄存器的操作编程集成起来,编写为子程序,可方便地在主程序中实现PIC32MX系列单片机与SSD1926之间的数据传输。人机界面主程序框图如图5所示。
[color=#333333 !important]

[color=#333333 !important]
当A/D采样得到的接触点X、Y坐标发生变化时,消息处理函数根据得到的消息发出相应的指令。除了进行数据输入/输出和与下位机通信外,当需要进行页面切换时,就更改页面状态,调用“新页面建立”函数,切换到新的页面;当需要进行页面内容更新时,就调用“页面更新”函数,更新当前页面的状态。
[color=#333333 !important]
为了简化编程,软件中定义了几种常用的图形模块,如按键、静态图片、静态文字段、动态数据显示框等。每个模块都具有模块创建、模块更新和消息响应3个子程序。模块创建子程序根据模块的上下左右坐标、模块的颜色、模块的内容及状态等参数,在液晶显示器的对应位置上显示出模块的图案,并在对应的内存空间中记录下模块的状态。模块更新子程序定义了模块不同状态下图案的变化,比如按键模块当被触摸时即显示出3D效果的凹陷图案,未被触摸时即显示3D效果的凸出图案。消息响应子程序则根据A/D采样得到的接触点X、Y坐标,判断模块是处于触摸过程的接触、移动还是放开状态,并对状态进行响应。Microchip公司特别针对PIC32MX系列还开发了图形软件库(graphics library)。该软件可以方便地把各种语言、各种字体的文字以及位图格式的图片转化为能够在软件中直接使用的数组矩阵,极大地方便了用户。
举报