微机原理课程设计指导书(康尼)

上传人:第*** 文档编号:55664507 上传时间:2018-10-03 格式:PDF 页数:39 大小:314.01KB
返回 下载 相关 举报
微机原理课程设计指导书(康尼)_第1页
第1页 / 共39页
微机原理课程设计指导书(康尼)_第2页
第2页 / 共39页
微机原理课程设计指导书(康尼)_第3页
第3页 / 共39页
微机原理课程设计指导书(康尼)_第4页
第4页 / 共39页
微机原理课程设计指导书(康尼)_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《微机原理课程设计指导书(康尼)》由会员分享,可在线阅读,更多相关《微机原理课程设计指导书(康尼)(39页珍藏版)》请在金锄头文库上搜索。

1、1题目一:动画程序设计本题目重点考查 BIOS 中断调用中显示器控制的子程序调用。主要包括:显示器显示方式设置,背景颜色和前景颜色设置及写像素点等。设计要求:1)以滚动方式输出小车动态行驶图形。2)小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧。在到达屏幕右侧后,公路下降一段距离并改变颜色,然后小车继续由左向右行驶。3)当下降到屏幕底部时,再返回到屏幕顶部重复上述过程。4)直到有键按下,程序运行结束。题目二:音乐程序设计通过该题目的设计过程掌握 PC 及内部接口电路 8255、8253 的应用方法、BIOS中断调用。以及 8253。8255 芯片的初始化编程和音乐程序的设计方法。设计要求:1)利

2、用系统内部的发声电路,产生音频声音。2)选择一首歌曲,对其进行编程。3)运行程序后能够反复演奏这首歌曲。题目三:电子时钟程序设计通过该题目的设计过程, 熟悉和掌握主机内的 82538254-2 的计数器的应用,掌握汇编语言编程,时、分、秒在屏幕上显示的方法。熟悉和掌握主机内中断控制器 8259A 的使用方法。熟悉借用原有电路,重新设置定时器、编写中断服务程序的方法。设计要求:1)利用 PC 系列微机现有的硬件和软件资源编写时钟程序,在 CRT 屏幕上显示 XX(时):XX(分):XX(秒),并且每秒钟更新一次显示。2)程序从按下任意键开始显示数据区中存放的时间值。3)运行中按下空格键则停止运行

3、返回 DOS。题目四:画图程序设计通过该题目的设计过程,熟悉和掌握通过 BIOS INT 10H 调用,将屏幕的工作2方式设置为图形方式。确定好坐标,用写像素子程序画出线段,实现绘图。设计要求:1)利用汇编语言在图形形式下的编程方法设计一个图形。2)通过 CRT 显示一个图形,图形不能过于简单。题目五:简单计算器程序设计通过该题目的设计过程,熟悉和掌握 BIOS 调用,利中 INT 16H 调用完成清屏、设置显示方式、设置窗口等操作。掌握 INT 21H DOS 系统功能调用,从键盘输入接收十进制操作数和运算符,由程序完成字符到二进制数的转换,并存储。掌握根据运算符完成运算,由程序在屏幕上显示

4、运算结果等方法。设计要求1) 设计一个简单的计算器程序。2)在屏幕上显示一个小窗口,将光标定位在窗口内。3)通过运行程序,在窗口内输入一个表达式(单项运算)。4)根据表达式计算运算结果,并在表达式的后面显示一个“=”和运算结果。题目六:歌手大奖赛计分程序设计通过该题目的设计过程,熟练掌握汇编语言程序设计与调试方法。熟练掌握ASCII 码转换成 BCD 码及码制转换程序设计方法。熟练掌握数值运算的程序时间和调试方法。熟练掌握 DOS 功能调用设计要求:1)根据歌手大奖赛的要求,设计一个计算平均分的程序。2)每位歌手的分数通过键盘输入。3)评委人数共 10 人,去掉最高分和最低分后,求平均值。4)

