电子时钟日历系统-8253 -8255

电子时钟日历系统-8253 -8255
电子时钟日历系统-8253 -8255

计算机科学与技术学院

硬件课程设计报告

姓名:学号:

专业:计算机科学与技术学院

班级:网络工程11-3班

设计题目:电子时钟万年历

成员:

指导教师:职称:副教授

2013年12月22日徐州

课程设计指导教师评阅书

指导教师评语:

成绩:指导教师签字:

年月日

摘要

计时精确的电子时钟日历在我们生活中能处处能见到。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。本次课程设计我们做的是电子时钟日历,通过使用LCD液晶显示屏显示时间,脉冲是通过可编程8253芯片来提供的,其时间是通过8255来控制显示的,4*4数字键盘将要修改的时间提供给8255芯片,然后8255芯片控制LCD液晶显示屏修改显示的时间。流程报告中有以下几个方面:任务设计与要求、总体方案、硬件设计、软件设计、结论及试验体会。

目录

1设计任务与要求 (2)

1.1提出问题 (2)

1.1.1分析问题 (2)

2总体方案 (2)

2.1总体方案概述 (4)

2.28253芯片简介 (4)

2.3 8255芯片简介 (10)

2.4 液晶屏LCD简介 (13)

3硬件设计 (15)

3.1实物连接图 (15)

3.2硬件电路图连接 (15)

4软件设计 (16)

4.1原理框图 (16)

4.2软件设计模块 (17)

4.3软件设计问题分析 (18)

4.4体流程图 (18)

4.5程序清单与注释 (20)

4.6验结果 (46)

5实验结论及体会 (46)

6参考文献 (47)

第一章设计任务与要求

1.1提出问题

本次课程设计,我们主要是可编程定时/计数器芯片8253和并行接口芯片8255A、LED显示屏来实现电子日历时钟系统,首先,由定时/计数器芯片8253产生一定频率的时钟脉冲,将这个时钟脉冲输入到并行接口芯片8255A,再有并行接口芯片8255A处理并输出到LED显示屏实现时钟显示,这样可以实现可视化的电子日历时钟系统。

1.1.1分析问题

电子时钟主要是由时钟运算模块和显示模块两大部分组成,很显然,其中时钟运算模块要对时间的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零,并向天进1,以此类推,再设置年月。这样,才能循环计时。

2 总体方案

2.1总体方案概述

本实验采用LCD液晶显示屏作为实验芯片。采用8255来控制LCD的显示时间,用8253来定时刷新显示的时间。

在本实验中,先采用8253提供一个1秒的脉冲给8255,然后8255在定时的控制LCD显示屏显示的时间。在修改显示屏的时间,用4*4的数字键盘将要修改的时间提供给8255,让后再让8255控制LCD显示屏显示的时间。其中,时间是用24小时制,年月日的形式输出的。其中判断年是否为闰年等等问题是通过软件的形式进行设计的。

下面是本实验的总体方案

流程图说明:

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来直接计秒肯定

是远远不够的,因此必须采用级联的方式,通过软件的方法在运算模块中设置一个统计次数的变量,并且这一变量必须事先在内存里开辟存储单元。信号是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工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)

8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数

器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。

执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE 和OL都是16位寄存器,但是也可以作8位寄存器来用。

2.2.2 8253芯片工作原理

8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。

一、8253内部结构

8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。

1.数据总线缓冲器

数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU 之间的数据接口,它由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输入,低电平有效,通常由端口地址的高位地址译码形成。

(2) RD#、WR#——读/写控制命令,由CPU输入,低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。

4.计数通道0~2

每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时,写入的初值范围为0000H~0FFFFH,最大计数值是0000H,代表65536。采用BCD码计数时,写入的初值范围为0000~9999,最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。(特别说明:8253计数器的值先减1再判断是否为0,为0就中断了,所以最大初始值为0,这样减1以后,不为0,所以为最大的,取决于CF标志位)

当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。OUT端将有

输出。表示计数次数到。当某个通道用作定时器时。由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK 输入的时钟频在1~2MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。而后者是内时钟脉冲进行减“1”计数。作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时,计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:

定时系数=需要定时的时间/时钟脉冲周期

①设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道

及工作方式;

②计数/定时:向通道写入计数值,启动计数操作;

③读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。

④计数到:当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号。

计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。

锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。

5.方式选择控制字

8253的初始化编程就是对其工作方式的确定。具体实现就是在8253上电后,由CPU 向8253的控制寄存器写入一个控制字,就可以规定8253的工作方式、计数值的长度以及计数所用的数制等,另外根据要求将计数值写入8253的相应通道。

8253的一个方式控制字只决定一个技术通道的工作模式。

二、8253的通道工作方式

8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:

1.方式0:计数结束则中断

工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时,OUTi输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数,直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUTi端输出的高电平一直维持到下次再写入计数值为止。

在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1

时,允许减“1”计数;GATE=0时,禁止减“1”计数;计数值将保持GATE有效时的数值不变,待GATE重新有效后,减“1”计数继续进行。

显然,利用工作方式0既可完成计数功能,也可完成定时功能。当用作计

数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi 端输入,由

它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变,表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数,定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi输出正跳变,表示定时时间到。

有一点需要说明,任一通道工作在方式0情况下,计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。

2.方式1:单脉冲发生器

工作方式1被称作可编程单脉冲发生器。进入这种工作方式,CPU装入计数值n后OUTi输出高电平,不管此时的GATE输入是高电平还是低电平,都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电平向低电平跳变,

形成了输出单脉冲的前沿,待计数值计到“0”,OUTi输出由低电平向高电平跳变,形成输出单脉冲的后沿,因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。

如果在减“1”计数过程中,GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE的上升沿,则从初值开始重新计数,其效果会使输出的单脉冲加宽,如教材图9-22(b)中的第2个单脉冲。

这种工作方式下,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲。

3.方式2:速率波发生器

工作方式2被称作速率波发生器。进入这种工作方式,OUTi输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUTi保持为高电平不变;待计数值减到“1”和“0”之间,OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列,其脉冲宽度固定为一个CLKi周期,重复周期为CLKi周期的n倍。

