TFTLCD显示实验

TFTLCD显示实验
TFTLCD显示实验

C语言课程设计报告---字符串处理

课程设计报告 课程设计题目:研究生初试录取 学生:俊 专业:计算机应用技术 班级: 1140302 指导教师:宋文琳 2012年 06 月 23日

目录 一)实验题目 (3) 二)实验目的 (3) 三)实验要求 (3) 四)实验思路 (4) 五)实验过程 (6) 六)实验调试和结果 (9) 七)实验小结 (13)

实验题目 字符串处理 (1)不使用系统库函数,编写多个函数实现; (2)定义字符数组存放字符串,从键盘输入; (3)调用不同的函数,实现字符串的连接、拷贝、比较、求字符串长度、对字符串字符进行排序、查找字符串中某个字符是否存在; (4)分别输出以上字符串处理的结果。 二)实验目的 本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体等相关容的综合应用,使学生能进一步熟悉掌握C语言的基本语法,进一步提升编程能力并逐步培养编程思维,进而不断提高学生解决问题的能力,并为以后的语言学习打下良好的基础。三)实验要求 1. 学生独立完成课程设计的主要容; 2. 按照实验课表安排进行,不得无故旷课; 3.按照选题规则确定课程设计题目,不可随意更换,但可在完成规定的任务之后,根据 个人兴趣选做其它题目; 4.严格按照报告格式撰写课程设计报告; 5.程序实现方式可以自选,可采用指针、数组或其任意组合方式完成。

四)实验思路1)整体思路

五)实验过程 代码: #include void main() {void lianjie(char a[],char b[]); void kaobei(char a[],char b[]); void bijiao(char a[],char b[]); void qiuchangdu(char a[],char b[]); void paixu(char a[],char b[]); void chazhao(char a[],char b[],char c); char str1[50],str2[40]; char t; int i; printf("需要进行的操作:1.连接;2.拷贝;3.比较;4.求长度;5.排序;6.查找\n"); scanf("%d",&i); if(i==1) {printf("要连接的字符串1:"); scanf("%s",str1); printf("要连接的字符串2:"); scanf("%s",str2); lianjie(str1,str2);} else if(i==2) {printf("拷贝的字符串1:"); scanf("%s",str1); printf("要拷贝的字符串2:"); scanf("%s",str2); kaobei(str1,str2);} else if(i==3)

TFT-LCD液晶显示器的工作原理

TFT-LCD液晶显示器的工作原理 我一直记得,当初刚开始从事有关液晶显示器相关的工作时,常常遇到的困扰,就是不知道怎么跟人家解释,液晶显示器是什么? 只好随着不同的应用环境,来解释给人家听。在最早的时候是告诉人家,就是掌上型电动玩具上所用的显示屏,随着笔记型计算机开始普及,就可以告诉人家说,就是使用在笔记型计算机上的显示器。随着手机的流行,又可以告诉人家说,是使用在手机上的显示板。时至今日,液晶显示器,对于一般普罗大众,已经不再是生涩的名词。而它更是继半导体后另一种可以再创造大量营业额的新兴科技产品,更由于其轻薄的特性,因此它的应用范围比起原先使用阴极射线管(CRT,cathode-ray tube)所作成的显示器更多更广。 如同我前面所提到的,液晶显示器泛指一大堆利用液晶所制作出来的显示器。而今日对液晶显示器这个名称,大多是指使用于笔记型计算机,或是桌上型计算机应用方面的显示器。也就是薄膜晶体管液晶显示器。其英文名称为Thin-film transistor liquid crystal display,简称之TFT LCD。从它的英文名称中我们可以知道,这一种显示器它的构成主要有两个特征,一个是薄膜晶体管,另一个就是液晶本身。我们先谈谈液晶本身。 液晶(LC,liquid crystal)的分类 我们一般都认为物质像水一样都有三态,分别是固态液态跟气态。其实物质的三态是针对水而言,对于不同的物质,可能有其它不同的状态存在。以我们要谈到的液晶态而言,它是介于固体跟液体之间的一种状态,其实这种状态仅是材料的一种相变化的过程,只要材料具有上述的过程,即在固态及液态间有此一状态存在,物理学家便称之为液态晶体。

TFT LCD显示原理详解

TFT LCD显示原理详解 <什么是液晶> 我们一般认为物体有三态:固态、液态、气态,其实这只是针对水而言,有一些有机化和物还有介于固态和液态中间的状态就是液晶态,如下图(一): 图(一) a:背景 两块偏光的栅栏角度相互垂直时光线就完全无法通过,图(六)是用偏光太阳镜做的测试。 图(六) b:TFT LCD显示原理 液晶显示器就是利用偏光板这个特性来完成的,利用上下两片栅栏之间互垂直的偏光板之间充满了液晶,在利用电场控制液晶分支的旋转,来改变光的行进方向,如此一来,不同的电场大小,就会形成不同颜色度了,如图(七)。

