汇编课程设计

合集下载

汇编实验10课程设计

汇编实验10课程设计

汇编实验10课程设计一、课程目标知识目标:1. 学生能够理解汇编语言的基本概念,掌握汇编指令的使用方法。

2. 学生能够描述实验10涉及的寄存器、寻址方式和指令的功能。

3. 学生能够解释汇编程序中出现的符号、标签和伪指令的含义。

技能目标:1. 学生能够运用汇编语言编写简单的程序,实现基本的输入输出、运算和控制流程。

2. 学生能够使用调试工具对汇编程序进行调试,找出并修正程序中的错误。

3. 学生能够分析汇编程序的执行过程,理解计算机硬件与软件的交互原理。

情感态度价值观目标:1. 学生通过学习汇编实验,培养对计算机底层原理的兴趣和好奇心,激发进一步学习的动力。

2. 学生能够认识到编程语言的发展历程,了解汇编语言在计算机体系结构中的地位,增强对计算机科学的敬畏之心。

3. 学生在学习过程中,培养团队协作、问题解决和自主学习的能力,形成积极向上的学习态度。

课程性质:本课程为计算机科学与技术专业选修课,以实验和实践为主,结合理论知识,培养学生的实际操作能力。

学生特点:学生已具备一定的计算机硬件和软件基础知识,具有较强的逻辑思维能力和动手操作能力。

教学要求:教师应注重理论与实践相结合,关注学生的个体差异,鼓励学生积极参与实验,充分调动学生的主观能动性。

同时,将课程目标分解为具体的学习成果,以便在教学设计和评估中实现有效监控。

二、教学内容本课程教学内容主要包括以下几部分:1. 汇编语言基础知识回顾:引导学生复习寄存器、指令系统、寻址方式等相关知识,为实验10的学习打下基础。

2. 实验目的与要求:介绍实验10的目的,明确实验要求和预期成果,让学生了解实验的重要性和实践意义。

3. 实验内容:- 编写汇编程序,实现数据输入输出、运算和控制流程等功能;- 学习使用调试工具,对汇编程序进行调试和优化;- 分析汇编程序执行过程,理解计算机硬件与软件的交互原理。

4. 教材章节:参考教材第十章“汇编语言程序设计”相关内容,结合实验10的具体要求,组织教学内容。

单片机(汇编语言)秒表课程设计设计

单片机(汇编语言)秒表课程设计设计

题目名称:秒表电路设计姓名:班级:学号:指导教师:日期:2016年7月13日《单片机原理及接口技术课程设计》教学大纲课程代码:课程名称:单片机原理及接口技术课程设计周数: 2 学分:1.0学分一、课程设计的性质、任务与目的单片机原理及接口技术课程设计是在学生学习完理论课和实验课的基础上开设的,通过完成一个涉及MCS-51或其他系列单片机多种资源应用并具有综合功能的设计与编程应用,使学生能够将课堂上学到的理论知识与实际应用结合起来,同时在软件编程、仿真调试及相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的设计开发工作打下一定的基础。

本课程设计的主要目的如下:1、增进对单片机的感性认识,加深对单片机理论知识的理解,掌握单片机内部功能模块(如定时/计数器、中断、片内外存贮器、I/O口、串行口等)的应用;2、掌握单片机应用系统的软硬件设计过程及实现方法,为以后设计和实现单片机应用系统打下良好基础;3、提高综合应用所学理论知识独立分析和解决实际问题的能力。

二、本课程设计的基本理论本课程设计的基本理论是单片机原理及接口技术的基本理论,主要包括单片机的硬件结构原理、指令系统、汇编语言、中断系统、定时/计数器、串行接口、I/O接口等。

在学习掌握单片机原理及接口技术课程的前提下,利用实验室提供的单片机实验条件或基于仿真软件,采用汇编语言或C51编程,设计实现一个具体的单片机应用系统项目,熟悉单片机系统设计开发的完整过程。