如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE 恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。

如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值,它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。

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)的近似方波序列。

如果在操作过程中,GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。

如果要求改变输出方波的速率,则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。

这种工作方式下,当计数值计到“0”后,系统将自动重新装入计数值n,但并不开始计数,一定要等到由GATE端引入的正跳沿,才会开始进行减“1”计数,因此这是一种完全由GATE端引入的触发信号控制下的计数或定时功能。如果由CLKi输入的是一定频率的时钟脉冲,那么可完成定时功能,定时时间从GATE上升沿开始,到OUTi端输出负脉冲结束。如果从CLKi端输入的是要求计数的事件,则可完成计数功能,计数过程从GATE上升沿开始,到OUTi输出负脉冲结束。GATE可由外部电路或控制现场产生,故硬件触发方式由此而得名。

如果需要改变计数初值,CPU可在任何时候用输出指令装入新的计数初值m,它将不影响正在进行的操作过程,而是到下一个计数操作周期才会按新的计数值进行操作。

从上述各工作方式可看出,GATE作为各通道的门控信号,对于各种不同的工作方式,

它所起的作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保证各通道的正常操作。

7.读取计数器的当前值

⑴直接读计数器:输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定。

⑵先锁存再读取:①通过方式选择控制字对指定通道(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个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。

1)与CPU连接部分

根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:

(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。

(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。

(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。

2)与外设接口部分

根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:

(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

(2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。

(3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。

3)控制器

8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:

(1)A组控制器:控制A口与上C口的输入与输出。

(2)B组控制器:控制B口与下C口的输入与输出。

2.3.2 8255的命令字

D7 D6 D5 D4 D3 D2 D1 D0

D7:特征位D6D5:A组方式00=方式0 ,01=方式1,1X=方式2

D4:A口0=输出,1=输入D3:C口C7~C4 0=输出,1=输入D2:B组方式0=方式0,1=方式1

D1: B口0=输出,1=输入D0:C口C3~C0 0=输出,1=输入

D7位为“1”时,为方式选择控制字的标识位。

D6、D5位决定A端口的工作方式。

D4位决定A端口工作在输入还是输出方式。

D3位决定C端口高4位PC7~PC4是作为输入端口,还是作为输出端口。

D2位用来选择B端口的工作方式。

D1位决定B端口作为输入还是输出端口。

D0位决定C端口低4位PC3~PC0作出为输入,还是输。

2.3.3 8255工作方式

3种工作方式可用软件编程对控制口设置来指定。三种基本的工作方式为:方式0-基本的输入输出,方式1-选通输入输出方式,方式2-双向传送方式。

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信号,PC6用作外设收到数据后的响应信号ACK,PC3用作中断请求输出信号线INTR。

当B口工作于方式l且用作输出口时,C口的PC1线用作输出缓冲器满OBF信号,PC2用作外设收到数据后的响应信号ACK,PC0用作中断请求输出信号线INTR。

3) 工作方式2 (双向输入输出方式)

功能:方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。

2.4液晶屏LCD

2.4.1工作原理

简单的来说,屏幕能显示的基本原理就是在两块平行板之间填充液晶材料,通过电压来改变液晶材料内部分子的排在列状况,以达到遮光和透光的目的来显示深浅不一,错落有致的图象,而且只要在两块平板间再加上三元色的滤光层,就可实现显示彩色图象。

认识了它的结构和原理,了解了它的技术和工艺特点,才能在选购时有的放矢,在应用和维护时更加科学合理。液晶是一种有机复合物,由长棒状的分子构成。在自然状态下,这些棒状分子的长轴大致平行。LCD第一个特点是必须将液晶灌入两个列有细槽的平面之间才能正常工作。这两个平面上的槽互相垂直(90度相交),也就是说,若一个平面上的分子南北向排列,则另一平面上的分子东西向排列,而位于两个平面之间的分子被强迫进入一种90度扭转的状态。由于光线顺着分子的排列方向传播,所以光线经过液晶时也被扭转90度。但当液晶上加一个电压时,分子便会重新垂直排列,使光线能直射出去,而不发生任何扭转。LCD的第二个特点是它依赖极化滤光片和光线本身,自然光线是朝四面八方随机发散的,极化滤光片实际是一系列越来越细的平行线。这些线形成一张网,阻断不与这些线平行的所有光线,极化滤光片的线正好与第一个垂直,所以能完全阻断那些已经极化的光线。只有两个滤光片的线完全平行,或者光线本身已扭转到与第二个极化滤光片相匹配,光线才得以穿透。LCD正是由这样两个相互垂直的极化滤光片构成,所以在正常情况下应该阻断所有试图穿透的光线。但是,由于两个滤光片之间充满了扭曲液晶,所以在光线穿出第一个滤光片后,会被液晶分子扭转90度,最后从第二个滤光片中穿出。另一方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光片挡住。总之,加电将光线阻断,不加电则使光线射出。当然,也可以改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。但由于液晶屏幕几乎总是亮着的,所以只有"加电将光线阻。

(a)典型的七段式LED器件 (b) 共阳极LED (c) 共阴极LED

技术参数

对比度

LCD制造时选用的控制IC、滤光片和定向膜等配件,与面板的对比度有关,对一般用户而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度平还不能满足用户的需求。相对CRT显示器轻易达到500:1甚至更高的对比度而言,只有高档液晶显示器才能达到这样如此程度。市场上三星、华硕、LG等一线品牌如今LCD显示器均可以达到1000:1对比度这一级别,但是由于对比度很难通过仪器准确测量,所以挑的时候还是要自己亲自去看才行。

亮度

LCD是一种介于固态与液态之间的物质,本身是不能发光的,需借助要额外的光源才行。因此,灯管数目关系着液晶显示器亮度。最早的液晶显示器只有上下两个灯管,发展到现在,普及型的最低也是四灯,高端的是六灯。四灯管设计分为三种摆放形式:一种是四个边各有一个灯管,但缺点是中间会出现黑影,解决的方法就是由上到下四个灯管平排列的方式,最后一种是“U”型的摆放形式,其实是两灯变相产生的两根灯管。六灯管设计实际使用的是三根灯管,厂商将三根灯管都弯成“U”型,然后平行放置,以达到六根灯管的效果。

响应时间

响应时间指的是液晶显示器对于输入信号的反应速度,也就是液晶由暗转亮或由亮转暗的反应时间( 亮度从10%-->90% 或者90%-->10%的时间),通常是以毫秒(ms)为单位。要说清这一点我们还要从人眼对动态图像的感知谈起。人眼存在“视觉残留”的现象,高速运动的画面在人脑中会形成短暂的印象。动画片、电影等一直到现在最新的游戏正是应用了视觉残留的原理,让一系列渐变的图像在人眼前快速连续显示,便形成动态的影像。人能够接受的画面显示速度一般为每秒24张,这也是电影每秒24帧播放速度的由来,如果显示速度低于这一标准,人就会明显感到画面的停顿和不适。按照这一指标计算,每张画面显示的时间需要小于40ms。这样,对于液晶显示器来说,响应时间40ms就成了一道坎,高于40ms的显示器便会出现明显的画面闪烁现象,让人感觉眼花。要是想让图像画面达到不闪的程度,则就最好要达到每秒60帧的速度。

可视角度

LCD的视角度是一个让人头疼的问题,当背部光源通过偏极片、液晶和取向层之后,输出的光线便具有了方向性。也就是说大多数光都是从屏幕中垂直射出来的,所以从某一个较大的角度观看液晶显示器时,便不能看到原本的颜色,甚

至只能看到全白或全黑。为了解决这个问题,制造厂商们也着手开发广角技术,到目前为止有三种比较流行的技术,分别是:TN+FILM、IPS(IN-PLANE -SWITCHING)和MVA(MULTI-DOMAIN VERTICAL alignMENT)。

区别LED

LED是发光二极管Light Emitting Diode的英文缩写。

LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED 等;另外就是LED显示屏,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,中国的设计和生产技术水平基本与国际同步。

LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。

LCD显示器的原文是Liquid Crystal Display,取每字的第一个字母组成,中文多称「液晶平面显示器」或「液晶显示器」。其工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。 LCD的好处有:与CRT显示器相比,LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。

3 硬件设计

3.1实物连接图

本实验采用可编程芯片8255,8253作为实验芯片。用LCD液晶显示屏来显示时间,用4*4键盘来修改时间。本实验的试验箱硬件电路图连接如下:

3.2硬件电路图连接

线路连接:

4 软件设计

4.1原理流程图

因为我负责时间及键盘的编写,所以流程图只列下面两个,其他不在多余赘述。

4.1.1“时”加一流程图

上述流程图是对万年历中“时”加一的流程图,年月日以及分秒与之类似,不在重复

“时”减一流程图

上述流程图是对万年历中“时”减一的流程图,年月日以及分秒与之类似,

不在重复

4.1.2 键盘原理流程图

4.2软件模块实现主体功能:

1)LCD显示屏上显示的时间是与现实时间是一致的。

2)可通过4*4数字键盘来修改LCD显示屏上的时间。

3)8255实现键盘扫描判断键是否按下

