文档库 最新最全的文档下载
当前位置:文档库 › 怎样点亮段式液晶

怎样点亮段式液晶

怎样点亮段式液晶
怎样点亮段式液晶

怎样点亮段式液晶——与STM8L152C6T6的情缘

对于刚刚接触程序设计的菜鸟们来说,很多地方需要学习和借鉴大神们的经验,非常庆幸的是,我们所处的时代是信息共享的时代,在此,我想对那些把自己总结的经验和可以帮助别人学习的资料分享到网上的大神们说声谢谢!

刚开始接触STM8L152C6T6,觉得脑袋很大,因为刚刚接触STM32不久,到串口中断的时候,就被拉到STM8L上了,看到板子上面那个所谓段式液晶,就明白“老虎吃天,无处下抓”的悲哀,于是只有拿着“有问题,找度娘”的态度,在网上开始大肆搜罗相关信息、、、、、、最终,“皇天不负有心人”终于找到了一些有用的资料,最终,经过大家的努力,实现了一些功能,下面就把学习过程中觉得有用的资料分享给大家,希望可以帮助大家!

段式液晶的相关资料比较多,大家搜搜就可以看得懂,我这里就把自己看不懂的地方,现在明白怎么回事了,分享给大家:

1.关于段式液晶:

段式液晶虽然跟数码管有所不同,但也有相同的地方,其七段分别为a,b,c,d,e,f,g 想要显示数据,就必须点亮相应的段。下面将通用的0~9的设置值为大家解释一下(大神们请默默地飘过吧!)

const uint16_t NumberMap[10]=

{

/***

*显示0

com1 com2 com3 com4

*seg3 [ 1d, 1e, 1f, 1a]

*seg4 [ 1c, 1g ,1b , P5]

*seg3 [ 1, 1, 1, 1]

*seg4 [ 1, 0 ,1 , 1]

*

**/

/* 0 1 2 3 4 5 6 7 8 9 */

0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6

。。。。。。。。。。。。。

以此类推,大家慢慢想想就明白了。

2.关于段式液晶寄存器缓存地址

对于每一个LCD段式液晶屏,都有属于自己的一张表,它会告诉你com与seg之间的对应关系(虽然刚开始看到这幅图的我,根本无法理解,这究竟是何方神圣、、因为它看起来可以没有规律,看起来也挺有规律,但究竟是没看懂,后来的某个瞬间,突然发现,原来so easy!) 为了方便大家理解,我分几部分解释!

①看到图的第一眼,大家当然可以知道总共有8个7段数码管(貌似不是这么叫,大家将就一下)。

②有13组汉字词语,其上还有相应的标号:P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12P 13,想必这些词组的显示设置就需要这些相应的标号来设置了。

③中间有2条横杠,还有个标号X,估计同理如上。

1)

先看图中红线的地方,你会发现,刚好是8个数码管的a,b,c,d,e,f,g,h 但是有的h的位置被标号而取代。再看看蓝线的位置,会发现跟红线的框里的段码排列顺序不一样,所以,对应的缓存地址也就不同,因此无法一概而论.

下面我就教大家,如何利用上面的这张表,来写出相应的段式液晶寄存器缓存地址表!首先看看LCD缓冲寄存器,只要把你要显示的数据写入寄存器就OK了。

第一列是0~13的寄存器,每个寄存器都是按照8位来存放的,分别对应a~g,及‘h’,而其中s0\s1\s2\s3分别对应的是com1\com2\com3\com4(这里的描述可能欠妥,如果有误,希望大家指正!本人也是菜鸟一名!)其中将会存放数据所对应的段位。

以第一个,即1A 1B 1C 1D 1E 1F 1G为例,来写相应的缓存地址:

第一步:查表,找到1a对应的管脚,即P4,找到lcd的p4脚,其对应编号为seg3,再找到STM8L中的标号为seg3对应的是seg3,然后由com4对应s3,就可以得到1A的缓存地址,即s3[3],由于数据的写入一般是从高位开始写,故对应a~g,h,所以就可以通过下表,知道1a是存在寄存器10的第7为,以此类推!如果不嫌麻烦,也可以做个表格,用起来比较方便。

第二步:得到上表之后就可以知道其对应缓存地址了,7~4属于高位,对应地址分别为0X80 0X40 0X20 0X10,3~0分别对应0X08 0X04 0X02 0X01,例如:LCD->RAM[LCD_RAMRegister_10] &= (~0x80);

LCD->RAM[LCD_RAMRegister_10] |=((NumberMap[user_num/10]) &0x80);// 1A

LCD->RAM[LCD_RAMRegister_7] &= (~0x10);

LCD->RAM[LCD_RAMRegister_7] |=((NumberMap[user_num/10]>>2)&0x10);// 1B LCD->RAM[LCD_RAMRegister_0] &= (~0x10);

LCD->RAM[LCD_RAMRegister_0] |=((NumberMap[user_num/10>>2])&0x10);// 1C

LCD->RAM[LCD_RAMRegister_0] &= (~0x08);

LCD->RAM[LCD_RAMRegister_0] |=((NumberMap[user_num/10]>>1)&0x08);// 1D

LCD->RAM[LCD_RAMRegister_3] &= (~0x80);

LCD->RAM[LCD_RAMRegister_3] |=((NumberMap[user_num/10]<<4)&0x80);// 1E

LCD->RAM[LCD_RAMRegister_7] &= (~0x08);

LCD->RAM[LCD_RAMRegister_7]|=((NumberMap[user_num/10]<<1)&0x08); // 1F

LCD->RAM[LCD_RAMRegister_4] &=(~0x01);

LCD->RAM[LCD_RAMRegister_4]|=((NumberMap[user_num/10]>>1)& 0x01);// 1G

有大神指点,说此驱动方式不好,会出现随机性的花屏,所以果真在调试的时候出现3 8 9时1c不亮,故此只能加了一句:

LCD->RAM[LCD_RAMRegister_10] &= (~0x80);

LCD->RAM[LCD_RAMRegister_10] |= ((NumberMap[user_num/10]) & 0x80); // 1A

