版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 计算机科学与技术学院硬件课程设计报告姓 名: 学 号: 专 业: 计算机科学与技术学院 班 级: 网络工程11-3班 设计题目: 电子时钟万年历 成 员: 指导教师: 职 称: 副教授 2013年 12月 22日 徐州课程设计指导教师评阅书指导教师评语:成 绩: 指导教师签字: 年 月 日摘 要计时精确的电子时钟日历在我们生活中能处处能见到。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。本次课程设计我们做的是电子时钟日历,通过使用LCD液晶显示屏显示时间,脉冲是通过可编程8253芯片来提供的,其时间是通过8255来控制显示的,4*4数字键盘将要修改的时间提供
2、给8255芯片,然后8255芯片控制LCD液晶显示屏修改显示的时间。流程报告中有以下几个方面:任务设计与要求、总体方案、硬件设计、软件设计、结论及试验体会。49目 录1 设计任务与要求2 1.1 提出问题 2 1.1.1分析问题 2 2 总体方案2 2.1 总体方案概述 4 2.2 8253芯片简介 4 2.3 8255芯片简介 10 2.4 液晶屏LCD简介133硬件设计 15 3.1实物连接图 15 3.2硬件电路图连接 154 软件设计 16 4.1原理框图16 4.2软件设计模块17 4.3 软件设计问题分析18 4.4体流程图 18 4.5程序清单与注释 20 4.6验结果465实验
3、结论及体会 466参考文献47第一章 设计任务与要求1.1提出问题本次课程设计,我们主要是可编程定时/计数器芯片8253和并行接口芯片8255A、LED显示屏来实现电子日历时钟系统,首先,由定时/计数器芯片8253产生一定频率的时钟脉冲,将这个时钟脉冲输入到并行接口芯片8255A,再有并行接口芯片8255A处理并输出到LED显示屏实现时钟显示,这样可以实现可视化的电子日历时钟系统。1.1.1分析问题电子时钟主要是由时钟运算模块和显示模块两大部分组成,很显然,其中时钟运算模块要对时间的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要
4、清零,并向天进1,以此类推,再设置年月。这样,才能循环计时。2 总体方案2.1总体方案概述本实验采用LCD液晶显示屏作为实验芯片。采用8255来控制LCD的显示时间,用8253来定时刷新显示的时间。在本实验中,先采用8253提供一个1秒的脉冲给8255,然后8255在定时的控制LCD显示屏显示的时间。在修改显示屏的时间,用4*4的数字键盘将要修改的时间提供给8255,让后再让8255控制LCD显示屏显示的时间。其中,时间是用24小时制,年月日的形式输出的。其中判断年是否为闰年等等问题是通过软件的形式进行设计的。下面是本实验的总体方案 8253芯片提供1秒的脉冲4*4数字键盘8255芯片提供修改
5、的时间控制显示的时间LCD显示屏流程图说明:1.先采用8253提供一个1秒的脉冲给8255,然后8255在定时的控制LCD显示屏显示的时间2.用4*4的数字键盘将要修改的时间提供给8255,让后再让8255控制LCD显示屏显示的时间。材料清单:LCD液晶显示屏(ST7920A控制芯片)*1,8255芯片*1,8253芯片*1,4*4键盘*1,导线若干。2.1.1时钟运算模块时钟运算模块的主要功能时对时、分、秒的运算,并把运算出的最终结果存到事先开辟的内存单元里,以便显示模块即时地显示出来。因为8253所能提供的信号的周期时毫秒级的,所以用8253来直接计秒肯定是远远不够的,因此必须采用级联的方
6、式,通过软件的方法在运算模块中设置一个统计次数的变量,并且这一变量必须事先在内存里开辟存储单元。信号是8253的通道产生1秒的脉冲信号。运算模块负责时、分、秒的计算,在程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1、秒清零;当分加到60时,时加1、分清零。当时加到24时,直接清零。2.1.2显示模块 设置LCD显示屏,使LCD显示屏的一到四行分别显示:(1)第一行显示:万年日历(2)第二行显示日期:00/01/01(3)第三行显示时间:00:00:00(4)第四行显示星期:星期日2.2 8253芯片简介2.2.1 8253芯片内部结构intel8253是NMOS工艺
7、制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是
8、初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。2.2.2 8253芯片工作原理8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。一、8253内部结构8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CP
9、U之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。2.读/写控制 读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1和A0来选择。如表所示。3.通道选择(1) CS#片选信号,由CPU输入,低电平
10、有效,通常由端口地址的高位地址译码形成。(2) RD#、WR#读/写控制命令,由CPU输入, 低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中, 或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。4.计数通道02每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000H0FFFFH,最大计数值是0000H,代表65536。 采
11、用BCD码计数时,写入的初值范围为00009999,最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。(特别说明:8253计数器的值先减1再判断是否为0,为0就中断了,所以最大初始值为0,这样减1以后,不为0,所以为最大的,取决于CF标志位)当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入, 每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需
12、的计数值。并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”, 待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK输入的时钟频在12MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。 而后者是内时钟脉冲进行减“1”计数。作计数器时, 要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时, 计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:定时系数=需要定时的时间/时钟脉冲周期设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;计数/定时:向通道写
13、入计数值,启动计数操作;读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。计数到:当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号。计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。 5.方式选择控制字8253的初始化编程就是对其工作方式的确定。具体实现就是在8253上电后,由CPU向8253的控制寄存器写入一个控制字,就可以规定8253的工作方式、计数值的长度以及计数所用
14、的数制等,另外根据要求将计数值写入8253的相应通道。8253的一个方式控制字只决定一个技术通道的工作模式。二、8253的通道工作方式8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:1.方式0:计数结束则中断工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUTi输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数, 直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUTi端输出的
15、高电平一直维持到下次再写入计数值为止。在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数; 计数值将保持GATE有效时的数值不变, 待GATE重新有效后,减“1”计数继续进行。显然,利用工作方式0既可完成计数功能, 也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi端输入, 由它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变, 表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLK
16、i,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数, 定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi输出正跳变,表示定时时间到。有一点需要说明,任一通道工作在方式0情况下, 计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。 2.方式1:单脉冲发生器工作方式1被称作可编程单脉冲发生器。进入这种工作方式, CPU装入计数值n后OUTi输出高电平, 不管此时的GATE输入是高电平还是低电平, 都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电平向低电平
17、跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUTi输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。如果在减“1”计数过程中, GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE的上升沿,则从初值开始重新计数, 其效果会使输出的单脉冲加宽,如教材图9-22(b)中的第2个单脉冲。这种工作方式下,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲。3.方式2:速率波发生器工作方式2被称作速率波发生器。进入这种工作方式, OUTi输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数
18、,OUTi保持为高电平不变; 待计数值减到“1”和“0”之间, OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLKi周期, 重复周期为CLKi周期的n倍。如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。 如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。
19、4.方式3:方波发生器工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUTi输出低电平, 装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为n×CLKi周期,占空比为(n+1)/2)/(n-1)/2
20、)的近似方波序列。如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。这种工作方式下,当计数值计到“0”后, 系统将自动重新装入计数值n,但并不开始计数, 一定要等到由GATE端引入的正跳沿,才会开始进行减“1”计数, 因此这是一种完全由GATE端引入的触发信号控制下的计数或定时功能。如果由CLKi输入的是一定频率的时钟脉冲,那么可完成定时功能,定时时间从GATE上升沿开始,到OUTi端输出负脉冲结束。如果从CLK
21、i端输入的是要求计数的事件,则可完成计数功能,计数过程从GATE上升沿开始,到OUTi输出负脉冲结束。GATE可由外部电路或控制现场产生,故硬件触发方式由此而得名。如果需要改变计数初值, CPU可在任何时候用输出指令装入新的计数初值m,它将不影响正在进行的操作过程, 而是到下一个计数操作周期才会按新的计数值进行操作。从上述各工作方式可看出,GATE作为各通道的门控信号,对于各种不同的工作方式,它所起的作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保证各通道的正常操作。7.读取计数器的当前值直接读计数器:输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器
22、得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定。先锁存再读取:通过方式选择控制字对指定通道(SC1、SC0)的计数值锁入锁存器(RL1RL0=00), 锁存器一旦锁存了当前计数值,就不再随计数器变化直到被读取。读计数器通道(有锁存器)。2.3 8255芯片简介 2.3.1 8255引脚图解8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3
23、个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB:编
24、号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:(1)A口:编号为PA0PA7,用于8255向外设输入输出8位并行数据。(2)B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。(3
25、)C口:编号为PC0PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。3)控制器8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:(1)A组控制器:控制A口与上C口的输入与输出。(2)B组控制器:控制B口与下C口的输入与输出。2.3.2 8255的命令字D7 D6 D5 D4 D3 D2 D1 D0D7:特征位 D6D5:A组方式00=方式0 ,01=方式1,1X=方式2D4: A口0=输出,1=输入 D3:
26、C口C7C4 0=输出,1=输入D2:B组方式0=方式0,1=方式1D1: B口0=输出,1=输入D0:C口C3C0 0=输出,1=输入D7位为“1”时,为方式选择控制字的标识位。D6、D5位决定A端口的工作方式。D4位决定A端口工作在输入还是输出方式。D3位决定C端口高4位PC7PC4是作为输入端口,还是作为输出端口。D2位用来选择B端口的工作方式。D1位决定B端口作为输入还是输出端口。D0位决定C端口低4位PC3PC0作出为输入,还是输。2.3.3 8255工作方式3种工作方式可用软件编程对控制口设置来指定。三种基本的工作方式为: 方式0基本的输入输出,方式1选通输入输出方式, 方式2双向
27、传送方式。1) 工作方式0(基本输入输出方式)功能:方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,无锁存,C口还具有按位将其各位清0或置1的功能。常用于与外设无条件的数据传送或接收外设的数据。2) 工作方式1(选通输入输出方式)A口借用C口的一些信号线用作控制和状态信号,组成A组,B口借用C口的一些信号线用作控制和状态信号,组成B组。在方式1下,C口的某些位被占用。方式1的输出:当A口工作于方式1且用作输出口时,C口的PC7线用作输出缓冲器满OBF信号,
28、PC6用作外设收到数据后的响应信号ACK,PC3用作中断请求输出信号线INTR。当B口工作于方式l且用作输出口时,C口的PC1线用作输出缓冲器满OBF信号,PC2用作外设收到数据后的响应信号ACK,PC0用作中断请求输出信号线INTR。3) 工作方式2 (双向输入输出方式)功能:方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。2.4液晶屏LCD2.4.1工作原理简单的来说,屏幕能显示的基本原理就是在两块平行板之间填充液晶材料,通过电压来改变液晶材料内部分子的排在列状况,以达到遮光和透光的目的
29、来显示深浅不一,错落有致的图象,而且只要在两块平板间再加上三元色的滤光层,就可实现显示彩色图象。认识了它的结构和原理,了解了它的技术和工艺特点,才能在选购时有的放矢,在应用和维护时更加科学合理。液晶是一种有机复合物,由长棒状的分子构成。在自然状态下,这些棒状分子的长轴大致平行。LCD第一个特点是必须将液晶灌入两个列有细槽的平面之间才能正常工作。这两个平面上的槽互相垂直(90度相交),也就是说,若一个平面上的分子南北向排列,则另一平面上的分子东西向排列,而位于两个平面之间的分子被强迫进入一种90度扭转的状态。由于光线顺着分子的排列方向传播,所以光线经过液晶时也被扭转90度。但当液晶上加一个电压时
30、,分子便会重新垂直排列,使光线能直射出去,而不发生任何扭转。LCD的第二个特点是它依赖极化滤光片和光线本身,自然光线是朝四面八方随机发散的,极化滤光片实际是一系列越来越细的平行线。这些线形成一张网,阻断不与这些线平行的所有光线,极化滤光片的线正好与第一个垂直,所以能完全阻断那些已经极化的光线。 只有两个滤光片的线完全平行,或者光线本身已扭转到与第二个极化滤光片相匹配,光线才得以穿透。LCD正是由这样两个相互垂直的极化滤光片构成,所以在正常情况下应该阻断所有试图穿透的光线。但是,由于两个滤光片之间充满了扭曲液晶,所以在光线穿出第一个滤光片后,会被液晶分子扭转90度,最后从第二个滤光片中穿出。另一
31、方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光片挡住。总之,加电将光线阻断,不加电则使光线射出。当然,也可以改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。但由于液晶屏幕几乎总是亮着的,所以只有"加电将光线阻。(a)典型的七段式LED器件 (b) 共阳极LED (c) 共阴极LED技术参数对比度LCD制造时选用的控制IC、滤光片和定向膜等配件,与面板的对比度有关,对一般用户而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度平还不能满足用户的需求。相对CRT显示器轻易达到500:1甚至更高的对比度而言,只有高档液晶
32、显示器才能达到这样如此程度。市场上三星、华硕、LG等一线品牌如今LCD显示器均可以达到1000:1对比度这一级别,但是由于对比度很难通过仪器准确测量,所以挑的时候还是要自己亲自去看才行。亮度LCD是一种介于固态与液态之间的物质,本身是不能发光的,需借助要额外的光源才行。因此,灯管数目关系着液晶显示器亮度。最早的液晶显示器只有上下两个灯管,发展到现在,普及型的最低也是四灯,高端的是六灯。四灯管设计分为三种摆放形式:一种是四个边各有一个灯管,但缺点是中间会出现黑影,解决的方法就是由上到下四个灯管平排列的方式,最后一种是“U”型的摆放形式,其实是两灯变相产生的两根灯管。六灯管设计实际使用的是三根灯管
33、,厂商将三根灯管都弯成“U”型,然后平行放置,以达到六根灯管的效果。响应时间响应时间指的是液晶显示器对于输入信号的反应速度,也就是液晶由暗转亮或由亮转暗的反应时间( 亮度从10%->90% 或者90%->10%的时间),通常是以毫秒(ms)为单位。要说清这一点我们还要从人眼对动态图像的感知谈起。人眼存在“视觉残留”的现象,高速运动的画面在人脑中会形成短暂的印象。动画片、电影等一直到现在最新的游戏正是应用了视觉残留的原理,让一系列渐变的图像在人眼前快速连续显示,便形成动态的影像。人能够接受的画面显示速度一般为每秒24张,这也是电影每秒24帧播放速度的由来,如果显示速度低于这一标准,人
34、就会明显感到画面的停顿和不适。按照这一指标计算,每张画面显示的时间需要小于40ms。这样,对于液晶显示器来说,响应时间40ms就成了一道坎,高于40ms的显示器便会出现明显的画面闪烁现象,让人感觉眼花。要是想让图像画面达到不闪的程度,则就最好要达到每秒60帧的速度。可视角度LCD的视角度是一个让人头疼的问题,当背部光源通过偏极片、液晶和取向层之后,输出的光线便具有了方向性。也就是说大多数光都是从屏幕中垂直射出来的,所以从某一个较大的角度观看液晶显示器时,便不能看到原本的颜色,甚至只能看到全白或全黑。为了解决这个问题,制造厂商们也着手开发广角技术,到目前为止有三种比较流行的技术,分别是:TN+F
35、ILM、IPS(IN-PLANE -SWITCHING)和MVA(MULTI-DOMAIN VERTICAL alignMENT)。区别LEDLED是发光二极管Light Emitting Diode的英文缩写。LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,中国的设计和生产技术水平基本与国际同步。LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。LCD显示器的原文是Liq
36、uid Crystal Display,取每字的第一个字母组成,中文多称液晶平面显示器或液晶显示器。其工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。 LCD的好处有: 与CRT显示器相比,LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。3 硬件设计3.1实物连接图本实验采用可编程芯片8255,8253作为实验芯片。用LCD液晶显示屏来显示时间,用4*4键盘来修改时间。本实验的试验箱硬件电路图连接如下:3.2硬件电路图连接线路连接:4 软件设计4.1原理流程图因为
37、我负责时间及键盘的编写,所以流程图只列下面两个,其他不在多余赘述。4.1.1“时”加一流程图开始 检测0键是否按下 否是时加一 判断个位是否为10判断十位是否为2 否判断个位是否是4 是 是时置零个位置零,十位加一是 否结束上述流程图是对万年历中“时”加一的流程图,年月日以及分秒与之类似,不在重复“时”减一流程图开始 否检测4键是否按下 是判断个位是否小于零否是判断十位是否为零个位置零,十位减一 是时置为23结束上述流程图是对万年历中“时”减一的流程图,年月日以及分秒与之类似,不在重复4.1.2 键盘原理流程图4.2软件模块实现主体功能:1)LCD显示屏上显示的时间是与现实时间是一致的。2)可
38、通过4*4数字键盘来修改LCD显示屏上的时间。3)8255实现键盘扫描判断键是否按下4)8253 加入1m脉冲5v电压实现脉冲送入82554.3软件设计中的问题分析软件在设计过程中主要问题就是键盘扫描以及如何加时间、键盘很好的加减时间、月份的30 31 或更特殊的时间的设定。怎样通过编程8255,来接收8253的脉冲,判断脉冲,进而刷新显示的时间;其次就是通过4*4数字键盘的输入给8255芯片,然后使得LCD显示屏上的时间更变。运行程序初始化延时12ms键扫描保存键值按键合?键释放?结束键闭合?YYYNNN4.4主体流程图(如下图)8253芯片 编程实现 提供1秒的脉冲4*4键盘8255芯片
39、提供修改的时LCD液晶显示屏刷新时间修改时间l 2系统模块详细设计与调试² 1在主程序中要分别对8254和8255初始化编程。具体如下:8254控制字:MOV DX,PORT_8253MOV AL,00110101B ;写入控制字,0通道,方式2OUT DX,ALMOV DX,PORT_0MOV AL,00HOUT DX,ALMOV AL,10HOUT DX,ALMOV DX,PORT_8253MOV AL,01110111B ;1通道,方式3OUT DX,ALMOV DX,PORT_1MOV AL,00HOUT DX,ALMOV AL,10HOUT DX,AL8255控制字:MOV
40、 DX,PORT_8255 ;8255初始化MOV AL,80HOUT DX,AL4.5程序清单与注释PORT_A EQU 288HPORT_B EQU 289HPORT_C EQU 28AHPORT_8255 EQU 28BHPORT_0 EQU 280HPORT_1 EQU 281HPORT_2 EQU 282HPORT_8253 EQU 283HDATA SEGMENT; 0 1 2 3 4 5 6 7TABLE1 DB 77H,7BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH; 8 9 A B C D E F DB 0D7H,0DBH,0DDH,0DEH,0E7H,0EB
41、H,0EDH,0EEHHZ_SEC02 DW 0A3B0HHZ_SEC01 DW 0A3B0HHZ_MIN02 DW 0A3B0HHZ_MIN01 DW 0A3B0HHZ_HOU02 DW 0A3B0HHZ_HOU01 DW 0A3B0HHZ_TIM DW 0A1C3H ;符号":"HZ_SYM DW 0A1C3HHZ_YEAR02 DW 0A3B0HHZ_YEAR01 DW 0A3B0HHZ_MON02 DW 0A3B1HHZ_MON01 DW 0A3B0HHZ_DAY02 DW 0A3B1HHZ_DAY01 DW 0A3B0HHZ_DATE DW 0A3AFHHZ_WE
42、EK DW 0A3B6HHZ_WEEK01 DW 0D0C7H ;字体"星"HZ_WEEK02 DW 0C6DAH ;字体"期"HZ_X DW 0A1EFH ;符号""HZ_W DW 0CDF2H ;字体"万"HZ_N DW 0C4EAH ;字体"年"HZ_R DW 0C8D5H ;字体"日"HZ_L DW 0C0FAH ;字体"历"HZ_ADR DB ?DATA ENDSSTACK1 SEGMENT STACKDW 50 DUP(0)TOP_STAC L
43、ABEL WORDSTACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,STACK1MOV SS,AXLEA SP,TOP_STACMOV AX,DATAMOV DS,AXMOV DX,PORT_8255 ;8255初始化MOV AL,80HOUT DX,ALCALL CLEAR ;LCD清除CALL FUCTION_A ;日期显示 ;8253的编程MOV DX,PORT_8253MOV AL,00110101B ;写入控制字,0通道,方式2OUT DX,ALMOV DX,PORT_0MOV AL,00HOUT DX,ALMOV A
44、L,10HOUT DX,ALMOV DX,PORT_8253MOV AL,01110111B ;1通道,方式3OUT DX,ALMOV DX,PORT_1MOV AL,00HOUT DX,ALMOV AL,10HOUT DX,ALMAIN: LP: MOV DX,PORT_C TEST DX,10H ;检测B口是否有1秒脉冲 JNZ LP TEST DX,00H JNZ LP INC HZ_SEC02 ;秒的个位加一;判断是否有键按下MOV DX,PORT_8255MOV AL,10001010B ;A口输出,B口输入,C口低四位输出,高四位输入OUT DX,ALMOV DX,PORT_A ;
45、A口为行,向所有的行输出0MOV AL,00HOUT DX,ALMOV DX,PORT_BRET_TO_1:MOV AL,0FEHMOV CL,ALNEXT_ROW_1:MOV DX,PORT_AOUT DX,ALMOV DX,PORT_BIN AL,DXAND AL,0FHCMP AL,0FH ;判断是否有键按下JNE JP_1CMP CL,0EFHJE FUCROL CL,01MOV AL,CLJMP NEXT_ROW_1JP_1: CALL JPFUC:CALL FUCTION_00 ;时间的进位CALL FUCTION_01 ;日期的进位CALL FUCTION_02 ;星期的进位CA
46、LL FUCTION_A ;日期显示JMP MAINFUCTION_00 PROC CMP HZ_SEC02,0A3BAH ;判断是否为十,是跳转到秒进位子程序JE TIM_NEXT_01RETTIM_NEXT_01:INC HZ_SEC01 ;秒的十位加一MOV HZ_SEC02,0A3B0H ;个位置零CMP HZ_SEC01,0A3B6H ;判断是否为六,是跳转JE TIM_NEXT_02RETTIM_NEXT_02:INC HZ_MIN02 ;分的个位加一MOV HZ_SEC01,0A3B0HCMP HZ_MIN02,0A3BAH ;判断是否为十,是跳转JE TIM_NEXT_03RETTIM_NEXT_03:INC HZ_MIN01 ;分的十位加一MOV HZ_MIN02,0A3B0H CMP HZ_MIN01,0A3B6H ;判断是否大于六,是跳转JE TIM_NEXT_04RETTIM_NEXT_04:INC HZ_HOU02 ;时的十位加一MOV HZ_MIN01,0A3B0HCMP HZ_HOU01,0A3B2H ;判断是否为二,是跳转J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年暑期工劳动合同标准文本集3篇
- 番禺2025版租赁市场房源代理服务合同
- 2024结款协议合同范本
- 二零二四年国际货物销售合同:FOB条款与运输2篇
- 二零二五版高校毕业生就业指导与职业规划服务合同6篇
- 二零二五版电影剧本改编与制作投资合同范本3篇
- 2024物联网应用项目建设的合同标的
- 年度健腹椅竞争策略分析报告
- 年度全自动板框污泥脱水机产业分析报告
- 2025年度教育领域临时工招聘及教学质量合同4篇
- 第7课《中华民族一家亲》(第一课时)(说课稿)2024-2025学年统编版道德与法治五年级上册
- 2024年医销售药销售工作总结
- 急诊科十大护理课件
- 山东省济宁市2023-2024学年高一上学期1月期末物理试题(解析版)
- GB/T 44888-2024政务服务大厅智能化建设指南
- 2025年上半年河南郑州荥阳市招聘第二批政务辅助人员211人笔试重点基础提升(共500题)附带答案详解
- 山东省济南市历城区2024-2025学年七年级上学期期末数学模拟试题(无答案)
- 国家重点风景名胜区登山健身步道建设项目可行性研究报告
- 投资计划书模板计划方案
- 《接触网施工》课件 3.4.2 隧道内腕臂安装
- 2024-2025学年九年级语文上学期第三次月考模拟卷(统编版)
评论
0/150
提交评论