4)8253 加入1m脉冲5v电压实现脉冲送入8255

电子钢琴汇编专业课程设计

电脑钢琴系统《汇编语言程序设计》 一、课题内容和要求 题目描述:利用汇编语言设计一个模拟钢琴演奏程序。在显示器上显示出钢琴的键盘,以计算机键盘的相应键模拟钢琴键盘进行乐曲的演奏。在PC机键盘上按键,屏幕上对应的钢琴键出现跳动,并发出相应音符的声音,例如: 按数字“1”,发C大调 do 按数字“2”,发C大调 re 按数字“3”,发C大调 me …… 按空格(其它)鍵,退出。 基本要求:(1)设计一个基本的只有7键的模拟钢琴键盘; (2)按键时,对应的钢琴键有反映,并发出相应频率的音符声; (3)松键时,对应的钢琴键恢复原状; (4)实物演示时要求讲出程序原理和设计思想; (5)程序运行良好、界面清晰。 提高要求:(1)绘制出三维立体钢琴键,随着按键,对应钢琴键有向下的动作; (2)钢琴声随着琴键按下时间的长短持续发出不同长短的声音;

(3)扩展钢琴的音域。 二、需求和思路分析 (1)钢琴的绘制。这部分主要实现画钢琴键盘键身的功能。它是由一个个白色的长方块构成的,要在屏幕上画出有立体效果的长方形白色键盘,我们需要用BIOS调用编织线使程序。显示适配器都自带显示服务的BIOS,利用它所提供的BIOS调用来编写程序,对于我们编程应用者来说是透明的,我们只需要调用显示驱动程序INT 10H。钢琴主要是由矩形、直线等规则几何形状构成,可以采用文本方式,也将屏幕设置成图形显示方式,通过画点、画线等基本程序完成钢琴的绘制。 对于绘制钢琴键盘,为使其有立体感,还需要先在稿纸上画出一个缩小版的钢琴键盘,准确计算其各个边界的坐标,包括为使其有立体感而要画出斜线的方法,都需要事先准确推出运算公式。 钢琴键盘的动态显示则是同步于键盘的按键有按下和弹起的动画。这部分功能需要也可以用绘制钢琴的方法来实现这个效果。 (2)音符的演奏。在PC系列机上,8254的三个计数器各有其作用,计数器0用于维护系统时钟;计数器1用于周期性的向DMA发送数据请求信号,供存储器刷新使用;计数器2接到扬声器用来产生声音。各计数器的输入时钟脉冲频率均为1.19318MHz。通过设置计数值可以产生各种频率的声音。与此同时,许多输入输出操作都是由8255A可编程外设接口来控制的。利用CPU支持的外围电路8254与8255,通过汇编程序改变8255的PB0,PB1口,接通扬声器,使得计算机能够发出一定频率的声音,同时通过8254的与8255连接的2号计数器控制指定频率,从而达到控制扬声器的音调的效果。 三、概要设计

学了电子琴要不要去考级

