收藏 分销(赏)

汇编专业课程设计高杰.docx

上传人:w****g 文档编号:2797003 上传时间:2024-06-06 格式:DOCX 页数:23 大小:180.54KB
下载 相关 举报
汇编专业课程设计高杰.docx_第1页
第1页 / 共23页
汇编专业课程设计高杰.docx_第2页
第2页 / 共23页
汇编专业课程设计高杰.docx_第3页
第3页 / 共23页
汇编专业课程设计高杰.docx_第4页
第4页 / 共23页
汇编专业课程设计高杰.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、汇编课程设计高杰姓名: 高杰 学号:110104010133 班级:计算机应用3班 指导教师:张忠平 何海涛 日期:2014年7月10日 目录1.1课程设计目的31.2课程设计的意义3二、设计题目32.1乐曲程序32.1.1设计要求32.1.2设计原理32.1.3 电路连接图62.2 光标轨迹程序draw72.2.1 设计要求72.2.2 设计原理72.2.3程序流程图8三、程序代码93.1 题目一代码93.2 题目二代码12四、程序运行结果174.1题目一运行结果174.2 题目二运行结果17五、心得体会19一、课程设计目标和意义1.1课程设计目标1.深入了解汇编语言指令功效和使用方法。2.

2、深入了解汇编接口功效和使用方法。3.了解用汇编语言实现声音编程。1.2课程设计意义此次课程设计,给同学们一个把理论知识转化为实际动手能力机会,使同学们能够更深入了解汇编语言,掌握汇编语言指令使用方法,掌握8255、8253接口功效和控制方法。此次课程设计题目难度适中,既能够培养同学们自信心又能够锻炼同学们处理困难能力。二、设计题目 2.1乐曲程序 2.1.1设计要求利用定时器产生声音方法编写程序,使PC机奏出两只老虎乐曲。 2.1.2设计原理1.乐谱中每个音符有音高和音长两种属性,根据乐谱把每个音符频率和节拍定义成两个数据表,程序从频率表中取出一个音符频率值,以产生一定音高声音,同时取出对应节

3、拍计数值控制这一频率声音延长时间。图1 两只老虎乐谱音阶1234567对应频率262294330349392440494图2 音阶2每个音符频率值Freq经过转化后送入定时器42H端口,以产生对应频率脉冲。转换公式为:533H*896/Freq=123280H/freqMUS_FREG1 DW 2 dup(262,294,330,262) ;频率表 DW 2 dup(330,349,392) DW 2 dup(392,440,392,349,330,262) DW 2 dup(294,196,262),-1 3.节拍时间表中存放计数值是音长1/10,如2拍音长定为0.5秒,对应计数值应为50;

4、一拍音长是0.25秒,对应计数值应为25.然后控制100p指令反复实施2801*n次来取得音符延长时间(n为音长所对应计数值) 10ms延迟时间指令:D1: MOV CX,2801 D0: LOOP D0TIME DW 8 dup(100) ;时间表 DW 2 dup(100,100,200) DW 2 dup(50,50,50,50,100,100) DW 2 dup(100,100,200) 48254是可编程间隔定时器。为8253改善型,比8253含有更优良性能。8254含有部分基础功效:1.有三个独立16位计数器;2.二进制可按二进制或十进制计数; 3.工作于6种不一样工作方法; 4.

5、有读回命令,除了能够读出目前计数单元内容外,还能够读出状态寄存器内容;5.计数脉冲能够是有规律时钟信号,也能够是随 机信号。计数初值以下:其中fclki是输入脉冲频率fouti,n=fclki/fouti 8254工作方法以下: 方法0:计数到0结束输出正跃变信号方法。 方法1:硬件可重触发单稳方法。 方法2:频率发生器方法。 方法3:方波发生器。 方法4:软件触发选通方法。 方法5:硬件触发选通方法。本试验采取计数器0产生基础时钟,选择方法3(方波发生器),初值为0,也就是最大65536,则其方波输出频率1.193MHZ/65536=18.28254方法控制字格式D7D6D5D4D3D2D1

6、D0计数器选择读写格式选择工作方法选择计数码制选择 计数器0 计数器110-计数器211-读出控制字标志00-锁存计数值01-读/写低八位10-读/写高八位11-先读/写低八位、再读/写高八位000-方法0001-方法1010-方法2011-方法3100-方法4101-方法50-二进制数1-十进制数8254读出控制字格式D7D6D5D4D3D2D1D0110-锁存计数值0-锁存状态信息计数器选择(同方法控制字)02.1.3 电路连接图D7-D0 XA1 XA2IOW#IOR#IOY38086D7-D0 OUT0A0A1 GATE0 CLK0WRRD 8254单元CS5V1.19KHZ2.2 光

