计算机硬件技术基础实验报告.doc

上传人:聆听****声音 文档编号:565770 上传时间:2023-04-29 格式:DOC 页数:28 大小:282KB
下载 相关 举报
计算机硬件技术基础实验报告.doc_第1页
第1页 / 共28页
计算机硬件技术基础实验报告.doc_第2页
第2页 / 共28页
计算机硬件技术基础实验报告.doc_第3页
第3页 / 共28页
计算机硬件技术基础实验报告.doc_第4页
第4页 / 共28页
计算机硬件技术基础实验报告.doc_第5页
第5页 / 共28页
计算机硬件技术基础实验报告.doc_第6页
第6页 / 共28页
计算机硬件技术基础实验报告.doc_第7页
第7页 / 共28页
计算机硬件技术基础实验报告.doc_第8页
第8页 / 共28页
计算机硬件技术基础实验报告.doc_第9页
第9页 / 共28页
计算机硬件技术基础实验报告.doc_第10页
第10页 / 共28页
计算机硬件技术基础实验报告.doc_第11页
第11页 / 共28页
计算机硬件技术基础实验报告.doc_第12页
第12页 / 共28页
计算机硬件技术基础实验报告.doc_第13页
第13页 / 共28页
计算机硬件技术基础实验报告.doc_第14页
第14页 / 共28页
计算机硬件技术基础实验报告.doc_第15页
第15页 / 共28页
计算机硬件技术基础实验报告.doc_第16页
第16页 / 共28页
计算机硬件技术基础实验报告.doc_第17页
第17页 / 共28页
计算机硬件技术基础实验报告.doc_第18页
第18页 / 共28页
计算机硬件技术基础实验报告.doc_第19页
第19页 / 共28页
计算机硬件技术基础实验报告.doc_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机硬件技术基础实验报告.doc

《计算机硬件技术基础实验报告.doc》由会员分享,可在线阅读,更多相关《计算机硬件技术基础实验报告.doc(28页珍藏版)》请在冰点文库上搜索。

计算机硬件技术基础实验报告.doc

计算机硬件技术基础实验

实验报告

学校:

__________________

院系:

__________________

学号:

__________________

姓名:

__________________

同组人员:

__________________

实验一电子发声设计实验

一,实验目的

学习用8254定时/计数器使扬声器发声的编程方法。

二,实验设备

PC微机一台、TD-PIT+实验系统一套。

三,实验内容

根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。

四,实验说明及步骤

一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。

音符与频率对照关系如表1所示。

将一段乐曲的音符对应频率的方波依次送到扬声器,就可以发出这段乐曲的声音。

表1音符与频率对照表(单位:

Hz)

利用8254的方式3—“方波发生器”,将相应一种频率的计数初值写入计数器,就可产生对应频率的方波。

计数初值的计算如下:

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

例如输入时钟采用系统总线上CLK(1.041667MHz),要得到800Hz的频率,计数初值即为1041667/800。

对于每一个音符的演奏时间,可以通过软件延时来处理。

首先确定单位延时时间程序(这个要根据PC机的CPU频率做相应的调整)。

然后确定每个音符演奏需要几个单位时间,将这个值送入DL中,调用DALLY子程序即可。

单位延时时间

DALLYPROC

D0:

MOVCX,200H

D1:

MOVAX,0FFFFH

D2:

DECAX

JNZD2

LOOPD1

RET

DALLYENDP

N个单位延时时间(N送至DL)

DALLYPROC

D0:

MOVCX,200H

D1:

MOVAX,0FFFFH

D2:

DECAX

JNZD2

LOOPD1

DECDL

JNZD0

RET

DALLYENDP

下面提供了乐曲《友谊地久天长》的频率表和时间表。

频率表是将曲谱中的音符对应的频率值依次记录下来(B调、四分之二拍),时间表是将各个音符发音的相对时间记录下来(由曲谱中节拍得出)。

频率表:

FREQ_LISTDW371,495,495,495,624,556,495,556,624;