学了电子琴要不要去考级 张晓东从小就喜欢爱说爱笑爱唱歌,今年读学前班,我们给晓东选了一家音乐幼儿园,听说那里每个小孩子都要学弹电子琴。学习乐器需要毅力才能坚持下去,小孩子难免会从刚开始的新奇,发展到最后的厌烦,不想弹。为了不打击晓东学习乐器的爱好,我和张晓东爸爸讨论,决定让晓东轻松学习乐器,不去练级,不强迫晓东每天练得很苦。可是,别的孩子的妈妈告诉我,如果孩子学了琴却不练级,就没有学习乐器的动力了,也就学不好电子琴。听了这话,我又有些犹豫。幼儿学电子琴,到底应不应该练级?张晓东妈妈 石楠妈妈:我是支持孩子不练级的。因为外婆在家练电子琴引起了石楠的兴趣,我们就给他请了一位电子琴老师,从4岁开始学习乐器。现在,石楠已经有2年琴龄,弹琴也非常不错。如果家里来了人,他就会自己要求给客人表演电子琴练习曲。我家邻居的小姑娘是学小提琴的,每天晚上拉琴时都能听到晓东妈妈的叫骂声:“马上要练级了,练得不好,怎么考得出?”接着就是小姑娘的哭声。 石楠听多了,就会拉着我的手:“妈妈,我可不要练级。”我认为,孩子学乐器是为了陶冶情操,不一定非要有多么高超的演奏技巧,关键是爱音乐,懂得欣赏音乐就够了,何必逼着幼儿去练级! 小树妈妈:抱着和石楠妈妈一样的想法,我让小树学电子琴。但慢慢地,我有些不由自主了,电子琴老师说:学了一段时间就要练级,否则孩子不知道自己的水平怎么样,不利于家长教育孩子练习。然而,一旦决定要练级了,我不自觉地就提高了对小树的要求。每天晚上练琴时,晓东扭扭捏捏,练几下就不练了,我就得提高嗓门教训晓东。 这时才明白,原来学乐器的孩子都是逼出来的。那么慢慢地,当初是为陶冶情操,尽管也知道晓东不会成为音乐家,但最后还是被拉进练级大军。再说,晓东的许多同学都已经考到7级了,我们怎么能落后呢?考不练级,其实有时身不由己呀。 齐娜娜妈妈:我认为,既然要学一样东西,不仅仅是乐器还是画画、健身操,就一定要学好。学乐器尤其如此。首先,练级是一种压力,也是动力。孩子知道要练级,必然要刻苦努力练习。如果练级通过了,他也一定会十分开心,会有动力冲击更高的目标。 总结,笔者认为每天要练半个多小时的乐器,可以帮孩子养成持之以恒的好习惯。现在一些孩子总是习惯性放弃,多半是因为爸爸妈妈无法坚持下去。所以,我建议父母

(完整版)8255练习题及答案

8255练习题及答案 一、填空题 1、8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。 答案:D3、D2和D1 2、8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 3、8255A端口A工作在方式2时,使用端口C的________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 4、8255A的每个端口的数据寄存器的长度为____位。 答案:8 5、Intel 8255A是一个________________________接口芯片。 答案:可编程的通用并行输入输出 6、了般I/O接口的编址方式可分为________________两种方式。 答案:I/O接口单独编,与存储器统一编址 7、8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置. 答案:D3,D2和D1 8、8255A的端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 9、8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 10、8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。 答案:A0和Al 11、8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。 答案:1 12、8255A的端口A的工作方式是由方式控制字的____位决定。 答案:D6和D5 13、8255A的端口B的工作方式由方式控制字的________位决定。 答案:D2 14、8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。 答案:0 15、8255A内部具有_____个输入输出接口。 答案:3 16、8255A内部具有_______个输入输出端口。 答案:3 17、8255A的三个端口中只有端口____没有输入锁存功能。 答案:C 18、Intel8255A是一个_________________接口芯片。 答案:可编程的通用并行输入输出 19、8255A与CPU连接时,地址线一般与CPU的地址总线的__________连接。

基于单片机的电子日历时钟设计

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

基于某8086地简易电子琴设计附总汇编源程序

《微机原理与接口技术》综合设计实验报告 设计课题:基于8086的简易电子琴设计 指导老师: 学生: 学号: 院系: 专业:通信工程

基于8086的简易电子琴设计 摘要 在学习《微机原理与接口设计》的基础上,针对课程设计要求,综合运用相关软件、硬件知识,设计一个简易电子琴,使之具有音区切换、数码管显示音区及当前音符、记录音符与音符持续时间、播放录制的音乐等功能。 关键词:8086;电子琴;仿真调试;汇编

目录 第1章总体方案设计 (1) 1.1 系统整体架构图 (1) 1.2 功能介绍 (1) 第2章硬件设计 (2) 2.1 硬件资源 (2) 2.2 硬件接线图 (3) 2.2.1 8254接线图 (3) 2.2.2 8255及键盘、数码管接线图 (3) 第3章软件设计 (4) 3.1 程序框图 (4) 3.1.1 整体框图 (4) 3.1.2 延时函数 (5) 3.1.3 键盘扫描 (5) 3.1.4 数码管显示 (6) 3.1.5 声音及时间录制 (6) 3.1.6 选择音区(高、中、低) (7) 3.1.7 播放音乐 (7) 第4章实验结果及演示 (8) 第5章遇到的问题及改进措施 (10) 5.1 条件转移指令报错 (10) 5.2 无法使用8254作为录音时间计数器 (10) 附录 (11) 程序源码 (11)

第1章总体方案设计 1.1 系统整体架构图 系统整体架构图如图1-1所示。 图1-1 1.2 功能介绍 本实验设计实现了音区切换、数码管显示当前音区及音符、记录音符与音符持续时间、播放录制的音乐等功能。功能具体说明如下。 按键0-6为音符键,按下后会有对应的音符音调响起,按键弹起后音符终止,此时,按下的音符以及时间将被记录。按键12,13,14可以选择低音,中音,高音区。按下按键15后开始播放录制的音符(不超过16个)。另外数码管0显示音符,数码管2显示音区。

电子琴入门教程

