DMF5001N图形液晶显示模块由一块160×128点阵单屏结构的液晶显示器件、两片T6961B、两片T6A39、一片T6963C及其8KRAM以及配套电路组成。T6963C有一内置字符器CGROM,共有128个5×7点阵ASCII字符;它有64K的显示RAM,用户可在其中方便地设置文本、图形和用户自定义的显示数据缓冲区。从而DMF5001N不仅可显示汉字,还可显示ASCII字符和各种曲线;它可以选择文本与图形之间的逻辑“与”、“或”、“异或”等组合,可以实现反显、闪烁、滚屏、翻页及动画等多种显示功能,还具有多种光标显示功能。因此可将它与单片机连接构成功能强、结构简单、人机界面友好的各种智能仪表和控制系统。
PIC16F877是PIC系列单片机中的中级产品。它采用的是14位的RISC指令系统,在保持低价的前提下增加了A/D、内部EEPROM存储器、比较输出、捕捉输入、PWM输出、I2C和SPI接口、异步串行通讯(USART)、模拟电压比较器、LCD驱动、FLASH程序存储器等许多功能,广泛应用于各种电子产品中。
1.硬件设计
内置T6963C控制器的液晶显示模块与计算机的接口时序为In-te18080时序。可采用直接访问方式或间接访问方式。本例采用间接访问方式,即通过并行I/O口PORTD间接对模块进行控制。模块共有20个引脚,其接口电路如上图所示。需要注意的是,液晶显示驱动电源Vee要求在-15~-20V之间,液晶对比度控制电压Vcont-VCC也要求在-15~-20V之间,LCD才能正常工作。NC引脚未用。
2.软件设计
T6963C接口的工作时序如上图所示。T6963C的状态标志字有8位,它们是:STAO:指令读、写状态,1:准备好,0:忙;STAl:指令读、写状态,l:准备好,0:忙;STA2:数据自动读状态,1:准备好,0:忙;STA3:数据自动写状态,1:准备好,0:忙;STA4:未用;STA5:控制器运行检测可靠性,1:出错,0:正确;STA6:屏读/拷贝出错状态,1:出错,0:正确;STA7:闪烁状态检测,1:正常显示,0:关显示。在CPU一次读或写指令及数据时,STA0和STA1要同时有效,即“准备好”状态;当CPU读写数组时,STA2或STA3取代STA0和STA1作为忙标志位;STA6标志是T6963C屏读或拷贝指令的标志位;STA5和STA7表示控制器内部运行状态。T6963C与DMF5001N之间的联络、实际应用中所有的指令传输和数据传输之间都采用状态字检测。要编写正确有效的指令,必须遵循图3所示的参数/指令传输流程。
(1)基本子程序按照上图所示的参数/指令传输流程图,单片机在访问T6963C的过程中,要用到LCD基本子程序。
判断STA2、STA3、STA5、STA6、STA7的子程序与判断STA0、1的子程序相类似,只是分别判断temp的第2、3、5、6、7位。
(2)清零子程序T6963C的硬件复位功能仅是对内部逻辑电路的初始化,但在开机后,LCD显示缓冲区的内容是随机状态。所以,T6963C首先要求对显示缓冲区初始化,清零过程是向全部存储单元写入00H,该数据在图形方式下为不显示状态数据,在文本方式下正好是空格的字符代码。初始化的清零过程应用了自动写指令。清零子程序见本刊网站。
(3)初始化子程序在使用LCD模块之前,必须首先调用这个子程序,以完成对LCD屏幕的初始化,具体程序见本刊网站。
(4)在LCD上显示汉字和ASCII码字符的方法以下所用到的汉字字模数据是利用清华蓬远公司提供的汉字字模提取程序PICK-HzB.EXE建立的。汉字字模排列格式为第1~16字节为汉字左半部分自上而下排列的字模数据;第17~32字节为汉字右半部分自上而下排列的字模数据。
对于DMF5001N来说有两种方法显示汉字。一是在文本方式下显示汉字,用CGRAM建立汉字库,编写汉字代码使用时将每一个汉字的16×16点阵的字模数据32字节,按结构(左上部、左下部、右上部、右下部)分成8个字节一组,共4组,每一组定义一个字符代码,字符代码的选择范围在80H~FFH之间,由汉字字模数组在CGRAM中的16位地址中的其中8位(AD3~AD10)形成的;在所要显示汉字的位置,把这4个字符代码写入汉字结构所对应的位置上,即可显示出完整的汉字;显然,在文本方式下显示汉字比较麻烦,而且个数也有限。二是在图形方式下显示汉字,在单片机的ROM中开辟一个存储区域专门存放汉字的点阵字模数据,再以图形方式逐字节的写入(在PIC系列单片机中是用addwFPCL、retlwOXxx等指令来实现的),从而在LCD显示屏上得到汉字的图形。该方法的特点是能够在任意位置上显示汉字而不受字符行的限制,并且汉字量不受LCD模块内CGRAM的限制。此外LCD模块内部有一字符发生器CGROM,该字符库有128种字符,其代码为00H~7FH,可直接提取(此时应注意在初始化时要使显示方式中的字符发生器选择位CG=0)。字符“W”和图形方式下“北”字的显示程序见本刊网站。
调试过程中应特别注意的问题:首先是要进行正确的初始化;再者单片机访问LCD时要与模块的接口时序配合好,比如在间接访问方式中,对模块进行写操作时,要用软件指令在模块的WR的反引脚有一个上升沿的信号脉冲。
关键字:PIC单片机 液晶显示模块 DMF5001N
引用地址:
PIC单片机与液晶显示模块DMF5001N的接口应用
推荐阅读最新更新时间:2024-03-16 15:47
PIC单片机配置字
1、对于PIC来说,状态字的配置尤其重要,其直接影响MCU的正常工作与否; 2、以PIC18F45K22为例,打开mplab8.92, 3、我们就可以看到配置字的说明文档: 4、比如:Oscillator Selection bits:(振荡器选择配置字) HS是使用超过4M的石英晶体振荡器(外部晶振),其中HSHP为大于16Mhz,HSMP为4-16Mhz;XT是使用1M到4M的石英晶体振荡器。LP是使用低于1M的陶瓷振荡器,上述都是用外部晶振,只是所用晶振的材质和频率不同。RC是不使用外部晶振,直接用内部的RC时钟电路。其中HS和XT因为用石英晶体振荡器,所得时钟比较准确,适用于各种串口、can、TCPIP
[单片机]
pic单片机常用1s延时子程序
pic单片机常用1s延时子程序 DELAY MOVLW 06H ;将外层参数值06H经过W MOVWF 20H ;送入用作外循环变量 LOOP1 MOVLW 0EBH ;将中循环参数之经过W MOVWF 21H ;送入用作中循环变量 LOOP2 MOVLW 0ECH ;将内循环参数值经过W MOVWF 22H ;送入用作内循环变量 LOOP3 DECFSZ 22H ;变量递减,若为0跳过 GOTO LOOP3 ;跳转到LOOP3 DECF
[单片机]
浅析PIC单片机的时钟设置
什么时钟? 首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍1234 2234 3234。。。。然后我们全部的同学就按照这个节奏进行一个个动作。节拍越快我们动作越快。节拍越慢我们动作的越慢。 内部时钟和外部时钟? PIC单片机有许多型号可以设置成 用外部时钟(如外部接个4MHZ的石英晶振),也可以设置成用内部RC时钟。而且还有许多型号可以选择多种频率的时钟。 如 PICLF1823 内部时钟最高可以到达32MHZ 最低可以达到 31kHz. 这事实上提供了一条降低功耗的新路子。一般的单片机降低功耗常常用的睡眠,而睡眠期间CPU是什么
[单片机]
PIC单片机与触摸屏串行通信的MODBUS协议实现
摘要:介绍一种在PIC单片机与触摸屏之间采用Modbus协议实现异步串行通信的方法。简单介绍了Modbus通信协议,给出了硬件电路连接图、程序流程图以及用PIC单片机C语言编写的部分通信程序。实际使用证明该方法数据传输稳定可靠,并提供了良好的人机交互环境。
关键词:触摸屏 PIC单片机 Modbus协议 通信
工控中经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编写相应的通信程序。Modbus协议是美国M
[单片机]
单片机智能监控系统
现代社会中监控系统已被广泛应用于各个领域,如工业现场监控、银行、酒店保安等,但就其数据而言,多为连续性信号(如传统VCR(VIDEO CASSETTE RECORDER)所记录的视频信号),他们在对某一对象进行监控时一般采用24 h不间断方式。这样当我们需要对所记录图像信号进行查询时,往往需要花费许多时间在整卷录像带中寻找有价值的画面,大大降低了查看数据的效率。并且为了满足这样大的数据记录量,通常采用LP方式,所记录的画面质量相对较差。对于像银行金库、警局武器库等这种小人群、少流动的特殊场合,由于所监视范围很小,对进入的人也有严格的限制,故而采用上述不间断监控方法并非合适。为此,我们设计了这样一种智能监控系统,只有当有物体进入
[单片机]
T6963C控制器的液晶显示模块程序
/* 线路图 89C51 T6963C -------- | 8 P1.0-1.7|=========== D0-7 | P3.0|----------- /RD P3.1|----------- /WR P3.2|----------- C/D | -- /CE | | | --- P3.3|----------- /RESET | VCC--- /HALT -------- */ #include reg8751.h #include math.h #include intrins.h sbit cd=P3^2; sbit wr=P3^1; sbit rd=P3^0; sbit reset=P3^3; sbit vee
[单片机]
PIC单片机访问铁电存储器的程序模块
//此子程序用于PIC系列单片机和铁电存储器FM24C04交换数据 #define bitset(var,bitno) ((var)|=(1 (bitno))) #define bitclr(var,bitno) ((var)&=((1 bitno)^0xff)) //定义铁电的写地址和读地址 //用高256字节,则为A2 A3 //用低256字节,则为A0 A1 #define WriteDeviceAdd 0xa2 //用高256字节 #define ReadDeviceAdd 0xa3 //用高256字节 #define SDA RC3 #define SCL RC2 /**********************
[单片机]
PIC单片机16*64点阵屏proteus仿真
驱动芯片DSPIC33FJ32GP204
[单片机]