三、课程设计的方式与基本要求课程设计的方式:每个班级学生按2~3人分为一组,以组为单位进行课程设计(也可一人独立进行),课程设计的题目从教师给定的题目中选取,也可以是指导教师审核通过的学生自选题目。

基本要求:每组选定题目后,按题目要求,首先进行方案论证,通过查阅资料、集体讨论,确定设计方案;然后进行具体的硬件和软件设计;完成设计后,进行硬件/软件调试;最后撰写课程设计报告。

汇编语言课程设计判断大于或小于零

汇编语言课程设计判断大于或小于零

《汇编语言》课程设计系别:计算机系专业:计算机科学与技术年级: 2 0 0 8级学号:080201**姓名:钟***指导教师:翟***成绩:________________2010 年7 月 2 日一、目录一、目录 ---------------------------- 1二、课程设计目的和要求 ---------------- 2三、总体设计 --------------------- 2四、详细设计 --------------------- 21、流程图 ------------------------ 32、源代码 ------------------------ 4五、测试结果 -------------------------- 5六、课程设计心得与体会 ---------------- 6七、参考文献 --------------------------- 7二、课程设计目的和要求运用本课程学习的关于汇编语言的语句,程序结构知识、编程方法、子过程(过程)的定义及调用、系统功能调用及输入输出数据等内容。

进一步加深对汇编语言的理解和提高程序设计技能。

1.选题。

每人从给定的题目中选择一个作为自己的课程设计题目,要求独立完成;也可自选题目,交指导教师审查同意后方可进行设计。

2.分析课程设计题目的要求,编写需求分析说明书3.画出主要代码的流程图4.编写代码,调试代码使其能正确运行5.设计完成后提交课程设计报告(打印稿及电子稿)、可执行文件、源代码三、总体设计判断输入字符的范围1)屏幕出现输入字符提示;2)判断输入字符的范围;1)当用户输入字符小于零时程序返回:-1。

2)当用户输入字符大于零时程序返回:1。

四、详细设计1、流程图图-012、源代码DATAS SEGMENTW DB 0DH,0AH,'PLEASE INPUT NUMBER:$'RESULT DB 0DH,0AH,'RESULT:$'BUFFER DB 8DB ?DB 8 DUP(?) ;数据段定义缓冲区DATAS ENDSSTACKS SEGMENTDB 256 DUP(?)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXL: MOV DX,OFFSET W ;显示提示语:PLEASE INPUT NUMBER: MOV AH,9INT 21HMOV DX,OFFSET BUFFER ;输入字符串MOV AH,0AHINT 21Hmov bx,offset buffermov al,[bx+2] ;取符号位cmp al,'-' ;判断je a1 ;相等跳转a1JMP a2 ;跳转a2a1:MOV DX,OFFSET RESULTMOV AH,09HINT 21Hmov dl,'-'mov ah,02hint 21hmov dl,'1'mov ah,02hint 21hjmp exita2:MOV DX,OFFSET RESULTMOV AH,09HINT 21Hmov dl,'1'mov ah,02hint 21hjmp exitEXIT:jmp LMOV AH,4CH ;返回dos ,结束INT 21HCODES ENDSEND START五、测试结果图02 主程序界面图03 输入字符大于零图04 输入字符小于零六、课程设计心得与体会通过这次课程设计使我对汇编语言的语句,程序结构知识、编程方法、数据的定义及使用、系统功能调用及输入输出数据等内容有了进一步深刻的了解,同时还加深了对汇编语言的理解,提高程序设计技能。

51汇编电子琴课程设计

51汇编电子琴课程设计

51汇编电子琴课程设计一、课程目标知识目标:1. 学生能理解51汇编语言的基本原理,掌握与电子琴相关的硬件控制方法。

2. 学生能掌握电子琴音阶、音调和音符的基础知识,并能运用51汇编语言实现音符的播放。