一、五线谱:用来记录音符的五条横线叫五线谱。 五线谱可以用我们的手来比较。 这样比较我想大家一定比较清楚了。 二、认识新音符

三、手的练习 左手练习 双手练习 以上谱例中的数字都指的是指法。 上一讲我讲了5个音,即:do、ra、mi、fa、so。这一讲我们来学习新的音符。 一、新音符 新音符在键盘上的位置: 学过这些音符后我们就可以弹奏基本音阶了。 二、下面我们就来看看基本音节怎样弹。 右手基本音阶弹法: 这里我们要注意的是顺向时,当do、la、mi弹完后,大指要穿过3指来弹fa。逆向时,

当do、xi、la、so、fa弹完后,3指要跨过大指弹mi。 左手基本音阶弹法: 左手的练习方法和右手刚好相反。及顺向时,当do、ra、mi、fa、so弹完后,3指要跨过大指弹la。逆向时,当do、xi、la弹完后,大指要穿过3指来弹so。 基本音阶在键盘上的位置: 三、乐曲练习: 以上两课的练习方法以断奏为主,这一点请大家一定要注意。 上一讲我讲了5个音,即:la、xi、do。这一讲我们来学习高八度的音符。 一、新音符

新音符在键盘上的位置: 二、下面我们就来看看两个八度音阶怎样弹。 右手两个八度音阶弹法: 这里我们要注意的是顺向时、弹xi时是用的4指,弹高一个八度的do时是要用右手的大指穿过弹xi的4指来弹do。逆向时是4指跨过大指来弹xi。 左手两个八度音阶弹法: 这里我们要注意的是顺向时、弹高一个八度的do时是用的大指,弹高一个八度的ra 时要用左手的4指跨过大指来弹ra。逆向时是大指穿过4指来弹do。 双手一组音阶弹法: 两个八度音阶在键盘上的位置: 三、乐曲练习: 这次练习主要用《拜尔》钢琴练习里的第12、13、14、15、18条。这里我就不一一做图了。 前几课我们学了高音谱表及其音符。这一课我们学习低音谱表及其音符。 本节课还将学习和弦 一、新音符 二、左右手音阶练习 由于前几讲我们已经知道了音符及音阶的指法,所以这讲我没有标注这些练习的指法。望大家原谅。 三、学习和弦前的左手预备练习 四、新和弦 1、C和弦及其转位练习 2、F和弦及其转位练习

电子琴汇编语言程序

BUZZ EQU P1.0 ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ORG 0100H MAIN: MOV SP,#60H ;初始化堆栈指针 MOV 30H,#00 ;定时器初值清零 MOV 31H,#00 MOV P1,#0FFH ;设置P1口为输入模式 MOV TMOD,#01H ;设置定时器0为工作模式1 SETB ET0 ;开定时器0中断 SETB EA ;开总中断 CLR TR0 ;关闭定时器0 START: MOV R0,P2 CJNE R0,#0FFH,KEY1 ;键盘扫描 CLR TR0 SJMP START KEY1: CJNE R0,#0FEH,KEY2 ;K1键按下 MOV 30H,#0FBH ;设置音阶1 MOV 31H,#0E9H LJMP SET_TIMER KEY2: CJNE R0,#0FDH,KEY3 ;K2键按下 MOV 30H,#0FCH ;设置音阶2 MOV 31H,#5CH LJMP SET_TIMER KEY3: CJNE R0,#0FBH,KEY4 ;K3键按下 MOV 30H,#0FCH ;设置音阶3 MOV 31H,#0C1H LJMP SET_TIMER KEY4: CJNE R0,#0F7H,KEY5 ;K4键按下

MOV 30H,#0FCH ;设置音阶4 MOV 31H,#0EFH LJMP SET_TIMER KEY5: CJNE R0,#0EFH,KEY6 ;K5键按下 MOV 30H,#0FDH ;设置音阶5 MOV 31H,#045H LJMP SET_TIMER KEY6: CJNE R0,#0DFH,KEY7 ;K6键按下 MOV 30H,#0FDH ;设置音阶6 MOV 31H,#92H LJMP SET_TIMER KEY7: CJNE R0,#0BFH,KEY8 ;K7键按下 MOV 30H,#0FDH ;设置音阶7 MOV 31H,#0D6H LJMP SET_TIMER KEY8: CJNE R0,#7FH,NOKEY ;K8按下 MOV 30H,#0FDH ;设置音阶8 MOV 31H,#0FBH SET_TIMER: SETB TR0 ;发声 SJMP START NOKEY: CLR TR0 ;无键按下 SJMP START INT_T0: ;T0中断服务程序 MOV TH0,30H ;定时器赋初值 MOV TL0,31H CPL BUZZ ;输出方波 RETI END

电子琴教学计划

电子琴教学计划 一、目的与任务 本课程的任务是使学员在掌握键盘的基本技能的基础上,进一步掌握电子琴的功能、提高使用的能力,以适应中学音乐教学工作及开展课外音乐活动的需要。 二、学习年限与课时安排 本课程学习一年,有良好基础的学员可以一进校就上课,每周上课一课时,学生每周练习四课时。 三、教学方式 本课程教学方式一小组课为主,必要时可组织讲座或个别深入讲解。 四、考试与考查 每学年上学期结束时进行考查,下学期结束时进行考试。 每学期考试(考查)的曲目总量至少三首(包括练习曲、乐曲) 五、教学原则 1、在弹奏技术训练中,教师要遵循循序渐进的原则,根据学生的具体情况,因材施教。 2、要遵循理论联系实际的原则,加强配弹歌曲伴奏的训练,着重提高学生的实用工作能力。 3、教学中发挥教师主导作用,来用启发式教学。 六、教学要求 通过一年的教学,要求达到相当于钢琴《车尔尼练习曲》849程