LCD->RAM[LCD_RAMRegister_7] &= (~0x10);

LCD->RAM[LCD_RAMRegister_7] |= ((NumberMap[user_num/10]>>2) & 0x10); // 1B

if(user_num/10==3||user_num/10==8||user_num/10==9)

{

LCD->RAM[LCD_RAMRegister_0] &= (~0x10);

LCD->RAM[LCD_RAMRegister_0] |= ((NumberMap[user_num/10>>2]) & 0x10); // 1C

}else

{

LCD->RAM[LCD_RAMRegister_0] &= (~0x10);

LCD->RAM[LCD_RAMRegister_0] |= ((NumberMap[user_num/10>>1]) & 0x10); // 1C

}

LCD->RAM[LCD_RAMRegister_0] &= (~0x08);

LCD->RAM[LCD_RAMRegister_0] |= ((NumberMap[user_num/10]>>1) & 0x08); // 1D

LCD->RAM[LCD_RAMRegister_3] &= (~0x80);

LCD->RAM[LCD_RAMRegister_3] |= ((NumberMap[user_num/10]<<4) & 0x80); // 1E

LCD->RAM[LCD_RAMRegister_7] &= (~0x08);

LCD->RAM[LCD_RAMRegister_7] |= ((NumberMap[user_num/10]<<1) & 0x08); // 1F

LCD->RAM[LCD_RAMRegister_4] &=(~0x01);

LCD->RAM[LCD_RAMRegister_4] |=((NumberMap[user_num/10]>>1) & 0x01); // 1G

虽然结果是正确的,但是驱动方式还是不会改,希望大神路过的时候能够指点一二。先这样吧!

段码LCD液晶屏驱动方法

段码LCD液晶屏驱动方法 生活中小电器见到最多的lcd模组就是段码lcd液晶屏,段码lcd有普通的数码管的特征,又有点阵LCD的特征,固定的图形,优点是省成本而有好看,那么段码LCD液晶屏是怎么驱动的呢?下面我们就来简单了解一下: 首先,不要以为用单片机来驱动就以为段码屏是直流驱动的,其实,段码屏是交流驱动,什么是交流?矩形波,正弦波等。大家可能会经常用驱动芯片来玩,例 如HT1621等,但是有些段式屏IO口比较少,或者说IO口充足的情况下,也可以省去写控制器的驱动了。与单片机接口方便,而后者驱动电流小,功耗低、寿命长、字形美观、显示清晰、视角大、驱动方式灵活、应用广泛【1】。但在控制上LCD较复杂,因为LCD电极之间的相对电压直流平均值必须为0【2】,否则易引起LCD氧化,因此LCD不能简单地用电平信号控制,而要用一定波形的方波序列来控制。LCD显示有静态和时分割两种方式,前者简单,但是需要较多的口线;后者复杂,但所需口线较少,这两种方式由电极引线的选择方式确定。下面以电子表的液晶显示为例,小时的高位同时灭或亮,分钟的高位在显示数码1~5时,其顶部和底部也是同时灭或亮,两个dot点也是同时亮或灭,其驱动方式是偏置比为1/2的时分割驱动,共有11个段电极和两个公共电极。 但是,IO模拟驱动段式液晶有一个前提条件,就是IO必须是三态, 为什么?下面我们一起细细道来: 第一步,段码式液晶屏的重要参数:工作电压,占空比,偏压比。这三个参数非常重要,必须都要满足。 第二步,驱动方式:根据LCD 的驱动原理可知,LCD 像素点上只能加上AC 电压,LCD 显示器的对比度由COM脚上的电压值减去SEG 脚上的电压值决定,当这个电压 差大于 LCD 的饱和电压就能打开像素点,小于LCD 阈值电压就能关闭像素点,LCD 型MCU 已经由内建的LCD 驱动电路自动产生LCD 驱动信号,因此只要I/O 口能仿真输出该驱动信号,就能完成 LCD 的驱动。 段码式液晶屏幕主要有两种引脚,COM,SEG,跟数码管很像,但是,压差必须是交替变化,例如第一时刻是正向的3V,那么第二时刻必须是反向的3V,注意一点,如果 给段码式液晶屏通直流电,不用多久屏幕就会废了,所以千万注意。下面我们来考虑如何模拟COM口的波形,以1/4D,1/2B为例子: 只要模拟出以上波形,液晶屏已经成功了一大半了。 1. void display_sub(u8 y) //lcd display subroutine 2. { 3. switch(y) //4*com,VDD and -VDD LCD display,so 8 timebase interrupt one sacn period 4. { 5. case 1: 6. {com1_output_high();break;} 7. case 2: 8. {com1_output_low();break;} 9. case 3: 10. {com2_output_high();break;}

段码式液晶屏开模

段码式液晶屏开模 1. 开模过程 资料核实:尺寸、显示图形、逻辑表、显示模式、驱动参数(V o 、Duty 、Bias) 、连接方式、温度条件等 出图:外形图设计 图纸确认:图纸修改 模具制作:版图设计、光刻菲林制作( 电极x2 、边框、银点、PI 、测试PCB) 、丝印网、凸版、测试架 出样:样品制作 样品确认:重新出样或修改模具后重新出样 2. 开模周期:一般出图1 ~3 天,视图纸复杂程度及原始资料完整性;出样时间( 包括模具制作) 一般在图纸确认后 2 周左右。样品制作因涉及环节较多,包括模具设计、模具制作、材料选择、工艺选择、试生产、样品测试等,故一次成功的几率约在90 %左右,如不成功,周期可能明显延长。 3. 样品数量:5 ~10pcs( 特殊情况另商定) 4. 图纸修改:在图纸正式确认前,可对图纸提出任意修改意见,我们将在第一时间内修改图纸,不限次数,也不收取任何修改费用,当然这可能会影响周期。 5. 以下重新出样不需重新收取开模费:修改V o ,修改偏光模式、由于供方原因导致样品和需方确认图纸不一致等。 6. 以下重新出样或模具制作后修改需重新收取开模费:样品和需方确认图纸一致,但需方要求修改( 尺寸、显示图案、逻辑表、观察方向等) 导致需重新制作模具。 目前定制屏最多的就是TN,HTN,STN显示类型 的屏,也是最早广发应用于各个行业的最基础的人际交换界面显示器 件:仪器仪表,小电子产品,医疗工控行业应用居多。 针对现时很多定制屏DIY的朋友选购液晶屏时应注意的几个方面大致 说明一下。 视角 视角和反应速度是他们的共同特性和共同区别。 现在人们接触最多的是手机上的屏,统称TFT屏,基本上看不出有视 角范围的衰减,而低端类的TN,HTN,STN显示屏有着明显的视角区别。 行业内名词参数:6H,9H,3H,12H.也就是6点钟方向,9点钟方向,3点 钟方向,12点钟方向的意思。以一挂时钟做为参考说明视角方向,6 点为仰视,3点为左侧视,9点为右侧视,12点为俯视。选购时尤为关 键。 温度 温度也是液晶屏主要的参数之一,在定制期间屏厂会发一份图纸, 里面就有这类必不可少的参数,“工作温度,储存温度”两 项。在设计时要注意这个参数,考虑产品在哪种环境下工作。液晶屏 一般分为3-4个范围,常温(0-50)范围,宽温(-20-75)范围,超 宽温(-30-85)范围。选择错误时会出现如下反应:低温下会显示反 应缓慢,高温下会有底影存在。 驱动模式及电压

