微机原理硬件大实验

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

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 微机原理与接口技术

实验报告

实验内容:电子琴A

组别:

姓名:

班级:

学号:

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

一、实验目的

掌握8253发出不同音阶的方法,设计蜂鸣器发声电路,提高综合设计能力和动手能力,加强对芯片的了解。

二、实验内容

1、利用8253实现电子琴的发声;利用8255控制实验上的键盘。能够使用按键演奏出不同音阶,

至少有14个音阶。能够通过按键选择播放已编好的乐曲。

2、当按下按键发声时,七段数码管同步显示当前音阶。

三、实验方法

1、设计思路

本实验首先使用8255并行接口芯片通过反转法从3*5矩阵键盘中读取相应的按键信息,然后与之前

预制的相应数据进行对照,从而得出相应的音频信息和数码管信息,再将相应的音频信息输入到8253芯片中,通过计时器0采用方式3进行发声,同时再通过8255芯片将相应的数码管信息直接输出到数码管出,实现数码管显示。

2、程序流程图

四、实验源程序

CODE SEGMENT

ASSUME CS:CODE

ORG 100H

START:

MOV AL,90H

MOV DX,04A6H

OUT DX,AL ;8255初始化,A口输入

MOV AL,AH

MOV DX,04A0H

IN AL,DX

CMP AL,0

JZ START ;按键未按下这返回继续

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. LEA SI,YUANMA

LEA DI,BIANMA

B:

CMP AL,CS:[SI]

JZ SHUZI

INC SI

INC DI

JMP B

SHUZI:

MOV CL,CS:[DI]

LEA SI,YUANMA

LEA DI,PINLV

A:

CMP AL,CS:[SI]

JZ CHUZHI

INC SI

INC DI

JMP A

CHUZHI:

MOV BX,CS:[DI]

XOR DX,DX

MOV AX,4240H ;1M赫兹

DIV BX ;取频率值

MOV BX,AX

MOV DX,04B6H

MOV AL,36H ;初始化8253计时器工作方式,计数器0,方式3

OUT DX,AL

MOV DX,04B0H

MOV AL,BL

OUT DX,AL

MOV AL,BH

OUT DX,AL ;初值送至8253计时器0

MOV AL,90H

MOV DX,04A6H

OUT DX,AL ;8255初始化,B输出

MOV AL,CL

MOV DX,04A2H

OUT DX,AL

CALL DELAY

CMP CL,6H

JNE NEXT

CALL SONG

NEXT:

MOV DX,04B0H

MOV AL,0

OUT DX,AL

MOV AL,0

OUT DX,AL

JMP START

DELAY: ;延时程序

MOV BP,0FFFFH

DELAY1:

DEC BP

CMP BP,0

JNE DELAY1

RET

SONG: ;播放歌曲,10个音符

MOV CX,10

LEA SI ,SIG

AGAIN:

MOV DX,04B6H

MOV AX,36H

OUT DX,AX

MOV DX,04B0H

MOV AL,0

OUT DX,AL

MOV DX,04B0H

MOV AL,[SI]

OUT DX,AL

CALL DELAY

INC SI

LOOP AGAIN

RET

PINLV:DW 43,49,55,58,65,73,82,87,98,110,116,131,147

YUANMA:DB 01H,02H,04H,08H,10H,20H,40H,80H,03H,07H,0FH,1FH,3FH,7FH

BIANMA:DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

SIG:DB 11H,22H,33H,44H,0FH,0FFH,15H,11H,30H,10H

CODE ENDS

END START

五、实验结果

按下相应的按键,七段数码管会相应显示0—F的16位数字,同时蜂鸣器会发出相应的音阶,并且当数码管显示数字1时,蜂鸣器会播放一段10个音符的音乐。

六、实验中遇到的问题及解决方法

1、对于矩阵键盘,最初的输入总是不稳定,显得很无序,这是没有进行有效防抖进行的,由于

没有标准的延时程序,无法把握准确的延时时间,故改用8位按键编码16中组合方式进行

2、蜂鸣器电路的原理图错误,导致PNP管发热严重,进行调换后能够正常发声

七、心得体会与建议

本次实验,建立在之前对个各种芯片有了逐一认识的基础之上,是一次综合性的实验,通过这样的

相关文档
最新文档