度,并能弹奏相应程度的乐曲、歌曲伴奏,掌握初级键盘和声,熟悉电子琴的各种功能,各种音色、节奏性特点。 第一学期要求: 1、掌握正确的弹奏姿势,培养严格的视谱习惯。 1、训练手指的独立性和灵活性,初步掌握音色和基本节奏型的运 用,单指和弦的掌握,和多指和弦的掌握。 2、准确地运用音色、培养良好的音乐表现能力和音乐思维能力。 3、完成《全国电子琴考级教程》二级以下的大部。 4、基本练习:熟悉6个大、小音阶、熟练掌握一升一降之内各大、 小调的音阶和琶音、及各调的主、属、下属三和弦的弹奏。 第二学期要求: 1、一步加强手指的独立性,训练手指灵活、流畅地弹奏。 2、加强对声部以及对音色、音量控制能力、能较完整地表现音乐形象。 3、掌握音色组合、音色、节奏伴奏的体用、转换、恰当地运用以为歌曲配弹伴奏。 4、掌握音色储存、节奏预定。 5、完成《全国电子琴考级》教程四级的大部。

电子日历时钟程序

#include typedef unsigned char BYTE; //自定义字节类型 #define Set_Bit(BIT) (BIT = 1) //定义置1函数 #define Clear_Bit(BIT) (BIT = 0) //定义清0函数 /*7279指令*/ #define HD7279_TEST 0xbf //测试 #define HD7279_RLC 0xa3 //循环左移 #define HD7279_RRC 0xa2 //循环右移 #define HD7279_RL 0xa1 //左移 #define HD7279_RR 0xa0 //右移 #define DECODE0 0x80 //译码方式0 #define HD7279_DECODE1 0xc8 //译码方式1 #define UNDECODE 0x90 //译码方式2: 不译码 #define HD7279_HIDE 0x98 //消隐 #define HD7279_FLASH 0x88 //闪烁 #define HD7279_SEGON 0xe0 //段亮 #define HD7279_SEGOFF 0xc0 //段灭 #define CMD_READ 0x15 //读键盘指令 /*函数定义*/ void write7279(BYTE,BYTE); //定义HD7279写函数 BYTE read7279(BYTE); //定义HD7279读函数 void Send_Byte(BYTE); //定义HD7279发送字节函数 BYTE Receive_Byte(void); //定义HD7279接收字节函数 void Short_Delay(void); //定义短延时函数 void Long_Delay(void); //定义长延时函数 void Mcu_Init(void); //定义MCU初始化函数 void distime(void); //显示时间 void discalendar(void); //显示日历 void HD7279key(void); //按键控制 BYTE Key_number; //定义键值变量 unsigned char second=0,minute=40,hour=9,F; //秒、分、时变量 unsigned int day=10,month=6,year=2014,mark=0,i,j,clock,wait=0;//年月日等变量 sbit key=P1^4; //定义HD7279中断硬件连接--->INT1 sbit HD7279_Clk=P1^2; //定义HD7279时钟硬件连接 sbit HD7279_Data=P1^3; //定义HD7279数据硬件连接 sbit HD7279_CS=P1^1; //片选 /*主函数*/ void main(void) { Mcu_Init(); F=1; while(1) { while(!key) { HD7279key();}

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

(电子琴七级部分作品)(20200621231950)

