教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

微机原理与接口技术-8254电子发声器_课程设计_BY(凉)

来源:网络收集 时间:2026-09-13
导读: 一.实验名称:发声器 二.功能及使用方法: 设计一个电子琴发声程序,并在运行时通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。并在实验箱上的发声器上发声,这肯定需要有发声程序,驱动发声程序

一.实验名称:发声器

二.功能及使用方法:

设计一个电子琴发声程序,并在运行时通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。并在实验箱上的发声器上发声,这肯定需要有发声程序,驱动发声程序,还有键盘扫描程序,及为了能够听见清脆的字符音还得对程序进行必要的延时。利用8254芯片所提供转化后的频率送到发声单元进行发声及8255芯片送提供的输入输出功能,来完成从键盘的输入到发声装置发声的控制。

电子发声原理:

一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。将一段乐曲的音符对应频率的方波一次送到扬声器,就可以演奏出这段乐曲。利用8254的“方波发生器”,将相应的一种频率的计数初值写入计数器,就可以产生对应频率的方波。计数初值的计算如下:

计数初值 = 输入时钟\输出频率

例如输入时钟采用1MHZ,要得到800HZ的频率,计数初值即为1000000/800。音符与表的对照关系如上表所示。对于每一个音符的演奏时间,可以通过软件延时来处理。首先确定单位延时子程序(根据CPU的频率不同而有所变化)。然后确定每个音符演奏需要几个单位延时,将此值送入寄存器,再调用延时子程序即可。

三.实验器件:

通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。并在实验箱上的发声器上发声。

选用器件:

8254和8255芯片各一片,微机一台,TPC-H通用微机接口实验系统一台,扬声器和导线若干

四.电路连接图:

8254部分接线图

8255部分接线图

五.各子程序功能

1.为8255和8254所定义的端口地址:

I0Y0 EQU 06C0H

MY8254_COUNT0 EQU I0Y0+00H

MY8254_COUNT1 EQU I0Y0+02H

MY8254_COUNT2 EQU I0Y0+04H

MY8254_MODE EQU I0Y0+06H

MY8255_A EQU 0640H

MY8255_B EQU 0642H

MY8255_C EQU 0644H

MY8255_MODE EQU 0646H

2..频率表及所对应的时间表:

FREQ_LIST DW 262H,294H,330H,349H,392H,440H,496H DW 523H,587H,659H,698H,784H,880H,988H DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

3.定义8255和8254的控制字

MOV DX,MY8255_MODE

MOV AL,81H

OUT DX,AL

MOV DX,MY8254_MODE

MOV AL,36H

OUT DX,AL

SCAN子程序实现取出按键值并输入A口(清屏子程序)

CCSCAN:MOV AL,00H

MOV DX,MY8255_A

OUT DX,AL

MOV DX,MY8255_C

IN AL,DX

NOT AL

AND AL,0FH

RET

5.Play输出发音的子程序

PLAY PROC

MOV AH,0

MOV SI,AX

SHL SI,1

MOV DX,0FH

MOV AX,4240H

DIV WORD PTR [SI]

MOV DX,MY8254_COUNT0

OUT DX,AL

MOV AL,AH

OUT DX,AL

RET

PLAY ENDP

6.延时子程序

DALLY PROC

D0: MOV CX,0010H

D1: MOV AX,02H

D2: DEC AX

JNZ D2

LOOP D1

DEC DL

JNZ D0

RET

DALLY ENDP

7.按键扫描功能

COLUM:

MOV AL,CH

MOV DX,MY8255_A

OUT DX,AL

MOV DX,MY8255_C

IN AL,DX

L1:TEST AL,01H

JNZ L2

MOV AL,00H

JMP KCODE

L2:TEST AL,02H

JNZ L3

MOV AL,04H

JMP KCODE

L3:TEST AL,04H

JNZ L4

MOV AL,08H

JMP KCODE

L4:TEST AL,08H

JNZ NEXT

MOV AL,0CH

KCODE: ADD AL,CL

CALL PLAY

PUSH AX

KON:CALL DALLY

CALL CCSCAN

JNZ KON

POP AX

JMP BEGIN1

六.源程序清单

I0Y0 EQU 06C0H

MY8254_COUNT0 EQU I0Y0+00H

MY8254_COUNT1 EQU I0Y0+02H

MY8254_COUNT2 EQU I0Y0+04H

MY8254_MODE EQU I0Y0+06H

MY8255_A EQU 0640H

MY8255_B EQU 0642H

MY8255_C EQU 0644H

MY8255_MODE EQU 0646H

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DATA SEGMENT

FREQ_LIST DW 262H,294H,330H,349H,392H,440H,496H DW 523H,587H,659H,698H,784H,880H,988H DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

MOV DX,MY8255_MODE MOV AL,81H

OUT DX,AL

MOV DX,MY8254_MODE MOV AL,36H

OUT DX,AL

BEGIN1:

CALL CCSCAN

JNZ INK1

JMP BEGIN1

INK1:

CALL CCSCAN

JNZ INK2

JMP BEGIN1

INK2:MOV CH,0FEH

MOV CL,00H

COLUM:

MOV AL,CH

MOV DX,MY8255_A

OUT DX,AL

MOV DX,MY8255_C

IN AL,DX

L1:TEST AL,01H

JNZ L2

MOV AL,00H

JMP KCODE

L2:TEST AL,02H

JNZ L3

MOV AL,04H

JMP KCODE

L3:TEST AL,04H

JNZ L4

MOV AL,08H

JMP KCODE

L4:TEST AL,08H

JNZ NEXT

MOV AL,0CH

KCODE: ADD AL,CL

CALL PLAY

PUSH AX

KON:CALL DALLY

CALL CCSCAN

JNZ KON

POP AX

JMP BEGIN1

NEXT:INC CL

MOV AL,CH

TEST AL,08H

JZ KERR

ROL AL,1

MOV CH,AL

JMP COLUM

KERR:JMP BEGIN1

CCSCAN:MOV AL,00H

MOV DX,MY8255_A OUT DX,AL

MOV DX,MY8255_C IN AL,DX

NOT AL

AND AL,0FH

RET

PLAY PROC

MOV AH,0

MOV SI,AX

SHL SI,1

MOV DX,0FH

MOV AX,4240H

DIV WORD PTR [SI]

MOV DX,MY8254_COUNT0 OUT DX,AL

MOV AL,AH

OUT DX,AL

RET

PLAY ENDP

DALLY PROC

D0: MOV CX,0010H

D1: MOV AX,02H

D2: DEC AX

JNZ D2

LOOP D1

DEC DL

JNZ D0

RET

DALLY ENDP

CODE ENDS

END START

…… 此处隐藏:1532字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机原理与接口技术-8254电子发声器_课程设计_BY(凉).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/91742.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)