微机原理硬件大实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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管发热严重,进行调换后能够正常发声
七、心得体会与建议
本次实验,建立在之前对个各种芯片有了逐一认识的基础之上,是一次综合性的实验,通过这样的