真值表化简法

在设计逻辑电路图时,由真值表直接得到的函数往往比较复杂。代数法和卡诺图法等方法对于变量数目较多的逻辑函数则效果不佳,本文介绍一种可以化简复杂逻辑函数的方法──表格法,该方法可以对变量数目较多的逻辑函数也可以进行化简。 2、原理 在介绍化减法之前,先说明三个概念: 蕴涵项──在函数的任何积之和式中,每个乘积项称为该函数的蕴涵项。对应于卡诺图中的任一标1单元(最小项)以及2m个相邻单元所形成的圈都是函数的蕴涵项。 素项──若函数的一个蕴涵项不是该函数中其它蕴涵项的一个子集,则此蕴涵项称为素蕴涵项,简称素项。 实质素项──若函数的一个素项所包含的某一最小项,不包括在该函数的其它任何素项中则此素项称为实质素蕴涵项,简称实质素项。 列表化简法的基本原理是利用逻辑函数的最小项,通过对相邻最小项的合并,消去多余变量因子,获得逻辑函数的最简式的。列表化简法的思路是先找出给定函数F的全部素项,然后找出其中的实质素项;若实质素项不能覆盖F的所有最小项,则进一步找出所需素项,以构成F的最简素项集。 下面用列表化简法将下列函数化简为最简与或表达式。 F(A,B,C,D)=Σ(0,3,4,5,6,7,8,10,11) 3、建立素项表 首先,找出给定函数的全部素项。 (1)先将每个最小项所对应的二进制数按其“1”的个数分组得表1; 表1 最小项

(2)将表1中的相邻两个组之间二进制数进行比较、合并得到一次化简结果,称为一次乘积项,其项号记为i(j-i),其中i为最小项中的小项号,j为最小项中的大项号,得表2; 表2 一次乘积项

(3)再将表2中的相邻两组内的二进制数进行比较、合并、便得到第二次化简结果,称为二次乘积项,其项号记为i(n,m),其中i为两个一次乘积项中的小项号,n为原最小项的项号差,m为一次乘积项的项号差,得表3; 表3 二次乘积项 不能与其它一次乘积项合并的一次乘积项是素项,分别以a,b,c,d,e,f记之,不能合并的二次乘积项也是素项,以g记之。

