点阵LCD的驱动显控原理 V10____基础版
- 格式:pdf
- 大小:1.18 MB
- 文档页数:84
点阵屏工作原理
点阵屏是一种由许多小点(像素)组成的显示设备,它可以显示出文字、图像和动画。
工作原理:点阵屏的工作原理主要包括控制芯片、驱动电路、像素点阵和背光源。
1. 控制芯片:点阵屏上通常会集成一个控制芯片,如常见的驱动芯片ST7920。
控制芯片负责接收来自外部的数据和命令,并将其转化为点亮或熄灭像素的指令,同时控制驱动电路的工作。
2. 驱动电路:驱动电路由控制芯片控制,它通过发送适当的电压信号来控制每个像素点的亮度。
驱动电路通常根据不同的工作原理来分为不同类型,如有源矩阵驱动和被动矩阵驱动。
3. 像素点阵:像素点阵是由许多小点组成的矩阵,每个小点就是一个像素。
它们可以通过在不同的位置点亮或熄灭来显示出不同的图像和文字。
通常,每个像素点可以通过一个或多个晶体管或电容来控制其亮度和颜色。
4. 背光源:为了获得良好的显示效果,点阵屏通常需要背光源来提供背景光。
背光源可以采用不同的技术,如LED背光或CCFL冷阴极灯管。
背光源的亮度可以由驱动电路控制,以适应不同的环境光照条件。
综上所述,点阵屏的工作原理是通过控制芯片接收和解析来自
外部的数据和命令,驱动电路控制像素点阵的亮度和颜色,并通过背光源提供背景光来显示出文字、图像和动画。
LCD 原理及驱动方法简介1、LCD 显示器原理LCD 是一种被动式显示器,其本身不发光,只是调节光的亮度。
LCD 利用液晶的扭曲-向列效应制成,这是一种电场效应,夹在两片导电玻璃电极间的液晶经过一定的处理,它内部的分子呈90°的扭曲,当线性偏振光透过时其偏振面便会旋转90。
当在玻璃电极上加上电压后,在电场作用上,液晶的扭曲结构消失,其旋光作用也消失,偏振光便可直接通过。
当去掉电场后,液晶分子又恢复其扭曲结构。
把这样的液晶置于两偏振片之间,改变偏振相对位置就可得到字的显示形式。
LCD 七段显示器有a~g 七段外,还有一个公共极COM 。
可用静态方式驱动,也可用动态方式驱动。
前者加直流信号,后者加交流信号。
今天所讲的LCD 驱动也是用动态方式驱动的。
当加在a~g 七段中的某一电极的方波与公共电极COM 上的方波信号同相时,相对电压为0,则该段不显示;当加在某段电极上的方波与公共电极COM 的非选通点上加只有选通点电压的少交叉效应的影响,这就是上面仅仅是COM口的驱动波形,那么SEG口的驱动波形又是怎样的呢?对应上面的6个时段,在COM口为高电平时,如果该段需要显示,则对应的SEG口输出低电平;反之,则输出高电平。
根据同LED的有关段显示的规则,得出如下表所示的段码表。
段码表:L C D码表(4位半-18.8.8.8)com1 seg1com2seg2c o m3s e g3com1seg4com2seg5c o m3s e g6digit f a b e g c dp d s f a b e g c d dp s 0000010101111101100 1110110111001001000 2100001101011110100 3100100101011011100 40101001111010110005001100101110011100 6001000101110111100 7100110111011001000 8000000101111111100 9000100101111011100a000000111111111000b011000101100111100c001011101110110100d110000101001111100e111111111000000000不显示f111101111000010000显示“-”3、程式流程图如下图所示:4、程式如下1;title:通用I/O口驱动LCD范例程式2;MCU:EM78P447BS,clock:2,crystal:4MHz3;LCD规格:1/2Bias,1/3duty4;writer:RenBin5;date:2005-5-2311:276;*****************************************************************7;程式说明:本程式是用通用I/O口驱动LCD的程式,用一个I/O口作COM口及SEG口8;9;-------------------10;port611;port64com112;port65com213;port66com314;port515;port504b/4c16;port514a/4g/4d17;port524f/4e/dp318;port543b/3c/s219;port553a/3g/3d20;port563f/3e/dp221;port722;port702b/2c/s123;port712a/2g/2d24;port722f/2e/dp125;port741b/1c/1h26;port751a/1g/1d27;port761f/1e28;---------------------------------29include<em78p447.inc>1C;*****************************************************;2C;Tilte:EM78447include file;3C;Description:The Definition of EM78x447Registers;4C;Company:ELAN MICROELECTRONICS(SZ)LTD.;5C;Author:YouFang.Bao;6C;Date:5/14/2004;7C;Version:v1.0;8C;******************************************************;9C;10C;======================================================;11C;Operational Registers Define;12C;======================================================;13C;14C;======================================================;15C;Registers R0~R3F;16C;======================================================;17C;18C;R0/IAR:Indirect Address Register19C;200000C R0==0x00210000C IAR==0x0022C;23C;R1/TCC:Time Clock/Counter24C;250001C R1==0x01260001C TCC==0x01270001C RTCC==0x0128C;29C;R2/PC:Program Counter&Stack30C;310002C R2==0x02320002C PC==0x0233C;34C;R3/PSR:Process Status Register35C;360003C R3==0x03370003C PSR==0x03380003C STATUS==0x0339C;{400007C GP==0x07;General read/write bit410006C PS1==0x06;420005C PS0==0x05;(PS0~PS1):Page Select Bits43C;----------------------------------------;44C;PS1PS0Program memory page [Address];45C;00Page0[000-3FF];46C;01Page1[400-7FF];47C;10Page2[800-BFF];48C;11Page3[C00-FFF];49C;----------------------------------------;500004C T==0x04;Time-out bit510003C P==0x03;Power down bit520002C Z==0x02;Zero flag530001C DC==0x01;Auxiliary carry flag540000C C==0x00;Carry flag550000C cy==056C;57C;R4/RSR:RAM Select Register58C;590004C R4==0x04600004C RSR==0x0461C;{620007C RS1==0x07;RAM-Bank Select Bit1630006C RS0==0x06;RAM-Bank Select Bit064C;65C;R5~R7:I/O Port Address66C;670005C PORT5==0x05680006C PORT6==0x06690007C PORT7==0x0770C;710005C P5==0x05720006C P6==0x06730007C P7==0x0774C;750005C R5==0x05760006C R6==0x06770007C R7==0x0778C;79C;R3F/ISR:Interrupt Status Register80C;81003F C R3F==0x3F82003F C ISR==0x3F83C;{840003C EXIF==0x03;External interrupt flag850000C TCIF==0x00;TCC overflow interrupt flag86C870008C mEXIF==0x08;External interrupt flag880001C mTCIF==0x01;TCC overflow interupt flag89C;}90C;91C;92C;======================================================; 93C;Special Purpose Registers Define;94C;======================================================;95C;96C;IOC5~IOC7:I/O Port Control Register97C;980005C IOC5==0x05;Bit[n]=1,Set P5[n]as input pin,n=0~7 99C;Bit[n]=0,Set P5[n]as output pin, n=0~7100C;1010006C IOC6==0x06;Bit[n]=1,Set P6[n]as input pin, n=0~7102C;Bit[n]=0,Set P6[n]as output pin, n=0~7103C;1040007C IOC7==0x07;Bit[n]=1,Set P7[n]as input pin, n=0~7105C;Bit[n]=0,Set P7[n]as output pin, n=0~7106C;107C;108C;IOCB/WCR:Wake-up Control Register for PORT6109C;110000B C IOCB==0x0B111000B C WCR==0x0B112C;{1130007C WUE7==0x07;Control bit is used to enable the wake-up function of P67pin1140006C WUE6==0x06;Control bit is used to enable the wake-up function of P66pin1150005C WUE5==0x05;Control bit is used to enable the wake-up function of P65pin1160004C WUE4==0x04;Control bit is used to enable the wake-up function of P64pin1170003C WUE3==0x03;Control bit is used to enable the wake-up function of P63pin1180002C WUE2==0x02;Control bit is used to enable the wake-up function of P62pin1190001C WUE1==0x01;Control bit is used to enable the wake-up function of P61pin1200000C WUE0==0x00;Control bit is used to enable the wake-up function of P60pin121C;0:Enable internal wake-up122C;1:Disable internal wake-up123C;124C;IOCE/WDTCON:WDT Control Register125C;126000E C IOCE==0x0E127000E C WDTCON==0x0E128C;129C;IOCF/IMR:Interrupt Mask Register130C;131000F C IOCF==0x0F132000F C IMR==0x0F133C;{1340008C mEXIE==0x08;EXIF Interrupt enable bit135C;0:Disable EXIF interrupt136C;1:Enable EXIF interrupt 1370001C mTCIE==0x01;TCIF Interrupt enable bit138C;0:Disable TCC interrupt139C;1:Enable TCC interrupt140C;141C;======================================================; 142C;Others Define;143C;======================================================; 144C;145C;Bit set use BC or BS146C;1470000C B0==0x001480001C B1==0x011490002C B2==0x021500003C B3==0x031510004C B4==0x041520005C B5==0x051530006C B6==0x061540007C B7==0x07155C;======================================================; 156C;Macros Define;157C;======================================================; 158C;----------------------------159C;160C Page0MACRO161C;162C BC PSR,PS0163C BC PSR,PS1164C;165C ENDM166C;167C;----------------------------168C;169C Page1MACRO170C;171C BS PSR,PS0 172C BC PSR,PS1 173C;174C ENDM175C;176C;----------------------------177C;178C Page2MACRO179C;180C BC PSR,PS0 181C BS PSR,PS1 182C;183C ENDM184C;185C;----------------------------186C;187C Page3MACRO188C;189C BS PSR,PS0 190C BS PSR,PS1 191C;192C ENDM193C;194C;----------------------------195C;196C Bank0MACRO197C;198C BC RSR,RS0 199C BC RSR,RS1 200C;201C ENDM202C;203C;----------------------------204C;205C Bank1MACRO206C;207C BS RSR,RS0208C BC RSR,RS1209C;210C ENDM211C;212C;----------------------------213C;214C Bank2MACRO215C;216C BC RSR,RS0217C BS RSR,RS1218C;219C ENDM220C;221C;----------------------------222C;223C Bank3MACRO224C;225C BS RSR,RS0226C BS RSR,RS1227C;228C ENDM229C;----------------------------230C;231C;************************************************; 232C;Clear EM78P447General Register Macro Program; 233C;; 234C;************************************************; 235C;236C m447clrrambank macro237C;238C mov a,@0x10239C mov rsr,a240C$_Clrloop:241C clr r0242C inc rsr243C jbc rsr,6244C bs rsr,5245C jbc rsr,7246C bs rsr,5247C jbs status,z248C jmp$_clrloop249C endm30include"e:\lcd\lcddriverram.inc"1C;title:lcddriver register define2C;mcu:em78p447sb3C;---------------------------------------4C;50010C reg_acc1==0x1060011C reg_acc2==0x1170012C reg_acc3==0x1280017C temp_value==0x17;温度寄存器90019C humi_value==0x19;湿度寄存器10001B C sysstatus==0x1b;标志寄存器11C;--------------------------------------12C;bank1130020C mstimer==0x20140021C stimerlow==0x21150022C stimerhigh==0x22160023C cont==0x2317C;180024C commondata==0x24;common数据寄存器190025C segdata==0x25;segment数据寄存器20C;210026C temp1==0x26;中间变量寄存器220027C temp2==0x27;中间变量寄存器230028C temp3==0x28;中间变量寄存器240029C temp4==0x2925C;26002A C tempL==0x2a;温度bcd码低位寄存器27002B C tempH==0x2b;高位28002C C humiL==0x2c;湿度bcd低位码寄存器29002D C humih==0x2d;高位30C;31002E C timer05s==0x2e;0.5s寄存器32C;temp_value==0x2f;分钟寄存器33C;humi_value==0x30;小时寄存器34C;---------------------------------------------35C;register bit define36C;sysstatus register define370003C timer500ms==3;500ms标志380004C LCDdsp==4;LCD显示标志390005C datachange==5;数据更新标志400006C timer==6;定时标志410007C am==7;上下午标志42C;常数定义4300B2C tcc_5ms==178;tcc5ms timer4400C8C kmstimer==200;1000ms timer45000C C segment==12;define LCD segment data 460002C duty==2470003C common==3;2;define LCD common data 480002C bias==231;32org0xfff3300FFF0000nop34org035000001408jmp start36org137000010000nop3800002083F bc r3f,tcif39000030B1B bs sysstatus,lcddsp40000040B9B bs sysstatus,timer41000051886mov a,@(256-122)42000060041mov tcc,a43000070013reti4400008start:45M m447clrrambank;清寄存器0000818101MOV A,@(16)0000900441MOV RSR,A0000A1??0001$_CLRLOOP:0000A00C01CLR R0,0000B05441INC RSR,0000C0D841JBC RSR,60000D0B441BS RSR,50000E0DC41JBC RSR,70000F0B441BS RSR,5000100E831JBS STATUS,Z00011140A1JMP??0001$_CLRLOOP,46000121800mov a,@0x047000130045mov port5,a48000141800mov a,@0x049000150005iow ioc550;51000161800mov a,@0x052000170046mov p6,a53000181800mov a,@0x054000190006iow ioc655;560001A1800mov a,@0x0570001B0047mov p7,a580001C1800mov a,@0x0590001D0007iow ioc760;610001E1804mov a,@0b00000100;TCC=1:32,4.096ms 620001F0002contw63000201811mov a,@0x116400021000E iow ioce65000221801mov a,@0x016600023000F iow iocf67000241886mov a,@(256-122)68000250041mov tcc,a69;7000026183F mov a,@63;12;59;11;88;00;88;2371000270057mov temp_value,a7200028184A mov a,@74;34;11;11;88;00;88;30 73000290059mov humi_value,a;74;750002A1806mov a,@(common*2)760002B0064mov commondata,a770002C0010eni78;****************************************7980;****************************************810002D main:820002D0004wdtc830002E1096call lcddisplay840002F142D jmp main85;**************************************** 8600030LCD1_table:;段码表87000300020TBL88000311C00RETL@0B00000000;089000321C06RETL@0B00000110;190000331C04RETL@0B00000100;2 91000341C04RETL@0B00000100;3 92000351C02RETL@0B00000010;4 93000361C01RETL@0B00000001;5 94000371C01RETL@0B00000001;6 95000381C04RETL@0B00000100;7 96000391C00RETL@0B00000000;8 970003A1C00RETL@0B00000000;9 98;990003B1C00RETL@0B00000000;A 1000003C1C03RETL@0B00000011;b 1010003D1C01RETL@0B00000001;c 1020003E1C06RETL@0B00000110;d 1030003F1C01RETL@0B00000001;E 104000401C0F RETL@0B00001111;F105106;--------------------------------------------------------------10700041LCD2_table:108000410020TBL109000421C02RETL@0B00000010;0 110000431C06RETL@0B00000110;1 111000441C01RETL@0B00000001;2 112000451C04RETL@0B00000100;3 113000461C04RETL@0B00000100;4 114000471C04RETL@0B00000100;5 115000481C00RETL@0B00000000;6 116000491C06RETL@0B00000110;7 1170004A1C00RETL@0B00000000;8 1180004B1C04RETL@0B00000100;9 119;1200004C1C00RETL@0B00000000;A 1210004D1C00RETL@0B00000000;b 1220004E1C03RETL@0B00000011;c 1230004F1C00RETL@0B00000000;d 124000501C01RETL@0B00000001;E 125000511C05RETL@0B00000101;F 126;--------------------------------------------------------------12700052LCD3_table:128000520020TBL129000531C05RETL@0B00000101;0 130000541C07RETL@0B00000111;1131000551C05RETL@0B00000101;2 132000561C05RETL@0B00000101;3 133000571C07RETL@0B00000111;4 134000581C05RETL@0B00000101;5 135000591C05RETL@0B00000101;6 1360005A1C07RETL@0B00000111;7 1370005B1C05RETL@0B00000101;8 1380005C1C05RETL@0B00000101;9 139;1400005D1C07RETL@0B00000111;A 1410005E1C05RETL@0B00000101;b 1420005F1C05RETL@0B00000101;c 143000601C05RETL@0B00000101;d 144000611C05RETL@0B00000101;E 145000621C07RETL@0B00000111;F 146;--------------------------------------------------------------14700063LCD4_table:148000630020TBL149000641C07RETL@0B00000111;0 150000651C01RETL@0B00000001;1 151000661C03RETL@0B00000011;2 152000671C03RETL@0B00000011;3 153000681C05RETL@0B00000101;4 154000691C06RETL@0B00000110;5 1550006A1C06RETL@0B00000110;6 1560006B1C03RETL@0B00000011;7 1570006C1C07RETL@0B00000111;8 1580006D1C07RETL@0B00000111;9 159;1600006E1C07RETL@0B00000111;A 1610006F1C04RETL@0B00000100;b 162000701C06RETL@0B00000110;c 163000711C01RETL@0B00000001;d 164000721C06RETL@0B00000110;E 165000731C00RETL@0B00000000;F 166;------------------------------------16700074LCD5_table:168000740020TBL169000751C05RETL@0B00000101;0 170000761C01RETL@0B00000001;1 171000771C06RETL@0B00000110;2172000781C03RETL@0B00000011;3 173000791C03RETL@0B00000011;4 1740007A1C03RETL@0B00000011;5 1750007B1C07RETL@0B00000111;6 1760007C1C01RETL@0B00000001;7 1770007D1C07RETL@0B00000111;8 1780007E1C03RETL@0B00000011;9179;1800007F1C07RETL@0B00000111;A 181000801C07RETL@0B00000111;b 182000811C04RETL@0B00000100;c 183000821C07RETL@0B00000111;d 184000831C06RETL@0B00000110;E 185000841C06RETL@0B00000110;F186;---------------------------------------------18700085LCD6_table:188000850020TBL189000861C02RETL@0B00000010;0 190000871C00RETL@0B00000000;1 191000881C02RETL@0B00000010;2 192000891C02RETL@0B00000010;3 1930008A1C00RETL@0B00000000;4 1940008B1C02RETL@0B00000010;5 1950008C1C02RETL@0B00000010;6 1960008D1C00RETL@0B00000000;7 1970008E1C02RETL@0B00000010;8 1980008F1C02RETL@0B00000010;9199;200000901C00RETL@0B00000000;A 201000911C02RETL@0B00000010;b 202000921C02RETL@0B00000010;c 203000931C02RETL@0B00000010;d 204000941C02RETL@0B00000010;E 205000951C00RETL@0B00000000;F206;******************************************* 20700096Lcddisplay:208000960F1B jbs sysstatus,lcddsp2090009714B4jmp lcddisplayret21000098091B bc sysstatus,lcddsp211;212000990417mov a,temp_value;2130009A0050mov reg_acc1,a2140009B117B call sub_bintobcd2150009C0412mov a,reg_acc32160009D006B mov temph,a2170009E0411mov a,reg_acc22180009F006A mov tempL,a219;220000A00419mov a,humi_value221000A10050mov reg_acc1,a222000A2117B call sub_bintobcd223000A30412mov a,reg_acc3224000A4006D mov humih,a225000A50411mov a,reg_acc2226000A6006C mov humiL,a227;228000A705E4djz commondata229000A814AB JMP lcddisplay1;$+3 230000A91806MOV a,@(common*2) 231000AA0064MOV commondata,a 232000AB lcddisplay1:233000AB0424MOV a,commondata 234000AC0020TBL235000AD0000NOP236000AE14B5jmp Lcd1display237000AF14D6jmp Lcd2display238000B014F7jmp Lcd3display239000B11518jmp Lcd4display240000B21539jmp lcd5display241000B3155A jmp lcd6display242000B4lcddisplayret:243000B40012ret244;-----------------------------------------------245;显示LCD1246000B5LCD1display:247000B5042A mov a,tempL;温度个位248000B61030call lcd1_table249000B70066mov temp1,a250;251000B8042B mov a,tempH;温度十位252000B91030call lcd1_table253000BA0067mov temp2,a254000BB0727swapa temp2255000BC0226or a,temp1256000BD0066mov temp1,a257000BE0766swap temp1258;259000BF042C mov a,humiL;湿度个位,260000C01030call lcd1_table261000C10068mov temp3,a262;263000C2042D mov a,humiH;湿度十位264000C31030call lcd1_table265000C40069mov temp4,a266000C50729swapa temp4267000C60228or a,temp3268000C70068mov temp3,a269000C80768swap temp3270;271000C90428mov a,temp3272000CA0047mov port7,a273000CB0426mov a,temp1274000CC0045mov port5,a275;276000CD0016ior ioc6277000CE1A0F and a,@0x0f278000CF1960or a,@0b01100000279000D00006iow ioc6;com1:2:3:2.5v 280000D10406mov a,port6281000D21A0F and a,@0x0f282000D31910or a,@0b00010000283000D40046mov port6,a284000D50012ret285;--------------------------------------------286000D6lcd2display:287000D6042A mov a,tempL;温度个位288000D71041call LCD2_table289000D80066mov temp1,a290;291000D9042B mov a,temph;温度十位292000DA1041call LCD2_table293000DB0067mov temp2,a294000DC0727swapa temp2295000DD0226or a,temp1296000DE0066mov temp1,a297000DF0766swap temp1298;299000E0042C mov a,humiL;湿度个位,300000E11041call LCD2_table301000E20068mov temp3,a302;303000E3042D mov a,humih;湿度十位304000E41041call LCD2_table305000E50069mov temp4,a306000E60729swapa temp4307000E70228or a,temp3308000E80068mov temp3,a309000E90768swap temp3310;311000EA0428mov a,temp3312000EB0047mov port7,a313000EC0426mov a,temp1314000ED0045mov port5,a315;316000EE0016ior ioc6317000EF1A0F and a,@0x0f318000F01950or a,@0b01010000319000F10006iow ioc6;com1:2:3:2.5v 320000F20406mov a,port6321000F31A0F and a,@0x0f322000F41920or a,@0b00100000323000F50046mov port6,a324000F60012ret325;-------326000F7lcd3display:327000F7042A mov a,tempL;温度个位328000F81052call LCD3_table329000F90066mov temp1,a330;331000FA042B mov a,temph;温度十位332000FB1052call LCD3_table333000FC0067mov temp2,a334000FD0727swapa temp2335000FE0226or a,temp1336000FF0066mov temp1,a337001000766swap temp1338;33900101042C mov a,humiL;湿度个位,340001021052call LCD3_table341001030068mov temp3,a342;34300104042D mov a,humih;湿度十位344001051052call LCD3_table345001060069mov temp4,a346001070729swapa temp4347001080228or a,temp3348001090068mov temp3,a3490010A0768swap temp3350;3510010B0428mov a,temp33520010C0047mov port7,a3530010D0426mov a,temp13540010E0045mov port5,a355;3560010F0016ior ioc6357001101A0F and a,@0x0f358001111930or a,@0b00110000359001120006iow ioc6;com1:2:3:5v 360001130406mov a,port6361001141A0F and a,@0x0f362001151940or a,@0b01000000363001160046mov port6,a364001170012ret365;------36600118lcd4display:36700118042A mov a,tempL;温度个位368001191063call lcd4_table3690011A0066mov temp1,a370;3710011B042B mov a,temph;温度十位3720011C1063call lcd4_table3730011D0067mov temp2,a3740011E0727swapa temp23750011F0226or a,temp1376001200066mov temp1,a377001210766swap temp1378;37900122042C mov a,humiL;湿度个位,380001231063call lcd4_table381001240068mov temp3,a382;38300125042D mov a,humih;湿度十位384001261063call lcd4_table385001270069mov temp4,a386001280729swapa temp4387001290228or a,temp33880012A0068mov temp3,a3890012B0768swap temp3390;3910012C0428mov a,temp33920012D0047mov port7,a3930012E0426mov a,temp13940012F0045mov port5,a395;396001300016ior ioc6397001311A0F and a,@0x0f398001321960or a,@0b01100000399001330006iow ioc6;com1:2:2.5v,com:2.5V 400001340406mov a,port6401001351A0F and a,@0x0f402001361900or a,@0b00000000403001370046mov port6,a404001380012ret405;--------------40600139lcd5display:40700139042A mov a,tempL;温度个位4080013A1074call lcd5_table4090013B0066mov temp1,a410;4110013C042B mov a,temph;温度十位4120013D1074call lcd5_table4130013E0067mov temp2,a4140013F0727swapa temp2415001400226or a,temp1416001410066mov temp1,a417001420766swap temp1418;41900143042C mov a,humiL;湿度个位,420001441074call lcd5_table421001450068mov temp3,a422;42300146042D mov a,humih;湿度十位424001471074call lcd5_table425001480069mov temp4,a426001490729swapa temp44270014A0228or a,temp34280014B0068mov temp3,a4290014C0768swap temp3430;4310014D0428mov a,temp34320014E0047mov port7,a4330014F0426mov a,temp1434001500045mov port5,a435;436001510016ior ioc6437001521A0F and a,@0x0f438001531950or a,@0b01010000439001540006iow ioc6;com1:2:0v,com:2.5V 440001550406mov a,port6441001561A0F and a,@0x0f442001571900or a,@0b00000000443001580046mov port6,a444001590012ret445;----------------------------4460015A lcd6display:4470015A042A mov a,tempL;温度个位4480015B1085call lcd6_table4490015C0066mov temp1,a450;4510015D042B mov a,temph;温度十位4520015E1085call lcd6_table4530015F0067mov temp2,a454001600727swapa temp2455001610226or a,temp1456001620066mov temp1,a457001630766swap temp1458;45900164042C mov a,humiL;湿度个位,460001651085call lcd6_table461001660068mov temp3,a462;46300167042D mov a,humih;湿度十位464001681085call lcd6_table465001690069mov temp4,a4660016A0729swapa temp44670016B0228or a,temp34680016C0068mov temp3,a4690016D0768swap temp3470;4710016E0428mov a,temp34720016F0047mov port7,a473001700426mov a,temp1474001710045mov port5,a475;476001720016ior ioc6477001731A0F and a,@0x0f478001741930or a,@0b00110000479001750006iow ioc6;com1:2:2.5v,com:0V 480001760406mov a,port6481001771A0F and a,@0x0f482001781900or a,@0b00000000483001790046mov port6,a4840017A0012ret485;------------------------------------------486;--------------------------------------487;此程式是将小于100的数(reg_acc1)转换为BCD码,488;将高位存放于reg_acc2,低位存入于reg_acc3中。
LCD显示原理和驱动方式介绍流风回雪1988•码龄12年原文链接:/content/18/1121/23/277688_79641099 4.shtml点击阅读全文打开CSDN,阅读体验更佳TFT LCD液晶显示器的驱动原理详解我们针对TFT LCD的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先介绍由于Cs(storage capacitor)储存电容架构不同, 所形成不同驱动系统架构的原理.继续针对feed through电压,以及二阶驱动的原理来做介绍LCD驱动原理分析及讲解本资源讲解了LCD的整体和局部设计讲解,讲解了色彩和亮度控制原理及液晶交流驱动原理相关推荐更多相似内容第18章LCD设备驱动之LCD硬件原理_xiezhi123456的博客本章主要讲解帧缓冲设备Linux 驱动的架构及编程方法。
1、LCD的底层硬件操作原理。
2、帧缓冲设备的概念及驱动中的重要数据结构和函数。
3、帧缓冲设备驱动的整体结构,帧缓冲设备的几个重要函数,整体与部分的关系。
STM32驱动LCD原理_人生一路,点滴记录因此,可以把TFT LCD当成一个SRAM来用,只不过这个SRAM有2个地址,这就是FSMC可以驱动LCD的原理。
02、标准8080接口8080总线又叫Intel总线,大致来说,Intel总线的控制线有四根,RD写使能,WR读使能,ALE地址锁存,CS片选。
TFT-LCD显示原理及驱动介绍.pptTFT-LCD显示原理及驱动介绍ppt,TFT-LCD显示原理及驱动介绍LCD驱动原理分析(程序及代码)通过S3C2440液晶屏为例子,深入讲解LCD驱动程序LCD的控制原理_wwwlyj123321的博客_lcd原理(1)一行的通信过程是这样的:LCD控制器先发送一个HSYNC高电平脉冲(脉冲宽度是HSPW+1),脉冲告诉驱动器下面的信息是一行信息。
点阵式液晶屏的显示原理与驱动设计(二)第一部分介绍了控制器是如何将CGRAM中的存储数据显示到LCD面板上的。
下面继续,介绍下单片机或者电脑如何将一个汉字的信息发送到控制器,也就是驱动代码的编写。
这部分驱动代码是针对单片机来说的,但是即使是对于Linux操作系统来说,它的显示驱动部分,如果不考虑操作系统接口相关部分的处理,核心部分的代码跟单片机的驱动代码还是非常类似的。
LCD驱动设计,首先要解决的就是汉字的点阵化问题。
因为从上一节的介绍,已经可以知道,LCD面板显示的图形或者汉字,实际上就是存储在GCRAM里面的数据,而我们的汉字,是一种图形化的文字工具,所以汉字或者图形想要在LCD面板上显示出来,就首先要点阵化,或者说数字化,如图 1所示。
图 1 点阵化的汉字我国早期的计算机工作者们,就是这么解决汉字的问题的。
最早可以追溯到DOS时代,80年代的时候就推出了汉字点阵的字库标准GB2312,例如早期的12号宋体汉字字库HZK16,现在还在广泛使用。
那么字库里面存储的是什么内容呢,实际上就是点阵化的汉字字体。
还拿HZK16为例,在这个字库里面,所有汉字都标准化成了16x16点阵的汉字。
如果LCD显示还是以8像素为单位的话,那么一个汉字就变成了32个字节的数据。
这样的话,计算机就可以进行处理了。
汉字放在了字库里面,那么如何提取出来呢?相对于西文字符,中文字符就比较麻烦。
因为拿英文来说,只有26个英文字母,存进去就可以了,然后使用ASCII码,连同各种标点符号和控制符号在内,总共才128个字节,输入一个单字节16进制数就能表示某个字符。
但是汉字不行,有几千个汉字呢。
前辈们有办法,提出了区位码的概念。
用一个16位的数,高8位代表区码,有256个区,低8位代表位码,每个区有256个位。
这样256x256就可以表示65536个汉字呢,足够了。
这也是我们现在用的汉字输入法的基础。
无论哪种输入法,拼音也好,五笔也好,键盘输入对应汉字表示后,输入法软件会通过查询区位码,列出来该表示的所有候选字组合,用户再选择后,就从字库里面选择对应汉字的点阵数据,如果是HZK16字库的话,就是32个字节数据,然后数据发送到屏幕上,我们就能看到汉字了。
点阵显示原理图形液晶显示器和单片机接口应用技术液晶显示器(LCD)具有显示信息丰富、功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。
LCD可分为段位式LCD、字符式LCD和点阵式LCD。
其中,段位式LCD和字符式LCD 只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动、动画、分区开窗口、反转、闪烁等功能,用途十分广泛。
本文介绍点阵式液晶显示器HS12232-1、HS12232-9,点阵式液晶显示器MGLS12864与单片机的接口及编程的方法,同时给出两种显示器常用的字符显示和汉字显示程序。
1.不带汉字库的HS12232-1下的汉字显示1.1 显示原理利用PC上的16×16点阵汉字库,提取后将点阵文件存入ROM,直接利用PC中汉字内码作为单片机系统的编码(不再形成新的汉字编码)。
1.2 硬件组成首先要采用点阵图形液晶显示器。
(例如一行为240点,总列数为128点,可以容纳16×16点阵的汉字15个[因为240/16=15],128列可以显示8行[因为128/16=8]),广州市千喜科技开发有限公司的HS12232-1内置SED1520驱动控制器的点阵为122×32点,每行7个半汉字,共2行。
如果要扩展存储器,全部国标16×16点阵汉字、8×16点阵的ASCII码点阵数据及汉字语句编码数据要使用1片512KB的存储器来存储,多出部分可以留作数据存储器。
本文只探讨液晶显示器与单片机的接口部分,扩展存储器部分略。
下面给出HS-12232-1与单片机8031的一种接口,如图1所示(VDD=+5V)。
1.3 汉字显示原理国家标准信息交换用汉字字符集GB 2312-80共收录了汉字、图形符号等共7445个,其中汉字6763个,按照汉字使用的频度分为两级,其中一级汉字3755个,二级汉字3008个。
lcd显示电路原理液晶显示器(LCD)是一种广泛应用于计算机显示、电视和其他设备的平面显示技术。
LCD 显示电路的原理涉及多个组件和层次,下面是一个简单的液晶显示电路的基本原理:1. 液晶显示原理:•液晶显示的基本原理是通过改变液晶分子的排列来控制光的透过。
液晶屏由两片玻璃之间夹着液晶层构成。
液晶分子的排列状态决定了是否透过光。
在不同的电场作用下,液晶分子的排列状态发生变化,从而控制透过的光的亮度。
2. 液晶显示电路组成:•液晶显示电路通常由以下几个主要组件组成:•显示控制器(Display Controller):负责将输入信号转换成适合液晶显示的形式。
•行驱动器(Row Driver):控制液晶屏的行。
•列驱动器(Column Driver):控制液晶屏的列。
•像素数组:由液晶分子组成的像素阵列。
3. 工作原理:•显示控制器接收输入信号,将其转换为适合液晶显示的格式。
然后,行驱动器和列驱动器根据控制器的信号控制液晶屏上每个像素的液晶分子排列状态,从而控制每个像素的亮度。
4. 电压控制液晶(Voltage-Controlled Liquid Crystal):•液晶显示屏的液晶分子是通过施加电场来控制的。
通过改变电场的强度,可以改变液晶分子的排列状态。
液晶分子的不同排列状态会影响透过的光,从而实现像素的亮度变化。
5. 背光源(Backlight):•大多数液晶显示器需要一个背光源,以提供光源。
背光源通常由荧光灯或 LED 组成,通过液晶屏透过光线来形成图像。
总体而言,液晶显示电路的原理涉及控制液晶分子排列状态,从而实现对光的调节,进而形成图像。
这是一种基于光学和电学效应的先进显示技术。
LCD基本电路原理分析LCD(液晶显示器)的基本电路原理可以分为电压驱动和信号驱动两种类型。
1.电压驱动液晶显示器电路原理电压驱动液晶显示器主要由液晶元件、触摸层、驱动电路和控制电路等组成。
液晶元件:液晶单元是液晶显示器的核心部件,由两片平行排列的玻璃基板封装起来,两片基板上分别涂有透明的导电层,并在中间加入液晶材料。
液晶材料是一种有机化合物,其分子结构可以根据电场的变化而改变排列状态,从而控制光的透过程度。
驱动电路:驱动电路负责给液晶单元提供所需的电场。
在横向和纵向各涂一层透明导电层,并根据屏幕的分辨率设计导电线网状结构。
通过外部的驱动电源分别给纵向和横向的导电层施加电压,形成一个均匀的电场。
控制电路:控制电路接收到来自计算机或者其他信号源的图像信号,将图像信号转换为控制电压并传输给驱动电路。
同时还会接收用户的输入指令,如触摸屏的触摸操作。
2.信号驱动液晶显示器电路原理信号驱动液晶显示器与电压驱动液晶显示器相比,最大的区别是信号驱动液晶显示器不需要驱动电路。
它的驱动原理利用了TFT(薄膜晶体管)。
TFT:TFT是一种特殊的薄膜晶体管,可用于控制像素点的亮度和颜色。
每个像素点都有一个对应的TFT,单个像素点由三个互相组合的TFT组成,分别对应红、绿、蓝三个颜色通道。
这样就能够分别控制每个像素点的亮度和颜色输出。
信号驱动液晶显示器使用TFT作为驱动元件,通过控制TFT的导通与截止状态,从而控制液晶分子的排列,实现亮度和颜色的输出。
计算机或者其他信号源通过信号线向TFT传输图像信号,控制TFT的导通与截止,从而控制每个像素点的亮度和颜色。
总结起来,LCD的基本电路原理分为电压驱动和信号驱动两种类型。
电压驱动液晶显示器需要驱动电路提供均匀的电场给液晶单元,而信号驱动液晶显示器通过TFT控制液晶分子的排列,实现亮度和颜色的输出。
无论是哪种驱动方式,控制电路都起着传输图像信号和接收用户输入指令的作用。
led点阵显示原理LED点阵显示原理。
LED点阵是一种常见的显示器件,它由许多LED灯组成,可以显示文字、数字、图形等信息。
LED点阵显示原理是通过控制LED的亮灭来实现信息的显示,下面我们来详细介绍LED点阵显示的原理。
一、LED点阵的基本结构。
LED点阵由许多个LED灯组成,通常以矩阵的形式排列。
每个LED灯都有正负极,当正极与负极之间施加电压时,LED灯就会发光。
LED点阵中的每一个LED灯都可以看作是一个像素点,通过控制每个像素点的亮灭,就可以显示出各种图形和文字。
二、LED点阵的显示原理。
LED点阵的显示原理是通过控制LED的亮灭来实现信息的显示。
在LED点阵中,每个LED灯都有一个控制引脚,通过控制这些引脚的电平状态,可以实现对LED的控制。
通常情况下,LED点阵会配合驱动芯片来使用,驱动芯片可以实现对LED点阵的控制和扫描。
在LED点阵显示时,需要将要显示的信息按照一定的规则转换成LED点阵对应的控制信号,然后通过驱动芯片将这些控制信号传输给LED点阵,从而控制LED的亮灭,最终实现信息的显示。
三、LED点阵的控制方式。
LED点阵的控制方式通常有静态控制和动态控制两种。
静态控制是指每个LED灯都有一个控制引脚,通过控制每个LED的控制引脚来实现LED的亮灭。
这种控制方式简单直接,但是需要的引脚数量较多,适用于LED点阵较小的情况。
动态控制是指通过行列扫描的方式来控制LED点阵。
在动态控制中,LED点阵的行和列分别接到驱动芯片的输出端,通过依次扫描每一行,同时控制列的电平状态,来实现LED点阵的显示。
这种控制方式可以减少控制引脚的数量,适用于LED点阵较大的情况。
四、LED点阵的应用。
LED点阵由于其低功耗、长寿命、亮度高等特点,被广泛应用于各种显示设备中,如电子显示屏、计时器、温度计等。
同时,LED 点阵还可以通过控制不同颜色的LED灯来实现彩色显示,具有较好的显示效果。
总结:LED点阵显示原理是通过控制LED的亮灭来实现信息的显示,其基本结构简单,控制方式灵活多样,应用范围广泛。
LCD(Liquid Crystal Display,液晶显示器)驱动方式是指用于控制LCD显示像素的电流或电压的方法。
LCD的工作原理是通过改变液晶分子的排列状态来调节光的透过率,从而实现图像显示。
以下是几种常见的LCD驱动方式和原理:1. 静态驱动方式(Static Driven Method):静态驱动方式是最简单的驱动方式之一。
每一个液晶像素点由一个独立的驱动电路控制,通过施加不同的电压或电场来改变液晶的取向,从而实现显示效果。
静态驱动方式适用于小尺寸的LCD,但对于大尺寸LCD来说,由于需要大量的驱动电路,使得整体结构复杂,成本较高。
2. 动态驱动方式(Dynamic Driven Method):动态驱动方式采用行列交替驱动的方法。
将液晶显示屏分割成若干行和列,通过周期性地切换不同的行和列的驱动电压,来逐行、逐列地更新显示内容。
这种方式可以减少所需的驱动电路数量,降低成本,并适用于大尺寸的液晶显示屏。
3. 时序控制驱动方式(Timing Control Driven Method):时序控制驱动方式通过控制驱动信号的时序来控制液晶的状态和显示内容。
时序控制驱动方式广泛应用于各种尺寸的液晶显示器,可以实现高分辨率、高刷新率和多种显示模式。
4. 被动矩阵驱动方式(Passive Matrix Driven Method):被动矩阵驱动方式是一种简单且低成本的驱动方法。
它通过将液晶像素点排列成行列交错的结构,使用行和列上的电极来控制每个像素点的状态。
然而,被动矩阵驱动方式在显示质量、响应速度和观看角度方面存在一定的限制。
5. 主动矩阵驱动方式(Active Matrix Driven Method):主动矩阵驱动方式采用了TFT(Thin-Film Transistor,薄膜晶体管)技术,每个像素点都有一个对应的TFT,通过控制这些TFT 的导通和截止来改变液晶的取向,从而实现高品质的显示效果。
点阵LCD的驱动显控原理 ——小丑、Powerint 2007年8月 V1.0
Mz 出品 1. 一些需在提示您的...................................................................................................................4 1.1. 本书更适合什么样的LCD模块?.............................................................................4 1.2. 这里的LCD驱动程序更适合于什么样的MCU......................................................4 1.3. 为什么用C语言........................................................................................................5 2. 以MzL02 LCD模块为例..........................................................................................................6 2.1. LCD模块的结构.......................................................................................................6 2.1.1. 结构示意...........................................................................................................6 2.1.2. 显示RAM区映射情况......................................................................................7 2.1.3. 行、列地址.......................................................................................................9 2.1.4. 其它...................................................................................................................9 2.2. LCD的接口.............................................................................................................10 2.3. LCD控制器特性.....................................................................................................11 2.4. LCD驱动的基本流程.............................................................................................16 2.4.1. LCD模块的连接.............................................................................................16 2.4.2. 控制LCD模块显示一个点.............................................................................17 2.4.3. 利用LCD控制器的特性.................................................................................19 3. 点阵LCD的驱动与显控.........................................................................................................21 3.1. 基本驱动程序(LCD_Driver_User)........................................................................22 3.1.1. 端口配置头文件LCD_Portconfig..................................................................22 3.1.2. MCU与LCD基本时序控制程序....................................................................23 3.2. LCD的初始化.........................................................................................................26 3.3. 绘点子程序.............................................................................................................27 3.3.1. 基本绘点函数.................................................................................................27 3.3.2. 一些扩展的基础功能函数.............................................................................29 3.4. 驱动配置头文件LCD_Config................................................................................30 3.5. LCD驱动功能接口程序(LCD_Dis).......................................................................33 3.5.1. 基本绘图功能函数.........................................................................................33 3.5.2. 字符显示功能函数.........................................................................................39 3.6. 字符显示原理.........................................................................................................39 3.6.1. 字符与字模.....................................................................................................39 3.6.2. 字模与字库.....................................................................................................42 3.6.3. 用点来绘制字符.............................................................................................46 3.6.4. Mz的驱动中提供的字符显示........................................................................48 4. Mz_MenuGUI菜单应用.........................................................................................................50 4.1. Mz_MenuGUI.........................................................................................................50 4.2. Mz_MenuGUI的源码分析.....................................................................................51 4.2.1. Menu_Resource.c菜单资源定义....................................................................51 4.2.2. Menu_GUI_Config.h菜单GUI配置头文件...................................................55 4.2.3. Menu_GUI.c菜单接口函数............................................................................56 4.3. 定制自己的Menu菜单界面...................................................................................63 4.3.1. 参考的GUI响应控制代码..............................................................................63 4.3.2. 订制一个有二级菜单的工程.........................................................................67 5. 移植通用版LCD驱动程序到另一颗MCU............................................................................75 5.1. 修改驱动中的底层代码.........................................................................................75