图(七) b-1:当在不加上电极的时候,当入射的光线经过下面的偏光板(起偏器)时, 会剩下单方向的光波,通过液晶分子时, 由于液晶分子总共旋转了90度, 所以当光波到达上层偏光板时, 光波的极化方向恰好转了90度。下层的偏光板与上层偏光板, 角度也是恰好差异90度。所以光线便可以顺利的通过,如果光打在红色的滤光片上就显示为红色。效果如图(七)中前两个图所示。 b-2:当在加上电极后(最大电极),液晶分子在受到电场的影响下,都站立着,光路没有改变,光就无法通过上偏光板,也就无法显示,如图(七)蓝色滤光片下面的液晶。 c:TFT-LCD驱动电路。 为了显示任意图形,TFT-LCD用m×n点排列的逐行扫描矩阵显示。在设计驱动电路时,首先要考虑液晶电解会使液晶材料变质,为确保寿命一般都采用交流驱动方式。已经形成的驱动方式有:电压选择方式、斜坡方式、DAC方式和模拟方式等。由于TFT-LCD主要用于笔记本计算机,所以驱动电路大致分成:信号控制电路、电源电路、灰度电压电路、公用电极驱动电路、数据线驱动电路和寻址线驱动电路(栅极驱动IC)。上述驱动电路的主要功能是:信号控制电路将数字信号、控制信号以及时钟信号供给数字IC,并把控制信号和时钟信号供给栅极驱动IC;电源电路将需要的电源电压供给数字IC和栅极驱动IC;灰度电压电路将数字驱动电路产生的10个灰度电压各自供给数据驱动;公用电极驱动电路将公用电压供给相对于象素电极的共享电极;数据线驱动电路将信号控制电路送来的RGB信号的各6个比特显示数据以及时钟信号,定时顺序锁存并续进内部,然后此显示数据以6比特DA变换器转换成模拟信号,再由输出电路变换成阻抗,供给液晶屏的资料线;栅极驱动电路将信号控制电路送来的时钟信号,通过移位寄存器转换动作,将输出电路切换成ON/OFF电压,并顺次加到液晶屏上。最后,将驱动电路装配在TAB (自动焊接柔性线路板)上,用ACF(各向异性导电胶膜)、TCP(驱动电路柔性引带)与液晶显示屏相连接。 d:TFT-LCD工作原理 首先介绍显示原理。液晶显示的原理基于液晶的透光率随其所施电压大小而变化的特性。当光通过上偏振片后,变成线性偏振光,偏振方向与偏振片振动方向一致,与上下玻璃基板上面液晶分子排列顺序一致。当光通过液晶层时,由于受液晶折射,线性偏振光被分解为两束光。又由于这两束光传播速度不同(相位相同),因而当两束光合成后,必然使振光的振动方向发生变化。通过液晶层的光,则被逐渐扭曲。当光达到下偏振片时,其光轴振动方向被扭曲了90度,且与下偏振片的振动方向保持一致。这样,光线通过下偏振片形成亮场。加上电压以后,液晶在电场作用下取向,扭曲消失。这时,通过上偏振片的线性偏振光,在液晶层不再旋转,无法通过下偏振片而形成暗场。可见液晶本身不发光,在外光源的调制下,才能显示,在整个显示过程中,液晶起到一个电压控制的光阀作用。TFT-LCD的工作原理则可简述为:当栅极正向电压大于施加电压时,漏源电极导通,当栅极正向电压等于0或负电压时,漏源电极断开。漏电极与ITO象素电极连结,源电极与源线(列电极)连结,栅极与栅线(行电极)连结。这就是TFT-LCD的简单工作原理

实验三 数组和字符串

实验三数组和字符串 一、实验目的 1.掌握Java中的数组定义、引用 2.掌握向量的基本概念和应用技术 3.掌握使用字符串String类处理字符串的方法 4.掌握使用字符串StringBuffer类处理字符串的方法 5.掌握Date类以及Calendar类的常用方法; 二、实验内容 1.使用https://www.360docs.net/doc/4a18907287.html,ng.Math类,生成100 个100~999 之间的随机整数,找出他们之中的最大的和最小的,并统计随机产生的大于300 的整数个数。 package exercise; publicclass shiyan3_1 { publicstaticvoid main(String [] args) { int count=0; int max=0; int min=Integer.MIN_VALUE; int num[]=newint[100];//声明并创建一个具有100 个元素的整型数组对象num int i; for(i=1;i<=100;i++) { num[i-1]=100+(int)(Math.random()*899); System.out.print(num[i-1]+"\t");//随机产生一个100~999 之间的随机整数 if(i % 10 == 0) System.out.println();//输出当前产生的随机数,并一行输出10 个数 if(num[i-1]>max) max=num[i-1]; if(num[i-1]300) count++; } System.out.println("最大的随机整数是:"+max); System.out.println("最小的随机整数是:"+min); System.out.println("大于300 的整数个数是:"+count); } }