DW495,495,624,742,833,833,833,742,624

DW624,495,556,495,556,624,495,416,416,371

DW495,833,742,624,624,495,556,495,556,833

DW742,624,624,742,833,990,742,624,624,495

DW556,495,556,624,495,416,416,371,495,0

时间表:

TIME_LISTDB4,6,2,4,4,6,2,4,4;

DB6,2,4,4,12,1,3,6,2

DB4,4,6,2,4,4,6,2,4,4

DB12,4,6,2,4,4,6,2,4,4

DB6,2,4,4,12,4,6,2,4,4

DB6,2,4,4,6,2,4,4,12

频率表和时间表是一、一对应的,频率表的最后一项为0,作为重复的标志。

根据频率表中的频率算出对应的计数初值,然后依次写入8254的计数器。

将时间表中相对时间值带入延时程序来得到音符演奏时间。

实验参考程序流程如图1所示。

五,实验步骤:

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)首先运行CHECK程序,查看I/O空间始地址。

(3)利用查出的地址参考流程图编写程序,然后编译链接。

(4)参考图2所示连接实验线路。

(5)运行程序,听电子发声单元的扬声器发出的音乐是否正确。

图1电子发声设计实验参考程序流程图

图2电子发声设计实验参考接线图

;Sound.asm

;电子发声设计实验

;****************根据查看端口资源修改下列符号值*******************

IOY0EQU9C00H

;*****************************************************************

MY8254_COUNT0EQUIOY0+00H*4;8254计数器0端口地址

MY8254_COUNT1EQUIOY0+01H*4;8254计数器1端口地址

MY8254_COUNT2EQUIOY0+02H*4;8254计数器2端口地址

MY8254_MODEEQUIOY0+03H*4;8254控制寄存器端口地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

FREQ_LISTDW371,495,495,495,624,556,495,556,624;频率表

DW495,495,624,742,833,833,833,742,624

DW624,495,556,495,556,624,495,416,416,371

DW495,833,742,624,624,495,556,495,556,833

DW742,624,624,742,833,990,742,624,624,495

DW556,495,556,624,495,416,416,371,495,0

TIME_LISTDB4,6,2,4,4,6,2,4,4;时间表

DB6,2,4,4,12,1,3,6,2

DB4,4,6,2,4,4,6,2,4,4

DB12,4,6,2,4,4,6,2,4,4

DB6,2,4,4,12,4,6,2,4,4

DB6,2,4,4,6,2,4,4,12

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,MY8254_MODE;初始化8254工作方式

MOVAL,36H;定时器0、方式3

OUTDX,AL

BEGIN:

MOVSI,OFFSETFREQ_LIST;装入频率表起始地址

MOVDI,OFFSETTIME_LIST;装入时间表起始地址

PLAY:

MOVDX,0FH;输入时钟为1.0416667MHz,1.0416667M=0FE502H

MOVAX,0E502H

DIVWORDPTR[SI];取出频率值计算计数初值,0F4240H/输出频率

MOVDX,MY8254_COUNT0

OUTDX,AL;装入计数初值

MOVAL,AH

OUTDX,AL

MOVDL,[DI];取出演奏相对时间,调用延时子程序

CALLDALLY

ADDSI,2

INCDI

CMPWORDPTR[SI],0;判断是否到曲末?

JEBEGIN

MOVAH,1;判断是否有按键按下?

INT16H

JZPLAY

QUIT:

MOVDX,MY8254_MODE;退出时设置8254为方式2,OUT0置0

MOVAL,10H

OUTDX,AL

MOVAX,4C00H;结束程序退出

INT21H

DALLYPROC;延时子程序

D0:

MOVCX,200H

D1:

MOVAX,0FFFFH

D2:

DECAX

JNZD2

LOOPD1

DECDL

JNZD0

RET

DALLYENDP

CODEENDS

ENDSTART

初始效果:

播放了《友谊天长地久》

修改点:

FREQ_LIST和TIME_LIST

