基于C51单片机的16x16LED点阵显示 公交站显示 电路图 源代码
- 格式:doc
- 大小:1.22 MB
- 文档页数:32
基于单片机实现16*16LED显示屏控制电路设计学生姓名:学生学号:院(系):电气信息工程学院年级专业:指导教师:助理指导教师:二〇一五年五月摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成。
LED点阵显示屏可显示数字或符号, 一般用来显示汉字、时间、速度、系统状态等。
由于单片机的不断发展和高亮度LED发光管的出现使得大屏幕高亮度LED显示屏成为可能,与传统的霓虹灯广告在显示效果及可修改性上都有着无法比拟的优势,而且单片机的慢慢普及以及LED技术的不断创造格新,使得高清晰高亮度的LED点阵显示屏与传统霓虹灯显示屏的成本日益接近。
为了能简单的实现基于单片机的LED显示系统控制,本文设计了基于STC89C52单片机单片机16×16 LED汉字滚动显示屏电路以及运用Proteus软件仿真实现其显示功能。
本系统的设计具有体积小、硬件少、电路结构简单及容易实现等优点。
关键词:LED,STC89C52单片机,Proteus仿真ABSTRACTAs a new display device LED dot matrix display is consists of several independent LED light-emitting diode encapsulation. LED dot matrix display can display numbers or symbols, always used to display time, speed and system status, etc.As the continuous development of microcomputer technology and the display of high-brightness LED glowing tube, It makes the emergence of large-screen high-brightness LED electronic advertising screen to be possible, compared to the display effect and modifiability of The traditional neon advertising it has incomparable advantage and the growing SCM Civilian and innovative LED technology makes the brightness and high definition of LED dot matrix billboards and neon signs of the cost of traditional increasingly close.In order to achieve the 16×16 LED chinese scroll screen and using the Proteus software simulation shows the function. The design of the screen is small, less hardware, simple circuit structure and easy to implement.Keyword : LED, STC89C52MCU, Proteus imitates real目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1本课题研究的意义 (1)1.2国内外研究现状和水平 (1)1.2.1 国外发展情况 (1)1.2.2 国内发展情况 (2)1.3 LED显示屏的发展趋势 (2)2 系统总体设计方案 (4)2.1方案选择 (4)2.2 设计任务 (5)2.3 本设计的方框图 (5)2.4 本设计的创新点 (5)2.5 本设计实现的软件 (5)3 系统的硬件设计 (6)3.1 单片机的选择与其性能分析 (6)3.1.1 单片机概述 (6)3.1.2 单片机STC89C52的介绍 (6)3.1.3 单片机最小系统的介绍 (8)3.2 74HC573简介 (10)3.3 点阵显示电路 (11)3.4 驱动电路 (13)4 软件设计 (15)4.1 软件系统分析 (15)4.1.1 模块细分 (15)4.1.2 编写程序 (15)4.2 系统主程序 (16)4.3 显示驱动程序 (17)5 仿真设计与结果分析 (18)5.1 仿真软件的简介 (18)5.1.1 仿真软件Proteus的简介 (18)5.1.2 keil uVision4编程开发工具的简介 (18)5.2 本系统的Proteus仿真设计 (23)5.3 创建源代码仿真文件 (25)5.4 仿真调试 (26)6 PCB的制作 (28)6.1 PCB简介 (28)6.2 PCB的发展历史 (28)6.3 原理图的设计 (29)6.4 制作PCB (29)6.5 焊接PCB板 (32)7 组装与调试 (34)7.1 电路组装 (34)7.2 硬件调试 (34)7.3 单片机程序烧录 (35)结论 (37)参考文献 (38)附录A:源程序代码 (39)附录B:实物演示 (46)附录C:仿真图 (47)附录D:电路原理图 (48)致谢............................................................................................................ 错误!未定义书签。
基于51单片机控制的16×16点阵显示C程序设计作者:付文莉谭琼来源:《读书文摘(下半月)》2018年第02期摘要:LED汉字显示屏到处可见,被广泛应用于各种公共场合,如公交车报站器,广告屏以及公告牌等。
本文详细介绍了采用C语言实现16X16点阵屏的控制方法。
关键词:单片机;C语言;16X16点阵单片机,又名单片微型计算机,主要由中央处理器(CPU)、存储器(RAM,ROM)、输入/输出端口(I/O口),定時器系统等组成。
而利用C语言程序设计控制的16X16点阵屏则更凸显出了单片机控制的便捷性和可操作性。
1 16X16点阵屏控制电路由于16X16点阵屏有16根行线和16根列线,在控制的时候,就需要单片机的32个I/O 口,为了节约单片机的端口,本次控制利用芯片74HC154芯片来实现。
74HC154芯片是4-16线译码器,该译码器可以将4个引脚扩展为16个引脚来使用,E1和E2引脚必须同为低电平时才能工作,其连接电路如图1所示。
2 16X16点阵屏C程序设计在字模软件中,每一个字都是由16行16列的点阵组成的,即国标汉子库中的每一个字均由256个点来表示,我们可以把每个点理解为一个像素,把每一个字的字形理解为一副图像。
由于单片机的总线为8位,所以在显示时,我采用74HC154输出的低电平扫描行,用单片机的8位端口分别控制左半屏和右半屏。
#include //包含头文件#define uint unsigned int#define uchar unsigned char#define hang P1 //定义行扫描#define lieg P3 //定义列的高八位数据#define lied P2 //定义列的低八位数据void delay(uint); //定义延时函数uchar code tab0[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; //定义行扫描数据uchar code tab1[]={/*-- 文字:校 --*//*-- 宋体12;此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x40,0x10,0x20,0x10,0x20,0x11,0xFE,0xFC,0x00,0x10,0x88,0x31,0x04,0x3A,0x02,0x54,0x88,0x50,0x88,0x90,0x50,0x10,0x50,0x10,0x20,0x10,0x50,0x10,0x88,0x13,0x06};void main() //主函数{uchar i;while(1){for(i=0;i{hang=tab0[i]; //扫描行lieg=tab1[2*i]; //送左半屏数据lied=tab1[2*i+1]; //送右半屏数据delay(1); //每行延时}}}void delay(uint x) //延时函数延时x X 0.5ms{uint i,j;for(i=0;ifor(j=0;j}运行上述程序,在Proteus仿真中,我们看到了显示的结果如图2所示。
16X16LED 点阵前段时间闲着无聊自己做了一个 16X16LED 点阵,自己画了原理图以及焊板子。
在网上 查资料发现没有一个十分完整的资料可供大家学习, 因此这次我把我自己画的原理图、 实物 图和一个最简单显示代码分享出来! 至于说工作原理我就不再赘述, 大家可以参考网上其他 资料写的很明白。
(1)原理图列 信 号 点 下 载 口 阵 复 位 电 路行信(2)实物图号(3)代码(最简单的静态显示) #include<reg51.h> #define uchar unsigned char #define uint unsigned int #define scan P2 uchar lie[]={ 0xFF,0xFF,0xEF,0xFF,0x6F,0xC0,0x6F,0xEF, 0x00,0xEF,0x6F,0xEF,0x6F,0x40,0xEF,0xBF, 0xFF,0xCF,0x01,0xF0,0xDD,0xFD,0xDD,0xBD, 0xDD,0x7D,0x01,0x80,0xFF,0xFF,0xFF,0xFF}; uchar l,i; sbit H=P3^0; sbit L=P3^1; void delay(uint z); main() { while(1) { H=0; L=0;scan=0; for(i=0;i<16;i++) { P0=lie[2*i]; H=1; for(l=0;l<5;l++); H=0; P0=lie[2*i+1]; L=1; for(l=0;l<5;l++); L=0; delay(1); P0=0xff; H=1; for(l=0;l<5;l++); H=0; P0=0xff; L=1; for(l=0;l<5;l++); L=0; scan++; } } } void delay(uint z) { uint x,y; for(x=0;x<z;x++) for(y=0;y<80;y++); } /*显示信号*//*消影*/ /*下一个扫描信号*/。
51单片机驱动16×16LED点阵显示动画汉字汇编程序电路图就不贴出来了16×16LED点阵的典型接法。
这里提供一个完整的AT89S51单片机驱动驱动led点阵显示具有动画效果的汉字的汇编程序列子.ORG 0000HST: MOV A,#0FFH ;初始化MOV P1,AMOV P2,AMOV P3,AMOV P0,ACLR AMOV R0,#50H ;显示缓存清0MOV R1,#20H ;控制清0的次数ST0: MOV @R0,AINC R0DJNZ R1,ST0;正文显示CHINESE: MOV DPTR,#TAB1 ;查表指针指向TAB1LCALL HZ;结束动画SCREE:MOV DPTR,#TAB2;查表指针指向TAB2ACALL DDMOV DPTR,#TAB3;查表指针指向TAB3ACALL DDMOV DPTR,#TAB4;查表指针指向TAB4ACALL DDLJMP CHINESE;显示8幅画面子程序,SCREE专用,用字模软件字要倒置(表必须深256字节)DD: MOV B,#00HMOV R0,#08H ;显示8幅画面AJMP CCCC0: MOV A,BADD A,#20H ;指向下一幅画面MOV B,ACC: MOV R7,#08H ;画面停留时间MOV R3,BMOV 37H,R0LCALL ENTERDIS00: LCALL DISPLAYDJNZ R7,DIS00MOV R0,37HDJNZ R0,CC0RET;汉字上移子程序,可显示8个汉字,(表必须深256字节)HZ: MOV R3,#00H ;查表偏移量MOV R5,#81H ;查表128次MOVBACK: MOV R4,#10H ;使显示完一个汉字MOVBACK0: MOV R7,#02H ;一桢画面显示时间MOV R0,#6DH ;低8位R0指向显示缓存倒数第3个字节,以备与最后1个字节交换MOV R1,#6CH ;高8位R1指向显示缓存倒数第4个字节,以备与倒数第2个字节交换MOV R2,#10H ;内存后移的次数DJNZ R5,MOVBACK1RET ;显示完该表,返回MOVBACK1: MOV A,@R0 ;低8位被后移的内存单元数据暂存入AINC R0 ;后移两字节INC R0MOV @R0,A ;放入要移的低8位数据MOV A,R0 ;R0指向下一个要后移的内存单元SUBB A,#04HMOV R0,AMOV A,@R1 ;高8位被后移的内存单元数据暂存入A INC R1 ;后移两字节INC R1MOV @R1,A ;放入要移高8位的数据MOV A,R1 ;R1指向下一个要后移的内存单元SUBB A,#04HMOV R1,A ;R1指向下一个要后移的内存单元DJNZ R2,MOVBACK1 ;显示缓存数据依次后移MOV A,R3 ;从表TAB1读入要移进50H,51H的数据MOVC A,@A+DPTR;先给50H读数据MOV 50H,AMOV A,R3 ;指向下一字节INC AMOV R3,AMOVC A,@A+DPTR;再给51H读数据MOV 51H,AMOV A,R3 ;指向下一字节INC AMOV R3,AMOV 30H,R3 ;保护数据MOV 31H,R4MOV 32H,R5DISMOV: LCALL DISPLAY ;显示当前数据DJNZ R7,DISMOVMOV R3,30HMOV R4,31HMOV R5,32HDJNZ R4,MOVBACK0MOV 30H,R3 ;保护数据MOV 32H,R5MOV R7,#24H ;显示当前数据延时DISMOV0: LCALL DISPLAYDJNZ R7,DISMOV0MOV R3,30HMOV R5,32HLJMP MOVBACK;放进一幅显示数据到显示缓存子程序,要先设好指针DPTR和R 3,影响R1,R2,R3ENTER: MOV R1,#50H ;从50H单元起把表存入MOV R2,#20H ;查表次数MOV A,R3CLLOOP_: MOVC A,@A+DPTR ;查表MOV @R1,A ;将表放进5X,6X单元INC R1 ;R1指向下一个地址空间MOV A,R3 ;查表指针后移INC AMOV R3,A ;将指针修改结果存入R3DJNZ R2,CLLOOP_;没查完转CLLOOP_RET;15MS,显示子程序,一桢32个字节,影响A,R0,R1,R3,R4,R5,R6;;单片机网提供汉字取模工具,可显示任意汉字DISPLAY: MOV A,#0FFHMOV P0,AMOV P1,AMOV P2,AMOV P3,ASETB CMOV R6,#7FH ;赋扫描字初值,左移后初值为0FEH MOV R5,#00H ;列扫描低8位控制MOV R0,#50H ;行的高8(p1)位要显示的数据起始地址MOV R1,#10H ;扫描次数DISLOOP: MOV A,@R0 ;从内存读数据MOV P2,#0FFH ;装入数据时不显示任何东西MOV P3,#0FFHCPL A ;数据取反以适合显示MOV P1,A ;送入行的高8(p1)位要显示的数据INC R0 ;修改R0指向低8位要显示的数据MOV A,@R0 ;读低8位要显示的数据CPL A ;数据取反以适合显示MOV P0,A ;送入行的低8(p0)位要显示的数据INC R0 ;R0指向下一个高8(p0)位要显示的数据LCALL NEXT ;调用列扫描程序LCALL DELAY1MS ;显示延时DJNZ R1,DISLOOP;一桢显示完返回MOV P3,#0FFH ;全灭RET;列扫描子程序DISLOOP专用NEXT: JNC NEXT1 ;C=0转扫描高8(p3)位行MOV A,R6 ;修改扫描字RL AMOV R6,AINC R5CJNE R5,#09H,NEXT0 ;R6=#0FEH时C=0AJMP NEXT1BACK: RETNEXT0: MOV P2,R6 ;扫描低8(p2)位行AJMP BACKNEXT1: MOV P2,#0FFHMOV P3,R6 ;扫描高8(p3)位行MOV A,R6 ;修改扫描字RL AMOV R6,AAJMP BACK;延时1MS子程序DELAY1MS: MOV R3,#10D0: MOV R4,#50D1: DJNZ R4,D1DJNZ R3,D0RETTAB1:DB 01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070 H,001H,000H,01DH,070H,000H,000HDB 01FH,0F0H,011H,010H,01FH,0F0H,011H,010H,01FH,0F2 H,001H,002H,001H,002H,000H,0FEH;電DB 000H,000H,03FH,0F0H,000H,020H,000H,040H,000H,080 H,001H,000H,001H,000H,001H,004HDB 0FFH,0FEH,001H,000H,001H,000H,001H,000H,001H,000 H,001H,000H,005H,000H,002H,000H;子DB 008H,000H,008H,0FCH,07EH,084H,008H,084H,0FFH,094 H,041H,088H,022H,080H,014H,0FEHDB 07EH,0A4H,008H,0A4H,008H,098H,0FFH,098H,008H,0A4 H,008H,0A6H,008H,0C4H,008H,080H;報DB 000H,000H,000H,010H,03FH,0F8H,000H,000H,000H,000 H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,004H,07FH,0FE H,000H,000H,000H,000H,000H,000H;二DB 01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070 H,001H,000H,01DH,070H,002H,080HDB 004H,060H,01AH,01EH,0E1H,008H,01FH,0E0H,000H,040 H,002H,080H,001H,000H,001H,000H;零DB 01FH,0F8H,001H,000H,07FH,0FEH,041H,004H,01DH,070 H,001H,000H,01DH,070H,002H,080HDB 004H,060H,01AH,01EH,0E1H,008H,01FH,0E0H,000H,040 H,002H,080H,001H,000H,001H,000H;零DB 004H,000H,003H,000H,001H,080H,001H,000H,0FFH,0FE H,000H,000H,000H,000H,004H,080HDB 006H,040H,004H,020H,008H,010H,008H,018H,010H,00C H,020H,00CH,040H,008H,000H,000H;六DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000 H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000 H,000H,000H,000H,000H,000H,000H;(空);结束动画;-- 水纹 -- ** 宋体, 12 **; 当前所选字体下一个汉字对应的点阵为: 宽度x高度=128x16, 调整后为: 128x16TAB2:DB 000H,000H,000H,000H,000H,000H,000H,000H,000 H,000H,000H,000H,000H,000H,001H,080HDB 001H,080H,000H,000H,000H,000H,000H,000H,000H,000 H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000 H,000H,000H,001H,080H,003H,0C0HDB 003H,0C0H,001H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,000H,000H,001H,080 H,002H,040H,004H,020H,008H,010HDB 008H,010H,004H,020H,002H,040H,001H,080H,000H,000 H,000H,000H,000H,000H,000H,000HDB 000H,000H,001H,0C0H,006H,030H,008H,008H,008H,008 H,010H,004H,020H,002H,020H,002HDB 020H,002H,010H,004H,008H,008H,008H,008H,006H,030 H,001H,0C0H,000H,000H,000H,000HDB 003H,0C0H,00CH,030H,010H,008H,010H,008H,060H,006 H,040H,002H,080H,001H,080H,001HDB 080H,001H,080H,001H,040H,002H,060H,006H,010H,008 H,010H,008H,00CH,030H,003H,0C0HDB 000H,000H,038H,01CH,046H,062H,081H,081H,080H,001 H,040H,002H,040H,002H,020H,004HDB 020H,004H,040H,002H,040H,002H,080H,001H,081H,081 H,046H,062H,038H,01CH,000H,000HDB 0C0H,003H,0A0H,005H,058H,01EH,024H,024H,024H,024 H,01EH,078H,005H,0A0H,002H,040HDB 002H,040H,005H,0A0H,01AH,078H,024H,024H,024H,024 H,058H,01AH,0A0H,005H,0C0H,003HDB 000H,000H,0C0H,003H,0B0H,00DH,088H,011H,044H,022 H,025H,0A4H,012H,048H,00DH,0B0HDB 00DH,0B0H,012H,048H,025H,0A4H,044H,022H,088H,011 H,0B0H,00DH,0C0H,003H,000H,000H;--福-- ** 宋体, 12 **; 当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 16x16TAB3:DB 0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0A AH,055H,055H,0AAH,0AAH,055H,055H,0AAHDB 055H,0AAH,0AAH,055H,055H,0AAH,0AAH,055H,055H,0 AAH,0AAH,055H,055H,0AAH,0AAH,055HDB 0AAH,055H,055H,0AAH,0AAH,055H,055H,0AAH,0AAH,0 55H,054H,02AH,0A8H,015H,050H,00AHDB 050H,00AH,0A8H,015H,054H,02AH,0AAH,055H,055H,0A AH,0AAH,055H,055H,0AAH,0AAH,055HDB 0AAH,055H,054H,02AH,0A8H,015H,050H,00AH,0A0H,00 5H,040H,002H,080H,001H,000H,000HDB 000H,000H,080H,001H,040H,002H,0A0H,005H,050H,00A H,0A8H,015H,054H,02AH,0AAH,055HDB 0A0H,005H,040H,002H,091H,0F9H,000H,000H,074H,0F0 H,019H,008H,031H,008H,058H,0F0HDB 014H,000H,011H,0F8H,012H,044H,013H,0FCH,012H,044 H,091H,0F9H,040H,002H,0A0H,005HDB 020H,000H,013H,0FEH,010H,000H,0FDH,0FCH,005H,004 H,009H,004H,011H,0FCH,030H,000HDB 05BH,0FEH,096H,022H,012H,022H,013H,0FEH,012H,022 H,012H,022H,013H,0FEH,012H,002HDB 000H,004H,07FH,0C8H,000H,008H,03FH,0BFH,020H,0A0 H,020H,090H,03FH,088H,000H,00CHDB 07FH,0DAH,044H,069H,044H,048H,07FH,0C8H,044H,048 H,044H,048H,07FH,0C8H,040H,048HDB 010H,040H,010H,080H,091H,000H,073H,0FFH,014H,080 H,018H,040H,040H,0FFH,05EH,092HDB 052H,092H,052H,092H,052H,0FEH,052H,092H,052H,092 H,05EH,092H,040H,0FFH,000H,000HDB 012H,002H,013H,0FEH,012H,022H,012H,022H,013H,0FE H,012H,022H,096H,022H,05BH,0FEHDB 030H,000H,011H,0FCH,009H,004H,005H,004H,0FDH,0FC H,010H,000H,013H,0FEH,020H,000HTAB4:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0F8H,0FFH,0F8H,0FFH,0C0H,0FFH,0C0HDB 0FEH,000H,0FEH,000H,0F0H,000H,0F0H,007H,0B0H,002 H,0C8H,002H,048H,006H,030H,002H;STEP1DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H, 0FFH,0F8H,0FFH,0C0H,0FFH,0C0HDB 0FEH,000H,0FEH,000H,0F6H,000H,0F9H,007H,089H,002 H,086H,001H,000H,005H,000H,002H;STEP2DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H, 0FFH,0F8H,0FFH,0C0H,0FFH,0C0HDB 0FEH,0C0H,0FFH,020H,0F1H,020H,0F0H,0C7H,080H,001 H,080H,007H,000H,001H,000H,007H;STEP3DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H, 0FFH,0F8H,0FFH,0D8H,0FFH,0E4HDB 0FEH,024H,0FEH,018H,0F0H,000H,0F0H,001H,080H,001 H,080H,007H,000H,005H,000H,005H;STEP4DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FBH, 0FFH,0FCH,0FFH,0C4H,0FFH,0C3HDB 0FEH,000H,0FEH,000H,0F0H,000H,0F0H,007H,080H,001 H,080H,007H,000H,004H,000H,007H;STEP5DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 000H,000H,000H,000H,000H,000HDB 000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 000H,000H,0F4H,058H,084H,0D4H,085H,052H,0F5H,052 H,085H,052H,086H,054H,0F4H,058HDB 000H,000H,022H,05EH,022H,050H,022H,050H,023H,0DE H,022H,050H,022H,050H,0FAH,05EHEND。
/*16*16点阵屏的显示*/#include <reg51.h>#include <intrins.h>#define DA TAOUT P2 //指定P2口做为输出sbit DA TA=DA TAOUT^0; //列数据输出位sbit SCL=DA TAOUT^1;//列扫描时钟位sbit SCLT=DA TAOUT^2; //列数据锁存位sbit AB=DA TAOUT^4; //行数据输出位sbit SCK=DA TAOUT^5; //行扫描时钟位unsigned char lhj[32];//32字节RAM做为16*16点阵屏显示缓存void display();//做为点阵扫描函数,将显示缓存的数据输出到点阵屏void displayS(unsigned int timer);//指定时间扫描显示code unsigned char hua[32]={//华0x04,0x40,0x04,0x48,0x08,0x58,0x08,0x60,0x18,0x0C0,0x29,0x40,0x4A,0x44,0x08,0x44,0x09,0x3C,0x01,0x00,0x0FF,0x0FE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00};code unsigned char bei[32]={//北0x04,0x80,0x04,0x80,0x04,0x88,0x04,0x98,0x04,0x0A0,0x7C,0x0C0,0x04,0x80,0x04,0x80,0x04,0x80,0x04,0x80,0x04,0x80,0x04,0x80,0x1C,0x82,0x0E4,0x82,0x44,0x7E,0x00,0x00,};code unsigned char shui[32]={//水0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x08,0x01,0x18,0x7D,0x20,0x05,0x0C0,0x05,0x80,0x09,0x40,0x09,0x20,0x11,0x10,0x21,0x0E,0x41,0x04,0x81,0x00,0x05,0x00,0x02,0x00,};code unsigned char li[32]={//利0x01,0x04,0x07,0x84,0x7C,0x04,0x04,0x24,0x04,0x24,0x05,0x24,0x0FF,0x0A4,0x0C,0x24,0x0E,0x24,0x15,0x0A4,0x14,0x0A4,0x24,0x24,0x44,0x04,0x04,0x04,0x04,0x14,0x04,0x08,};code unsigned char dian[32]={//电0x42,0x10,0x42,0x10,0x7F,0x0F0,0x42,0x10,0x42,0x10,0x7F,0x0F0,0x42,0x10,0x02,0x00,0x02,0x04,0x02,0x04,0x01,0x0FC,0x00,0x00,};code unsigned char xue[32]={//学0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0x0FE,0x40,0x02,0x80,0x04,0x1F,0x0E0,0x00,0x40,0x01,0x84,0x0FF,0x0FE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,};code unsigned char yuan[32]={//院0x00,0x80,0x78,0x40,0x4F,0x0FE,0x54,0x02,0x58,0x14,0x63,0x0F8,0x50,0x00,0x48,0x08,0x4F,0x0FC,0x48,0x0A0,0x68,0x0A0,0x50,0x0A0, 0x41,0x22,0x41,0x22,0x42,0x1E,0x4C,0x00,};code unsigned char er[32]={//二0x00,0x00,0x00,0x00,0x00,0x10,0x3F,0x0F8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0FF,0x0FE,0x00,0x00,0x00,0x00,0x00,0x00,};code unsigned char ling[32]={//零0x1F,0x0F0,0x01,0x00,0x7F,0x0FE,0x41,0x02,0x9D,0x74,0x01,0x00,0x1D,0x70,0x02,0x80,0x0C,0x60,0x32,0x18,0x0C1,0x06,0x0F,0x0E0,0x00,0x40,0x02,0x80,0x01,0x00,0x00,0x80,};code unsigned char ba[32]={//八0x00,0x00,0x00,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x08,0x20,0x08,0x20,0x08,0x20,0x10,0x10,0x10,0x08,0x20,0x0E,0x40,0x04,0x00,0x00,};code unsigned char ji[32]={//级0x10,0x08,0x17,0x0FC,0x21,0x08,0x21,0x08,0x49,0x10,0x0F9,0x10,0x11,0x3C,0x21,0x84,0x41,0x88,0x0F9,0x48,0x02,0x50,0x02,0x20,0x1A,0x50,0x0E4,0x88,0x49,0x0E,0x02,0x04,};code unsigned char yi[32]={//一0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};code unsigned char ban[32]={//班0x01,0x00,0x09,0x04,0x0FD,0x7E,0x21,0x10,0x25,0x10,0x25,0x10,0x25,0x10,0x0F5,0x7C,0x25,0x10,0x29,0x10,0x21,0x10,0x22,0x10,0x3A,0x10,0x0E2,0x14,0x44,0x0FE,0x08,0x00,};code unsigned char hou[32]={//侯0x08,0x10,0x0B,0x0F8,0x08,0x10,0x10,0x10,0x17,0x0FC,0x32,0x00,0x52,0x08,0x93,0x0FC, 0x14,0x40,0x10,0x44,0x1F,0x0FE,0x10,0x40,0x10,0x0A0,0x10,0x90,0x11,0x0E,0x16,0x04,};code unsigned char yu[32]={//玉0x00,0x08,0x7F,0x0FC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x10,0x3F,0x0F8,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x30,0x01,0x10,0x01,0x04,0x0FF,0x0FE,0x00,0x00,};code unsigned char lon[32]={//龙0x02,0x00,0x02,0x40,0x02,0x20,0x02,0x04,0x0FF,0x0FE,0x02,0x80,0x02,0x88,0x04,0x88, 0x04,0x90,0x04,0x0A0,0x08,0x0C0,0x08,0x82, 0x11,0x82,0x16,0x82,0x20,0x7E,0x40,0x00,};code unsigned char LY[32]={//图案数据0x00,0x00,0x30,0x00,0x30,0x20,0x30,0x30,0x30,0x18,0x30,0x0C,0x30,0x06,0x3F,0x7F,0x3F,0x7F,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x20,0x00,0x00,0x00,0x00};code unsigned char kong[32]={//清零0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};void main(void) //主入口函数{unsigned char i=0,j=0;while(1){for(i=0;i<32;i++)lhj[i]=LY[i];//将图案数据复制到显示缓存displayS(2); //显示图案约2秒for(i=0;i<32;i++)lhj[i]=hua[i];//将"华"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=bei[i];//将"北"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=shui[i];//将"水"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=li[i];//将"利"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=shui[i];//将"水"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=dian[i];//将"电"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=xue[i];//将"学"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=yuan[i];//将"院"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=er[i];//将"二"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=ling[i];//将"零"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=kong[i];//将清零数据复制到显示缓存displayS(1); //显示约1秒for(i=0;i<32;i++)lhj[i]=ling[i];//将"零"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=ba[i];//将"八"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=ji[i];//将"级"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=yi[i];//将"一"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=kong[i];//将清零数据复制到显示缓存displayS(1); //显示约1秒for(i=0;i<32;i++)lhj[i]=yi[i];//将"一"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=kong[i];//将清零数据复制到显示缓存displayS(1); //显示约1秒for(i=0;i<32;i++)lhj[i]=yi[i];//将"一"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=ban[i];//将"班"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=hou[i];//将"侯"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=yu[i];//将"玉"字数据复制到显示缓存displayS(2); //显示约2秒for(i=0;i<32;i++)lhj[i]=lon[i];//将"龙"字数据复制到显示缓存displayS(2); //显示约2秒}}void displayS(unsigned int timer) //指定时间扫描显示{unsigned char i;while(timer--){ //当timer=1时,大约1秒时间i=130;while(i--)display();}}void display()//显示{unsigned char i,ia,j,tmp; //定义变量DA TAOUT=0XFF; //置位高电平做准备AB=0; //将行数据位清0,准备移位for(i=0;i<16;i++){ //循环输出16行数据SCK=0; //为行移位做准备SCLT=0; //为列锁存做准备for(ia=2;ia>0;){ //每行16个点,循环位移两个字节ia--; //循环两次tmp=~lhj[i*2+ia]; //读取点阵数据做输出,这里用到ia目的是先读取点阵数据的第二位字节,因一行16个点由两个字节组成,//电路中的移位寄存器最后一位对应最后一列,所以要先输出一行中的第二个字节数据for(j=0;j<8;j++){ //循环两次,每次移一个字节,SCL=0; //为列移位做准备DA TA=tmp&0x01; //将数据低位做输出,由电路图可知,移位寄存器的最后一位对应最后一列,因此先移最后一位tmp>>=1; //将数据缓冲右移一位,为下次输出做准备SCL=1; //将DA TA上的数据移入寄存器} //移入单字节结束} //移入两个字节结束DA TAOUT|=0X24; //此句可以用以下两句来理解,如果不将两句合为一句,将出现拖影现像//SCK=1; //SCK拉高,行数据移位,相应行拉低,三极管导通输出电量到相应行点阵管阳极(共阳)//SCLT=1; //SCLT拉高,将数据锁存输出到相应列的点阵发光管显示,显示一行后将保持到下一行显示开始AB=1; //行数据位只在第一行时为0,其它时候都为1,当将这个0移入寄存器后,从第一位开始一直移位最后一位,//移位的过程,AB就必需是1,这是因为不能同时有两个及两个以上0的出现,否则显示出乱}j=64;while(j--); //每一行的显示,保持两个字节的移位时间,因此,最后一行的显示,也要加入保持时间,补尝显示的亮度SCK=0; //SCK=1; //将最后一行数据移出}。
南华大学《单片机》设计报告16×16点阵显示屏的设计姓名:王佳杰学号:20114400218 专业班级:通信1102班指导老师:朱卫华所在学院:电气工程学院2014年6月15 日摘要本设计使用简单单片机AT98C52作为主控制模块,利用简单的外围电路来驱动16×16的点阵LED显示屏。
在本设计中主要用两个74HC595来驱动16×16点阵显示屏的列,用一个74HC154来驱动16×16点阵显示屏的行,可以最终实现字符的上下左右移动。
也就是说,硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。
从而可以实现一个室内用的16×16点阵LED图文显示屏,在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。
最后,利用烧录器可以很方便的实现单片机与PC机等外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样变化,另一方面,LED 点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成。
LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分C语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
目录摘要 (2)1 概述 (4)1.1LED及LED显示屏 (4)1.2功能要求 (4)1.3方案论证 (4)1.4LED点阵的选取 (5)1.5LED点阵引脚说明 (6)1.6LED点阵拼接方式 (6)2 系统总体方案及硬件设计 (7)2.1显示屏总体设计方案 (7)2.2列驱动电路 (7)2.2.174HC595引脚图 (7)2.2.274HC595管脚说明 (7)2.2.374HC595在电路中的连接 (7)2.3行驱动电路 (9)2.3.174HC154概述 (9)2.3.274HC154引脚图 (10)2.3.374HC154管脚说明 (10)2.3.474HC154在电路中的连接 (10)2.4点阵恒流驱动电路 (11)2.5单片机系统及外围电路 (11)3 软件设计 (12)3.1显示驱动程序 (12)3.2系统主程序 (13)4 PROTEUS软件仿真 (14)4.1P ROTEUS软件简介 (14)4.1 PROTEUS仿真过程 (15)4.3 PROTEUS仿真效果图 (15)5 课程设计体会 (16)参考文献 (17)附1 源程序代码 (18)附2 系统原理图 (27)附3 实物图 (28)1 概述1.1 LED及LED显示屏LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
辽东学院本科毕业论文(设计)题目成员姓名:专业:网络工程班级学号:信息技术学院辽东学院毕业设计(论文)题目独创性说明作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
作者签名:___________ 日期:__ __摘要本设计是基于51系列单片机的16*16点阵LED手写屏的设计与实现。
系统主要要包括单片机控制系统模块、点阵LED显示模块、手写笔模块和电源模块等几部分组成。
通过软件算法实现了LED点阵显示屏的手写功能的设计与实现。
本文给出了系统具体的硬件设计方案,软件流程图和C语言程序等几个方面。
是一种价格低廉的图文显示方案。
本设计主要以51系列单片机作为核心,采用串行传输、动态扫描技术,制作的一款拥有多功能的模块化16×16LED点阵的多功能显示屏。
关键词:51单片机;LED点阵;驱动电路;手写屏目录一、绪论 (1)(一)课题的研究意义 (1)(二)设计任务及要求 (1)(三)单片机的发展史 (2)(四)单片机的发展趋势 (3)二、系统的整体结构 (5)三、单片机介绍 (7)1、单片机引脚介绍 (11)2、复位电路设计 (11)2.时钟电路设计 (13)四、点阵电路介绍 (14)(一)LED点阵显示部分简介 (14)(二)LED驱动方式 (16)(三)手写笔电路设计 (18)五、软件设计 (19)(一)系统软件流程图 (19)(二)程序函数介绍 (20)1、延时函数 (20)2、行扫描函数 (20)3、手写笔中断函数 (20)(三)编程环境介绍 (22)六、仿真与调试 (24)(一)系统的整体实物图 (24)总结 (26)参考文献 (27)附录 A (28)(一)硬件电路原理图 (28)附录B (29)(二)系统程序源代码 (29)致谢 (41)一、绪论(一)课题的研究意义LED显示屏是随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体。
北京邮电大学AaronHwang 2012140619内容1: 液晶模块的驱动电路设计一:实验目的使用Protel 99SE 设计字符型液晶显示器的驱动电路板,基本芯片为74HC595和74HC164,根据要求设计8*8,16*16,32*32,64*64等各种LED 驱动模块(LCM )的原理图和PCB ,每个点阵管为单色8*8 LED 。
在这里具体设计16*16LED 驱动模块。
二:实验原理根据所需要求和所给器件设计原理图,再利用原理图做出达到要求的驱动电路印制电路板。
三:实验步骤简述(包括原理图设计和印刷电路板设计)1、 查询所用器件的管脚图及功能图。
2、 根据所要实现功能,并考虑到与51单片机的驱动连接关系,设计原理电路图,使用Protel 99SE 绘制。
其中8×8LED 的原理图库文件自己制作。
8×8LED .Lib 截图 利用164的移位以及595的移位寄存锁存功能扫描输出,设计驱动电路原理图如下:74HC595封装 74HC164封装8×8LED 16插针封装对元器件进行手动布局布局完成,设置布线规则后布线四:设计中遇到的问题及解决方法1、虽然查询了595和164的功能图,但是功能表中的内容不是很直观,于是利用QuartusII对595和164进行了波形仿真,更加清楚的了解了他们的功能。
2、制作PCB原理图时,对于芯片原件进行实际测量之后自己制作封装,例如8×8LED没有现成封装,595和164默认插针式封装,而实际为贴片式封装,并且PCB Footprint.lib 中的14、16管脚贴片封装ILEAD14、ILEAD14与164和595的实际尺寸不符,因此要测量实际芯片尺寸后自己制作封装。
3、一开始在生成网络表后导入时经常会有“Node not found”的错误,对原理图文件的封装以及管脚的定义上进行仔细的检查修改后便可消除这些错误。
4、PCB板的手动布局时,需要利用创建向导创建双层板,并且将8×8LED封装的层设置为“BottomLayer”,才可以实现双层器件布局。
内容2:了解液晶制作工艺流程简述液晶制作的工艺流程LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。
当前LCD液晶显示器正处于发展的鼎盛时代,技术发展非常迅速,已由最初的TN-LCD(扭曲向列相),发展到STN -LCD(超扭曲向列相),再到当前的TFT-LCD(薄膜晶体管)。
LCD现已发展成为技术密集、资金密集型的高新技术产业。
液晶显示器主要由ITO导电玻璃、液晶、偏光片、封接材料(边框胶)、导电胶、取向层、衬垫料等组成。
液晶显示器制造工艺流程就是这些材料的加工和组合过程。
液晶显示器的制造是在洁净室环境下进行的,在工艺上可以大体分成清洗与干燥、光刻、取向排列、制盒、切割、灌注液晶、目测、电测、贴片、上引线、包装等工序。
1、清洗与干燥清洗是指清除吸附在玻璃表面的各种有害杂质或油污的工艺。
清洗方法是利用各种化学试剂和有机溶剂与吸附在玻璃表面上的杂质及油污发生化学反应和溶解作用,或伴以超生、加热、抽真空等物理措施,使杂质从玻璃表面脱附(或称解吸),然后用大量的高纯热、冷去离子水清洗,从而获得洁净的玻璃表面。
经过清洗的玻璃需要经过干燥处理,主要方法有烘干法、甩干法、有机溶剂脱水法和风刀吹干法等。
该工艺主要用到的设备有超声波清洗机、等离子清洗机及干燥炉的干燥设备。
2、光刻光刻的目的是按照产品设计要求,在导电玻璃上涂敷感光胶,并进行曝光,然后利用光刻胶的保护作用,对ITO导电层进行选择性化学腐蚀,从而在ITO导电玻璃上得到与掩模版完全对应的图形。
光刻工艺流程为:涂光刻胶——前烘——显影——坚膜——刻蚀——剥离去膜——水洗光刻工艺主要用到的设备有涂布机曝光机等3、取向排列此步工艺为在蚀刻完成的ITO 玻璃表面涂覆取向层,并用特定的方法对限向层进行处理,以使液晶分子能够在取向层表面沿特定的方向取向(排列),此步骤是液晶显示器生产的特有技术。
取向排列工艺主要用到的设备有摩擦机等4、丝印制盒此步工艺是把两片导电玻璃对叠,利用封接材料贴合起来并固化,制成间隙为特定厚度的玻璃盒。
制盒技术是制造液晶显示器的最为关键的技术之一。
(必须严格控制液晶盒的间距)丝印制盒工艺流程包括:丝印边框及银点、喷衬垫料、对位压合、固化。
由于现在对L CD显示条件要求越来越高,在贴合工序中由原来的手动贴合向采用精度较高的全自动贴合设备转换。
丝印制盒工艺主要用到的设备有丝网印刷机、喷粉机、贴合机、热压机等5、切割在LCD生产制作中为提高制作效率、降低成本、形成批量生产,往往在较大玻璃上制作多个液晶显示器,再分割成小单元进行液晶灌注,切割工艺的目的就是把整盒的玻璃分裂独立液晶显示器的单体。
切割工艺主要用到的设备有切割机和裂片机等。
6、液晶灌注及封口液晶灌注的工艺原理是将空盒放置在抽真空的液晶灌注密闭室内,盒中的气体由封口处抽出,然后使封口处接触液晶,并向真空室内充气,液晶在外界气压作用下,被充入空盒内。
封口工艺原理是采用密封胶粘接封口,通过挤压回缩等方法,使封口胶恰当地收缩入封口内,再通过紫外光照射,使封口胶固化,形成牢固的封口。
液晶灌注及封口工艺要用到的设备有液晶灌注机和整平封口机等。
7、光台检测及电测光台检测是根据液晶的旋光特性,在两片相互垂直(或平行)的偏光片之间形成的亮场(或暗场),通过检测人员的肉眼观察以检查产品的质量,通过目测从中挑出废品的过程。
电测工艺是对液晶显示器加上电压信号,来观察实际显示状态是否合格正常的过程。
一般电测机采用交流驱动的方式进行测试。
光台检测及电测工艺主要用到的设备有光台和电测机等。
8、贴片贴片工艺就是把液晶显示器粘贴偏光片的工序,该工序可分为切割偏光片和粘贴偏光片。
在粘贴偏光片过程中,由于玻璃不干净等原因造成偏光片无法牢固贴附于玻璃上,这就需要采用偏光片除泡机消除气泡等。
贴片工艺主要用到的设备有切片机、贴片机、偏光片除泡机等。
9、LCD金属引线的连接和加工LCD的连接就是将LCD上的电极引脚与驱动电路的电极相连,使驱动电压信号能加到L CD上,又称为上引脚。
LCD金属引线的连接和加工工艺主要用到的设备有插PIN涂胶机。
10、盒外丝印装饰图形该工艺只在客户有特殊要求时才进行加工,是用丝网印刷的的方法在LCD屏的指定位置上漏印出起装饰作用的图形。
11、包装为便于储存和运输,成品放置在具有一定强度和缓冲性的包装盒内。
内容3:液晶特性参数测试一:实验目的1、在掌握液晶光开关的基本工作原理的基础上,测量液晶光开关的电光特性曲线,并由电光特性曲线得到液晶的阈值电压和关断电压。
2、测量驱动电压周期变化时,液晶光开关的时间响应曲线,并由时间响应曲线得到液晶的上升时间和下降时间。
3、测量由液晶光开关矩阵所构成的液晶显示器的视角特性以及在不同视角下的对比度,了解液晶光开关的工作条件。
4、了解液晶光开关构成图像矩阵的方法,学习和掌握这种矩阵所组成的液晶显示器构成文字和图形的显示模式,从而了解一般液晶显示器件的工作原理。
二:实验原理1、液晶光开关的工作原理液晶的种类很多,仅以常用的TN(扭曲向列)型液晶为例,说明其工作原理。
TN型光开关的结构如图1所示。
在两块玻璃板之间夹有正性向列相液晶,液晶分子的形状如同火柴一样,为棍状。
棍的长度在十几埃(1埃= 10-10米),直径为4~6埃,液晶层厚度一般为5-8微米。
玻璃板的内表面涂有透明电极,电极的表面预先作了定向处理(可用软绒布朝一个方向摩擦,也可在电极表面涂取向剂),这样,液晶分子在透明电极表面就会躺倒在摩擦所形成的微沟槽里;电极表面的液晶分子按一定方向排列,且上下电极上的定向方向相互垂直。
上下电极之间的那些液晶分子因范德瓦尔斯力的作用,趋向于平行排列。
6然而由于上下电极上液晶的定向方向相互垂直,所以从俯视方向看,液晶分子的排列从上电极的沿-45度方向排列逐步地、均匀地扭曲到下电极的沿+45度方向排列,整个扭曲了90度。
如图1左图所示。
理论和实验都证明,上述均匀扭曲排列起来的结构具有光波导的性质,即偏振光从上电极表面透过扭曲排列起来的液晶传播到下电极表面时,偏振方向会旋转90度。
取两张偏振片贴在玻璃的两面,P1的透光轴与上电极的定向方向相同,P2的透光轴与下电极的定向方向相同,于是P1和P2的透光轴相互正交。
在未加驱动电压的情况下,来自光源的自然光经过偏振片P1后只剩下平行于透光轴的线偏振光,该线偏振光到达输出面时,其偏振面旋转了90°。
这时光的偏振面与P2的透光轴平行,因而有光通过。
在施加足够电压情况下(一般为1~2伏),在静电场的作用下,除了基片附近的液晶分子被基片“锚定”以外,其他液晶分子趋于平行于电场方向排列。
于是原来的扭曲结构被破坏,成了均匀结构,如图1右图所示。
从P1透射出来的偏振光的偏振方向在液晶中传播时不再旋转,保持原来的偏振方向到达下电极。
这时光的偏振方向与P2正交,因而光被关断。
由于上述光开关在没有电场的情况下让光透过,加上电场的时候光被关断,因此叫做常通型光开关,又叫做常白模式。
若P1和P2的透光轴相互平行,则构成常黑模式。
液晶可分为热致液晶与溶致液晶。
热致液晶在一定的温度范围内呈现液晶的光学各向异性,溶致液晶是溶质溶于溶剂中形成的液晶。
目前用于显示器件的都是热致液晶,它的特性随温度的改变而有一定变化。
2、液晶光开关的电光特性图2为光线垂直液晶面入射时本实验所用液晶相对透射率(以不加电场时的透射率为100%)与外加电压的关系。
由图2可见,对于常白模式的液晶,其透射率随外加电压的升高而逐渐降低,在一定电压下达到最低点,此后略有变化。
可以根据此电光特性曲线图得出液晶的阈值电压和关断电压。
阈值电压:透过率为90%时的驱动电压; 关断电压:透过率为10%时的驱动电压。
液晶的电光特性曲线越陡,即阈值电压与关断电压的差值越小,由液晶开关单元构成的显示器件允许入射的自然光 偏振片P1偏振片P2出射光扭曲排列的液晶分子具有光波导效应光波导已被电场拉伸图1. 液晶光开关的工作原理80 60 40 20 关断电压 电压(V)1 2 3 4 5 6图2 液晶光开关的电光特性曲线的驱动路数就越多。
TN型液晶最多允许16路驱动,故常用于数码显示。
在电脑,电视等需要高分辨率的显示器件中,常采用STN(超扭曲向列)型液晶,以改善电光特性曲线的陡度,增加驱动路数。
3、液晶光开关的时间响应特性加上(或去掉)驱动电压能使液晶的开关状态发生改变,是因为液晶的分子排序发生了改变,这种重新排序需要一定时间,反映在时间响应曲线上,用上升时间τr和下降时间τd 描述。