接口技术与外部设备键盘乐器

上传人:wt****50 文档编号:40144028 上传时间:2018-05-24 格式:DOC 页数:7 大小:344.56KB
返回 下载 相关 举报
接口技术与外部设备键盘乐器_第1页
第1页 / 共7页
接口技术与外部设备键盘乐器_第2页
第2页 / 共7页
接口技术与外部设备键盘乐器_第3页
第3页 / 共7页
接口技术与外部设备键盘乐器_第4页
第4页 / 共7页
接口技术与外部设备键盘乐器_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《接口技术与外部设备键盘乐器》由会员分享,可在线阅读,更多相关《接口技术与外部设备键盘乐器(7页珍藏版)》请在金锄头文库上搜索。

1、某某大学课程设计报告 ( 2008 2009 学年度 第 二 学期 )课程名称接口技术与外部设备课程设计名称键盘电子乐器姓名学号专业计算机科学 与技术班级地点 教师 课程设计报告1.课程设计目的及要求 1)、)、实验实验目目标标、功能、功能设计设计要求:要求:利用并行接口 8255 作为键盘接口,设计一个具有 2 个八度音 阶的键盘乐器,音阶键不少于 16 个,采用扫描方式管理键盘,音域范围自行定义。 2) )、软软件、硬件件、硬件环环境境:Windows XP 、1G 内存2. 课程设计步骤 (1) 弄明白设计题目 (2) 查阅资料,搞清楚 8253 和 8255 的工作原理。 (3) 上网

2、查阅相关资料 (4) 编程实现 (5) 完成课程设计报告3. 课程设计内容 1)、)、设计设计概述概述 (a) 开开发发平台:平台:masm (b) 参考参考书书籍:籍:微型计算机接口技术及应用、 IBMPC 汇编语言课程设计、 手把手教你 学单片机2)、)、处处理流程理流程 (a)8253 引脚引脚图图1 224121413GN D D7 D6 D5 D4 D3 D2 D1 D0 CLK0 OUT0 GATE0VCCWR RD CSA1 A0 CLK2 OUT2 GATE2 CLK1 GATE1 OUT18253/8254图3.1 定时/计数器8253/8254引脚图数据总线缓冲器读/写逻辑

3、控制命令寄存器计数器0计数器1计数器2CLK0 GATE0 OUT0CLK1 GATE1 OUT1CLK2 GATE2 OUT2D0D7 A0 A1RD WRCS图3.2 定时/计数器8253/8254内部框图内部总线课程设计报告8255 的工作原理的工作原理123456ABCD654321DCBATitleNumberRevisionSize B Date:16-Oct-2002Sheet of File:E:-.ddbDrawn By:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2040 39 38 37 36 35 34 33 32 3

4、1 30 29 28 27 26 25 24 23 22 21PA3 PA2 PA1 PA0 RD CS GND A0 A1 PA7 PA6 PA5 PA4 PA0 PA1 PA2 PA3 PB0 PB1 PB2PA5 PA6 PA7 PA0 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PA7 PA6 PB5 PB4 PB38255(b)主要函数的程序流程主要函数的程序流程图图开 始获取中断向量调用 8253, 驱动扬声器返回中断向 量设置中断向 量调用 8255, 按键发声返回 DOS课程设计报告4. 课程设计结果 运行正确:运行正确:摁键盘 QU:能发低音 摁

5、键盘 AJ:能发比上行高一音阶的音频 摁键盘 ZM:能发比上行更高一音阶的音频5. 课程设计总结分析组员组员分工及分工及评评分分:查找资料: :阳吉红(B)、董湘北(B)程序修改实现:尹媚(B+)董湘北自我评价:接到课程设计题目,刚开始刚到非常的棘手,通过翻阅了上学期的汇编 语言程序实验教程,了解到控制电路是以位触发和定时器控制两种不同的方式驱动扬声器 发声,8253 驱动扬声器,8255 接受输入的数据。实验完成还行,巩固了硬件知识。阳吉红自我评价:这个实验中我们遇到了很多问题但在老师和同学的帮助下得到了解决 ,这个实验让我了解了接口实验的基本要求,总之学到不少东西啦。尹媚自我评价: 学完接

6、口技术这门课程,觉得自己学得还可以。但是做完课程设计,才发现 自己学得远远不够。虽然课程设计做得不是非常好,但是,还是学到一些东西。知道了 8253 不近可以用来做计数器,还能编程驱动扬声器。我们这个课程用到了 8253 和 8255。8253 用 来驱动扬声器,8255 用来接受从键盘输入的数据。总的来说,结果还不是太坏。还是学到了一点东西。6. 附录(源程序)DATAS SEGMENT;此处输入数据段代码 DATAS ENDS STACKS SEGMENT;此处输入堆栈段代码 STACKS ENDScode segment assume cs:code D1=131 ;设置音频范围 D2=

7、147 D3=165 D4=175 D5=196 D6=220课程设计报告D7=247 Z1=262 Z2=294 Z3=330 Z4=349 Z5=392 Z6=440 Z7=494 G1=523 G2=587 G3=659 G4=714 G5=784 G6=880 G7=988 oldint8 dd ? oldint9 dd ? time dw 0 ascii DB 10H,11H,12H,13H,14H,15H,16HDB 1EH,1FH,20H,21H,22H,23H,24HDB 2CH,2DH,2EH,2FH,30H,31H,32H music dw d1,d2,d3,d4,d5,d

8、6,d7dw z1,z2,z3,z4,z5,z6,z7dw g1,g2,g3,g4,g5,g6,g7 newint8: dec cs:word ptr time ;指向timejz closev new8_0: jmp cs:oldint8 closev: push axin al,61hand al,0fdhout 61h,alpop axjmp new8_0 voice: mov cx,axmov dx,12hmov ax,34dchdiv cxpush axmov al,0b6hout 43h,alpop axout 42h,alxchg al,ahout 42h,alin al,61h

9、or al,03hout 61h,alret newint9: in al,60hpush axin al,61h课程设计报告or al,80hout 61h,aland al,7fhout 61h,almov al,20hout 20h,alstipop axpush axcmp al,80hjb new90mov cs:word ptr time,04hjmp quit new90: push cspop esmov di,offset ASCIImov cx,22dcldrepnz scasbjcxz quitsub di,offset asciidec dishl di,1mov ax

10、,es:di+musicmov cs:word ptr time,0hcall voice quit: pop axcmp al,01hjnz meunlds dx,cs:oldint8mov ax,2508hint 21hlds dx,cs:oldint9mov ax,2509hint 21hmov ax,4c00hint 21h meun: stijmp meunstart: mov ax,csmov ds,axmov ax,3508h ;获取中断向量int 21hmov cs:Word ptr oldint8,bxmov cs:word ptr oldint8+2,esmov ax,3509hint 21hmov cs:Word ptr oldint9,bxmov cs:word ptr oldint9+2,esmov ax,2508h ;设置中断向量课程设计报告mov dx,offset newint8int 21hmov ax,2509hmov dx,offset newint9int 21hjmp meun code ends end start

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号