Download presentation
Presentation is loading. Please wait.
Published byGabriel Maus Modified 6年之前
1
一、LCD显示器的基本原理 二、汉字显示原理 三、SED1330液晶显示控制器 四、HD44780液晶显示控制器 8.3 LCD显示器接口
2018/12/5 单片机接口技术
2
常见的显示技术 CRT Cathode Ray Tube 阴极射线管 LED Light Emitting Diode 2018/12/5
单片机接口技术
3
惰性气态在外加电信号作用下放电,使原子受激而跃迁,发射出紫外线,激发荧光粉发射可见光。在所有平板显示器中技术水平和视觉效果最高。
PDP plasma display panel 等离子体显示 2018/12/5 单片机接口技术
4
Liquid Crystal Display
LCD Liquid Crystal Display 液晶显示器 2018/12/5 单片机接口技术
5
一、LCD显示器基本原理 1888年,澳大利亚植物学者莱尼茨尔(Reinitzer)研究胆甾醇在植物中的作用时,无意间发现了液晶,但液晶的实际应用直到20世纪50年代才开始。 液晶是固液态之间的中间状态。在一定的温度范围内,既具有液体的流动性、粘度、形变等机械性质,又具有晶体的热、光、电、磁等物理性质。 2018/12/5 单片机接口技术
6
LCD显示原理 光线穿透液晶的路径由构成它的分子排列所决定。给液晶充电会改变它的分子排列,造成光线的扭曲或折射。 反射板 液晶盒 上偏振片
液晶显示器的基本结构 光源 下偏振片 反射板 液晶盒 上偏振片 光线通过示意图 2018/12/5 单片机接口技术
7
液晶显示器的分类 1、按电场效应: TN型(扭曲向列型)、GH型(宾主型)、STN(超扭曲向列)型、TFT型(薄膜晶体管型)
2、按透光模式来分: 反射式、投射式、半投射式 3、根据显示性能: 单色显示、彩色显示、常温显示、宽温显示、段型显示、点阵显示、字符显示、图形显示、图像显示、非存储型显示、存储型显示 4、从商品形式: 液晶显示器件(LCD)、液晶显示模块(LCM) 由液晶显示器件、控制驱动、接口、基本电路构成。接口形式有并行接口和串行接口。 2018/12/5 单片机接口技术
8
液晶显示模块 段型液晶显示模块 点阵液晶显示模块 点阵字符型 点阵图形
显示数字、标识符号,应用于各种数字仪表计时、计数、状态指示等。控制驱动器件主要是HT16XX。 由矩阵式点阵构成,通过矩阵的行列来控制显示器的每一个点的亮灭。 点阵字符型 点阵图形 显示西文字符、符号、汉字、图形等。 显示数字和西文字符、符号。控制器件主要有:HD44780U、NT3881D、KS0066等。 2018/12/5 单片机接口技术
9
早期单片机系统集成度比较低,LCD是通过LCD控 制器连在单片机总线上,或者通过并行/串行接口和单
片机相连。现在很多厂商都在SOC中集成了LCD控制 器,方便了开发人员有效地使用LCD。 2018/12/5 单片机接口技术
10
液晶显示器件背光源 一般液晶显示的采光技术分为自然光采光技术、背光源采光技术。 背光源的类型: LED型(DC5V--DC24V)
EL型(场致发光灯,AC100V,400Hz) CCFL型(冷阴极荧光灯 ,AC1000V) 2018/12/5 单片机接口技术
11
LCD参数 1、分辨率:屏幕上水平和垂直方向所能够显示的点数的多少。分辨率越高,同一屏幕内能够容纳的信息就越多。
2、视角:用面向画面的上下左右的有效视场角度来表示。目前最好的已达160度,大多数纯平显示器的视角都能达到180度。 3、亮度:液晶显示器背光源的亮度决定整台LCD的画面亮度及色彩的饱和度。理论上来说,液晶显示器的亮度是越高越好。 4、对比度:黑与白两种色彩不同层次的对比测量度。对比度120:1时就可以显示生动、丰富的色彩。 2018/12/5 单片机接口技术
12
5、可视面积:在实际应用中可用来显示图像的屏幕的面积。对于LCD来说,标称的尺寸大小基本上就是可视面积的大小。
6、反应速度:测量反应速度的时间单位是ms,指的是象素由亮转暗并由暗转亮所需的时间。目前主流LCD的反应速度都在25ms以上。 7、色彩:LCD比不上CRT,从理论上讲,CRT可显示的色彩为无限。而LCD只能显示大约26万种颜色。 8、辐射:CRT显示器会发出辐射,对人体是很不利。但LCD不会发出辐射。 2018/12/5 单片机接口技术
13
LCD的特点 (1)显示质量高、画面效果好,不闪烁; (2)可视面积大; (3)功耗小,LED的几百分之一;
(4)可在明亮环境下正常使用,清晰度不受环境光影响; (5)体积小、重量轻、外形薄,约为LED的1/3; (6)显示内容多,可显示文字、图形等; (7)使用寿命较长(5万小时以上); (8)无电磁辐射和X射线辐射,符合绿色环保要求; (9)工作温度范围窄(-5 ~ +700C); (10)稳定可靠、数字式接口、驱动方便,应用范围广。 2018/12/5 单片机接口技术
14
二、汉字显示原理 机内码:电脑系统处理、存储文字和符号信号使用的内码。ASCII码就是西文的机内码。
国标码:国家标准信息交换用汉字编码的简称,是机器内部用的汉字编码。每个汉字都对应一个编码。 国家标准汉字字符集GB : 一级汉字3755个 二级汉字3008个 图形符号682个 汉字6763个 7445个 2018/12/5 单片机接口技术
15
国 标 码 区 位 区 A1(01) A2(02) …… FE(94) 国标码=区位码+2020H 机内码=区位码+A0A0H
汉字国标码和区位码的定义 国标码=区位码+2020H 机内码=区位码+A0A0H 机内码=国标码+8080H 2018/12/5 单片机接口技术
16
一个汉字的字节数×[94×(区号-1)+位号-1 ]
HZK16:16×16的国标汉字点阵文件 每个汉字占用32个字节 字模 将区码和位码分别转换为十进制得汉字的区位码,则汉字的点阵在文件HZK16中的位置为: 一个汉字的字节数×[94×(区号-1)+位号-1 ] (减1是因为数组是以0为开始,而区位号是以1开始的) 2018/12/5 单片机接口技术
17
示例 “房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。 所以“房”的区位码为:
0B7BFH-0A0A0H=171FH 转换为十进制得“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZK16中的位置为第 32×[(23-1) ×94+(31-1)]=67136B 以后的32个字节为“房”的显示点阵。 2018/12/5 单片机接口技术
18
汉字字模的表示顺序 2018/12/5 单片机接口技术
19
7 6 5 4 3 2 1 7 6 5 4 3 2 1 16×16点阵汉字“文” “文”的汉字库 地址 数据 0000H 0x02
0x7F 0007H 0xFC 0008H 0009H 0x40 000AH 000BH 000CH 0x04 000DH 000EH 000FH 0x80 0010H 0011H 0012H 0013H 0014H 0015H 0016H 0017H 0x60 0018H 0x18 0019H 0x1C 001AH 0xE0 001BH 001CH 001DH 001EH 001FH 7 6 5 4 3 2 1 7 6 5 4 3 2 1 16×16点阵汉字“文” 2018/12/5 单片机接口技术
20
2018/12/5 单片机接口技术
21
建立汉字字库的方法 1、采用自编的软件; 2、专用的C程序; 3、专用的字模软件(软件演示)。 2018/12/5 单片机接口技术
22
在单片机系统中对字模的存储,可采取3种方式: (1)将提取的汉字字模数据作为常量数组存放在程序存储区内;
(2)将提取的汉字字模数据存放在EPROM或E2PROM内,作为扩展的数据存储器供单片机调用; (3)将整个汉字字库存放在EPROM或E2PROM内,程序根据要显示汉字的机内码来调用汉字字模。 2018/12/5 单片机接口技术
23
? 思考题 1、如何在屏幕上实现一个闪烁的汉字? 2、直线、矩形框、棒条显示的设计? 3、如何实现汉字或图形的反白显示?
4、动画设计的实现? 2018/12/5 单片机接口技术
24
1、从键盘输入的汉字经过键盘管理模块,变换成机内码。
PC机中汉字的显示 1、从键盘输入的汉字经过键盘管理模块,变换成机内码。 2、经字模检索程序,查到机内码对应的点阵信息在字模库的地址。 3、从字库中检索出该汉字点阵信息。 4、利用显示驱动程序将这些信息送到显示卡的显示缓冲存储器中。 5、显示器的控制器把点阵信息整屏顺次读出,并使每一个二进制位与屏幕的一个点位相对应,就可以将汉字字形在屏幕上显示出来。 2018/12/5 单片机接口技术
25
putpixel(int x,int y,int color) x,y为坐标,color为颜色值
例:显示汉字“模” unsigned char mo[]={ 0x00,0x00,0x10,0x90,0x10,0x94,0x13,0xFE,0x7C,0x90, 0x11,0xFC,0x19,0x04,0x35,0xFC,0x35,0x04,0x51,0xFC,0x50,0x40,0x17,0xFE, 0x10,0x90, 0x11,0x08,0x16,0x06, 0x00,0x00 }; unsigned char cmp_w[8]={128,64,32,16,8,4,2,1}; void FontDisplay(int x, int y, unsigned char * FontModule) { for(int row=0;row<16;row++) { for(int c=0;c<8;c++) { if((FontModule[row*2]&cmp_w[c])!=0) putpixel(c+x,row+y,15); } for(c=0;c<8;c++) { if((FontModule[row*2+1]&cmp_w[c])!=0) putpixel(c+8+x,row+y,15); } main() { FontDisplay(5,10,mo); } putpixel(int x,int y,int color) x,y为坐标,color为颜色值 2018/12/5 单片机接口技术
26
例:编程得到字模 void dis_cc(uint x,uint y,uint color,uint codeh,int codel) { char word[32]; int area,bit; long count,offset; unsigned int i,j; area = (codeh&0x00ff)-0xa0; //根据机内码取得区码 bit = (codel&0x00ff)-0xa0; //根据机内码取得位码 offset = (area-1)*94+bit-1; //取得偏移量 count = 32*offset; lseek(HZK16,count,SEEK_SET); //在HZK16文件中找到点阵起始位置 read(HZK16,&word[0],32); //读取32字节的点阵信息 for(i=0;i<16;i++) //写点 for(j=0;j<2;j++) for(k=0;k<8;k++) if((word[i*2+j]&(0x80>>k))!=NULL) putpixel(x+j*8+k,y+i,color); } 2018/12/5 单片机接口技术
27
三、SED1330 LCD控制器 SED1330是日本SEIKO EPSON公司出品的液晶显示控制芯片。具有功能较强的I/O缓冲器、指令丰富、可完成多种文本图形的显示、刷新功能;数据部分采用并行四位发送,最大可以驱动640×256点阵液晶显示屏。 Plastic QFP-60pin 2018/12/5 单片机接口技术
28
(1)CMOS low-power graphic and character display controller;
SED1330 FEATURES (1)CMOS low-power graphic and character display controller; (2)Selectable MPU interface is compatible with both the Intel family and the Motorola family; (3) Selectable display synthesis: Inverse video,Flashing display, cursor on/off/blink,Simple animation; (4)Programmable cursor; (5)64KB display RAM; (6)Internal character generator ROM: 160 kind 5×7 pixel characters; (7)Supports external character generator ROM:8 ×8 or 8 ×16 pixel characters; (8)Low power dissipation; (9)Logic power supply to 5.5V. 2018/12/5 单片机接口技术
29
SED1330框图 2018/12/5 单片机接口技术
30
2018/12/5 单片机接口技术
31
System Bus READ/WRITE Timing(8080)
2018/12/5 单片机接口技术
32
SED1330的指令表 功能 指令 操作码 说明 参数量 系统控制 SYSTEM SET 40H 初始化,显示窗口设置 8 SLEEP IN
空闲操作 - 显示操作 DISP ON/OFF 59H/58H 显示开/关,设置显示方式 1 SCROLL 44H 设置显示区域,卷动 10 CSRFORM 5DH 设置光标形状 2 CGRAM ADR 50H 设置CGRAM起始地址 CSRDIR 4CH-4FH 设置光标移动方向 HDOT SCR 5AH 设置点单元卷动位置 OVLAY 5BH 设置合成显示方式 绘制操作 CSRW 46H 设置光标地址 CSRR 47H 读出光标地址 存储操作 MWRITE 42H 数据写入显示缓冲区 若干 MREAD 43H 从显示缓冲区读数据 2018/12/5 单片机接口技术
33
与单片机接口方式 直接访问方式 间接访问方式 8051 8051 SYSTEM BLOCK DIAGRAM 2018/12/5
单片机接口技术
34
四、HD44780液晶显示控制器 HD44780是字符型液晶显示器的代表,可显示字母、数字、符号等。集驱动器与控制器于一体。
Hello Keil C LCD display 2018/12/5 单片机接口技术
35
(1)以若干个5×8或5×11点阵块组成的液晶显示屏;
模块特性: (1)以若干个5×8或5×11点阵块组成的液晶显示屏; (2)具有字符发生器ROM,可显示192种字符;64字节的定义字符RAM;80字节的RAM。 位置: 第一行 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 第二行 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 2018/12/5 单片机接口技术
36
HD44780显示控制器的内部方块图 显示数据存储器DDRAM 存放LCD显示器每一个位置的显示数据 存储了160个5×7的点阵字型
字符生成器CGROM 地址计数器AC 忙碌标志BF 存放LCD显示器每一个位置的显示数据 存储了160个5×7的点阵字型 存储自行设计8个5×7的点阵字型 存储地址值 0:可接受下一个指令码 1:无法接受任何命令 2018/12/5 单片机接口技术
37
LCD显示器的引脚说明 引脚 名称 功能 1 Vss 接地端(GND) 2 VDD 电源端(+5V) 3 Vo 亮度调整 4 RS
选择寄存器:0-指令寄存器; 1-数据寄存器 5 R/W 读写选择信号 6 E LCM启用信号 7-14 DB0-DB7 数据总线 2018/12/5 单片机接口技术
38
信号真值表 RS R/W E 功能 下降沿 写指令代码 1 高电平 读忙标志和AC值 写数据 读数据 HD44780读写时序
下降沿 写指令代码 1 高电平 读忙标志和AC值 写数据 读数据 HD44780读写时序 2018/12/5 单片机接口技术
39
LCM 的 控 制 指 令 2018/12/5 单片机接口技术
40
D0~D7 VDD P1.0~1.7 E R/W RS RES P3.3 P3.4 VSS P3.5 单片机与液晶模块的接口电路
2018/12/5 单片机接口技术
41
void delay100us(unsigned); void write_LCD_command(unsigned);
1、文件Lcd.h: /* LCD command */ #define TwoLine_8bit // 0x38 #define CLEAR // 0b #define CURSOR_HOME // 0b #define CURSOR_LEFT // 0b #define CURSOR_RIGHT // 0b #define CURSOR_OFF // 0b #define CURSOR_ON // 0b #define CURSOR_BLINK // 0b #define GOTO_LINE_ #define GOTO_LINE_ /* LCD control lines */ #define ENABLE 1 #define DISABLE 0 #define READ 1 #define WRITE 0 #define COMMAND 0 #define DATA 1 #define rs P3_5 #define rw P3_4 #define enable P3_3 void delay100us(unsigned); void write_LCD_command(unsigned); void write_LCD_data(unsigned); void init_LCD(void); void clear_LCD(void); void display_LCD_string(char *); void gotoxy(unsigned,unsigned); void display_LCD_number(char); 2018/12/5 单片机接口技术
42
#include <REGX51.H> #include <lcd.h>
2、文件Lcd.c: #include <REGX51.H> #include <lcd.h> char code int2charLCD[]=" "; void write_LCD_command(unsigned command) { rw=WRITE; rs=COMMAND; enable=ENABLE; P1=command; delay100us(20); enable=DISABLE; rw=1; } void write_LCD_data(unsigned LCDdata) rs=DATA; P1=LCDdata; 2018/12/5 单片机接口技术
43
write_LCD_command(TwoLine_8bit); // 0x38
void init_LCD(void) { write_LCD_command(TwoLine_8bit); // 0x38 write_LCD_command(CURSOR_OFF); // 0x0C write_LCD_command(CURSOR_RIGHT); // 0x06 } void clear_LCD( ) write_LCD_command(CLEAR); write_LCD_command(CURSOR_HOME); void display_LCD_string(char *p) while(*p) write_LCD_data(*p); p++; 2018/12/5 单片机接口技术
44
void display_LCD_number(char number) { unsigned char x,y; x=number/10;
y=number-10*x; write_LCD_data(int2charLCD[x]); write_LCD_data(int2charLCD[y]); } void gotoxy(unsigned x,unsigned y) if(x==1) write_LCD_command(GOTO_LINE_1+y); else write_LCD_command(GOTO_LINE_2+y); 2018/12/5 单片机接口技术
45
void delay100us(unsigned char n) { #pragma asm more: mov R3,#48
3、文件delay100us.c: void delay100us(unsigned char n) { #pragma asm more: mov R3,#48 djnz R3,$ djnz R7,more #pragma endasm } 4、文件example.c: #include <REGX51.H> #include "lcd.h" void main (void) init_LCD(); clear_LCD(); display_LCD_string("Hello Keil C"); gotoxy(2,1); display_LCD_string("LCD display"); while(1); /* 无穷循环 */ 2018/12/5 单片机接口技术
46
本章习题 3、6、10 2018/12/5 单片机接口技术
Similar presentations