第十七节:液晶屏第三大类定律—任意位置显示一个点(HT1621驱动段码液晶屏

第十七节:液晶屏第三大类定律—任意位置显示一个点(HT1621驱动段码液晶屏) (1)开场白: 段码液晶屏往往应用在出货量比较大的家用消费类电子,比如空调遥控器,小时候带的电子手表等,都是段码屏。段码屏是非标屏,都是客户定做的,第一次开模费大概一两千元,厂家一般都会有起订量的要求,除此之外,它的单位成本相对要比点阵屏要便宜,而且我个人认为显示的效果要比点阵屏漂亮。 段码屏的驱动程序跟数码管的静态驱动程序一样,只要我们弄懂了怎样显示一个基本单位,根据此基本单位编写一个字库表,然后用与(&)和或(|)这两种位运算符就可以随心所欲编写我们要显示的数字或者形状。有两种常用的驱动方案: 第一种:如果单片机内部集成了seg和com引脚的液晶驱动模块,直接用单片机驱动。第二种:单片机用3个IO口跟HT1621进行通讯,用 HT1621驱动段码屏。 这节我重点介绍第二种。HT1621有4个COM,分别是com3,com2,com1,com0。有32个SEG,分别是SEG0,SEG1….SEG31。 什么是COM,什么是SEG?用鸿哥的思路来解释,COM就是横向上的X坐标,SEG就是纵向上的Y坐标。X坐标与Y坐标组合成一张表格,每格代表一个显示点。比如 HT1621,有4个COM,32个SEG,组成一个32行,每行装4个点的表格,一共有128个点,也就是最多可以显示128个点,用数码管的思路,最多可以显示128个LED灯。因为纵向上有32行,因此Y轴的地址范围是0到31。每一行X轴上的4个点,我们用一个字节来表示。一个字节有8位,高4位分别代表这个4个点,低4位为空。比如第一行(SEG0行)的第1个(COM3)要显示,第2个(COM2)要显示,第3个(COM1)不要显示,第4个(COM0)不要显示,那么用一个字节来表示就是十六进制的0xc0.要把这两个点点亮,只要把X轴的数据设置成0xc0,Y轴的数据设置成0x00,然后放到鸿哥精心研制的 seg_display(unsigned char col, unsigned char pag)驱动程序里就可以了. (2)功能需求: 在COM和SEG组成的4X32表格中,显示第二行的第3和第4两个点。 (3)硬件原理: 用单片机的3个IO口分别跟HT1621的CS,WR,DATA连接。 (4)源码适合的单片机:STC11F04E,晶振为11.0592MHz。 (5)源代码讲解如下: #include "REG52.H" #include "absacc.h" #include "intrins.h" #include "stdio.h" #define BIAS 0X52 //此处千万小心,鸿哥在上个月的一个项目中就是在这里被卡了7天。 //必须跟硬件电路的COM匹配。1个或者2个COM:0x42。3个COM:0x4A。4个COM:0x52

求给定命题公式真值表并根据真值表求公式主范式

“离散数学”实验报告(求给定命题公式地真值表并根据真值表求公式地主范式) 专业网络工程 班级 1202班 学号 12407442 姓名张敏慧 2013.12.14

目录 一.实验目地 3 二.实验内容 (3) 求任意一个命题公式地真值表 (3) 三.实验环境 3 四. 实验原理和实现过程(算法描述)3 1.实验原理 (3) 2.实验流程图 (5) 五.实验代码 6 六. 实验结果14 七. 实验总结19

一.实验目地 本实验课程是网络工程专业学生地一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用地离散数学中地概念.性质和运算;通过实验提高学生编写实验报告.总结实验结果地能力;使学生具备程序设计地思想,能够独立完成简单地算法设计和分析. 熟悉掌握命题逻辑中地真值表.主范式等,进一步能用它们来解 决实际问题. 二.实验内容 求任意一个命题公式地真值表,并根据真值表求主范式 详细说明: 求任意一个命题公式地真值表 本实验要求大家利用C/C++语言,实现任意输入公式地真值表计算.一般我们将公式中地命题变元放在真值表地左边,将公式地结果放在真值表地右边.命题变元可用数值变量表示,合适公式地表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现地n个命题变元,同时它也是一个二进制加法器地模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派.算法逻辑如下: (1)将二进制加法模拟器赋初值0 (2)计算模拟器中所对应地一组真值指派下合式公式地真值. (3)输出真值表中对应于模拟器所给出地一组真值指派及这组真值指派所对应地一行真值. (4)产生下一个二进制数值,若该数值等于2n-1,则结束,否则转(2). 三.实验环境;

任意命题公式的真值表

实验报告 实验名称:任意命题公式的真值表 实验目的与要求:通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算,包括联结词、真值表、运算的优先级等,提高学生编写实验报告、总结实验结果的能力,培养学生的逻辑思维能力和算法设计的思想,能够独立完成简单的算法设计和分析,进一步用它们来解决实际问题,帮助学生学习掌握C/C++语言程序设计的基本方法和各种调试手段,使学生具备程序设计的能力。 实验内容提要:求任意一个命题公式的真值表 实验步骤:(一)、关于命题公式的形式和运算符(即联结词)的运算 首先根据离散数学的相关知识,命题公式由命题变元和运算符(即联结词)组成,命题变元用大写字母英文表示(本次试验没有定义命题常元T和F,即T、F都表示命题变元),每个命题变元都有两种真值指派0和1,对应于一种真值指派,命题公式有一个真值,由所有可能的指派和命题公式相应的真值按照一定的规范构成的表格称为真值表。 目前离散数学里用到的包括扩充联结词总共有九种,即析取(或)、合取(与)、非、蕴含、等值、与非、或非、异或、蕴含否定,常用的为前五种,其中除了非运算为一元运算以外,其它四种为二元运算。所以本次实验设计时只定义了前五种运算符,同时用“/”表示非,用“*”表示合取,用“+”表示析取,用“>”表示蕴含,用“:”表示等值,且这五种运算符的优先级依次降低,如果需用括号改变运算优先级,则用小括号()改变。 以下为上述五种运算符运算时的一般真值表,用P和Q表示命题变元:1.非,用“/”表示 2.合取(与),用“*”表示

3.析取(或),用“+”表示 4.蕴含,用“>”表示 5.等值,用“:”表示 (二)、命题公式真值的计算 对于人来说,计算数学表达式时习惯于中缀表达式,例如a*b+c,a*(b+c)等等,而对于计算机来说,计算a*b+c还好,计算a*(b+c)则困难,因为括号的作用改变了运算的顺序,让计算机识别括号而改变计算顺序显得麻烦。经理论和实践研究,用一种称之为后缀表达式(逆波兰式)的公式形式能让计算机更容易计算表达式的真值。例如上面的a*(b+c),其后缀表达式为abc+*,计算时从左边开始寻找运算符,然后按照运算符的运算规则将与其相邻的前面的一个(非运算时为一个)或两个(其它四种运算为两个)操作数运算,运算结果取代原来的运算符和操作数的位置,然后重新从左边开始寻找运算符,开始下一次计算,比如上式,从左边开始寻找运算符,先找到+,则计算b+c,结果用d表示,这时后缀表达式变为ad*,又重新开始从左边开始寻找运算符,找到*,则计算a*d,

段码LCD液晶屏驱动方法

TFT液晶屏:https://www.wendangku.net/doc/cc5648760.html, 段码LCD液晶屏驱动方法 段码LCD液晶屏驱动方法 首先,不要以为用单片机来驱动就以为段码屏是直流驱动的,其实,段码屏是交流驱动,什么是交流?矩形波,正弦波等。大家可能会经常用驱动芯片来玩,例如HT1621等,但是有些段式屏IO口比较少,或者说IO口充足的情况下,也可以省去写控制器的驱动了。与单片机接口方便,而后者驱动电流小,功耗低、寿命长、字形美观、显示清晰、视角大、驱动方式灵活、应用广泛。但在控制上LCD较复杂,因为LCD 电极之间的相对电压直流平均值必须为0,否则易引起LCD氧化,因此LCD不能简单地用电平信号控制,而要用一定波形的方波序列来控制。 LCD显示有静态和时分割两种方式,前者简单,但是需要较多的口线;后者复杂,但所需口线较少,这两种方式由电极引线的选择方式确定。下面以电子表的液晶显示为例,小时的高位同时灭或亮,分钟的高位在显示数码1~5时,其顶部和底部也是同时灭或亮,两个dot点也是同时亮或灭,其驱动方式是偏置比为1/2的时分割驱动,共有11个段电极和两个公共电极。但是,IO模拟驱动段式液晶有一个前提条件,就是IO必须是三态,为什么? 下面我们一起细细道来: 第一步,段码式液晶屏的重要参数:工作电压,占空比,偏压比。这三个参数非常重要,必须都要满足。 第二步,驱动方式:根据LCD的驱动原理可知,LCD像素点上只能加上AC电压,LCD显示器的对比度由COM脚上的电压值减去SEG脚上的电压值决定,当这个电压差大于LCD的饱和电压就能打开像素点,小于LCD阈值电压就能关闭像素点,LCD型MCU已经由内建的LCD驱动电路自动产生LCD驱动信号,因此只要I/O口能仿真输出该驱动信号,就能完成LCD的驱动。 段码式液晶屏幕主要有两种引脚,COM,SEG,跟数码管很像,但是,压差必须是交替变化,例如第一时刻是正向的3V,那么第二时刻必须是反向的3V,注意一点,如果给段码式液晶屏通直流电,不用多久屏幕就会废了,所以千万注意。下面我们来考虑如何模拟COM口的波形,以1/4D,1/2B为例子:

段码LCD参数说明及驱动原理

段码LCD参数说明及驱动原理 一.参数说明 1.Duty:占空比 该项参数一般也称为Duty数或COM数。由于STN/TN的LCD一般是采用时分动态扫描的驱动模式,在此模式下,每个COM的有效选通时间与整个扫描周期的比值即占空比(Duty)是固定的,等于1/COM数。 2.Bias:偏置 LCD的SEG/COM的驱动波形为模拟信号,而各档模拟电压相对于LCD输出的最高电压的比例称为偏置,而一般来讲,Bias是以最低一档与输出最高电压的比值来表示。一般而言,Bias和Duty 之间是有一定关系的,Duty数越多,每根COM对应的扫描时间变短,而要达到同样的显示亮度和显示对比度,VON的电压就要提高,选电平和非选电平的差异需要加大,即Bias需要加大,Duty 和Bias间有一经验公式,即。 3.VDD:工作电压 液晶分子是需要交流信号来驱动的,长时间的直流电压加在液晶分子两端,会影响液晶分子的电气化学特性,引起显示模糊,寿命的减少,其破坏性为不可恢复。 液晶分子是一种电压积分型材料,它的扭曲程度(透光性)仅仅和极板间电压的有效值有关,和充电波形无关。电压的有效值用COM/SEG之间的电压差值的均方根VRMS表示。 4.Frame:扫描帧频 扫描频率,直接驱动液晶分子的交流电压的频率一般在60~100Hz之间,具体是依据LCDPanel 的面积和设计而定,频率过高,会导致驱动功耗的增加,频率过低,会导致显示闪烁,同时如果扫描频率同光源的频率之间有整倍数关系,则显示也会有闪烁现象出现。 二.驱动原理 方式一 根据LCD的驱动原理可知,LCD像素点上只能加上AC电压,LCD显示器的对比度由COM脚上的电压值减去SEG脚上的电压值决定,当这个电压差大于LCD的饱和电压就能打开像素点,小于LCD阈值电压就能关闭像素点,LCD型MCU已经由内建的LCD驱动电路自动产生LCD驱动信号,因此只要I/O口能仿真输出该驱动信号,就能完成LCD的驱动。由于LCD工作的最佳帖频率通常在25Hz~250Hz,一般设置刷新频率在60Hz左右即可。 现在考虑如何模拟出COM的波形。1/2Bias下COM0~COM3的LCD驱动波形如下:

离散数学之逻辑运算和命题公式真值表

1、逻辑联接词的运算 从键盘输入两个命题变元P和Q的真值,输出它们的合取、析取、条件、双条件和P的否定的真值。 #include int main() { int a,b; int hequ(int P,int Q); int xiqu(int P,int Q); int tiaojian(int P,int Q); int shuangtiaojian(int P,int Q); int Pfaoding(int P); int show(int a,int b); cout<<"请输入P和Q的真值:\n"; cin>>a>>b; show(a,b); return 0; } int hequ(int P,int Q) { if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; return(P&Q); } int xiqu(int P,int Q) { if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; return(P|Q); } int tiaojian(int P,int Q)

{ if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; if(P==1&&Q==0) return(0); else return(1); } int shuangtiaojian(int P,int Q) { if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; return(!P^Q); } int Pfaoding(int P) { if(P==0) P=P; else P=1; return(!P); } int show(int a,int b) { cout<<"P Q P∧Q P∨Q P→Q P←→Q ┐P"<

段码lcd基本知识

LCD基本常識 液晶顯示是一種被動的顯示,它不能發光,只能使用周圍環境的光。它顯示圖案或字元只需很小能量。正因為低功耗和小型化使LCD成為較佳的顯示方式。 液晶顯示所用的液晶材料是一種兼有液態和固體雙重性質的有機物,它的棒狀結構在液晶盒內一般平行排列,但在電場作用下能改變其排列方向。 對於正性TN-LCD,當未加電壓到電極時,LCD處於“OFF”態,光能透過LCD呈白態;當在電極上加上電壓LCD處於“ON”態,液晶分子長軸方向沿電場方向排列,光不能透過LCD,呈黑態。有選擇地在電極上施加電壓,就可以顯示出不同的圖案。 對於STN-LCD,液晶的扭曲角更大,所以對比度更好,視角更寬。STN-LCD是基於雙折射原理進行顯示,它的基色一般為黃綠色,字體蘭色,成為黃綠模。當使用紫色偏光片時,基色會變成灰色成為灰模。當使用帶補償膜的偏光片,基色會變成接近白色,此時STN成為黑白模即為FSTN,以上三種模式的偏光片轉90°,即變成了藍模,效果會更佳。 下圖是一個反射式TN型液晶顯示器的結構圖. 從圖中可以看出, 液晶顯示器是一個由上下兩片導電玻璃製成的液晶盒,盒內充有液晶,四周用密封材料- 膠框(一般為環氧樹脂)密封,盒的兩個外側貼有偏光片。 液晶盒中上下玻璃片之間的間隔,即通常所說的盒厚,一般為幾個微米(人的準確性直徑為幾十微米)。上下玻璃片內側,對應顯示圖形部分,鍍有透明的氧化甸- 氧化錫(簡稱ITO )導電薄膜,即顯示電極。電極的作用主要是使外部電信號通

過其加到液晶上去。 液晶盒中玻璃片內側的整個顯示區覆蓋著一層定向層。定向層的作用是使液晶分子按特定的方向排列,這個定向層通常是一薄層高分子有機物,並經摩擦處理;也可以通過在玻璃表面以一定角度用真空蒸鍍氧化矽薄膜來製備。 在TN 型液晶顯示器中充有正性向列型液晶。液晶分子的定向就是使長棒型的液晶分子平行于玻璃表面沿一個固定方向排列,分子長軸的方向沿著定向處理的方向。上下玻璃表面的定向方向是相互垂直的,這樣,在垂直於玻璃片表面的方向,盒內液晶分子的取向逐漸扭曲,從上玻璃片到下玻璃片扭曲了90 °(參見下圖),這就是扭曲向列型液晶顯示器名稱的由來。 實際上,靠近玻璃表面的液晶分子並不完全平行於玻璃表面,而是與其成一定的角度,這個角度稱為預傾角,一般為 1 ° ~2 °。 液晶盒中玻璃片的兩個外側分別貼有偏光片,這兩片偏光片的偏光軸相互平行(黑底白字的常黑型)或相互正交(白底黑字的常白型),且與液晶盒表面定向方向相互平行或垂直。偏光片一般是將高分子塑膠薄膜在一定的工藝條件下進行加工而成的。 我們通常所見的多是反向型的液晶顯示器,這種顯示器在下邊的偏振片後還貼有一片反光片。這樣,光的入射和觀察都是在液晶盒的同一側。

求给定命题公式的真值表并根据真值表求公式的主范式

求给定命题公式的真值表并根据真值表求公式的主范式(求给定命题公式的真值表并根据真值表求公式的主范式) 专业网络工程 班级 1202班 学号 12407442 姓名张敏慧 2013.12.14 目录 一.实验目的 ....................................................... 3 二.实验内容 (3) 求任意一个命题公式的真值 表 ..................................................................... ..... 3 三.实验环 境 (3) 四. 实验原理和实现过程(算法描述) (3) 1.实验原 理 ..................................................................... ...................................... 3 2.实验流程 图 ..................................................................... .................................. 5 五.实验代 码 (6) 六. 实验结果 (14)

七. 实验总结 (19) - 1 - 一.实验目的 本实验课程是网络工程专业学生的一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算;通过实验提高学生编写实验报告、总结实验结果的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。 熟悉掌握命题逻辑中的真值表、主范式等,进一步能用它们来解决实际问题。 二.实验内容 求任意一个命题公式的真值表,并根据真值表求主范式 详细说明: 求任意一个命题公式的真值表 本实验要求大家利用C/C,,语言,实现任意输入公式的真值表计算。一般我 们将公式中的命题变元放在真值表的左边,将公式的结果放在真值表的右边。命题变元可用数值变量表示,合适公式的表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现的n个命题变元,同时它也是一个二进制加法器的模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派。算法逻辑如下: (1)将二进制加法模拟器赋初值0 (2)计算模拟器中所对应的一组真值指派下合式公式的真值。 (3)输出真值表 中对应于模拟器所给出的一组真值指派及这组真值指派所对应的一行真值。 n(4)产生下一个二进制数值,若该数值等于2-1,则结束,否则转(2)。 三.实验环境; 使用visual C++6.0为编程软件,采用C语言为编程语言实现。

段码液晶显示屏采用静态驱动方式。所谓静态驱动,是指在所显示的

段码液晶显示屏的驱动方式简述 北京中显电子有限公司 段码液晶显示屏采用静态驱动方式。所谓静态驱动,是指在所显示的像素电极和共用电极上,同时连续地施加驱动电压,直到显示时间结束。由于在显示时间内驱动电压一直保持,故称做静态驱动。下面以最常用的笔段式TN液晶显示屏为例进行说明。 笔段式TN液晶显示屏是通过段形显示像素实现显示的。段形显示像素是指显示像素为一个长棒形,也称笔段形。在数字显示时,常采用七段电极结构,即每位数由一个“8”字形公共电极和构成“8”字图案的七个段形电极组成,分别设置在两块基板上,如图1所示。 图1七段笔段式液晶显示屏的电极排列图每个笔段的驱动电压为AC 3~5V,频率有32Hz、167Hz、200Hz 几种,工作时在背电极(COM)上持续加上占空比为1/2的连续方波,在要显示的笔段上施加一个与背电极上的电压波形相位相反、幅值相等、频率相同的连续方波,则在被显示笔段上加有正、负交替的两倍于方波幅值的电压,它应大于液晶显示器件的阈值电压14h;而在不

需要显示的笔段上施加一个与背电极上的电压波形相位相同、幅值相等、频率相同的波形,则该笔段上不能形成电场,当然也就不能显示。图2所示是一个笔段电极的液晶显示屏驱动电路原理和波形图。 图2 一个笔段电极的液晶显示屏驱动电路原理和波形图图2(a)是一个异或门电路。输入端A是由振荡电路产生的方波振荡脉冲勺并且直接与液晶显示屏的COM端连接。输入端B可接入高、低(ON/OFF)电平,用于控制电极的亮与灭。异或门的输出端C接液晶显示屏的笔段端前电极(a、b、c、d、e、f或g端)。 从图2(b)所示的异或门真值表中可以得到液晶显示屏(LCD)两端的交流驱动波形,如图2(c)所示。可见,当字段上两个电极的电压相位相同时,两电极之间的电位差为零,该字段不显示;当此字段上两个电极的电压相位相反时,两电极之间的电位差为两倍幅值的方波电压,该字段呈现黑色。

离散数学,逻辑学,命题公式求真值表

离散逻辑学实验 班级:10电信实验班学号:Q 姓名:王彬彬 一、实验目的 熟悉掌握命题逻辑中的联接词、真值表、主范式等,进一步能用它们来解决实际问题。 二、实验内容 1. 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。(A) 2. 求任意一个命题公式的真值表(B,并根据真值表求主范式(C)) 三、实验环境 C或C++语言编程环境实现。 四、实验原理和实现过程(算法描述) 1.实验原理 (1)合取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P∧Q, 读作P、Q的合取, 也可读作P与Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = T时方可P∧Q =T, 而P、Q只要有一为F则P∧Q = F。这样看来,P∧Q可用来表示日常用语P与Q, 或P并且Q。 (2)析取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P∨Q, 读作P、Q的析取, 也可读作P或Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = F, Q = F时方可P∨Q =F, 而P、Q只要有一为T则P∨Q = T。这样看来,P∨Q可用来表示日常用语P或者Q。 (3)条件:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P→Q, 读作P条件Q, 也可读作如果P,那么Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = F时方可P→Q =F,

其余均为T。 (4)双条件:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P←→Q, 读作P双条件于Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为当两个命题变项P = T, Q =T时方可P←→Q =T, 其余均为F。 (5)真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。 (6)主范式: 主析取范式:在含有n个命题变元的简单合取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单合取式为小项。由若干个不同的小项组成的析取式称为主析取范式;与A等价的主析取范式称为A的主析取范式。任意含n个命题变元的非永假命题公式A都存在与其等价的主析取范式,并且是惟一的。 主合取范式:在含有n个命题变元的简单析取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单析取式为大项。由若干个不同的大项组成的合取式称为主合取范式;与A等价的主合取范式称为A的主合取范式。任意含n个命题变元的非永真命题公式A都存在与其等价的主合取范式,并且是惟一的。 五、代码设计结果:

复合判断真值表

复合明体(判断)及其真值表 第一节联言判断 一、什么是联言判断 联言判断是断定若干事物情况共同存在的复合判断。例如: 泰山既雄伟,又壮丽。 联言判断由联言支和联言联结项构成。联言支可以有两个或三个以上,联言支通过联结项“并且”联结起来。一个二支联言判断的逻辑形式是: P并且q 在现代逻辑中,“并且”也可用“∧”(读作“合取”)表示。这样,联言判断的逻辑形式也可表示为: P∧q 在现代汉语中,联言判断用并列复句、递进复句、连贯复句、转折复句与某些单句表达。 二、联言判断的真假值 联言判断的真假决定于联言支的真假。一个联言判断,只有当它的联言支都真时,它才是真的,只要朋一个联言支假,它就是假的。 两个联言支中如果有一个假或者两个都假时,那么,这个联言判断就是假的。 联言判断的真假值与联言支的真假值的制约关系可以用下列真值表来表示: 现代逻辑认为,一个合取式(P∧q),只要支命题都真,即使支命题之间没有意义上的联系,也是真的。例如,“1+1=2,并且雪是白的”这个联言命题就是真的。然而,在实际思维和语言表达中,人们不满足于仅从真假值的角度对联言判断加以研究,而进一步从联言支之间不同意义上的联系作具体分析,以便准确使用这种判断。 三、使用联言判断要注意的几个问题 1、选择恰当的关联词语来表达联言判断 联言判断是对各种共同存在的事物情况的概括反映,而共同存在的事物情况之间的关系是有区别的。这种区别表现为并列关系、连贯关系(承接关系)、递进关系、转折关系。其语言形式则是并列复句、连贯复句、递进复句、转折复句。所以,在语言运用中,要根据联言支之间的实际关系选择恰当的关联词语来表达。 2、注意联言支的排列顺序 如“她结了婚,而且生了孩子”。

构造任意合式公式的真值表

构造任意合式公式的真值表 #include "stdio.h" #include"thesis.h" int main() { Thesis a[30]; char x='1'; int i=0,N; cout<<"请输入命题变元(不超过30个)(输入'0'结束输入):"<>x; if(i>19)

{cout<<"Error:变元个数太多!"<>A; cout<

for(int j=0;j #include

#include using namespace std; class Thesis //命题类 { int value;char name; //value:命题的真值(0/1)name:命题名 public: Thesis(){value=2;name='A';}; friend Thesis operator !(Thesis &q) {q.invalue(1-q.getvalue()); return q;} //重载逻辑运算符 friend Thesis operator &(Thesis &p,Thesis &q) {p.invalue((p.getvalue()+q.getvalue())/2); return p;} friend Thesis operator |(Thesis &p,Thesis &q)

段式液晶显示方法

MSP430F413单片机段式LCD设计中遇到的晶振、LCD驱动等问题 2011-08-11 17:40 这次设计所用到的微控制器为德州仪器(TI)的16位单片机 MSP430F413。 单从价格上面来说,这个是单片机也算是TI里面的最便宜的可以直接驱动段式96段 LCD 的单片机了,当时设计之初也是奔着价位而来的, 由于在工作中用到过MSP430单片机做过低功耗类的产品,所以对单片机的外围以及硬件结构还是略知一二的。 相对于stc单片机的开发工具来说 430的开发工具也只是个JTAG接口,但是这个接口的价格嘛也得60元左右,由于以前做过MSP430的项目,所以开发工具是现成的! 好了,言归正传,这次所用的LCD是淘宝上买的,详细资料如图所示:

是个四位的 lcd,以前确实没有接触过段式LCD ,数码管倒是接触的不少,所以自己由好奇心的趋势,自己就做了一块开发板,想试试LCD的感觉。 首先开发板打样回来之后,元器件焊好,随便写了个定时器的程序进去,发现程序在10秒钟之内是运行正常的(此时还没有安装LCD,只是个指示灯在跑),不过也有偶尔程序不运行的情况,后来自己就找原因; 1、mcu焊接不好? 2、复位电路焊接不好? 3、晶振焊接不好? 逐一排查,发现前两项是很正常的,虽然PQFP的封装还是焊接的不多,但是自己的焊功还是过的去的,于是就找晶振的问题。

但是如果是晶振自身的问题的话,可能就不起振或者起振频率不对,以至于系统根本就无法定时启动。 所以疑点越来越在晶振上面,后来发现晶振自身是没有问题的,主要是原因是因为晶振的管脚焊接位置距离单片机的 XIN XOUT 管脚的距离着实有点远,大概20mm的样子,加上线走的比较细 0.26mm,所以晶振启动异常,或者有时候根本不起振。 问题处在第3了。 没有办法只好用刻刀将晶振的线从单片机管脚出来大概3mm的地方划断,剥去丝印层,露出黄铜线,将晶振管脚直接焊接在黄铜线上,然后用硅胶枪将晶振和单片机封好,就是下面的样子(很丑但是很温柔)!

合泰单片机的段码液晶显示程序

合泰单片机的段码液晶显示程序 //======================================================// // 煜日升电子(深圳)有限公司// // 产品名称: 全自动胶带机// // 产品型号: RS7001 Ver2.00 // // 微控制器: HT49R30A-1 // // 软件版本: 1.00 f or RC (2.8MHz) // // [ 2006-07-29 16:34:50 | Author: zmli ] // //======================================================// #include <ht49r30a-1.h> #include "RS7001RC.h" void main() { initial(); DispLCD(Length); while (1) { _clrwdt(); ScanKey(); ScanStart(); LengthSetup(); Start_End(); } } /* ============================ Delay ========================== */ void delay(unsigned char cnt) { unsigned char i,j; for (i=0;i<=cnt;i++) { for (j=0;j<=100;j++){ _clrwdt(); } _clrwdt(); } } /* ========================== Initial ========================== */ void initial(void)

一文解析段码LCD液晶屏驱动方法

一文解析段码LCD液晶屏驱动方法 生活中小电器见到最多的lcd模组就是段码lcd液晶屏,段码lcd有普通的数码管的特征,又有点阵LCD的特征,固定的图形,优点是省成本而有好看,那么段码LCD 液晶屏是怎么驱动的呢?段码LCD液晶屏是如何显示的呢?跟随小编一起来了解一下吧。 段码LCD液晶屏驱动方法首先,不要以为用单片机来驱动就以为段码屏是直流驱动的,其实,段码屏是交流驱动,什么是交流?矩形波,正弦波等。大家可能会经常用驱动芯片来玩,例如HT1621等,但是有些段式屏IO口比较少,或者说IO口充足的情况下,也可以省去写控制器的驱动了。与单片机接口方便,而后者驱动电流小,功耗低、寿命长、字形美观、显示清晰、视角大、驱动方式灵活、应用广泛。但在控制上LCD较复杂,因为LCD电极之间的相对电压直流平均值必须为0,否则易引起LCD氧化,因此LCD不能简单地用电平信号控制,而要用一定波形的方波序列来控制。 LCD显示有静态和时分割两种方式,前者简单,但是需要较多的口线;后者复杂,但所需口线较少,这两种方式由电极引线的选择方式确定。下面以电子表的液晶显示为例,小时的高位同时灭或亮,分钟的高位在显示数码1~5时,其顶部和底部也是同时灭或亮,两个dot点也是同时亮或灭,其驱动方式是偏置比为1/2的时分割驱动,共有11个段电极和两个公共电极。但是,IO模拟驱动段式液晶有一个前提条件,就是IO必须是三态,为什么? 下面我们一起细细道来: 第一步,段码式液晶屏的重要参数:工作电压,占空比,偏压比。这三个参数非常重要,必须都要满足。 第二步,驱动方式:根据LCD 的驱动原理可知,LCD 像素点上只能加上AC 电压,LCD 显示器的对比度由COM脚上的电压值减去SEG 脚上的电压值决定,当这个电压差大于LCD 的饱和电压就能打开像素点,小于LCD 阈值电压就能关闭像素点,LCD 型MCU 已经由内建的LCD 驱动电路自动产生LCD 驱动信号,因此只要I/O 口能仿真输

如何辨别电子表上用的3位半段码式液晶屏的引脚顺序

如何辨别电子表上用的3位半段码式液晶屏的引脚顺序 首先说下电子表上的3位半段码式液晶,它一般有13根信号线,2个公共端(com端),11个段控制端(seg端),名称一般如下(其中K为半位,col 为中间的两点)顺序供参考。 1:com1 2:K/D1 3:E1/F1 4:A1/G1 5:B1/C1 6:col/D3 7:E2/F2 8:A2 D2 G2 9:B2/C2 10:E3/F3 11:A3/G3 12:B3/C3 13:com2 如果全部显示出来就是18:88。半位是说时间显示的最高位只有1字,也就是只有两段,这两段是同时显示或不显示的。剩下的3位都是7段的,当然中间还有两个点,同样也是同时显示或不显示。 1.购买2块相同的电子表,注意电子表的液晶屏全部显示时只有18:88. 2.拆开一块表(我们把这块表叫做表1),PCB板(也就是线路板)上会有13个长方形的触点,他们是排成一排的。用刀片将触点与线路板上的单片机(黑色的一个圆形凸起)之间的连线切断(切断时要尽量靠近单片机切)。 3.把切好的线路板上与触点相连的一段线的绝缘漆去掉,用烙铁把一小段导线焊上去,最好不要让锡粘到触点上。 4.把焊好的这一块电子表装好(不装电池),把引出的导线按顺序焊接在万能板上,同时焊好排针备用。 5.拆开另一块表(我们把这块表叫表2),用烙铁将导线焊接在线路板上的13个触点上。 6.把这块表也装好(不装液晶屏)。再把引出线按顺序焊接在万能板上,焊好排针。 这样准备工作就做好了,当然还要准备至少13根测试用的线,两端是能插在排针上的。 正式开始我们的测试引脚顺序工作了。 先说下两表的作用,表1我们是用它的液晶屏,表2我们是用它来驱动液晶屏的。 用测试线把表2的引出线与表1的引出线按顺序连接起来,这时我们看到屏上显示了正常的时间,如果没有显示正常的话那就是以上步骤有做错的,请一步步检查吧,不要怕麻烦啊,想用便宜的电子表液晶屏也不是容易的事啊,我咨询过专门做电子表液晶屏的厂家,他们说别人的液晶我是用不了的,我不相信才做

相关文档
相关文档 最新文档