计算机硬件技术基础实验报告精选
计算机硬件?技术基础实?验
实验报告
学 校:_____?_____?_____?___
院 系:_____?_____?_____?___
学 号:_____?_____?_____?___
姓 名:_____?_____?_____?___
同组人员:_____?_____?_____?___
实验一 电子发声设?计实验
一,实验目的
学习用82?54定时/计数器使扬?声器发声的?编程方法。
二,实验设备
PC微机一?台、TD-PIT+ 实验系统一?套。
三,实验内容
根据实验提?供的音乐频?率表和时间?表,编写程序控?制8254?,使其输出连?接到扬声器?上能发出相?应的乐曲。
四,实验说明及?步骤
一个音符对?应一个频率?,将对应一个?音符频率的?方波通到扬?声器上,就可以发出?这个音符的?声音。音符与频率?对照关系如?表1所示。将一段乐曲?的音符对应?频率的方波?依次送到扬?声器,就可以发出?这段乐曲的?声音。
表1 音符与频率?对照表 (单位:Hz)
利用825?4的方式3?—“方波发生器?”,将相应一种?频率的计数?初值写入计?数器,就可产生对?应频率的方?波。计数初值的?计算如下:
计数初值 = 输入时钟 ÷ 输出频率
例如输入时?钟采用系统?总线上CL?K(1.04166?7MHz),要得到80?0Hz的频?率,计数初值即?为1041?667/800。对于每一个?音符的演奏?时间,可以通过软?件延时来处?理。首先确定单?位延时时间?程序(这个要根据?PC机的C?PU频率做?相应的调整?)。然后确定每?个音符演奏?需要几个单?位时间,将这个值送?入DL中,调用DAL?LY子程序?即可。
单位延时时?间
DALLY? PROC
D0: MOV CX,200H
D1: MOV AX,0FFFF?H
D2: DEC AX
JNZ D2
LOOP D1
RET
DALLY? ENDP
N个单位延?时时间 (N送至DL?)
DALLY? PROC
D0: MOV CX,200H
D1: MOV AX,0FFFF?H
D2: DEC AX
JNZ D2
LOOP D1
DEC DL
JNZ D0
RET
DALLY? ENDP
下面提供了?乐曲《友谊地久天?长》的频率表和?时间表。频率表是将?曲谱中的音?符对应的频?率值依次记?录下来(B调、四分之二拍?),时间表是将?各个音符发?音的相对时?间记录下来?(由曲谱中节?拍得出)。
频率表:
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
频率表和时?间表是一、一对应的,频率表的最?后一项为0?,作为重复的?标志。根据频率表?中的频率算?出对应的计?数初值,然后依次写?入8254?的计数器。将时间表中?相对时间值?带入延时程?序来得到音?符演奏时间?。实验参考程?序流程如图?1所示。
五,实验步骤:
(1) 确认从PC?机引出的两?根扁平电缆?已经连接在?实验平台上?。
(2) 首先运行C?HECK程?序,查看I/O空间始地?址。
(3) 利用查出的?地址参考流?程图编写程?序,然后编译链?接。
(4) 参考图2所?示连接实验?线路。
(5) 运行程序,听电子发声?单元的扬声?器发出的音?乐是否正确?。
图1 电子发声设?计实验参考?程序流程图?
图2 电子发声设?计实验参考?接线图
;Sound?.asm
;电子发声设?计实验
;****************根据查看端?口资源修改?下列符号值?*****