2.4 读写的时序
只要磁芯电感按照VGG12864G的时序波形图进行读和写,即可完成OLED的显示。但是,通过软件编程拼时序的话,要考虑到许多时间参数,有一定的难度。为了使得数据和命令能够更容易的顺利读写,我们采用另外一种办法。如图1所示,将WR#和RD#分别接C8051F023的/WR和/RD,即P0.7和P0.6。在C语言编程时定义指针类型为xdata型,它是指向片外存储器的,通过给指针的赋值访问片外的数据存储区,当访问片外存储器时,/RD和/WR会在读和写时自动变低,同时P3端口为数据总线,非复用方式下,地址总线的高8位使用P1口,低8位使用P2口;复用方式下,地址总线高8位仍使用P1口,低8位和数据总线复用P3口,P2口就不会受到影响。所以最好设置成复用方式(EMIOCF.4=0),P2口就可以用来作别的输出端口,自由地控制RES#、CS#、DC。虽然不需模压电感器要地址总线,但访问片外存储器时地址线会被使用,所以仍要避开。实验结果的时序波形图如图3所示。只要CS#为低时,在WR#(RD#)的下降沿写入(读出)数据或命令,即可有效地完成读写的工作。
图3 时序波形图
3 软件程序的设计
整个单片机控制OLED的显示程序用C语言编写,主要程序流程图如图4所示。单片机初始化包括关闭看门狗、时钟初始化、端口初始化,以及定时器和中断的初始化。OLED初始化包括开显示、设置显示模式、设置对比度控制器、对比度设置(1~256)、设置行列起始地址、设置具体位置颜色、设置串口管脚配置。清OLED屏和OLED显示都是往GDDRAM里写数据,包括读状态、写命令、写数据子程序,清OLED屏就全写“0”,OLED显示只要写入所要显示的文字或图片的字符代码即可。每次写(命令或数据)之前都要读状态,看最高位D7是否为“0”,也称之为“忙”检测,如果为“1”,表示“忙”;反之为“闲”,在“闲”的状况下才可以写操作。
图4 程序流程图
4 文字和图片的显示
VGG12864G内置128×64 bits的显示存储器,用于存储显示数据,图5为RAM的地址结构。RAM容量为128×64=8192 bits,它被分成8页(page0-page7),每页8行,每页的第一列刚好是一个字节,低位在上,高位在下;显示屏上各像素点的显示状态与显示存储器的各位二进制数据一一对应,显示存储器模压电感的数据直接作为图形电感器生产厂家显示的驱动信号。数据显示为“1”,相应的像素点显示;数据显示为“0”,相应的像素点不显示。
采用MSP430行驶车辆检测电路设计 车辆检测器作为交通信息采集的重要前端部分,越来越受到业内人士的关注。鉴于公路交通现代化管理和城市交通现代化管理的发展需要,对于行驶车辆的动态检测技术——车辆检测器
光耦求解要求经过光耦输出电压12V,电流为0.5mA的光耦芯片楼上要干啥EL817?满街都是戈卫东发表于2016-7-1522:24
EL817?
资料显示Ic只有50mA啊lyjian发表于2016-7-1607:49
满街都是
晶体
封装寄生电感是否会影响MOSFET性能?
I.引言
高效率已成为开关电源(SMPS)设计的必需要求。为了达成这一要求,越来越多许多功率半导体研究人员开发了快速开关器件,举例来说,降低器件的寄生电容,并实现低导通
2/3 首页 上一页 1 2 3 下一页 尾页