3. 学生了解电子琴的电路原理,能分析并描述51汇编在电子琴中的应用。

技能目标:1. 学生能运用51汇编语言编写程序,实现电子琴的基本功能,如播放音符、和弦等。

2. 学生能够通过编程解决实际问题,如调试程序、优化代码等。

3. 学生培养团队协作能力,通过小组合作完成一个具有实际功能的电子琴项目。

情感态度价值观目标:1. 学生培养对编程和电子制作的兴趣,激发创新精神。

2. 学生在课程学习中,培养耐心、细心和专注的品质,提高解决问题的能力。

3. 学生通过课程学习,认识到编程与实际生活的联系,增强学以致用的意识。

本课程针对高年级学生,结合学科特点和教学要求,将知识目标、技能目标和情感态度价值观目标进行分解,旨在使学生在掌握汇编语言基础知识的同时,提高实际动手能力和团队合作能力,培养对编程和电子制作的兴趣,为后续学习奠定基础。

二、教学内容本课程教学内容以《51单片机原理与应用》教材为基础,结合课程目标,组织以下内容:1. 51单片机基础知识:介绍51单片机的内部结构、工作原理及编程环境。

2. 汇编语言基础:讲解汇编指令、寄存器、伪指令等基本概念。

3. 电子琴硬件原理:分析电子琴的电路原理,介绍相关元件及其功能。

4. 音符与音阶编程:教授如何用51汇编语言实现音符、音阶的编程控制。

5. 电子琴程序设计:指导学生编写程序,实现电子琴的基本功能。

6. 项目实践:分组进行项目实践,完成一个具有实际功能的电子琴制作。

教学内容安排和进度如下:第一周:51单片机基础知识学习,了解汇编语言环境。

第二周:汇编语言基础,学习汇编指令和寄存器。

第三周:电子琴硬件原理,学习相关元件及其功能。

第四周:音符与音阶编程,编写相关程序。

第五周:电子琴程序设计,完善程序功能。

汇编语言课程设计四则运算计算器

汇编语言课程设计四则运算计算器

*******************实践教学*******************兰州理工大学技术工程学院2013年春季学期汇编语言实训课程设计题目:四则运算计算器专业班级:计算机科学与技术姓名:___郭利强_____学号: 11730108指导教师:刘树群成绩:计算机科学与技术专业(11级)汇编语言实训课程设计任务书题目:四则运算计算器班级: 11计算机科学与技术1班学生姓名:郭利强学号: 11730108 题目类型:软件工程(R)指导教师:刘树群一.题目简介四则运算计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。

通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对汇编语言基本语言要素和流程结构的理解,针对汇编语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。

得到软件工程的综合训练,提高解决实际问题的能力。

二.设计任务1、查阅文献资料,一般在5篇以上;2、要求可以进行四则运算;3、完成软件结构设计和算法设计;4、完成系统的软件开发和测试工作;5、撰写设计说明书;6、做好答辩工作。

三.主要内容、功能及技术指标1、实现功能及指标:①使用Win32的窗口程序模式,实现四则运算程序的设计与开发;②界面友好。

2、问题分析及解决方案框架确定:充分地分析和理解问题本身,弄清要求做什么。

在确定解决方案框架过程中,综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。

最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系,并画出函数之间的调用关系图。

3、详细设计和编码:定义相应的存储结构,确定各个函数的算法,并画出流程图,在此基础上进行代码设计,每个明确的功能模块程序一般不超过200行,否则要进一步划分。

4、上机前程序静态检查:上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。

静态检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。

汇编语言课程设计动画设计

汇编语言课程设计动画设计

汇编语言课程设计动画设计一、课程目标知识目标:1. 让学生掌握汇编语言的基本概念和原理,理解汇编语言与计算机硬件的紧密联系。

2. 使学生了解动画设计的基本原理,掌握汇编语言在动画设计中的应用方法。