TFT LCD液晶显示器的驱动原理

TFT LCD液晶显示器的驱动原理 我们针对feed through电压,以及二阶驱动的原理来做介绍.简单来说Feed through电压主要是由于面板上的寄生电容而产生的,而所谓三阶驱动的原理就是为了解决此一问题而发展出来的解决方式,不过我们这次只介绍二阶驱动,至于三阶驱动甚至是四阶驱动则留到下一次再介绍.在介绍feed through电压之前,我们先解释驱动系统中gate driver所送出波形的timing图. SVGA分辨率的二阶驱动波形 我们常见的1024*768分辨率的屏幕,就是我们通常称之为SVGA分辨率的屏幕.它的组成顾名思义就是以1024*768=786432个pixel来组成一个画面的数据.以液晶显示器来说,共需要1024*768*3个点(乘3是因为一个pixel需要蓝色,绿色,红色三个点来组成.)来显示一个画面.通常在面板的规划,把一个平面分成X-Y轴来说,在X轴上会有1024*3=3072列.这3072列就由8颗384输出channel的source driver 来负责推动.而在Y轴上,会有768行.这768行,就由3颗256输出channel的gate driver来负责驱动.图1就是SVGA分辨率的gate driver输出波形的timing图.图中gate 1 ~ 768分别代表着768个gate

driver的输出.以SVGA的分辨率,60Hz的画面更新频率来计算,一个frame的周期约为16.67 ms.对gate 1来说,它的启动时间周期一样为16.67ms.而在这16.67 ms之间,分别需要让gate 1 ~ 768共768条输出线,依序打开再关闭.所以分配到每条线打开的时间仅有16.67ms/768=21.7us而已.所以每一条gate d river打开的时间相对于整个frame是很短的,而在这短短的打开时间之内,source driver再将相对应的显示电极充电到所需的电压. 而所谓的二阶驱动就是指gate driver的输出电压仅有两种数值,一为打开电压,一为关闭电压.而对于common电压不变的驱动方式,不管何时何地,电压都是固定不动的.但是对于common电压变动的驱动方式,在每一个frame开始的第一条gate 1打开之前,就必须把电压改变一次.为什么要将这些输出电压的t iming介绍过一次呢?因为我们接下来要讨论的feed through电压,它的成因主要是因为面板上其它电压的变化,经由寄生电容或是储存电容,影响到显示电极电压的正确性.在LCD面板上主要的电压变化来源有3个,分别是gate driver电压变化,source driver电压变化,以及common电压变化.而这其中影响最大的就是gate driver电压变化(经由Cgd或是Cs),以及common电压变化(经由Clc或是Cs+Clc). Cs on common架构且common电压固定不动的feed through电压 我们刚才提到,造成有feed through电压的主因有两个.而在common电压固定不动的架构下,造成f eed through电压的主因就只有gate driver的电压变化了.在图2中,就是显示电极电压因为feed thro ugh电压影响,而造成电压变化的波形图.在图中,请注意到gate driver打开的时间,相对于每个frame 的时间比例是不正确的.在此我们是为了能仔细解释每个frame的动作,所以将gate driver打开的时间画的比较大.请记住,正确的gate driver打开时间是如同图1所示,需要在一个frame的时间内,依序将7

实验3MATLAB矩阵分析与处理和字符串操作实...