重新编排了了频率表和时间表的内容

修改效果:

发出了音乐《两只老虎》

修改后代码:

;Sound.asm

;电子发声设计实验

;****************根据查看端口资源修改下列符号值*******************

IOY0EQU0d800H

;*****************************************************************

MY8254_COUNT0EQUIOY0+00H*4;8254计数器0端口地址

MY8254_COUNT1EQUIOY0+01H*4;8254计数器1端口地址

MY8254_COUNT2EQUIOY0+02H*4;8254计数器2端口地址

MY8254_MODEEQUIOY0+03H*4;8254控制寄存器端口地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

FREQ_LISTDW262,294,330,262,262,294,330,262,330,350,393,330,350,393;频率表

DW393,441,393,350,330,262,393,441,393,350,330,262

DW294,196,262,294,196,262

TIME_LISTDB4,4,4,4,4,4,4,4,4,4,8,4,4,8;时间表

DB2,2,2,2,4,4,2,2,2,2,4,4

DB4,4,8,4,4,8

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,MY8254_MODE;初始化8254工作方式

MOVAL,36H;定时器0、方式3

OUTDX,AL

BEGIN:

MOVSI,OFFSETFREQ_LIST;装入频率表起始地址

MOVDI,OFFSETTIME_LIST;装入时间表起始地址

PLAY:

MOVDX,0FH;输入时钟为1.0416667MHz,1.0416667M=0FE502H

MOVAX,0E502H

DIVWORDPTR[SI];取出频率值计算计数初值,0F4240H/输出频率

MOVDX,MY8254_COUNT0

OUTDX,AL;装入计数初值

MOVAL,AH

OUTDX,AL

MOVDL,[DI];取出演奏相对时间,调用延时子程序

CALLDALLY

ADDSI,2

INCDI

CMPWORDPTR[SI],0;判断是否到曲末?

JEBEGIN

MOVAH,1;判断是否有按键按下?

INT16H

JZPLAY

QUIT:

MOVDX,MY8254_MODE;退出时设置8254为方式2,OUT0置0

MOVAL,10H

OUTDX,AL

MOVAX,4C00H;结束程序退出

INT21H

DALLYPROC;延时子程序

D0:

MOVCX,0A00H

D1:

MOVAX,0FFFFH

D2:

DECAX

JNZD2

LOOPD1

DECDL

JNZD0

RET

DALLYENDP

CODEENDS

ENDSTART

六,实验心得

这是我们第一次接触硬件实验,第一次接触TD-PIT+实验系统,以前都只是在书本上看过有关方面的内容,这次终于见到真的了!

我们怀着好奇和激动的心情完成了这次实验,但总体来说效果没有想象中的那样美好,我们不懂的东西太多了。

虽然实验倒是圆满完成了,但我们只是像个技工一样按照讲义按部就班地把线接好,把程序改好,至于线路为什么要这样连接,具体的程序语言是什么意思却并不是很清楚,整体的认识和把握还是比较模糊的。

不过这个实验还是极大地激发了我们的好奇心,在课后我们查阅了一些文献,大致了解一些关于电子发生器的原理以及运用,我们了解到它很重要的一个作用就是用作有源消声器,就是一种在风道内,用电脑控制电子发声器产生一种与需消噪声的频率、强度相合,但相位相反的干涉声波来消除噪声的消声装置。

有源消声器基本原理是在原来的声场中,利用电子设备再产生一个与原来的声压大小相等、相位相反的声波,使其在一定范围内与原来的声场相抵消。

有源消声器被广泛使用于发电、化工、冶金、纺织等工业厂矿中用于各种型号锅炉、汽机排汽;风机;安全门等设备的消声降音。

实验二点阵LED显示设计实验

一,实验目的

学习点阵LED的操作方法。

二,实验设备

PC微机一台、TD-PIT+实验系统一套。

三,实验内容

使用基本输入输出单元中的两路输出OA[7:

0]和OB[7:

0]分别控制点阵LED的行控制R[7:

0]和列控制L[7:

0]。