7、标轨迹程序draw2.2.1 设计要求程序在屏幕上画出光标移动轨迹,画城墙、水平线等图,光标移动受键盘上方向键控。假如输入ESC键,则程序结束,返回DOS2.2.2 设计原理PC机视频系统全部有用于反应屏幕图像数据缓冲区,经过扫描缓冲区中数据,在屏幕上显示对应字符或图形,对不一样适配器,显示缓冲区大小和在内存中位置不一样。对彩色适配器有16k字节容量,内存起始地址为B800:0000, 以常规RAM作为缓冲区,在BIOS初始化系统时,现有存放容量前16K被定义为显示缓冲区。存放器总共分配了4000个字节,对应屏幕上个字符位置(25行*80列),每个字符位置对应2个字节,其中低字节内是ASCII

8、码,高字节是字符显示特征信息。 在文本方法下,屏幕上字符位置对应显示缓冲区偏移地址为:行号(024)*160+列号(079)*22.2.3程序步骤图开始调用键盘输入中止清除屏幕设置显示方法为方法03 N 返回DOSCH0ESC?Y DEC CHN 下一列 C? NY NUP?YCH24INC CHNDOWN? CL79INC CLYN上一列 YN下一行 RIGHT?YCL0N转换对应显存地址,将方块符写入该地址LEFTt?下一行 DEC CLYN三、程序代码3.1 题目一代码MY8254_COUNT0EQU 06C0H ;8254计数器0端口地址MY8254_MODEEQU 06C6H ;82

9、54控制寄存器端口地址DATA SEGMENT ERRORM DB 0DH,0AH,INPUT ERROR! $CONLIST DB 0DH,0AH,Q EXIT ,S START,P PAUSE DB 0DH,0AH,$PMESSAGE DB 0DH,0AH,PRESS S TO START DB 0DH,0AH,$FREG DW 2 dup(262,294,330,262) ;频率表 DW 2 dup(330,349,392) DW 2 dup(392,440,392,349,330,262) DW 2 dup(294,196,262),-1TIME DW 8 dup(100) ;时间表

10、DW 2 dup(100,100,200) DW 2 dup(50,50,50,50,100,100) DW 2 dup(100,100,200) PAUSEMESSAGE DB 0DH,0AH,PRESS p TO RESTART DB 0DH,0AH,$DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART: MOV AX,DATA ;数据段装入段寄存器DS MOV DS,AX SHOW MACRO A LEA DX,A MOV AH,09h INT 21H ENDM INPUT: SHOW CONLIST INPUT1: MOV AH,01H

11、;键盘输入字符并回显 INT 21H CMP AL,Q JZ EXIT ;退出 CMP AL,q JZ EXIT CMP AL,S JZ MSTART CMP AL,s JZ MSTART CMP AL, P JZ PAUSE CMP AL,p JZ PAUSE JNZ INPUTERRORINPUTERROR: MOV DX,MY8254_MODE ;初始化8254工作方法 MOV AL,11H ;定时器0、方法0 OUT DX,AL MOV AL,0 MOV DX,MY8254_COUNT0 OUT DX,AL SHOW ERRORM ;宏调用,输入错误,重新输入 JMP INPUT MS

12、TART: CALL MUSICENDPAUSE: CALL MUSIC1 PAUSE: MOV DX,MY8254_MODE MOV AL,11H OUT DX,AL MOV AL,0 MOV DX,MY8254_COUNT0 OUT DX,AL SHOW PAUSEMESSAGE MOV AH,01H INT 21H CMP AL, P JZ ENDPAUSE CMP AL,p JZ ENDPAUSE JNZ INPUTERROREXIT: MOV DX,MY8254_MODE ;初始化8254工作方法MOV AL,11H ;定时器0、方法3OUT DX,ALMOV AL,0 MOV DX

