信息学院信息安全系专业课程
《微机原理与接口技术》
简易电子琴实验报告
目录
一、设计要求3
二、设计思路3
三、实验材料、工具、或软件4
四、实验内容4
1、实验电路连接4
2、程序流程图5
3、实验电路图6
4、8253与8255A相关结构及原理说明7
⑴82537
⑵8255A9
5、方案确定12
6、设计原程序及注释13
7、简易电子琴的安装与调试16
五、实验总结17
六、参考文献17
一、设计要求
利用用实验箱上的扬声器与设计一个电子琴1. (输入部分以8255接八个开关K1~K8,做电子琴按键输入 2. (发音部分以8253控制扬声器,拨动不同的开关,发出相应的音阶
我们要通过对8255A的初始化和编程控制它的相关工作,使其能够实现上面提到的相应功能。然后,我们对8253进行编程,使其初始化,并根据从8255A芯片传递来的信息的种类为8253的运行编写不同的程序段,使其在运行中根据8255A芯片传递来的信息的不同执行不同的程序(输出不同的音频)。
音符转换表如下所示:
键值01h02h04h08h10h20h40h80h音符1234567i计数初值40023567317828342527225020051786三、实验材料、工具、或软件
接口实验箱平台、Windows XP计算机
四、实验内容
1、实验电路连接
(1)8253的GATE0接开关K9。
(2)8253的CLK0插孔接分频器74LS393(左上方)的T1插孔,T1输出的频率为1MHZ。
(3)8253的OUT0接喇叭,即LB区的SIN口。
(4)8255A的PB0-PB7(端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器
4、8253与8255A相关结构及原理说明
⑴8253
8253内部结构
8253定时/计数器具有定时、计数双功能。它具有三个相同且相互独立的16位减法计数器,分别称为计数器0、计数器1、计数器2。每个计数器计数频率为0~2MHZ;8253的内部数据总线缓冲器为双向三态,可直接接在系统数据总路线上,通过CPU写入计数初值,也可由CPU读出计数当前值; 其工作方式通过控制字确定。
计数器内部结构
每个计数器由一个16位可预置的减1计数器组成,计数初值可保存在16位的锁存器中,该锁存器只写不能读。在计数器工作时,初值不受影响,以便进行重复计数。每一个计数器有一个时钟输入端CLK作为计数脉冲源,计数方式可以是二进制,计数范围1~10000H,也可以是十进制,计数范围1~65536。门控端GATE用于控制计数开始和停止。输出OUT端当计数器计数值减到零时,该端输出标志信号。
8253端口地址选择
表1.1 8253端口地址选择表
CSRDWRA1A2寄存器选择与操作0
0
0
01
1
1
10
0
0
00
0
1
10
1
0
1写入计数器0
写入计数器1
写入计数器2
写入控制寄存器0
0
00
0
01
1
10
0
10
1
0读计数器0
读计数器1
读计数器20
1
00
×
11
×
11
×
×1
×
×无操作(三态)
禁止(三态)
无操作(三态)8253功能
8253既可作定时器又可作计数器:
(1) 计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信号。
(2) 定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253还可作频率发生器、分频器、实时钟、单脉冲发生器等。
8253控制字
图1.1 8253方式控制字
8253工作方式
方式0:计数结束产生中断方式
当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。
方式1:可编程单次脉冲方式
当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。
方式2:频率发生器方式
当初值装入时,OUT变为高电平;计数结束,OUT变为低电平。该方式下如果计数未结束,但GATE为低电平时,立即停止计数,强迫OUT变为高电平,当GATE再变为高时,便启动一次新的计数周期。
方式3:方波发生器
当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。
方式4:软件触发选通
当写入控制字后,OUT输出为高电平;装入初值且GATE为高电平时开始