电子发声设计实验

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

《微机原理与接口技术》

实验报告

学院:

专业:

班级学号:

学生姓名:

实验日期:

指导老师:

五邑大学计算机学院制表

实验八

一、实验名称:电子发声设计实验

二、实验目的:

学习8253定时/计数器使蜂鸣器发声的编程方法。

三、实验内容:

设根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。

四、实验设备:

PC微型计算机一台,TD-PITE实验装置或TD-PITC实验装置一套

五、实验步骤:

1、参考下图,连接实验线路;

2、编写程序,经编译、连接无误后装入系统;

3、运行程序,听扬声器发出的音乐是吾正确;

4、固化程序,然后脱机运行程序。

六、实验结果

编制并调试通过的80X86汇编程序代码如下:

;=================================================================

; 电子发声设计实验

;=================================================================

; 端口定义

IOY0 EQU 06C0H

MY8254_COUNT0 EQU IOY0+00H ;8254计数器0端口地址

MY8254_COUNT1 EQU IOY0+02H ;8254计数器1端口地址

MY8254_COUNT2 EQU IOY0+04H ;8254计数器2端口地址

MY8254_MODE EQU IOY0+06H ;8254控制寄存器端口地址

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DATA SEGMENT

FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表

DW 495,495,624,742,833,833,833,742,624

DW 624,495,556,495,556,624,495,416,416,371

DW 495,833,742,624,624,495,556,495,556,833

DW 742,624,624,742,833,990,742,624,624,495

DW 556,495,556,624,495,416,416,371,495,0

TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表

DB 6, 2, 4, 4, 12, 1, 3, 6, 2

DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4

DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4

DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4

DB 6, 2, 4, 4, 6, 2, 4, 4, 12

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,MY8254_MODE ;初始化8254工作方式

MOV AL,36H ;定时器0、方式3

OUT DX,AL

BEGIN: MOV SI,OFFSET FREQ_LIST ;装入频率表起始地址

MOV DI,OFFSET TIME_LIST ;装入时间表起始地址

PLAY: MOV DX,0FH ;输入时钟为1MHz,1M = 0F4240H

MOV AX,4240H

DIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率

MOV DX,MY8254_COUNT0

OUT DX,AL ;装入计数初值

MOV AL,AH

OUT DX,AL

MOV DL,[DI] ;取出演奏相对时间,调用延时子程序

CALL DALL Y

ADD SI,2

INC DI

CMP WORD PTR [SI],0 ;判断是否到曲末?

JE BEGIN

JMP PLAY

DALL Y PROC ;延时子程序

D0: MOV CX,0010H

D1: MOV AX,0FF0H

D2: DEC AX

JNZ D2

LOOP D1

DEC DL

JNZ D0

RET

DALL Y ENDP

CODE ENDS

END START

整个实验记录的实验结果如下:

扬声器发出乐曲《友谊地久天长》

七、分析讨论

这是《接口与通信》课程的第一个实验,虽然还有点陌生,但基本熟悉了80X86汇编语言的程序设计方法,通过DOS系统中断INT21H 9号功能调用,掌握了字符串在屏幕上的显示方法。通过二进制→BCD码转换程序的设计和上机调试,掌握了二→十进制转换的基本原理和汇编语言实现方法,只是这里针对的2字节二进制数,对于多字节二进制数如何实现,还需进一步学习。…………(不少于200字)

蓝色字为学生实验后自己填写

相关文档
最新文档