首页 计算机硬件技术基础实验指导书

计算机硬件技术基础实验指导书

举报
开通vip

计算机硬件技术基础实验指导书计算机硬件技术基础 实验指导书 同济大学 电信学院 实验中心 2011年3月 Tdpit 集成操作软件的安装及使用 3.12 电子发声设计实验 3.12.1 实验目的 学习用8254定时/计数器使扬声器...

计算机硬件技术基础实验指导书
计算机硬件技术基础 实验指导书 同济大学 电信学院 实验中心 2011年3月 Tdpit 集成操作软件的安装及使用 3.12 电子发声 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实验 3.12.1 实验目的 学习用8254定时/计数器使扬声器发声的编程方法。 3.12.2 实验设备 PC微机一台、TD-PIT+ 实验系统一套。 3.12.3 实验内容 根据实验提供的音乐频率 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。 3.12.4 实验说明及步骤 一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。音符与频率对照关系如表3-12-1所示。将一段乐曲的音符对应频率的方波依次送到扬声器,就可以发出这段乐曲的声音。 表3-12-1 音符与频率对照表 (单位:Hz) 利用8254的方式3—“方波发生器”,将相应一种频率的计数初值写入计数器,就可产生对应频率的方波。计数初值的计算如下: 计数初值 = 输入时钟 ÷ 输出频率 例如输入时钟采用系统总线上CLK(1.041667MHz),要得到800Hz的频率,计数初值即为1041667/800。对于每一个音符的演奏时间,可以通过软件延时来处理。首先确定单位延时时间程序(这个要根据PC机的CPU频率做相应的调整)。然后确定每个音符演奏需要几个单位时间,将这个值送入DL中,调用DALLY子程序即可。 ;单位延时时间 DALLY PROC D0: MOV CX,200H D1: MOV AX,0FFFFH D2: DEC AX JNZ D2 LOOP D1 RET DALLY ENDP ;N个单位延时时间 (N送至DL) DALLY PROC D0: MOV CX,200H D1: MOV AX,0FFFFH 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的计数器。将时间表中相对时间值带入延时程序来得到音符演奏时间。实验参考程序流程如图3-12-1所示。 实验步骤如下。 (1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。 (2) 首先运行CHECK程序,查看I/O空间始地址。 (3) 利用查出的地址参考流程图编写程序,然后编译链接。 (4) 参考图3-12-2所示连接实验线路。 (5) 运行程序,听电子发声单元的扬声器发出的音乐是否正确。 图3-12-1 电子发声设计实验参考程序流程图 图3-12-2 电子发声设计实验参考接线图 ;Sound.asm ;电子发声设计实验 ;****************根据查看端口资源修改下列符号值******************* IOY0 EQU 9C00H ;***************************************************************** MY8254_COUNT0 EQU IOY0+00H*4 ;8254计数器0端口地址 MY8254_COUNT1 EQU IOY0+01H*4 ;8254计数器1端口地址 MY8254_COUNT2 EQU IOY0+02H*4 ;8254计数器2端口地址 MY8254_MODE EQU IOY0+03H*4 ;8254控制寄存器端口地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT 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 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,36H ;定时器0、方式3 OUT DX,AL BEGIN:MOV SI,OFFSET FREQ_LIST ;装入频率表起始地址 MOV DI,OFFSET TIME_LIST ;装入时间表起始地址 PLAY: MOV DX,0FH ;输入时钟为1.0416667MHz,1.0416667M = 0FE502H MOV AX,0E502H DIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率 MOV DX,MY8254_COUNT0 OUT DX,AL ;装入计数初值 MOV AL,AH OUT DX,AL MOV DL,[DI] ;取出演奏相对时间,调用延时子程序 CALL DALLY ADD SI,2 INC DI CMP WORD PTR [SI],0 ;判断是否到曲末? JE BEGIN MOV AH,1 ;判断是否有按键按下? INT 16H JZ PLAY QUIT: MOV DX,MY8254_MODE ;退出时设置8254为方式2,OUT0置0 MOV AL,10H OUT DX,AL MOV AX,4C00H ;结束程序退出 INT 21H DALLY PROC ;延时子程序 D0: MOV CX,200H D1: MOV AX,0FFFFH D2: DEC AX JNZ D2 LOOP D1 DEC DL JNZ D0 RET DALLY ENDP CODE ENDS END START 思考题: 通过修改音符“频率表”和节拍“时间表”,自己设计演奏一曲。 3.14 点阵LED显示设计实验 3.14.1 实验目的 学习点阵LED的操作方法。 3.14.2 实验设备 PC微机一台、TD-PIT+ 实验系统一套。 3.14.3 实验内容 使用基本输入输出单元中的两路输出OA[7:0]和OB[7:0]分别控制点阵LED的行控制R[7:0]和列控制L[7:0]。编写程序,使点阵LED的每一行和每一列依次循环显示。 3.14.4 实验说明及步骤 8×8点阵LED相当于8×8个发光管组成的阵列,其中每一行共用一个阳极(行控制),每一列共用一个阴极(列控制)。行控制和列控制满足正确的电平就可使相应行列的发光管点亮。实验平台上点阵LED的管脚及相应的行、列控制位如图3-14-1所示。 (a) (b) 图3-14-1 8×8点阵LED管脚图 本实验利用基本输入输出单元的两路输出分别控制点阵LED的行和列,编写一个简单的程序,使每一行和每一列依次循环显示。参考程序流程如图3-14-2所示。 实验步骤如下。 (1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。 (2) 首先运行Tdpit集成操作软件,检查端口资源分配情况。记录与所使用片选信号对应的I/O端口始地址。 (3) 利用查出的地址编写程序,然后编译链接。 (4) 实验参考接线如图3-14-2所示连接实验线路。 (5) 运行程序,观察LED显示是否正确。 图3-14-2 点阵LED显示实验参考程序流程图 图3-14-3 8×8点阵LED显示实验参考接线图 图3-14-4 16×16点阵LED显示实验参考接线图 ;Led-HZ.asm ;32位LED点阵汉字显示实验 INCLUDE LED-HZ.inc .386P ;****************根据查看端口资源修改下列符号值******************* IOY0 EQU 9C00H ;片选IOY0对应的端口始地址 ;***************************************************************** STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT USE16 ADDR DW ? DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX A2: MOV ADDR,OFFSET HZDOT ;取汉字数组始地址 MOV SI,ADDR A1: MOV CX,20H ;控制1屏显示时间 LOOP2: CALL DISPHZ SUB SI,32 LOOP LOOP2 KEY: MOV AH,1 ;判断是否有按键按下? INT 16H JNZ QUIT ADD SI,2 MOV AX,SI SUB AX,ADDR CMP AX,352 ;比较文字是否显示完毕 JNB A2 JMP A1 QUIT: MOV EAX,0 ;灭灯 MOV DX,IOY0 OUT DX,EAX MOV AX,4C00H ;结束程序退出 INT 21H DISPHZ PROC NEAR ;显示1屏汉字子程序 PUSH CX MOV CX,16 MOV BX,0FFFEH LOOP1: MOV AL,BYTE PTR[SI] MOV AH,BYTE PTR[SI+1] ROL EAX,16 MOV AX,BX ADD SI,2 ROL BX,1 NOT EAX MOV DX,IOY0 OUT DX,EAX CALL DALLY LOOP LOOP1 POP CX RET DISPHZ ENDP DALLY PROC NEAR ;软件延时子程序 MOV AX,0FFFFH D1: DEC AX JNZ D1 RET DALLY ENDP CODE ENDS END START ;LED-HZ.asm的包含文件,显示汉字的字模点阵数据 ;LCD显示设计实验 ;本文件为16×16点阵中文字库文件,字的横向8点构成一字节,左边点在字节的低位, ;字符点阵四角按左上角→右上角→左下角→右下角取字 ;如你想在以后继续用HZDotReader打开文件,追加汉字点阵数据,请不要修改或增删所有注释 DATA SEGMENT HZDOT: ;空白 DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H ;西 CCEF7 DB 000H,000H,0FFH,0FFH,060H,006H,060H,006H DB 0FEH,07FH,066H,066H,066H,066H,066H,066H DB 066H,066H,036H,07CH,01EH,060H,00EH,060H DB 006H,060H,0FEH,07FH,006H,060H,000H,000H ;安 CB0B2 DB 0C0H,000H,080H,001H,0FCH,0FFH,00CH,060H DB 066H,030H,0E0H,000H,060H,000H,0FFH,0FFH DB 030H,00CH,030H,00CH,030H,006H,0E0H,003H DB 080H,001H,0E0H,007H,038H,03CH,00FH,018H ;唐 CCCC6 DB 080H,001H,000H,003H,0FCH,07FH,00CH,003H DB 0FCH,01FH,00CH,01BH,0FCH,07FH,00CH,01BH DB 0FCH,01FH,00CH,003H,0FCH,01FH,03CH,018H DB 036H,018H,0F6H,01FH,033H,018H,000H,000H ;都 CB6BC DB 030H,000H,030H,0FCH,0FEH,0CFH,0B0H,06DH DB 0F0H,03CH,0FFH,01FH,030H,03CH,018H,06CH DB 0FCH,0CDH,08EH,0CDH,0FFH,0CDH,08CH,0FDH DB 08CH,06DH,0FCH,00DH,08CH,00DH,000H,00CH ;科 CBFC6 DB 0E0H,030H,03EH,033H,030H,036H,030H,036H DB 0FFH,030H,038H,033H,078H,036H,0FCH,036H DB 03CH,0F0H,036H,03EH,0F3H,033H,030H,030H DB 030H,030H,030H,030H,030H,030H,030H,030H ;教 CBDCC DB 030H,00CH,030H,00CH,0FEH,00DH,0F0H,0FEH DB 0FFH,067H,030H,066H,018H,067H,0FCH,036H DB 067H,03CH,030H,03CH,0F0H,019H,03FH,018H DB 030H,03CH,030H,037H,0FCH,0E1H,018H,060H ;仪 CD2C7 DB 030H,003H,030H,006H,018H,03EH,0D8H,036H DB 0CCH,030H,0CEH,018H,08FH,019H,08CH,019H DB 00CH,00FH,00CH,00FH,00CH,006H,00CH,00FH DB 08CH,019H,0CCH,0F0H,07CH,060H,00CH,000H ;器 CC6F7 DB 0FCH,07EH,0CCH,066H,0CCH,066H,0FCH,07EH DB 080H,019H,080H,031H,0FFH,07FH,0E0H,007H DB 038H,01CH,00FH,0F0H,0FCH,07FH,0CCH,033H DB 0CCH,033H,0CCH,033H,0FCH,03FH,000H,000H ;公 CB9AB DB 000H,000H,060H,006H,0E0H,006H,060H,006H DB 030H,00CH,030H,018H,018H,038H,0CCH,0F0H DB 0C6H,061H,0C0H,000H,060H,00CH,030H,018H DB 098H,03FH,0FCH,039H,018H,018H,000H,000H ;司 CCBBE DB 000H,000H,0FCH,07FH,000H,060H,000H,060H DB 0FEH,06FH,000H,060H,000H,060H,0FCH,067H DB 00CH,066H,00CH,066H,0FCH,067H,00CH,066H DB 00CH,060H,000H,078H,000H,030H,000H,000H ;空白 DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DATA ENDS 思考题: 实验参考接线如图3-14-4所示。利用取字模软件得到汉字字符数组,设计程序,在16×16点阵上滚动显示“西安唐都科教仪器”。 4.1 步进电机控制实验 4.1.1 实验目的 (1) 学习步进电机的控制方法。 (2) 学会用8255控制步进电机。 4.1.2 实验设备 PC微机一台、TD-PIT+ 实验系统一套、选配四项八拍步进电机一个。 4.1.3 实验内容 学习步进电机的控制方法,编写程序,利用8255的B口来控制步进电机的运转。 4.1.4 实验说明及步骤 使用开环控制方式能对步进电机的转动方向、速度、角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动一次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验平台可连接的步进电机为四项八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如图4-1-1及表4-1-1所示。 表4-1-1 单次脉冲励磁顺序 图4-1-1 四项八拍电机励磁线圈 实验中PB端口各线的电平在各步中的情况如表4-1-2所示。实验电路如图4-1-2所示。 表4-1-2 PB端口各线的电平在各步中的情况 图4-1-2 步进电机控制实验参考接线图 实验步骤如下: (1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。 (2) 首先运行CHECK程序,查看I/O空间始地址。 (3) 利用查出的地址编写程序,然后编译链接。 (4) 参考图4-1-3所示连接实验线路。 (5) 运行程序,观察步进电机的转动情况。 注意:步进电机不使用时请断开连接器,以免误操作使电机过分发热。 ;Bujin.asm ;步进电机控制实验 ;****************根据查看端口资源修改下列符号值******************* IOY0 EQU 9C00H ;片选IOY0对应的端口始地址 ;***************************************************************** MY8255_A EQU IOY0+00H*4 ;8255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255的B口地址 MY8255_C EQU IOY0+02H*4 ;8255的C口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT TTABLE DB 01H,03H,02H,06H,04H,0CH,08H,09H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MAIN: MOV DX,MY8255_MODE ;定义8255工作方式 MOV AL,80H ;工作方式0,A口和B口为输出 OUT DX,AL A1: MOV BX,OFFSET TTABLE MOV CX,0008H A2: MOV AL,[BX] MOV DX,MY8255_B OUT DX,AL CALL DALLY INC BX LOOP A2 MOV AH,1 ;判断是否有按键按下 INT 16H JZ A1 ;无按键则跳回继续循环,有则退出 QUIT: MOV AX,4C00H ;结束程序退出 INT 21H DALLY PROC NEAR ;软件延时子程序 PUSH CX PUSH AX MOV CX,0FFFH D1: MOV AX,5000H D2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP CODE ENDS END START 思考题: 修改软件语句的速度值和励磁步序,可分别控制步进电机的转速或转动方向。
本文档为【计算机硬件技术基础实验指导书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_608447
暂无简介~
格式:doc
大小:3MB
软件:Word
页数:29
分类:工学
上传时间:2013-08-31
浏览量:20