计算机硬件技术基础
实验指导书
同济大学电信学院实验中心
2011年3月
fTdpit
集成操作软件的安装及使用
fffffffffff312电子发声设计实验
3121实验目的学习用8254定时计数器使扬声器发声的编程方法。3122实验设备PC微机一台、TDPIT实验系统一套。3123实验内容根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。3124实验说明及步骤一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。音符与频率对照关系如表3121所示。将一段乐曲的音符对应频率的方波依次送到扬声器,就可以发出这段乐曲的声音。表3121音符与频率对照表单位:Hz
利用8254的方式3“方波发生器”,将相应一种频率的计数初值写入计数器,就可产生对应频率的方波。计数初值的计算如下:计数初值=输入时钟÷输出频率例如输入时钟采用系统总线上CLK1041667MHz,要得到800Hz的频率,计数初值即为1041667800。对于每一个音符的演奏时间,可以通过软件延时来处理。首先确定单位延时时间程序(这个要根据PC机的CPU频率做相应的调整)。然后确定每个音符演奏需要几个单位时间,将这个值送入DL中,调用DALLY子程序即可。
f单位延时时间DALLYPROCD0MOVCX200HD1MOVAX0FFFFHD2DECAXJNZD2LOOPD1RETDALLYENDPN个单位延时时间N送至DLDALLYPROCD0MOVCX200HD1MOVAX0FFFFHD2DECAXJNZD2LOOPD1DECDLJNZD0RETDALLYENDP下面提供了乐曲《友谊地久天长》的频率表和时间表。频率表是将曲谱中的音符对应的频率值依次记录下来(B调、四分之二拍),时间表是将各个音符发音的相对时间记录下来(由曲谱中节拍得出)。频率表FREQ_LISTDW371495495495624556495556624DW495495624742833833833742624DW624495556495556624495416416371DW495833742624624495556495556833DW742624624742833990742624624495DW5564955566244954164163714950时间表TIME_LISTDB462446244DB6244121362DB4462446244DB12462446244DB62441246244DB6244624412频率表和时间表是一、一对应的,频率表的最后一项为0,作为重复的标志。根据频率表中的频率算出对应的计数初值,然后依次写入8254的计数器。将时间表中相对时间值带入延时程序来得到音符演奏时间。实验参考程序流程如图3121所示。
f实验步骤如下。1确认从PC机引出的两根扁平电缆已经连接在实验平台上。2首先运行CHECK程序,查看IO空间始地址。3r