13、,MY8254_COUNT0OUT DX,AL ;装入计值 MOV AH,4CH INT 21H MUSIC PROC MOV DX,MY8254_MODE ;初始化8254工作方法MOV AL,36H ;定时器0、方法3OUT DX,AL MOV SI,OFFSET FREG ;装入频率表起始地址 MOV DI,OFFSET TIME ;装入时间表起始地址 JMP PLAY RETMUSIC ENDPMUSIC1 PROC MOV DX,MY8254_MODE ;初始化8254工作方法MOV AL,36H ;定时器0、方法3OUT DX,ALJMP PLAY RETMUSIC1 ENDPPL

14、AY: MOV AH,1 INT 16H JZ SOUND JMP INPUT1SOUND: MOV DX,0FH ;输入时钟为1MHz,1M=0F4240H MOV AX,4240HDIV WORD PTR SI MOV DX,MY8254_COUNT0OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DL,DI ;取出演奏相对时间,调用延时子程序 CALL DELAYADD SI,2ADD DI,2 CMP WORD PTR SI,-1 ;判定是否到曲末?JZ MSTARTJMP PLAYDELAYPROC ;延时子程序D1: MOV CX,2801 D0: L

15、OOP D0 DEC DL JNZ D1 RETDELAYENDPCODE ENDS END START3.2 题目二代码DATA SEGMENTUP EQU 48H ;键盘扫描码DOWN EQU 50HRIGHT EQU 4DHLEFT EQU 4BHBLOCK EQU 0DBHESC EQU 1BH ;ASCII码CLEAR1 EQU 43HDATA ENDSVIDEO SEGMENT AT 0B800HWDBUFF LABEL WORDVBUFF DB 25*80*2 DUP(?)VIDEO ENDSCODE SEGMENT ASSUME CS:CODE,ES:VIDEOSTART: M

16、OV AH,0 MOV AL,03H INT 10H XOR AX,AX MOV AX,VIDEO MOV ES,AX MOV CX,80*25 MOV BX,0CLEAR: MOV ES:WDBUFF+BX,0700H ADD BX,2 LOOP CLEAR MOV CH,12D MOV CL,39DGETCHAR: MOV AH,0 INT 16H CMP AL,ESC JZ EXIT CMP AL,CLEAR1 MOV AL,AH JZ START JMP NOTEXITEXIT: MOV AH,4CH INT 21HNOTEXIT: CMP AL,UP JNZ NOTUP DEC CH

17、 CMP CH,0 JL UPBJ JMP LITEUPBJ: MOV CH,24D INC CL CMP CL,79D JG KEEP1 JMP LITEKEEP1: MOV CH,0 MOV CL,79D JMP GETCHAR NOTUP: CMP AL,DOWN JNZ NOTDOWN INC CH CMP CH,24D JG DOWNBJ JMP LITEDOWNBJ: MOV CH,0 DEC CL CMP CL,0 JL KEEP2 JMP LITEKEEP2: MOV CL,0 MOV CH,24D JMP GETCHARNOTDOWN: CMP AL,RIGHT JNZ NO

18、TRIGHT INC CL CMP CL,79D JG RIGHTBJ JMP LITERIGHTBJ: INC CH CMP CH,24D JG KEEP3 MOV CL,0 JMP LITEKEEP3: MOV CH,24D MOV CL,79D JMP GETCHARNOTRIGHT: CMP AL,LEFT JNZ LITE DEC CL CMP CL,0 JL LEFTBJ JMP LITELEFTBJ: DEC CH CMP CH,0 JL KEEP4 MOV CL,79D JMP LITEKEEP4: MOV CL,0 MOV CH,0 JMP GETCHARLITE: MOV

19、AL,160D MUL CH MOV BL,CL SAL BL,1 MOV BH,0 ADD BX,AX MOV AL,BLOCK MOV ES:VBUFF+BX,AL JMP GETCHAR CODE ENDS END START四、程序运行结果4.1题目一运行结果 编译并连接程序,打开试验箱,按电路图连线,加载并运行程序,按s键,演奏出两只老虎乐曲;按p键乐曲停止,再按p键继续播放;按q键演奏停止并退出。4.2 题目二运行结果 运行TDDEBUG程序,编译并连接程序,然后实施,出现以下结果。(1)直线:(2)城墙线五、心得体会这次汇编语言和接口技术课程设计充足锻炼我们动手能力和思索问题能力,经过此次试验我加深了对8254定时计数器和汇编语言了解。不仅如此,这次课程设计让我对软件和硬件协同工作有了一个愈加深刻了解,知道了怎样经过编码来控制硬件工作,这次课程设计让我积累了相关方面专业知识,对以后工作学习有着借鉴作用。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服