中国音乐学院社会艺术水平考级曲目系列辅导 (电子琴七级部分作品) 房山少年宫王文新 近年来,通过教学实践和辅导学生参加校外艺术电子琴、钢琴考 级活动,虽然通过率达到100%,今年还有十多名学员获得优秀等级。但细下心来,会发现有少部分学员对考级曲目理解、把握的很有限, 还存在演奏不到位的情况。为了加强学员对部分考级曲目的了解,理解把握的更准确,本册辅导曲目编入7级部分作品,每级按照考级标准、选择考级中常选的曲目加以重点提示。本期辅导的考级曲目谱例详见《中国音乐学院社会艺术水平考级全国通用教材》(第二套)电子琴(七级~八级),望对学员顺利通过考级有所帮助。 [七级考级作品] 一、【七级基础练习】(以E大调、#c和声小调为例)(见考级教材第16页) 1. E大调音阶 E大调为四个升号的大调,音阶中需要“#F、#C、#G和#D”,弹奏要求: (1)音位准确,“四十六节奏”要弹均匀;(2)指法规范(穿指法和跨指法的运用要提前做好准备(3)终止式:弹奏前可先依次说出和弦的各音,其次看哪个音需要升高,弹奏时看书中标记指法,分 手练熟后再双手合练。 2. E大调主三和弦长琶音 E大调主三和弦是指“E、#G、B”三个音构成的三和弦,长琶音是指把这三个音分别按照次序弹奏出来,要求: (1)音位准确、“二八”节奏要弹均匀;(2)指法要规范、相对固定;(3)节拍、节奏稳定,练熟后速度应在每分钟90—100之间。 3. E大调主三和弦及转位 要明确E大调主三和弦构成是“E、#G、B”,转位时三个音分别轮流做低音,弹奏要求三个音要整齐:即同时下键,同时落到底,指 法规范,有力度。

4. E大调属七和弦琶音 属七和弦琶音是七级及以上级别大调新增的内容。要先明确七和 弦是在三和弦的基础上再叠置一个三度音,由四个音构成,属七和弦是在该调性属音(即第五级音)上构成的七和弦,其结构性质是“大 小七和弦”。例如:E大调属音是“B”,在属音上建立的三和弦是“B、#D、#F”,属七和弦是再叠置一个A音,即“B、#D、#F、A”构成E大调属七和弦,琶音则是这四个音按照顺序循环弹奏。弹奏时要均匀、连贯,指法规范,双手配合协调。 5. #c和声小调音阶 #c和声小调是E大调的关系小调,它是四个升号的小调,因为是“和声小调”还需要升高第七级音,即“#B”,所以弹奏时注意升的音;指法按书中标记的弹奏。后面的终止式还需认真读谱,弹奏准确、整齐。 6. #c和声小调长琶音 #c和声小调主三和弦是由“#C、E、#G”三个音 构成的,弹奏要均匀,穿指法、跨指法时要注意重心 移动,动作要平稳自然,不要扭手腕和扭小臂等过多 的外部动作。 7. #c和声小调主三和弦及转位 同样要明确#c和声小调主三和弦是由“#C、E、#G”三个音构成的,弹奏要求参考E大调第3条。 8. #c和声小调减导七和弦琶音 减导七和弦琶音是七级及以上级别小调新增的内容。要先明确减七和弦是在减三和弦的基础上再叠置一个小三度音,由四个音构成,各相临音是小三度的关系,根音与七音是减七度,导七和弦是在该调性导音(即第七级音)上构成的减七和弦,其结构性质是“减七和弦”。例如:#c和声小调导音是“#B”,在导音上建立的三和弦是“#B、#D、#F”,减导七和弦是再叠置一个A音,即“#B、#D、#F、A”构成#c 和声小调减导七和弦,琶音则是这四个音按照顺序循环弹奏。弹奏时要均匀、连贯,指法规范,双手配合协调。

微机原理习题

1. 设8255A 的A 口、B 口、C 口和控制字寄存器的端口地址分别为80H 、82H 、84H 和86H 。 要求A 口工作在方式0 输出,B 口工作在方式0 输入,C 口高 4 位输入,低 4 位输出,试编写8255A 的初始化程序。 MOV AL ,B ;方式控制字 OUT 86H ,AL 2. 8255A 的A 口、B 口、C 口和控制字寄存器的端口地址分别为80H 、82H 、84H 和86H,要求 PC4 输出高电平,PC5 输出低电平,PC6 输出一个正脉冲,试写出完成这些功能的指令序列。 MOV AL ,00001001B ;PC4 输出高电平 OUT 86H ,AL MOV AL ,00001010B ;PC5 输出低电平 OUT 86H ,AL MOV AL ,000001100B ;PC6 先输出低电平 OUT 86H ,AL MOV AL ,00001101B ;PC6 再输出高电平 OUT 86H ,AL MOV AL ,00001100B ;PC6 再输出低电平,形成一个正脉冲 OUT 86H ,AL 3. 8255A 的口地址为 80H~83H ,8253 的口地址为 84H~87H , (1 )若A 口接8 个开关K7~K0,B 口接8 个指示灯LED 7~LED0,当开关合上时相应的 指示灯亮,断开时灯灭,要求每隔检测一次开关状态,并在LED上显示出来,试画出 硬件连线图,编写实现这种功能的程序。 (2 )若把接在端口 A 上的开关去掉,要求接在端口 B 上的指示灯轮流熄灭,每只灯熄灭 1

秒钟,请编程实现这种功能。 答:(1 )8255A :A 口输入,B 口输出 8253:2MHz/2Hz=1000000 通道0 工作于方式 2 ,取N0=1000 通道1 工作于方式 0 ,取N1=999,即得OUT1 每秒中断一次。 本题用 8253 定时中断,中断处理时检测开关状态,并点亮相应的 LED 。假设8259A 已初始化,主程序如下: MOV AX, SEG INTR ;形成中断矢量表 MOV DS, AX MOV DX, OFFSET INTR MOV AL, N MOV AH, 25H INT 21H MOV AL, B ;8255初始化 OUT 83H, AL MOV AL, 00110101B ;通道0 方式 2 ,BCD计数 OUT 87H, AL MOV AL, 00H ;置初值1000 OUT 84H, AL MOV AL, 10H OUT 84H, AL MOV AL, 01110001B ;通道1 方式 0 ,BCD计数 OUT 87H, AL MOV AL, 99H ;置初值999 OUT 85H, AL MOV AL, 09H OUT 85H, AL STI AGAIN:HLT

8086应用举例

应用举例 利用8086处理器设计一个简单的电加热炉的温度控制系统, 要求:1|、目标温度可以设置、显示;(XXX) 2、炉内实际温度可以显示(XXX) 3、温度控制过程中,每秒种测量、调节1次 4、通过固体继电器调节电阻丝对电炉加温 5、加热速度:1度/分钟,到200度后保持稳定 (一) 设计要点: 1、以8086为处理器 2、用3个8位锁存器锁存20位地址(AD0-AD15 ;A16-A19 ;BHE ) 3、RAM存储器地址从00000H -03FFFH连续空间(16K*8)6264*2 数据及中断矢量表 4、ROM存储器地址从FC000H-FFFFFH的连续空间(16K*8)2762*2 程序和程序中用到的固定参数 5、定时器8253控制时间(端口地址0020H,0022H,0024H,0026H) 6、16键、6位LED显示器通过8255A的A、B、C口接口(端口地址0030H,0032H,0034H,0036H) 7、电阻加热:8255的C口控制0809的状态由C口查询 8、温度测量:ADC0809 8位输入0-5V (启动转换的控制端口0040H 读转换结果端口0042H ) (二) 系统组成

(三) 硬件设计及地址分配 3.1 存储器的作用: 1、数据及中断矢量表 2、程序和程序中用到的固定参数 组织方式: 按字节(BYTE)组织,支持字(WORD)读写操作 RAM :偶地址+奇地址体(A0 ,D0-D7;BHE,D8-D15),可读可写ROM :偶地址+奇地址体(A0 ,D0-D7;BHE,D8-D15),可读不写地址范围: RAM存储器00000H -03FFFH连续空间(16K*8)6264*2 ROM存储器FC000H-FFFFFH连续空间(16K*8)2764*2 存储器的地址译码与读写控制电路真值表: 3.2 IO接口设计 I/O组织方式: 按字节(BYTE)组织,但不支持字(WORD)读写操作。

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。 关键词:时钟芯片,仿真软件,74LS164 目录 前言 0.1设计思路 (8) 0.2研究意义 (8)

一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31前言

汇编接口综合实验——简易电子琴实验

简易电子琴 ——键盘控制电子音响发声、8x8点阵LED灯显示 实验报告 12281166 崔雪莹 12281161 安容巧 12281183 张佳悦 一、实验目的 1.了解小键盘的工作原理,学会如何使用小键盘进行控制,熟悉流程和代码编程; 2.了解电子音响的发声原理,会利用8253A级联方式控制其发出不同频率的声音; 3.了解8X8点阵LED灯的工作原理,学会显示想要显示的文字和图形; 4.实验结合8253,8259,8255和小键盘,8*8点阵的应用共同实现。 5.实验目的效果:小键盘触发按键,控制电子音响发出相应频率的声音,8X8点阵LED灯显示相应的内容。 二、实验内容 实验主要概述: 键盘控制实现两个音部(高音部、低音部)的发声,即: 当在键盘上按下‘0’、‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’时,电子音响发出不同频率的低音调,当在键盘上按下‘8’、‘9’、‘A’、‘B’、‘C’、‘D’、‘E’、‘F’时,电子音响发出不同频率的高音调。 同时,在8x8LED灯上显示相应音调对应的‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’、‘8’、‘9’、‘A’、‘B’、‘C’、‘D’、‘E’、‘F’。 1.小键盘按键的获取: 图1 小键盘原理图

小键盘按键获取原理: (1)判断是否有按键按下:若某行为低电平,此时该行某按键对应某列也为低电平,则说明该按键此时被按下。将8255A的A口PA0-PA3接行0到行3,B口的PB0-PB3接列0到列3。A口做输出,B口做输入。将A口输出设置为0000读取B口的此时的值,若不是全为1则说明有按键按下。无按键按下则等待。 (2)去抖动:延时,等待按键通断引起的抖动消失。延时后再读B端口,若还有按键闭合,则认为按键已确定。 (3)找到被按下的按键:用逐行扫描的方法读出此时按键相应的值。从第0行开始,输出0,顺序逐行扫描。每扫描一行,读入列线值,从0列开始,逐列检查是否为0。若为0,则表示该列有键按下;若为1,则表示无键按下。这样按顺序扫描每一行及其列值,直到找到为0列值,则该键就是被按下的键。计算按键编号。 (4)根据找到的键号,执行键号对应的程序。 2.电子音响发声 电子音响发声基本原理: 8253A的1工作方式和3方式配合可以产生占空比不同的输出方波,用这种波形可控制电子音响发出不同的音调。 使用通道0和通道2,通道0 的输出OUT0作为通道2的GATE2的门控信号;通道0工作在3方式,产生一定周期的方波信号,通道2 工作在1方式;1方式虽然不是周期输出,但是在GATE2信号上升沿周期出现时,1方式可以重新计数。通过对这两种工作方式的计数初值的合理设置,通道2可以产生不同频率的周期性信号,来控制扬声器的发声。 当3方式的方波周期大于1方式定时长度时,可通过改变1方式定时时间常数就可以改变方波的占空比(如下图2示);当3方式的方波周期小于1方式定时长度时,1方式总处于定时期间(发声停止)。 图2 波形图 3.8x8点阵LED灯显示 8x8LED灯的工作原理: 只要在行线R1-R8加上高电平,在列线C1-C8加上低电平,则两线交叉点的LED就会发光。通过此原理我们计算出了‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’、‘8’、‘9’、‘A’、‘B’、‘C’、‘D’、‘E’、‘F’所对应的编码方案。并通过逐列扫描并延迟的方法实现字母的显示。

习题9-并接口8255

习题9 并行接口 主要内容:8255的外部特性、内部结构,初始化编程,应用。 9.1 8255A的3个端口在使用时有什么差别? 【答】(1)端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器。所以,用端口A作为输入或输出时,数据均受到锁存(与工作方式有关)。(2)端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。(3)端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口C作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口A和端口B常常作为独立的输入端口或输出端口,端口C则配合端口A和端口B的工作。具体的讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来为端口A和端口B提供控制信号和状态信号。 9.2 8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应该怎 么办? 【答】方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A端口B作为数据端口,把端口C的4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口C来配合端口A和端口B 的输入/输出操作。 9.3当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号CS、A1、A0、RD、WR 分别是什么? 【答】 CS0、A11、A00、RD1 、WR0。 9.4 8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来 区分的? 【答]】当8255A接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为1,则将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口C的置1/置0控制来处理。 9.5 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入; 端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。(口地址为80H~83H) 【答】控制字:10110001=B1H MOV AL ,B1H OUT 83H ,AL 9.6 设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置0/置1方式对PC6 置1,对PC4置0。 【答】MOV AL,00001101H ;对PC6置1的控制字 MOV DX,00C6H ;控制地址DX OUT DX,AL ;对PC6置1操作 MOV AL,00001000H ;对PC4置0的控制字 OUT DX,AL 9.7 编一初始化程序,使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲则 初始化程序又是什么情况? 【答】初始化程序: MOV AL,0000 1011 H ;PC5置“1”控制字→AL