3. 帮助学生掌握汇编语言编程技巧,提高解决实际问题的能力。

技能目标:1. 培养学生运用汇编语言编写简单动画程序的能力。

2. 培养学生运用汇编语言进行程序调试和优化的能力。

3. 提高学生分析问题和解决问题的能力,培养创新思维和团队协作精神。

情感态度价值观目标:1. 培养学生对计算机编程和动画设计的兴趣,激发学习热情。

2. 培养学生勇于尝试、不断探索的精神,增强自信心。

3. 使学生认识到汇编语言在计算机科学中的地位和作用,提高社会责任感。

课程性质分析:本课程为信息技术课程,旨在让学生掌握汇编语言编程技能,培养其在动画设计领域的实际应用能力。

学生特点分析:学生为高中生,具备一定的计算机操作基础和编程知识,对新鲜事物充满好奇,但可能对汇编语言较为陌生。

教学要求:1. 理论与实践相结合,注重培养学生的实际操作能力。

2. 创设情境,激发学生的学习兴趣和主动性。

3. 注重分层教学,关注学生个体差异,提高全体学生的编程素养。

二、教学内容1. 汇编语言基础知识:介绍汇编语言的基本概念、语法和指令系统,重点讲解与动画设计相关的寄存器、内存操作等内容。

- 教材章节:第一章 汇编语言概述,第二章 指令系统与语法- 内容列举:数据类型、寄存器、指令格式、寻址方式等2. 动画设计原理:讲解动画设计的基本原理,如帧动画、逐行绘制等,分析汇编语言在动画设计中的应用。

- 教材章节:第三章 动画设计基础- 内容列举:动画原理、帧动画、逐行绘制、颜色表示等3. 汇编语言编程实践:通过实例教学,让学生掌握汇编语言编程技巧,学会编写简单动画程序。

- 教材章节:第四章 汇编语言编程实践- 内容列举:汇编语言编程环境、编写源程序、编译与链接、程序调试与优化等4. 动画设计实例分析:分析经典动画设计实例,让学生了解汇编语言在实际动画制作中的应用。

课程设计报告--汇编程序设计(进制转换)

课程设计报告--汇编程序设计(进制转换)

课程设计报告--汇编程序设计(进制转换)汇编语言课程设计报告:代码与数制之间的转换内容提要:本课程设计的主要内容是代码与数制之间的转换~程序的主要功能如下:1. 将十六进制数转换成其对应的ASCII码2. 将ASCII码转换成其对应的十六进制数3. 实现二进制数与十六进制数之间相互转换4. 实现十进制数与二进制数之间相互转换5. 实现十六进制数与十进制数之间相互转换数制转换是计算机科学技术中最为基础的运算~在日常生活中~人们习惯性地使用十进制数进行计算。

而在计算机内部~所有的信息,数、字符、汉字、计算机的指令、状态,都是用二进制数来表示的。

在计算机中~二进制数的运算、处理比十进制数的更容易实现。

有时为了缩短书写~在计算机中还采用十六进制数。

所以~我们需要把数从二进制数形式转换成其他进制的形式~甚至在不同的进位制之间进行转换。

- 1 -汇编语言课程设计报告:代码与数制之间的转换目录一、前言〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.1 程设计的目的〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.2 代码与数制之间的转换程序的意义〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.3 数制之间的转换程序的主要功能〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3正文〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 二、2.1 代码与数制之间相互转换程序的设计大纲〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 2.2 代码与数制之间相互转换程序的结构图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 2.3 友好交互界面结构图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 2.4 程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.1 主程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.2 键盘输入子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.3 ASC码转16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃72.4.4 16进制转ASC进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃82.4.5 2,16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃82.4.6 2?16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃92.4.7 16?2进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃92.4.8 2~10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃102.4.9 2?10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃102.4.10 10?2进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃112.4.11 10~16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃112.4.12 10?16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃122.4.13 16?10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12三、源程序及其注释〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃13四、课程设计体会〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29五、参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29- 2 -汇编语言课程设计报告:代码与数制之间的转换课程设计题目:代码与数制之间的转换一、前言1.1 课程设计的目的, 加深对汇编语言课程理论方面的理解, 通过编写一定规模和难度的程序,进行一次较全面的汇编编程训练,提高分析问题和解决问题的能力, 提高调试程序的能力1.2 代码与数制之间的转换程序的意义数制转换是计算机科学技术中最为基础的运算,在日常生活中,人们习惯性地使用十进制数进行计算。