编写程序,使点阵LED的每一行和每一列依次循环显示。

四,实验说明

8×8点阵LED相当于8×8个发光管组成的阵列,其中每一行共用一个阳极(行控制),每一列共用一个阴极(列控制)。

行控制和列控制满足正确的电平就可使相应行列的发光管点亮。

实验平台上点阵LED的管脚及相应的行、列控制位如图1所示。

(a)(b)

图18×8点阵LED管脚图

本实验利用基本输入输出单元的两路输出分别控制点阵LED的行和列,编写一个简单的程序,使每一行和每一列依次循环显示。

参考程序流程如图2所示。

五,实验步骤

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)首先运行Tdpit集成操作软件,检查端口资源分配情况。

记录与所使用片选信号对应的I/O端口始地址。

(3)利用查出的地址编写程序,然后编译链接。

(4)实验参考接线如图4所示连接实验线路。

(5)运行程序,观察LED显示是否正确。

图2点阵LED显示实验参考程序流程图

图38×8点阵LED显示实验参考接线图

图416×16点阵LED显示实验参考接线图

源代码:

;Led-HZ.asm

;32位LED点阵汉字显示实验

INCLUDELED-HZ.inc

.386P

;****************根据查看端口资源修改下列符号值*******************

IOY0EQU0DC00H;片选IOY0对应的端口始地址

;*****************************************************************

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENTUSE16

ADDRDW?

DATAENDS

CODESEGMENTUSE16

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

A2:

MOVADDR,OFFSETHZDOT;取汉字数组始地址

MOVSI,ADDR

A1:

MOVCX,20H;控制1屏显示时间

LOOP2:

CALLDISPHZ

SUBSI,32

LOOPLOOP2

KEY:

MOVAH,1;判断是否有按键按下?

INT16H

JNZQUIT

ADDSI,2

MOVAX,SI

SUBAX,ADDR

CMPAX,352;比较文字是否显示完毕

JNBA2

JMPA1

QUIT:

MOVEAX,0;灭灯

MOVDX,IOY0

OUTDX,EAX

MOVAX,4C00H;结束程序退出

INT21H

DISPHZPROCNEAR;显示1屏汉字子程序

PUSHCX

MOVCX,16

MOVBX,0FFFEH

LOOP1:

MOVAL,BYTEPTR[SI]

MOVAH,BYTEPTR[SI+1]

ROLEAX,16

MOVAX,BX

ADDSI,2

ROLBX,1

NOTEAX

MOVDX,IOY0

OUTDX,EAX

CALLDALLY

LOOPLOOP1

POPCX

RET

DISPHZENDP

DALLYPROCNEAR;软件延时子程序

MOVAX,0FFFFH

D1:

DECAX

JNZD1

RET

DALLYENDP

CODEENDS

ENDSTART

DATASEGMENT

HZDOT:

;空白

DB000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,000H

DB000H,000H,000H,000H,000H,000H,000H,000H

;西CCEF7

DB000H,000H,0FFH,0FFH,060H,006H,060H,006H

DB0FEH,07FH,066H,066H,066H,066H,066H,066H

DB066H,066H,036H,07CH,01EH,060H,00EH,060H

DB006H,060H,0FEH,07FH,006H,060H,000H,000H

;安CB0B2

DB0C0H,000H,080H,001H,0FCH,0FFH,00CH,060H

DB066H,030H,0E0H,000H,060H,000H,0FFH,0FFH

DB030H,00CH,030H,00CH,030H,006H,0E0H,003H

DB080H,001H,0E0H,007H,038H,03CH,00FH,018H

;唐CCCC6

DB080H,001H,000H,003H,0FCH,07FH,00CH,003H

DB0FCH,01FH,00CH,01BH,0FCH,07FH,00CH,01BH

DB0FCH,01FH,00CH,003H,0FCH,01FH,03CH,018H

DB036H,018H,0F6H,01FH,0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2