《8253基于Proteus仿真模拟音乐发生器》
二、实验目的
(1)了解和熟悉8253/8254接口芯片的工作原理和应用方法。
(2)掌握8253/8254接口芯片的设计与调试技巧。
(3)掌握8253/8254定时器/计数器的工作方式和编程原理。
三、实验内容
- 功能介绍
图1 含有三个开关
如上图1所示,当开始仿真运行后:
①按下开关SW1:启动音乐《虫儿飞》
②按下开关SW2:启动音乐《我和我的祖国》
③按下开关SW3:启动音乐《小毛驴》
- 设计的元件的介绍及相关知识点
⑴ 涉及的元件:
本次实验主要使用了8253、8086、8255元件,还包括7411、74LS138、74LS32、74LS273、SOUNDER、SW-SPST元件的应用。接下来主要针对8253介绍。
⑵ 芯片8253简介:
①外部介绍
- 面向CPU的信号源
D0~D7:数据线
/CS片选端,A0A1片内端口地址
/RD/WR读写信号
- 面向I/O设备的信号
CLKi时钟脉冲信号,用作计数脉冲
GATEi门控信号,用于定时/计数的启动/停止、允许/禁止
OUTi输出信号,用于实现I/O设备的定时/计数操作
图2 8253的外部引脚图
②内部介绍
它由数据总线缓冲器、读/写逻辑、控制字寄存器用于处理CPU与8253之间命令、数据、地址及数据的交换。3个独立的16位计数器组成,其中,计数值寄存器用于存放计数初值;减法计数器,用于进行减法计数操作,在装入计数初数器同时也装入减法计数器,然后,每来一个计数脉冲,它就减1,直至将计数初值减为0;当前计数值锁存器(16位),用于锁存减法计数器的内容,以供读出和查询当前计数值。其内部结构如下:
图3 8253内部结构
- 数据总线缓冲器
数据总线与系统总线连接,8位双向,与CPU交换信息的通道。是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。
- 控制寄存器
用来保存来着CPU的控制字。每个计数器都有一个控制命令寄存器,用来保存该计数器的控制信息。控制字将决定计数器的工作方式、计数器形式以及输出方式。8253的3个控制寄存器只占用一个地址号,而靠控制字的最高两位来决定将控制信息送入哪个计数器的控制寄存器中保存。控制寄存器只能写入不能读出。
- 读/写逻辑
它的任务是接收CPU的控制信号,完成对8253内部的操作控制。这些控制信号包括读信号/RD、写信号/WR、片选信号/CS以及用于片内寄存器寻址的地址信号A0、A1。当片选信号有效,即/CS=0时,读写逻辑才能正常工作。该控制逻辑根据读/写命令即送来的地址信息,决定3个计数器和控制寄存器中哪一个工作,并控制内部总线上数据传送的方向。8253共占用4个I/O端口,CPU可对写操作。这4个端口地址由最低2位地址码A1和A0来选择,如表1所示。
/CS |
/RD |
/WR |
A1 |
A0 |
操作 |
0 |
1 |
0 |
0 |
0 |
写计数值到计数器0的CR |
0 |
1 |
0 |
0 |