微机原理与接口技术汇编语言

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术

课程设计报告

电子琴(八音盒)

目录

1 课题描述 0

1.1 DICE-8086k试验系统 0

1.2 8255与8253结构 0

1.3功能说明 (3)

2 设计过程 (5)

2.1硬件设计 (5)

2.2软件设计 (5)

2.3系统原理说明 (6)

3 测试 (8)

总结 0

附录代码 (1)

参考文献 0

1 课题描述

随着社会发展,计算机硬件技术越来越多的应用到生活中的各个领域,人们对软硬件技术结合开发出来的产品的要求越来越迫切,需求日益增加,如今用软硬件结合设计电子产品已经成为了一大时尚。本设计编写的一个用开关模拟电子琴的程序,以8086作为处理器,用8255接八个开关K1~K8,做电子琴按键输入,以8253控制扬声器,拨动不同的开关,发出相应的音阶。其中K1代表静音,K2发si的音,K3发la的音,K4发sol的音, K5发fa的音, K6发mi的音,K7发re的音,K8发do的音。

开发工具:汇编语言;DICE-8086K实验系统。

1.1 DICE-8086k试验系统

8086k试验系统软硬件配置完善,实验电路采用分模块,开放型设计,使实验电路配置灵活,用户可直接运用。系统的主要特点:

1)采用主频为4.77mhz的8086cpu为主cpu,并以最小工作方式构成系统

2)配有两片61c256静态ram构成系统的64k基本内存,地址范围为00000h-0ffffh,其中00000h-oofffh监控占用。

3)自带键盘,显示器,能够独立运行,为实验程序调试带来方便。

4)提供标准rs232异步通讯口,以连接IBM-PC机。

5)支持联机与脱机二种工作方式,系统扩展有EPROM,把所有实验程序都固化在该片中,脱机工作时,只需按一键,即可完成实验程序下载。调用实验程序只须在实验仪键盘输入实验程序入口地址,按[EXEC]键即可,非常便捷。

图1.1 8086cpu引脚图

1.2 8255与8253结构

1) 8255是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其中A口和B 口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

2)数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A口和

C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。

图1.2 8255引脚图

图1.3 8255内部结构图

3)8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK,计数输出OUT和门控信号

GATE。

数据总线D0~D7:为三态输出/输入线。片选信号CS,读信号RD,写信号WR,他们为输入信号,低电平有效。地址线A1、A0,接到系统总线A1、A0上。计数器时钟信号CLK,作用是在8253进行定时或计数工作是,每输入1个时钟脉冲信号CLK,便使计数值减1。计数器门控选通信号GATE,计数器输出信号OUT,作用是计数工作时,每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一OUT信号,以示定时或计数以到。

图1.4 8253引脚图

4)8253/8254内部有6个模块:数据总线缓冲器,读/写逻辑,控制命令寄存器,计数器0,计数器1,计数器2

数据总线缓冲器:3态,双向8位寄存器和D0~D7相连。

读/写逻辑:由CPU发来的读/写信号和地址信号来选择读出或写入寄存器。

控制命令寄存器:接受CPU来控制字。

计数器:8253有3个结构完全相同的计数器。其内部由16为初值寄存器、减1计数器和当前计数值锁存器组成。

图1.5 8253内部结构图

1.3功能说明

1)开关控制:8255端口A 工作在方式0,且为输入方式,端口B 、C 任意。开关接在8255端口A 的PA0~PA7,这样就可以通过8255读取开关量。如下图:

图1.6开关控制图

2)扬声器控制:(1)8253计数器2的输出控制扬声器的发声音调(2)8253计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声(3)扬声器还受控于并行接口(8255A 芯片)(4)必须使8255APB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音;关闭则是利用8255APB0和PB1同时为低电平,关闭与门,扬声器关闭。

D7-D0 ___

RD

WR A0 A1 8086 A2

A3.

A4.

A5.

A15 M/IO

D7-D0

PA0

___ PA1 RD PA2 WR PA3

A0 PA4 A1 PA5 8255A __ PA6 CS PA7

译码器

图1.7 扬声器控制图

2 设计过程

本次设计的模拟电子琴是以8253控制扬声器,以8255接8个开关K1-K8作为电子琴的按键输入。

2.1硬件设计

采用并口8255A接8个开关K1—K8,利用8255A方式0,端口A输入方式,即AL=10010000B,可以将开关的量输入到CPU中,利用8个开关做电子琴的8个按键。

驱动控制扬声器利用8253与8255A共同执行(如图2.1)。利用8255A的PB0、PB控制扬声器的开启、关闭。利用定时器8253驱动发声,CPU通过对8253通道2(端口地址42H)进行编程,利用8253方式3以不同的脉冲频率产生不同的输出方波,方波信号通过滤波器、功率放大器使扬声器发声。

图2.1 硬件电路连接图

2.2软件设计

利用汇编语言对接口进行编程控制。程序模块主要包括8255A、8253的初始化、开关量的输入、扬声器的开启、关闭及程序的退出。在使8253的初值计数与频率相对应有两种方法,一是利用表的操作,但这种操作不太容易实现,硬件的连接也比较麻烦,易出错;所

相关文档
最新文档