8253工作方式以及应用举例

第27课 8253工作方式以及应用举例 8253的六种工作方式,8253的实际应用举例。本课主题: 教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。 教学重点:8253的硬件连接和软件初始化方法。 教学难点:8253的在系统中的应用。 授课内容: 8253的每个通道都有6种不同的工作方式,下面分别进行介绍。 1.方式0--计数结束中断方式(Interrupt on Terminal Count) 2.方式1--可编程单稳态输出方式(Programmable One-short) 3.方式2--比率发生器(Rate Generator) 4.方式3--方波发生器(Square Wave Generator)

5.方式4--软件触发选通(Software Triggered Strobe) 6.方式5--硬件触发选通(Hardware Triggered Strobe) 由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。现将各种方式的主要特点概括如下: 对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。

方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。 这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如果要通道再次按此方式工作,必须重新装入计数值。对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。 8.2 8253的应用举例 一、8253定时功能的应用例子 1(用8253产生各种定时波形 在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能: (1)通道0工作于方式3,输出频率为2kHz的方波; (2)通道l产生宽度为480us的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26。 2.控制LED的点亮或熄灭 用8253来控制一个LED发光二极管的点亮和熄灭的例子,要求点亮10秒钟后再让它熄灭10秒钟,并重复上述过程。假设这是一个8086系统,8253的各端口地址为81H、83H、85H和87H。

最新毕业设计:基于单片机的电子日历时钟

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔;(4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹 钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观

2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不 能超过16位定时器的最长定时时间;最短不能少于中断服 务程序的执行时间。基准时间越短,越有利于提高时钟的 运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理 进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年” 定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间 短),而驱动信号的间歇时间必须小于“余辉时间”(电流 大余辉时间长),但驱动电流大小受硬件电路能力和LED 数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容 写入显示器之前将所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

相关文档
最新文档