王爽《汇编语言》课程设计一

王爽《汇编语言》课程设计一

课程设计(一)一、有除法溢出的dtoc子程序为:dtoc: push cxs:mov cx,10call divdw ;进行16位除法,被除数低16位存放在ax中,高16位存放在dx中,除数为10,存放在cx中,并调用不会产生溢出的除法运算的子程序divdwadd cx,30h ;将余数加上30h,就得到十进制数码字符对应的ASCII 码mov [si],cx ;将十进制数码字符对应的ASCII码存放在数据段中inc sipush ax ;保存此时的axadd ax,dx ;商是由ax和dx中的数据组合而成,为了判断商是否为0 mov cx,ax ;将商的高16位和低16位加起来,送给cxpop ax ;恢复axjcxz ok ;若商为0,则结束子程序jmp short sok: mov byte ptr [si],0 ;在字符串的结尾添个0call back ;调用把字符串反过来的子程序backpop cxretdivdw:mov bx,axmov ax,dxmov dx,0div cxpush axmov ax,bxdiv cxmov cx,dxpop dxretback:push dipush cxmov cx,simov di,0s1:mov al,[di]mov ah,0push axinc diloop s1mov di,0mov cx,sis2:pop axmov [di],alinc diloop s2pop cx二、课程设计首先,定义数据的时候,定义了一个栈段,在data段的开始定义了一个有10字节的空间,用来把数据转换成十进制形式的字符串,后面的总收入、雇员数、人均收入均为dword数据,方便后面统一来进行循环处理。

其次,刚开始的时候,用一个循环来计算人均收入,并把得到的数据放在data段中(在data段中定义了21个为0的dword数据用来存放人均收入)。

再次,在总体思路上,就是先定义一个32*21个字节的table段,把分别用子程序dtoc 把每个用二进制存放的数据转换成对应的十进制字符串,把字符串存放到table段中相应的位置,通过四个循环能把所有数据对应的字符串存放到table段中,这时的table 段中的存储模式与要求显示在屏幕上的模式一样,所以可以用一个双重循环将table 中的内容一个字节一个字节地复制到显示缓冲区的偶地址上,奇地址存放字符的颜色属性白色07h。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

燕山大学汇编语言课程设计说明书题目:计算机钢琴程序交通灯控制系统学院(系):信息科学与工程学院年级专业: 10级计算机科学2班学号: 100104010113 学生姓名:马强学号: 100104010116 学生姓名:夏洋指导教师:何海涛、邹晓红完成日期: 2013年7月3日目录1.课程设计的目的和意义........................................................................................................... - 2 -1.1课程设计目的................................................................................................................ - 2 -1.2课程设计的意义............................................................................................................ - 2 -2.题目一:计算机钢琴程序....................................................................................................... - 2 -2.1系统的主要功能............................................................................................................ - 2 -2.2总体设计方案................................................................................................................ - 2 -2.2.1扬声器驱动方式................................................................................................. - 2 -2.2.2延时原理............................................................................................................. - 3 -2.2.3键盘控制发声程序............................................................................................. - 4 -2.2.4设计总结............................................................................................................. - 5 -2.3作品使用说明................................................................................................................ - 6 -3.题目二:交通灯控制系统....................................................................................................... - 6 -3.1系统的主要功能............................................................................................................ - 6 -3.2 系统工作原理............................................................................................................... - 6 -3.2.1 8259的工作原理................................................................................................ - 6 -3.2.2 8255A的工作原理:...................................................................................... - 7 -3.2.3 8253的工作原理:............................................................................................ - 7 -3.3总体设计方案................................................................................................................ - 7 -3.3.1程序流程图......................................................................................................... - 8 -3.3.2接口电路图....................................................................................................... - 11 -3.4交通灯的设计总结...................................................................................................... - 11 -4.课程设计心得体会................................................................................................................. - 12 -5.参考文献................................................................................................................................. - 12 -6.附录:程序代码..................................................................................................................... - 12 -6.1计算机钢琴程序代码.................................................................................................. - 12 -6.2交通灯控制系统代码.................................................................................................. - 14 -1.课程设计的目的和意义1.1课程设计目的1.进一步了解汇编语言指令的功能和用法。