5、屏幕显示每位评委的打分和最后得分。题目七:字符串动画显示程序设计通过该题目的设计过程,学习字符串的动画显示,左移位、右移位显示的编程方法。熟练掌握宏指令的使用方法,熟练掌握汇编语言程序设计与调试方法。设计要求:1)动态的显示一个字符串应用程序的标题栏。2)采用左、右移位的显示方法,动态的显示一个字符串。3动画程序设计动画程序设计一、设计要求:一、设计要求:1. 以滚动方式输出小车动态行驶图形。2. 小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧。在到达屏幕右侧后,公路下降一段距离并改变颜色,然后小车继续由左向右行驶。3. 当下降到屏幕底部时,再返回到屏幕顶部重复上述过程。4. 直到有键按下,程序

6、运行结束。二、设计思路:二、设计思路:本题目重点考查 BIOS 中断调用中显示器控制的子程序调用。主要包括:1. 显示器显示方式设置。2. 背景颜色和前景颜色设置。3. 写像素点等。三、参考程序三、参考程序DATASEGMENTLINEDW10;定义行变量COLORDB0;定义公路颜色COLORlDB0;定义 小车颜色CORLUNDW2;定义列变量COUNTlDW0COUNT2DW0COUNT3DW0CAR-8DB00000011B,11100000B;车体模型DB00000010B,01010000BDB00000110B,01011000BDB01111111B,11111110BDB11

7、111111B,11111111BDB11111011B,11101lllBDB00001010B,00101000BDB00000100B,00010000BDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA4START:MOVAX,DATAMOVDS,AXMOVDX,80MOVAH,0FHINT01HLL:MOVAL,COLOR;设置公路颜色INCALCMPAL,3JBETTSUBAL,3TT:MOVCOLOR,AL;设置小车颜色CMPAl,lJZTT3INCALCMPAl,3JZTT2TT3:INCALTT2:MOVCOLORl,ALMOVAX,LINE;计

8、算机行坐标ADDAX,10CMPAX,180JBETTlSUBAX,180TTl:MOVLINE,AK;设置显示方式(320X200)MOVAX,0004HINT10HMOVAH,0BHMOVBH,1;选择 1 号调色板MOVBL,0INT10HMOVAH,0CH;写像素MOVDX,LINEADDDX,8;计算公路坐标MOVCX,0MOVAL,COLOR;设置公路颜色REPET:MOVBX,3PUSHAXINT10H;画公路5POPAXINCCXCMPCX,319JNZREPET;未到屏幕最右转MOVAH,0CHADDDX,LINE;设置行坐标MOVCX,CORLUM;设置列坐标MOVSI,O

9、FFSET CAR-8;取车模首地址MOVCOUNTl,8;8 行RETRY1:MOVCOUNT2,2;每行 2 字节RETRY2:MOVCOUNT3,8;每字节 8 位RETRY3:ROLBYTEPTRSI,1MOVAL,0;此位为 0,置背景颜色JNCNEXTMOVAL,COLOR1;此位为 1,置背景颜色NEXT:PUSHAXPUSHCXINT10H;画个点POPCXPOPAXINCCX;列加 1DECCOUNT3JNZRKTRY3;未画完 8 个点转INCSI;取下一个字节的车模信息DECCOUNT2;JNZRETRY2;车模信息未完转INCDXMOVCX,CORLUMDECCOUNT

10、lJNZRETRY1;未画完 8 行转MOVCOUNT1,320+10;设置移动总次数MOVCX,CORLUMADDCX,15;取小车最右点的列坐标送 CXREPETl:PUSHCXMOVCOUNT2,16 土 1;小车横向有 16 个点,外加 1 个空白点REPET2:MOVDX,LINEMOVCOUNT3,8;车模向右移动 1 个像素位REPET3:MOVAH,0DH6INT10H;读当前点MOVAH,0CHPUSHCXINCCXINT10H;写当前右边的点POPCXINCDX;行坐标加 1DECCOUNT3JNZREPET3;车模向右移动 1 个像素位未完转DECCX;修改列坐标DECC

11、OUNT2JNZREPET2;小车移动 1 个车体位未完转POPCXINCCX;修改列坐标MOVAH,1INT16HJNZEXIT;有键按下,转退出DECCOUNTlJNZREPETlJMPLL;无键按下,继续执行EXIT:MOVAH,0;恢复文本显示方式MOVAL,2INT10HMOVAH,4CHINT21HCODEENDSENDSTART四、课题设计要求:1.读懂题目的设计思路,编程方法。2.画出设计题目的程序框图。3.根据课题的要求重新编写程序并调试通过4.写出设计报告,打印程序清单,并加以注释释。7音乐程序设计音乐程序设计一、设计要求:一、设计要求:1. 利用系统内部的发声电路,产生声