实验三 MATLAB 矩阵分析与处理、字符串操作 一、实验目的 1.掌握生成特殊矩阵的方法 2.熟练掌握矩阵的特殊操作及一些特殊函数 3.熟练掌握MATLAB 的字符串操作 4.掌握MATLAB 矩阵的关系运算及逻辑运算法则 二、实验内容 1.特殊矩阵分析与处理操作 常用的产生通用特殊矩阵的函数有:zeros( );ones( );eye( );rand( );randn( ). 下面建立随机矩阵。 (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶随机矩阵。 说明:产生(0 ,1)区间均匀分布随机矩阵使用rand 函数,假设得到了一组满 足(0,1)区间均匀分布的随机数x i ,则若想得到任意[a,b]区间上均匀分布的随机数,只需要用i i x a b a y )(-+=计算即可。产生均值为0、方差为1的标准正态分布随机矩阵使用randn 函数,假设已经得到了一组标准正态分布随机数x i ,如果想要更一般地得到均值为i i x y ,、σμσμ+=可用的随机数方差为2计算出来。针对本例,命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 建立对角阵。 diag( )函数除了可以提取矩阵的对角线元素以外,还可以用来建立对角矩阵。 设V 为具有m 个元素的向量,diag(V)将产生一个m*m 对角矩阵,其主对角线元素即为向量V 的元素。例如: diag([1,2,-1,4])

ans= 40000 10000 20000 1 diag(V)函数也有另一种形式diag(V ,k),其功能是产生一个n*n(n=m+|k|)的对角矩阵,其第k 条对角线的元素即为向量V 的元素。例如: diag(1:3,-1) ans=03000 0200 0010 000 矩阵的旋转 函数rot90(A,k)表示将矩阵A 以90度为单位对矩阵按逆时针方向进行k 倍的旋转。 rem 与mod 函数的区别 练习: 1> 写出完成下列操作的命令。 (1)建立3阶单位矩阵A 。eye(3) (2)建立5*6随机矩阵A ,其元素为[100,200]范围内的随机整数。 A=100+(200-100)*rand(5,6) (3)产生均值为1,方差为0.2的500个正态分布的随机数。 B=1+sqrt(0.2)*randn(50,10) (4)产生和A 同样大小的零矩阵。 zeros(size(A)) (5)将矩阵A 主对角线的元素加30。 B=eye(5,6)*30 A+B (6)从矩阵A 提取主对角线元素,并以这些元素构成对角阵。 B=diag(diag(A)’) 注:转置是把列向量转变成行向量。 2> 先建立5*5的矩阵A ,然后将A 的第一行元素乘以1,第二行元素乘以2,…,第五行乘以5。(提示:用一个对角矩阵左乘一个矩阵时,相当于用对角阵的

TFT LCD 原理详解

TFT LCD液晶显示器的驱动原理 TFT LCD液晶显示器的驱动原理(一) 我们针对TFT LCD的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于Cs(storage capacitor)储存电容架构不同, 所形成不同驱动系统架构的原理. Cs(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是Cs on gate与Cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在CMOS的制程之中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容Cs.

图1就是这两种储存电容架构, 从图中我们可以很明显的知道, Cs on gate由于不必像Cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因素. 所以现今面板的设计大多使用Cs on gate的方式. 但是由于Cs on gate的方式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的Cs on gate与Cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时 ,便会影响到储存电容上储存电压的大小. 不过由于下一条gate走线打开到关闭的时间很短,(以1024*768分辨率, 60Hz更新频率的面板来说. 一条gate走线打开的时间约为20us, 而显示画面更新的时间约为16ms, 所以相对而言, 影响有限.) 所以当下一条gate走线关闭, 回复到原先的电压, 则Cs储存电容的电压, 也会随之恢复到正常. 这也是为什么, 大多数的储存电容设计都是采用Cs on gate 的方式的原因. 至于common走线, 我们在这边也需要顺便介绍一下. 从图2中我们可以发现, 不管您采用怎样的储存电容架构, Clc的两端都是分别接到显示电极与common. 既然液晶是充满在上下两片玻璃之间, 而显示电极与TFT都是位在同一片玻璃上, 则common电极很明显

实验四 数组及其字符串的处理

实验四数组及其字符串的处理 1.输入一串英文字母,统计每个字母(不区分大小写)出现的次数。(输 出统计结果时一律显示为小写字母) 如输入:Good 则输出:字母d有1个 字母g有1个 字母o有2个 请根据提示填空,使程序实现相应功能。 #include main() { char ch[10000]; //用于保存输入的字母串 int nnum[26]=【1】;/* 赋初值,使各元素值为0 nnum用于存储各字母出现的次数, 因字母表共有26个字母,因此元素个数为26 */ int i,j; printf("请输入一串字母\n"); scanf("%s",【2】);//读取字符串 i=0;//变量i用于遍历整个字符串各元素,初值为0,表示从字符数组首元素开始 while(【3】) //依次读取各元素,直至遇到字符串结束符’\0’ { j=(ch[i]>=65&&ch[i]<=90)?ch[i]-65:ch[i]-97; /*若输入为字母,则用j 保存其在字母表中的位 次*/ if (【4】)nnum[j]++;//若j值不超限,则将该字母累计数加1 【5】;// 改变i值,换至下一个元素 } for(i=0;i<26;i++) if(nnum[i]!=0) printf("字母%c有%d个\n",97+i,【6】); //按题目要求输出结果 return; } 编程题 2.输入10个整数存入数组,找出其中的最大数及其位置。 (位置从0开始编号)

3.求裴波那契数列(1 1 2 3 5 8 13 21 34……)的前18项。 4.求字符串长度(实现strlen 函数的功能) 提示:可参考第1题。 5.输入一个5*5的矩阵(#define N 5),求 (1)所有元素的和 (2)主对角线元素之和 (3)最大值及最小值所在位置 #include main() { double mat[5][5]; int i,j; 【此处补充定义其它所需变量】 for(i=0;i<5;i++) for (j=0;j<5;j++) scanf("%lf",&mat[i][j]); 【完成其余代码,实现该题(1)(2)(3)的功能】 return; }

TFT液晶显示屏原理

传统电视机采用CRT作为图像的显示器件,它体积大、重量重、屏幕尺寸受限制等缺点,目前在电视机上的应用已经逐步被薄而轻的液晶和等离子显示屏取代,这样我们从事电视维修的技术人员就必须尽快的掌握被称为平板电视的液晶、等离子电视的维修技术。 目前在家庭中;液晶电视和CRT电视一样;一般是用来接收电视台播放的模拟电视节目;把接收下来的模拟电视节目,经过处理;由显示器重现图像。但是作为液晶电视机和CRT电视机的本身,两者则有巨大的区别: 首先图像显示器件:CRT电视采用的是一个体积较大、厚度大的显像管;液晶电视则采用的是一块显示面积较大,厚度很薄的液晶显示屏,厚度小于10公分;可以悬挂在墙上所以也成为平板电视。 在电视机的信号处理电路上:除高频头电路、中频放大电路、视频检波电路以外;视频小信号处理电路已经完全不同了,普通的CRT电视机一般采用的是模拟电路来处模拟信号(高清CRT除外);液晶电视是采用数字的方式来处理模拟信号。并且计算机软件技术、总线技术及大规模数字集成电路的大量应用等,电视机的电原理图越来越计算机化,我们原来的维修人员基本上缺乏数字电路的知识,对图纸也越来越看不懂。也无法去分析故障。 在开关电源电路上;为了克服CRT电视机开关电源电流波形的畸变而引起的电磁干扰(EMC)和电磁兼容(EMI)问题,目前生产的液晶电视均采用了PFC 技术,这样具有PFC功能的开关电源其电路原理及结构异常复杂。而且对于属于被动发光的液晶显示屏,还要有一个对液晶显示屏背光灯供电的背光高压板,这两项也是我们维修人员必须要过的一道门槛。 在所用的元器件上:比较突出的是在开关电源等大功率电路中采用了性能优秀的MOS管,取代过去常用的大功率晶体三极管作为开关管应用,电源部分的故障率大大降低,但是由于MOS管和普通大功率晶体三极管特性的不同,激励及周边电路也完全不同。对我们维修人员也是一个新的课题。 从上述看;要掌握液晶电视的维修除了要了解液晶屏成像的简单道理外,最主要的还是要掌握CRT电视机原来没有应用过的新技术、新电路、新元器件的知识,看懂电路并能分析电路原理,并掌握新型元器件的结构、性能、正确的应用方法,了解一下数字电路的基本知识,这样,修理液晶电视和原来修理显像管电视机一样得心应手,甚至还要简单。 本文重点就是前期CRT电视没有的新技术、新知识入手入以通俗语言全面详细介绍,最后以典型液晶电视进行整机电路分析及故障检查、故障分析乃至故障排除方法及典型案例。引导大家逐步掌握液晶电视机的维修技能。本书的目的是;从原理的讲解为主;以提高维修人员分析问题及处理问题的能力为目的,认识到基层知识的重要性,逐步改善,不按原理分析故障、盲目修机的现象。本书的特点是;复杂的原理均配以大量的图片;以“看图识字”的方式学习新知识、新技术。 在介绍液晶显示屏的工作原理之前,先把液晶究竟是什么,液晶控制光线的道理是什么简单的介绍一下 1、液晶是什么? 液晶是一种有机化合物,是液体;但是其分子具有固体水晶(水晶石)分子的特性,水晶石的分子对光具有优秀的投射和折射性能(用水晶石制造的镜片、镜头都是性能优秀、昂贵的)。 液晶的分子除了对光有优秀的特性以外;并且对电场有极其敏感的特性;把

实验5字符串的操作

博客网站设定了校验密码的规则,编写方法检验一个字符串是否是合法的密码。规则如下: 密码长度在8-16 之间 密码只能包含字母和数字 密码必须存在至少2 个数字如果用户输入的密码符合 2. import java.util.Scanner; 3. import java.util.regex.Pattern; 4. public class Check { 5. public static void main(String[] args) { 6. System.out.println("请输入密码:"); 7. Scanner sc = new Scanner(System.in); 8. String str = sc.next(); 9. Check ch = new Check(); 10. ch.checkup(str); 11. sc.close(); 12. } 13. 14. public void checkup(String str) { 15. String patternStr1 = "([0-9]|[a-zA-Z]){8,16}"; 16. String patternStr2 = ".*\\d.*\\d.*"; 17. boolean result1 = Pattern.matches(patternStr1, str); 18. boolean result2 = Pattern.matches(patternStr2, str); 19. if (result1 && result2) { 20. System.out.println(" valid password"); 21. } else { 22. System.out.println(" Invalid password "); 23. } 24. } 25. } 26. String patternStr2 = ".*\\d.*\\d.*"; 27. boolean result1 = Pattern.matches(patternStr1, str); 28. boolean result2 = Pattern.matches(patternStr2, str); 29. if (result1 && result2) { 30. System.out.println(" valid password"); 31. } else { 32. System.out.println(" Invalid password "); 33. } 34. } 35. } 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到Student 类中作为类的私有属性。创建一个Student 类型的对象数组,对学号进行升序排序并输出 /*从键盘输入多行文本,格式如下: 学生端名称,姓名,班级名称,学生ID,注册时间 姜涛,姜涛,,20092212232,2011-11-4 9:06:56

TFT显示原理

我们针对TFT LCD的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于Cs(storage capacitor)储存电容架构不同, 所形成不同驱动系统架构的原理. Cs(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是Cs on gate与Cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在CMOS的制程之中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容Cs. 图1就是这两种储存电容架构, 从图中我们可以很明显的知道, Cs on gate由于不必像Cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因素. 所以现今面板的设计大多使用Cs on gate的方式. 但是由于Cs on gate的方式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的Cs on gate与Cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时 ,便会影响到储存电容上储存电压的大小. 不过由

实验六 字符串处理及基础类库

实验六字符串处理及基础类库 一、实验目的 1、理解并掌握String类、StringBuffer类; 2、理解并掌握StringTokenizer类 3、掌握字符串与其他数据类型的转换 4、掌握Math类的使用。 5、了解和掌握集合框架类。 6、掌握Java Application命令行参数的使用 二、实验内容与要求 1.,理解String类的使用 利用下面的关键代码编写一个完整的程序 String s=new String("This is an demo of the String method."); //String s="This is an demo of the String method."; System.out.println("Length: "+s.length()); System.out.println("SubString: "+s.substring(11,15)); public class theString { public static void main(String[] args){ String s=new String("This is an demo of the String method."); //String s="This is an demo of the String method."; System.out.println("Length: "+s.length()); System.out.println("SubString(int):"+s.substring(11)); System.out.println("SubString(int, int): "+s.substring(11,15)); } } 2.理解StringBuffer类的使用 利用下面的关键代码编写一个完整的程序 StringBuffer sb=new StringBuffer("Hello World!"); sb.append(" Hello Java!"); sb.insert(12," And"); System.out.println(sb); System.out.println(sb.charAt(0)); sb.setCharAt(0,''h''); System.out.println(sb.charAt(0)); System.out.println(sb);

字符及字符串输入输出与顺序程序设计实验

微机原理第二次试验字符及字符串输入输出与顺序程序设计实验 班级: 姓名: 学号: 日期:

字符及字符串输入输出与顺序程序设计实验 2.2.1 实验目的 1、学习和掌握字符及字符串的输入输出方法。 2、掌握顺序程序的设计方法。 3、进一步掌握调试工具的使用方法。 2.2.2 实验预习要求 1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能号为 0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。 2、复习BCD码运算调整指令。 3、根据“2.2.3 实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。 4、从“2.2.4 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.2.3实验内容 从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 1、问题分析 比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。由于数字0?9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。综上所述,需要考虑以下问题。 (1)从键盘输入一个一位十进制数的方法 通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下: MOV AH, 01H INT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中 SUB AL, 30H ;减去30H后得到键入数字所代表的数值 (2)提示信息字符串的显示 通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为’$’。指令格式如下: MOV D X, OFFSET INFOR1 ;INFOR1为在数据段中定义的要显示的字符串 MOV AH, 09H INT 21H (2)非压缩型BCD数加法调整指令的使用 设从键盘输入的数值已存放在寄存器AL, BL中,可用下列程序完成数据相加和调整操作:XOR AH,AH ADD A L, BL AAA ;执行该指令后,AH中为和的十位上的数字,AL中为个位上的数字 请读者考虑,为什么要使用指令“XOR AH,AH”,不用行否? (3)计算结果的显示 执行完AAA指令后,只需分别将AH(十位上的数值)和AL(个位上的数值)加上30H,并依次调

实验六字符及字符串处理

实验六字符及字符串处理 一、实验目的 1.掌握头文件ctype.h的用法; 2.掌握常用函数isalpha、isdigit、isspace、isupper、islower、toupper、tolower等常用函数的使用。 3.掌握常用字符串处理函数strcmp、strcat等的模拟。 二、实验内容 1.字符处理练习。编写一个程序提示用户输入一系列字符,只提示一次。在循环中使用scanf(“%c”,…)语句,一次读入一个字符。根据输入内容生成如下输出结果:一次一行,回显输入字符;调用isalpha()检查是否为字母,若是调用touper()函数将其转换为大写字母,如果不是,则打印出一条错误信息,如果字符为句点,打印一条说明信息后退出。 2.回文。设计一个程序测试一条语句是否是回文:即从前向后读和从后向前读的字母都是相同的。首先提示用户输入一条语句。使用getchar一次读入所有字符,直至出现句号为止。读取过程中要求:(1)回显输入字符;(2)调用tolower()函数将每个字符转换成小写;(3)计算读入字符的个数(包括句号在内);(4)将转换后的字符保存在数组的下一个元素中。算法提示:从数组的结尾和开始位置一起比较字母。比较第1个和最后一个,第2个和倒数第2个,依此类推。如果有一对无法匹配,则退出循环后宣布该条语句不是回文。如果一直进行到语句中内始科没有出现问题,则停止然后宣布输入语句为回文。假设输入内容不会超过80个字符。 3.不用库函数模拟strcat和strcmp函数。 三、选做内容 1.检测字符。使用字符分类函数将字符分成几个类:大写字母、小写字母、数字、代白字符和其他符号。编写一个函数完成测试。在主函数中读取一系列字符,直至遇到句号为止。回显每个输入字符,并找印出相应的标注。计算每个类别出现的次数。处理句号的同时为句号计数,然后打印出字符总额并退出程序。算法提示:使用一个计数器数组,递增计数器时可用枚举常量作为数组的下标。 2.编写一个程序在表格中显示ASCII代码,类似附录中的ASCII表格。不要试图直接打印无法打印的字符,跳过列出十六进制代码的列。 四、常见错误 1.char和int。理论上讲,在C语言中,字符就是极短的整数。但在要领上又是一种独立的类型,有自己独立的操作和不同的输入输出方法。确保不要进行无谓的操作,例如两个字符相乘等; 2.字符输入。输入字符时,空白字符是可能造成困扰的原因。Scanf()对数字类型的输入转换处理自动跳过之前的空白字符,在读取第1个非空白字符时才开始存储数据。但是,无论是否空白字符,getchar()都返回第1个字符,带有“%c”的scanf也是一样。为了跳过之前的空白字符,必须使用带有“%c”限定词(格式中的百分号之前包括一个空格)的scanf()。如果遗漏了这个空格,程序就可能读取空白字符并试图将其翻译成为数据,这通常都会导致出现错误。因此,程序员必须清楚地知道自己想做什么(读取空白字符还是跤过空白字符),然后为任务选择恰当的输入机制。 实验七字符串(二) 一、实验目的 1.熟练掌握字符串的匹配查找。 2.熟练掌握字符串的插入操作。 3.熟练掌握字符串的压缩还原处理。 二、实验内容 1.改错题 以下程序对一个由字母和数字字符组成的字符串从头至尾作如下变换:

北理工_汇编_实验三_字符串操作实验

本科实验报告 实验名称: 字符串操作实验 课程名称: CPU 与汇编实验 实验时间: 任课教师: 实验地点: 实验教师: 实验类型: □ 原理验证 ■ 综合设计 □ 自主创新 学生姓名: 学号/班级: 组 号: 无 学 院: 信息与电子 同组搭档: 无 专 业: 信息工程 成 绩:

一、实验要求和目的 1.了解汇编语言字符串处理基本流程; 2.熟悉汇编语言字符串处理基本指令的使用方法; 3.掌握利用汇编语言实现字符串处理的程序设计方法。 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有 MASM、DEBUG、LINK等应用程序。 三、实验涉及的主要知识 1、字符串处理基本操作流程 (1)利用 SI 寄存器保存源串首地址; (2)利用 DI 寄存器保存目的串首地址; (3)利用 CX 寄存器保存字符串长度; (4)利用 CLD 或 STD 指令设置字符串处理方向; (5)利用字符串处理指令实现相关处理。 其中,CLD 指令使 DF=0,在执行串处理指令时可使地址自动增量;STD 使 DF=1,在执行串处理指令时可使地址自动减量。 2、重复前缀指令,重复次数由计数寄存器 CX 中存放的值决定,指令每重复执行一次,计数器 CX 中值减 1,当 CX 中值减至 0 时,停止重复执行,继续执行下一条指令REP无条件重复前缀,重复串操作直到计数寄存器的内容 CX 为0为止。经常与REP 配合工作的字符串处理指令有 MOVS、STOS 和 LODS。 REPE/REPZ 判断计数寄存器的内容 CX 是否为0或ZF=0(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有 CMPS 和SCAS。 REPNE/REPNZ 判断计数寄存器的内容是否为0或ZF=1(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ 配合工作的串指令有 CMPS 和SCAS。 3、字符串处理基本指令 (1)MOVS 传送指令 格式:MOVS DST,SRC或 MOVSB(传送字节)或 MOVSW(传送字)。后面两种形式需要与 REP 指令结合使用。该指令把由源变址寄存器(SRC)指向的数据段中的一个字(或字节)数据传送到由目的变址寄存器(DST)指向的附加段中的一个字(或字节)中去,同时,根据方向标志及数据格式(字或字节)对源变址寄存器和目的变址寄存器进行修改。 (2)STOS 存入串指令 格式:STOS DST 或 STOSB(存入字节)或 STOSW(存入字)。 该指令把 AL 或 AX 的内容存入由目的变址寄存器指向的附加段的某单元中,并根据方向标志(DF)和数据类型修改目的变址寄存器的内容。

TFT LCD操作原理(上)--液晶简介.simple

TFT LCD液晶显示器的操作原理(上) -- 液晶(Liquid crystal)简介 谢崇凯 我一直记得, 当初刚开始从事有关液晶显示器相关的工作时, 常常遇到的困扰, 就是不知道怎么跟人家解释, 液晶显示器是什么? 只好随着不同的应用环境, 来解释给人家听. 在最早的时候是告诉人家, 就是掌上型电动玩具上所用的显示屏, 随着笔记型计算机开始普及, 就可以告诉人家说, 就是使用在笔记型计算机上的显示器. 随着手机的流行, 又可以告诉人家说, 是使用在手机上的显示板. 时至 今日, 液晶显示器, 对于一般普罗大众, 已经不再是生涩的名词. 而它更是继半导体后另一种可以再创造大量营业额的新兴科技产品, 更由于其轻薄的特性, 因此它的应用范围比起原先使用阴极射线管(CRT, cathode-ray tube)所作成的显 示器更多更广. 如同我前面所提到的, 液晶显示器泛指一大堆利用液晶所制作出来的显示器. 而今日对液晶显示器这个名称, 大多是指使用于笔记型计算机, 或是桌上型计算机应用方面的显示器. 也就是薄膜晶体管液晶显示器. 其英文名称为Thin-film transistor liquid crystal display, 简称之TFT LCD. 从它的英文名称中我们可以知道, 这一种显示器它的构成主要有两个特征, 一个是薄膜晶体管, 另一个就是液晶本身. 我们先谈谈液晶本身. 液晶(LC, liquid crystal)的分类 我们一般都认为物质像水一样都有三态, 分别是固态液态跟气态. 其实物质的三态是针对水而言, 对于不同的物质, 可能有其它不同的状态存在. 以我们要谈到的液晶态而言, 它是介于固体跟液体之间的一种状态, 其实这种状态仅是材料的一种相变化的过程(请见图1), 只要材料具有上述的过程, 即在固态及液态间有 此一状态存在, 物理学家便称之为液态晶体. 这种液态晶体的首次发现, 距今已经度过一百多个年头了. 在公元1888年, 被奥地利的植物学家Friedrich Reinitzer所发现, 其在观察从植物中分离精制出的安息香酸胆固醇(cholesteryl benzoate)的融解行为时发现, 此化合物加热至145.5度℃时, 固体会熔化,呈现一种介于固相和液相间之半熔融流动白浊状液体. 这种状 况会一直维持温度升高到178.5度℃, 才形成清澈的等方性液态(isotropic liquid). 隔年, 在1889年, 研究相转移及热力学平衡的德国物理学家O.Lehmann, 对此化合物作更详细的分析. 他在偏光显微镜下发现, 此黏稠之半流动性白浊液体化合物,具有异方性结晶所特有的双折射率(birefringence)之光学性质, 即光学异相性(optical anisotropic). 故将这种似晶体的液体命名为液晶. 此后, 科学家将此一新发现的性质, 称为物质的第四态-液晶(liquid crystal). 它在某一特定温度的范围内, 会具有同时液体及固体的特性. 一般以水而言, 固体中的晶格因为加热, 开始吸热而破坏晶格, 当温度超过熔点

相关文档
最新文档