2.进一步了解汇编接口的功能和用法。

3.了解用汇编语言实现声音、图像的编程。

4.锻炼团队协作完成程序设计的能力。

1.2课程设计的意义本次课程设计,给同学们一个把理论知识转化为实际动手能力的机会,使同学们能够更深入的理解汇编语言,掌握汇编语言指令的用法,掌握8259A、8255、8253接口的功能和控制方法。

本次课程设计的题目难度适中,既可以培养同学们的自信心又可以锻炼同学们解决困难的能力。

本次课程设计的形式为两人一组共同完成两个任务,既培养同学们的团队精神又提升了每个人的能力。

2.题目一:计算机钢琴程序2.1系统的主要功能编写程序,程序运行时使PC机成为一架可弹奏的钢琴,当按下数字键1-8时,依次发出8个音调。

按CTRL-C则退出钢琴状态。

2.2总体设计方案2.2.1扬声器驱动方式1.直接控制扬声器发声程序通过I/O指令使设备控制寄存器(I/O端口地址为61H)的第一位交替为0和1,而端口61H的第一位和扬声器的脉冲门相连,当第一位由0变为1,延迟一会又由1变为0时,脉冲门就先打开后关闭,产生了一个脉冲电流。

这个脉冲电流被放大后送到扬声器使之发出了声音。

图1 设备控制寄存器2.利用8253驱动扬声器PC机上的大多数I/O都是由主板上的8255可编程程序外围接口芯片(PPI)管理的。

由PPI输出寄存器中的0和1两位来控制扬声器的驱动方式。

将8253的定时器2连接到扬声器上。

GATE2与端口61H的PB0相连,当PB0=1时,GATE2获得高电平,使定时器2可以在模式3下工作。

定时器2的OUT2与端口61H的PB1通过一个与门与扬声器的驱动电路相连。

当PB1=1时,允许OUT2的输出信号到达扬声器电路。

图2 利用8253驱动扬声器发声2.2.2延时原理1.利用CPU来产生延迟利用CPU来产生延迟时间是最常用的一种方法,但对8086,80286,80386等,它们产生的延迟时间是不一样的。

对于基于8088的PC/XT,PS/2等PC机,可用下面的程序来产生时间延迟:MOV CX,NDELAY:LOOP DELAY在8088CPU中,执行一条LOOP指令需要17个时钟周期,因此,执行上面的指令大约需要N*17*T时钟周期。

例如,N=2800,系统频率为4.7MHZ,那么可得到的延迟时间为10ms。

2.80x86PC的时间延迟80x86的各种处理器采用6~66MHz的工作频率,LOOP指令的执行时间在这些处理器上也不相同。

为了建立一个与处理器无关的实践延迟,IBM采用了一种利用硬件产生时间延迟的方法,即通过监控端口61H的PB4,使PB4每18.08us触发一次,以产生一个固定不变的时间基准。

相关文档
最新文档