12、音。2. 选择一首歌曲,对其进行编程。3. 运行程序后能够反复演奏这首歌曲。二、二、PC 机发声系统机发声系统1.发声系统:PC 机发声系统电路结构如图 3-1 所示。8253/82542 号计数器,口地址=42Hf=1.193182Mhz8255 B 口 口地址=61H图 3-1PC 机发声系统电路框图上图给出了 PC 机的发声系统,其核心部件为系统定时器的 2 号计数器。系统初始化时,2 号计数器的工作方式为”方波发声器” ,计数初值(533H)为二进制数,初值的写入顺序为先低 8 位,后高 8 位。用户在使用系统资源时,没有必要对 2 号计数器重新设定工作方式,只需要改变计数初值,就可以

13、得到不同频率的方波输出。CLK2 的输入频率为 1.193182 兆赫,门控信号 GATE2,以及扬声器输入受系统 8255 芯片的 PB0、PB1 端控制。显然,执行一下的 OPEN 子程序可以接通扬声器,执行 CLOSE 子程序可以关闭扬声器。OPENPROC;接通扬声器子程序PUSHAXINAL,61HORAL,00000011B ;PB0、PB1=11BOUT61H,ALPOPAXRETPB0PB1CLK2GATE2OUT2滤波、 驱动8OPENENDPCLOSE PROC;关闭扬声器子程序PUSHAXINAL,61HANDAL,11111100B ;PB0、PB1=00BOUT61H

14、,ALPOPAXRETCLOSE ENDP2. 演奏单音符每一种曲调中,各个音符均有不同的频率。对 2 号计数器,只有设置不同的计数初值,即可输出不同的频率,从而发出不同的音调。计数初值的计算公式如下:计数初值=1.193182 兆赫/输出频率1.193182 兆赫转换成 16 进制数应为 1234DEH。因此在接通扬声器的前提下,执行下列程序段即可发出与输出频率对应的音调。MOVDX,0012HMOVAX,34DEHMOVCX,频率值DIVCXOUT42H,ALMOVAL,AHOUT42H,AL如何控制每一个音调的演奏时间呢?在 AT机上最简便的方法是调用 INT 15H的 86H 号子程序

15、:MOVAH,86HMOVCX,TIMEHMOVDX,TIMELINT15H其中,TIMEH、TIMEL 为延时时间的高、低 16 位二进制数,单位微秒。三、音乐程序设计思路:三、音乐程序设计思路:1. 首先在数据段设计频率表和时间表。将音符对应的频率值依次写入频率表中。各音符的演唱时间依次写入时间表。频率和时间表的表项要一一对应,不能错位。频率表最后一项为 0 值,做为重复演唱的标志。92. 时间表的内容有两种设置方法。 时间表中设置每一音符演唱的绝对时间。这种方法程序直观,但是开发速度慢,程序调试比较困难,特别是一首不熟悉的歌曲,对那些缺少音乐细胞的人来说,很难把握演唱的节奏,初期很难确定

16、每个音符的演唱时间,因此调试十分困难。 时间表中设置每个音符演唱的”单位时间”单位时间N=演唱时间友友 谊谊 地地 久久 天天 长长1=F 2/4苏格兰民歌51113 2123 1135 6 66 1. 怎能 忘记 旧日 朋友,心中 能不 怀想, 旧2. 我们 曾经 终日 游荡,在故乡的 青 山上, 我5 331 2123 16651 65331 日朋友 岂能 相忘,友谊 地 久天长; 友谊万门也曾 历尽 苦辛,到处 奔 波流浪;2126 533 5 6 1 5331 2123岁,友谊万岁!举杯 痛 饮,同声 歌 颂 友1665 1: 谊地久 天 长。四、音符频率表四、音符频率表(单位:赫兹) 音符 音调1 2 3 4 5 6 7 A B C D E F G221 248 131 147 165 175 196248 278 147 165 185 196 221278 312 165 185 208 221 248249 330 175 196 2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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