利用中断实现发声程序----课程设计

合集下载

微机原理课程设计

微机原理课程设计
微机原理课程设计
前言
加热器数字控制系统的设计与功能的实现要求学生在学习完微机原理及应用这门课的基础上,在对芯片类知识以及汇编语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。要想很好的完成这个题目,必须对芯片的功能有很详细的了解,同时也要求学生的汇编语言基础要扎实。计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。《微型计算机原理》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机原理课程设计是对《微型计算机原理》课程理论教学和实验教学的综合和总结。
[2]、徐建民·《汇编语言程序设计》[M]·北京:电子工业出版社
[3]、洪永强.微机原理与接口技术.北京:科学出版社. 2004年
课程设计图纸
程序清单
DATA SEGMENT
INTR_IVADDEQU01C8H;INTR对应的中断矢量地址(对应着中断程序入口地址)
INTR_OCW1EQU0A1H;INTR对应PC机内部8259的OCW1地址
MOV AX,SEG MYISR
MOV ES:[DI],AX;ห้องสมุดไป่ตู้置当前中断处理程序入口段地址
MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR的屏蔽位
INAL,DX
MOV IM_BAK,AL;保存INTR原中断屏蔽字
AND AL,INTR_IM
OUTDX,AL
MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1
MOV DI,INTR_IVADD

dsp课程设计中中断的应用

dsp课程设计中中断的应用

dsp课程设计中中断的应用一、教学目标本课程的教学目标是使学生掌握数字信号处理器(DSP)中中断的应用原理和编程方法,培养学生解决实际工程问题的能力。

具体目标如下:1.知识目标:–掌握DSP中断的基本概念和分类。

–理解中断服务程序的编写和调试方法。

–熟悉中断优先级和中断嵌套的设置与处理。

–了解中断在不同应用场景下的应用实例。

2.技能目标:–能够运用中断机制优化DSP程序性能。

–具备编写和调试中断服务程序的能力。

–能够根据实际需求设计中断优先级和中断嵌套策略。

–能够分析并解决中断应用过程中的常见问题。

3.情感态度价值观目标:–培养学生对DSP技术的兴趣和好奇心,激发学生的创新意识。

–培养学生的团队合作精神和自主学习能力。

–使学生意识到中断技术在实际工程中的重要性,提高学生的工程实践能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.DSP中断的基本概念和分类:讲解中断的定义、作用以及常见的中断类型,如硬件中断和软件中断等。

2.中断服务程序的编写和调试:介绍中断服务程序的编写方法,包括中断入口地址的设置、中断向量的配置等,并通过实例讲解中断服务程序的调试技巧。

3.中断优先级和中断嵌套:讲解中断优先级的设置方法,以及中断嵌套的概念和应用场景,并通过实例分析如何合理设置中断优先级和中断嵌套。

4.中断在不同应用场景下的应用实例:介绍中断在实时操作系统、通信系统、控制系统等领域的应用实例,使学生了解中断技术在实际工程中的重要性。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:教师讲解DSP中断的基本概念、原理和方法,引导学生掌握相关知识。

2.案例分析法:通过分析实际工程案例,使学生了解中断技术在实际应用中的重要作用。

3.实验法:安排实验室实践环节,让学生动手编写和调试中断服务程序,提高学生的实际操作能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,培养学生团队合作精神和沟通能力。

中断及蜂鸣器实验报告

中断及蜂鸣器实验报告

一、实验目的1. 理解中断系统的基本原理和工作方式。

2. 掌握51单片机中断系统的使用方法。

3. 学习使用蜂鸣器进行声音输出。

4. 通过实验,加深对中断系统和蜂鸣器应用的理解。

二、实验原理1. 中断系统:中断系统是计算机系统中用于处理外部事件的一种机制。

当CPU正在执行程序时,如果发生了某个外部事件,CPU会暂停当前程序的执行,转而处理这个外部事件,处理完毕后再返回原来程序继续执行。

中断系统主要由中断源、中断控制器、中断服务程序等组成。

2. 51单片机中断系统:51单片机具有5个中断源,分别是外部中断0、外部中断1、定时器/计数器中断0、定时器/计数器中断1和串行口中断。

每个中断源对应一个中断请求标志,当某个中断请求标志被置位时,CPU会响应中断,并调用对应的中断服务程序。

3. 蜂鸣器:蜂鸣器是一种电磁声音变换器,它利用电信号的变化产生声音。

当给蜂鸣器提供合适的电压和频率时,蜂鸣器会发出声音。

三、实验内容与步骤1. 实验器材:51单片机实验板、蜂鸣器、连接线、电源等。

2. 实验步骤:(1)搭建实验电路:将蜂鸣器连接到51单片机的P1.0端口,为蜂鸣器提供合适的电压和频率。

(2)编写程序:使用C语言编写程序,实现以下功能:a. 初始化中断系统:设置中断优先级,使外部中断0具有最高优先级。

b. 编写外部中断0的中断服务程序:当外部中断0发生时,控制蜂鸣器发出声音。

c. 编写主程序:使CPU不断检测外部中断0是否发生,当发生时调用中断服务程序。

(3)编译程序:使用Keil软件编译程序,生成可执行文件。

(4)下载程序:使用51单片机实验板将编译好的程序下载到单片机中。

(5)测试实验:给外部中断0输入信号,观察蜂鸣器是否发出声音。

四、实验结果与分析1. 实验结果:给外部中断0输入信号时,蜂鸣器发出声音,说明中断系统工作正常。

2. 分析:a. 通过实验,我们了解了中断系统的工作原理和51单片机中断系统的使用方法。

利用中断实现发声程序----课程设计

利用中断实现发声程序----课程设计

利用中断实现发声程序----课程设计(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--课程设计说明书课程名称: 微机原理课程设计题目: 利用中断实现发声程序院系:力物学院专业班级:光电16-1班学号: 71学生姓名:任陈飞指导教师:郭娟2019年 6月28日安徽理工大学课程设计(论文)任务书2019年6月安徽理工大学课程设计(论文)成绩评定表目录1概述 ................................... 错误!未定义书签。

MASM汇编开发环境简介................ 错误!未定义书签。

设计要求............................. 错误!未定义书签。

2需求分析 ............................... 错误!未定义书签。

CPU与I/O外设通信3种控制方式....... 错误!未定义书签。

中断方式实现原理..................... 错误!未定义书签。

中断服务子程序.................... 错误!未定义书签。

主程序 .............................. 错误!未定义书签。

主程序负责对中断向量进行设置和恢复等操作错误!未定义书签。

主程序的延时控制.................. 错误!未定义书签。

3程序实现 ............................... 错误!未定义书签。

程序 ................................ 错误!未定义书签。

程序和运行界面....................... 错误!未定义书签。

4总结 ................................... 错误!未定义书签。

参考文献................................. 错误!未定义书签。

cc2530外部中断课程设计

cc2530外部中断课程设计

cc2530外部中断课程设计一、教学目标本课程的教学目标是让学生掌握CC2530外部中断的基本原理和应用方法。

具体来说,知识目标包括了解CC2530外部中断的硬件结构和中断处理流程,掌握中断触发条件和中断服务程序的编写方法。

技能目标则要求学生能够运用CC2530外部中断实现简单的输入输出控制,并能够分析中断异常情况。

情感态度价值观目标则是培养学生对嵌入式系统开发的兴趣,提高他们解决实际问题的能力。

二、教学内容本课程的教学内容主要包括CC2530外部中断的硬件原理、中断触发条件、中断服务程序的编写以及中断的应用实例。

具体安排如下:1.第1课时:介绍CC2530外部中断的硬件原理,包括中断控制器的工作原理和中断触发源。

2.第2课时:讲解中断触发条件,包括中断优先级和中断屏蔽。

3.第3课时:教授中断服务程序的编写方法,以及如何利用中断实现输入输出控制。

4.第4课时:通过实例分析,让学生了解中断在实际应用中的优势和注意事项。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法。

主要包括:1.讲授法:用于讲解CC2530外部中断的硬件原理、中断触发条件和中断服务程序的编写方法。

2.讨论法:在讲解实例时,引导学生进行小组讨论,共同分析中断在实际应用中的优势和注意事项。

3.实验法:安排课后实验,让学生动手实践,巩固所学知识。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《CC2530嵌入式系统教程》2.参考书:《CC2530中断系统应用手册》3.多媒体资料:PPT课件、教学视频4.实验设备:CC2530开发板、编程器、实验器材五、教学评估本课程的教学评估将采用多元化的评价方式,以全面客观地评价学生的学习成果。

评估方式包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评价学生的学习态度和课堂表现。

2.作业:布置相关的编程练习和实验报告,评估学生对CC2530外部中断知识的掌握程度。

嵌入式系统中断课程设计

嵌入式系统中断课程设计

嵌入式系统中断课程设计一、课程目标知识目标:1. 理解中断在嵌入式系统中的基本概念、作用和重要性;2. 掌握中断响应过程、中断优先级管理和中断嵌套的处理方法;3. 学会分析中断服务程序的设计和优化方法;4. 了解中断相关硬件原理,如中断控制器、中断请求和中断向量。

技能目标:1. 能够运用所学知识设计简单的中断服务程序,并实现中断功能;2. 能够运用调试工具对中断相关程序进行调试和优化;3. 能够分析和解决嵌入式系统中断相关的实际问题。

情感态度价值观目标:1. 培养学生对嵌入式系统及中断技术的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实践与理论相结合;3. 培养学生团队协作意识,学会共同分析和解决问题。

本课程针对高年级学生,结合嵌入式系统课程特点,旨在提高学生理论联系实际的能力,培养学生解决实际工程问题的技能。

通过本课程的学习,使学生具备嵌入式系统中断相关领域的基本知识和实践技能,为后续深入学习打下坚实基础。

同时,注重培养学生的情感态度价值观,提高学生的综合素质。

二、教学内容1. 中断基本概念与原理:介绍中断的定义、分类及其在嵌入式系统中的作用;讲解中断响应过程、中断向量表和中断优先级管理。

教材章节:第三章“中断与异常”2. 中断控制器:分析中断控制器的原理、结构和功能;介绍中断请求、中断屏蔽和中断向量寄存器的作用。

教材章节:第三章“中断控制器”3. 中断服务程序设计:讲解中断服务程序的设计方法、中断处理流程和注意事项;举例说明中断服务程序的应用。

教材章节:第四章“中断服务程序设计”4. 中断嵌套与优先级管理:介绍中断嵌套的概念、实现方法及优先级管理的原则;分析中断嵌套时的程序执行流程。

教材章节:第五章“中断嵌套与优先级管理”5. 中断调试与优化:讲解中断相关程序的调试方法、技巧和优化策略;分析实际案例,提出解决方案。

教材章节:第六章“中断调试与优化”6. 实践环节:设计中断实验,使学生动手编写中断服务程序,实现特定功能;通过实验巩固理论知识,提高实际操作能力。

51单片机中断课程设计

51单片机中断课程设计

51单片机中断课程设计一、课程目标知识目标:1. 学生能理解51单片机中断的基本概念,掌握中断系统的工作原理和结构。

2. 学生能掌握51单片机中断的相关寄存器及其设置方法,了解中断优先级的概念。

3. 学生能运用C语言编写中断服务程序,实现中断功能。

技能目标:1. 学生能够运用51单片机中断技术,进行简单的嵌入式系统设计与开发。

2. 学生能够通过分析问题,设计并实现中断控制程序,提高程序执行效率。

3. 学生能够掌握中断调试方法,解决中断使用过程中的问题。

情感态度价值观目标:1. 学生在学习过程中,能够培养对单片机编程的兴趣和热情,提高自主学习能力。

2. 学生能够培养团队合作意识,主动与他人交流、分享经验,提高沟通能力。

3. 学生能够认识到中断技术在嵌入式系统中的应用价值,增强对技术应用的信心。

本课程针对高年级学生,在学生具备一定的单片机基础知识的基础上,通过本课程的学习,使学生在实践中掌握中断技术的应用,提高编程能力。

课程注重理论与实践相结合,强调学生的动手实践和问题解决能力的培养。

通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的要求。

二、教学内容1. 中断概念与分类:介绍中断的基本概念,包括硬件中断和软件中断,阐述中断的作用和分类。

教材章节:第3章 单片机的中断系统2. 51单片机中断系统结构:讲解中断系统的工作原理、中断源、中断请求标志及中断向量表。

教材章节:第3章 单片机的中断系统3. 中断相关寄存器:详细讲解中断控制寄存器(IE、IP)、中断请求标志寄存器(TCON、SCON)等。

教材章节:第3章 单片机的中断系统4. 中断优先级:介绍中断优先级概念,讲解中断优先级的设置方法。

教材章节:第3章 单片机的中断系统5. 中断服务程序编写:通过实例,教授如何使用C语言编写中断服务程序,实现中断功能。

教材章节:第4章 单片机中断程序设计6. 中断应用实例:分析并实践中断技术在51单片机中的应用,如定时器中断、外部中断等。

单片机按键发声课程设计

单片机按键发声课程设计

单片机按键发声课程设计一、课程目标知识目标:1. 理解单片机的基础知识,掌握其内部结构和功能;2. 学习并掌握单片机按键输入原理及编程方法;3. 了解声音产生的基本原理,掌握单片机发声的实现方法。

技能目标:1. 能够正确使用开发板和编程软件进行单片机编程;2. 能够独立设计并实现单片机按键控制发声的程序;3. 学会通过调试和优化程序,提高单片机发声效果。

情感态度价值观目标:1. 培养学生对单片机编程的兴趣,激发其创新意识和实践能力;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 增强学生对科技改变生活的认识,提高社会责任感和使命感。

课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握单片机编程及发声原理。

学生特点:学生处于初中或高中年级,对电子技术和编程有一定的基础知识,好奇心强,喜欢动手实践。

教学要求:教师需注重理论与实践相结合,引导学生主动探究,关注学生个体差异,鼓励学生相互交流与合作,提高课堂互动性。

通过本课程学习,使学生能够达到上述课程目标,并具备一定的单片机编程和应用能力。

二、教学内容1. 单片机基础知识回顾:主要包括单片机的内部结构、工作原理和基本功能,重点复习I/O口输入输出控制。

2. 按键输入原理:介绍按键的物理原理,单片机如何检测按键状态,以及消抖处理方法。

3. 声音产生原理:简要讲解声音的产生,重点阐述如何通过单片机实现PWM 控制蜂鸣器发声。

4. 编程软件使用:指导学生掌握编程软件的使用,如Keil、Proteus等,进行程序编写和仿真。

5. 单片机按键控制发声编程:根据教学进度,分阶段教授程序编写方法,包括编写主程序、中断服务程序等。

6. 程序调试与优化:教授学生如何通过调试找到程序中的问题,并进行优化,提高程序运行效果。

7. 实践操作:安排学生动手实践,设计并实现按键控制发声的程序,巩固所学知识。

教学内容关联教材章节:1. 单片机基础知识回顾:《单片机原理与应用》第一章;2. 按键输入原理:《单片机原理与应用》第三章第三节;3. 声音产生原理:《电子技术基础》第五章第二节;4. 编程软件使用:《单片机C语言程序设计》第一章;5. 单片机按键控制发声编程:《单片机C语言程序设计》第三章;6. 程序调试与优化:《单片机C语言程序设计》第四章;7. 实践操作:结合教材内容,安排实际操作环节。

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

课程设计说明书课程名称: 微机原理课程设计题目: 利用中断实现发声程序院系:力物学院专业班级:光电16-1 班学号:2016305271学生姓名:任陈飞指导教师:郭娟2019 年6 月28 日安徽理工大学课程设计(论文)任务书数学与大数据学院院系信计教研室2019年6月24日安徽理工大学课程设计(论文)成绩评定表学生姓名:任陈飞学号:2016305271 专业班级:光电16-1 班课程设计题目:利用中断实现发声程序指导教师评语:成绩:指导教师:年月日目录1概述 (5)1.1MASM汇编开发环境简介 . (5)1.2设计要求 (5)2需求分析 (5)2.1CPU与I/O 外设通信 3种控制方式 (5)2.2中断方式实现原理 (7)2.2.1 ................................................. 中断服务子程序 .72.3主程序 (7)2.3.1 ..................................................................... 主程序负责对中断向量进行设置和恢复等操作 (7)2.3.2 .................................................. 主程序的延时控制 . (8)3程序实现 (8)3.1程序 (8)3.2程序和运行界面 (10)4总结 (12)参考文献 (14)1概述1.1M ASM汇编开发环境简介MASM是Microsoft Macro Assembler 的缩写,是微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS 环境进行汇编的开发,编译速度快,支持80x86 汇编以及Win32Asm,是Windows 下开发汇编的利器。

它与windows 平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows 下进行开发。

它支持的宏很灵巧,既广泛又多样性,结构化程序的惯用语法,包含高级架构式的循环、程序调用,以及轮替(alternation)(因此,MASM算是高级汇编器的一个范本)。

1.2设计要求利用中断方式,编写程序实现每隔10 秒响铃一次,并在屏幕上显示“The bell is ring ”2需求分析2.1C PU与 I/O 外设通信 3 种控制方式CPU和I/O 设备进行输入输出数据的方式有三种:程序直接控制方式,中断方式和DMA方式。

三种方式的特点:(1)程序直接控制方式最简单的I/O 控制方式是处理机对I/O 设备直接进行控制,采取程序I/O (ProgrammedI /O )方式或称为忙一等待方式。

CPU首先向设备控制器的控制寄存器发出一条I/O 指令启动I/O 设备进行数据传输,硬件同时把状态寄存器中的忙/闲标志busy置为1,表示该I/O 设备尚未输入完一个字(符)。

接着CPU应重复读取状态寄存器忙/ 闲标志busy 进行测试(CPU 不能执行其他进程),直至busy=0,表示该I/O 设备已将输入数据送入到I/O 控制器的数据寄存器中,于是CPU将从数据寄存器中取出数据,送入内存的指定单元,接着,再启动去读下一个数据,并置busy=l 。

在程序I/O 方式中,由于CPU的速度远远高于I/O 设备,导致CPU的绝大部分时间都处于等待I/O 设备完成而循环测试之中,造成了CPU的极大浪费。

但是它管理简单,在要求不高的场合可以被采用。

(2)中断控制在现代计算机系统中,对I/O 设备的控制,广泛地采用中断(Interrupt-Driven )方式,即当某进程要启动某个I/O 设备时,便由CPU 向相应的设备控制器的控制寄存器发出一条I/O 命令,然后立即返回继续执行原来的任务。

设备控制器便按照该命令的要求去控制I/O 设备。

若I/O 设备忙,则由驱动程序将请求插入设备等待队列。

此时,CPU与I/O 设备处于并行工作状态。

例如,在输入时,当设备控制器收到CPU发来的读命令后,便准备接收从相应输入设备送来的数据。

一旦数据进入数据寄存器,控制器便通过中断请求线INT 向CPU发送一中断信号,中断子程序由CPU读取状态寄存器忙/闲标志busy 进行测试检查输入过程中是否出错,若无错,便从数据寄存器中读出数据,写入指定内存单元。

所以,中断驱动方式在I/O 设备输入数据的过程中,无需CPU干预,可以使CPU与I/O 设备并行工作。

仅当输完一个数据时,才需CPU 花费极短的时间去进行中断处理。

从而大大地提高了整个系统的资源利用率及吞吐量,特别是CPU的利用率。

(3)DMA控制中断驱动I/O 方式虽然大大提高了主机的利用率,但是它以字(节)为单位进行数据传送,每完成一个字(节)的传送,控制器便要向CPU请求一次中断(做保存现场信息,恢复现场等工作),仍然占用了CPU的许多时间。

这种方式对于高速的块设备的I/O 控制显然是不适合。

为了进一步减少CPU对I/O 的干预,引入了直接存储器访问DMA(Direct Memory Access )控制方式。

DMA方式是一种完全由硬件执行I /O数据交换的工作方式,它需要使用一个专门的DMA控制器(DMA)C,内含于设备控制器,DMAC中有控制状态寄存器、传送字节计数器、内存地址寄存器和数据缓冲寄存器。

在这种方式中,DMAC采用盗窃总线控制权的方法从CPU接管对总线的控制,成批的数据交换不经过CPU 而直接在内存和I /O设备之间进行。

DMA方式下的数据传送过程可分为三个阶段:1)预处理阶段:当进程要求设备输入数据时,CPU把准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMAC中的内存地址寄存器和传送字节计数器。

另外,还把控制状态寄存器中的中断允许位和启动位置成1,从而启动设备,开始进行数据输入。

2)数据传送阶段:发出数据传输要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。

DMAC不断地窃取CPU工作周期,执行数据传送的操作:向内存发出地址和控制信号,进行地址修改,对传送字的个数计数,直到所要求的字节全部传送完毕。

3)后处理阶段:DMAC在传送完所有字节时,通过中断请求线发出中断信号。

CPU在接收到中断信号后,转入中断处理程序进行后续处理。

中断处理结束后,CPU返回到被中断的进程中,或切换到新的进程上下文环境中,继续执行。

DMA方式起到代理CPU的功能,较之中断驱动方式,又是成百倍地减少了CPU对I/O 控制的干预,进一步提高了CPU与I/O 设备的并行操作程度。

2.2中断方式实现原理中断工作原理:计算技术里中断过程,就是主芯片的外部信号或内部信号,中断了该芯片正在执行的程序,主芯片转而处理由该信号引发的其他程序,结束后再回到中断的“断点”,继续执行原有程序。

2.2.1中断服务子程序(1)利用扬声器发出声音端口号为61H的设备控制器的第1位交替为1和0,该位与扬声器的脉冲门相连,当第一位由 1 变0 或由0 变1,且维持一段时间,产生一个脉冲电流,经放大后送至扬声器发出声音。

61H 的第0 位和振荡器相连,不需要振荡器发声,所以把它置0。

(2)10秒控制10 秒控制:定时器每秒钟中断18.2 次,每次调用一个1CH类型的中断。

系统中原有的1CH类型中断服务子程序没有执行任何功能。

即每次中断不执行任何操作返回主程序。

替换原有中断服务程序,变为用户的发声子程序ring 。

10 秒钟将进行182 次中断,在第182次中断时执行发声功能,并重置计数次数182,其他直接跳出中断服务子程序。

2.3主程序2.3.1主程序负责对中断向量进行设置和恢复等操作中断向量的存取:(1)设置中断向量:MOV DX, OFFSET RING ;新偏移量送DXMOV AX, SEG RINGMOV DS, AX ;新段址送DSMOV AL, 1CHMOV AH, 25HINT 21H ;写入新的中断向量(2)取中断向量:MOV AL,1CH ;取中断向量MOV AH,35HINT 21HPUSH ES ;存原中断向量段址PUSH BX ;存原中断向量偏移量2.3.2主程序的延时控制延时控制目的是延长主程序执行期间给中断服务程序机会实现中断Mov bx, 1234HMov dx, bxLoop1: Mov cx ,bxDelay: Loop delayDec dxLoop loop13程序实现3.1程序数据段:DATA SEGMENTCOUNT DW 1MESS DB ‘The bell is ring! ', 0DH,0AH, '$' DATA ENDS主程序:CODE SEGMENTASSUME C:S CODE,D:S DATA,ES:DATAMAIN PROC FARSTART:PUSH DSSUB AX, AXPUSH AXMOV AX, DATAMOV DS, AXMOV AL, 1CH ;取中断向量MOV AH, 35HINT 21HPUSH ES ;存原中断向量段址PUSH BX ;存原中断向量偏移量PUSH DSMOV DX,OFFSET RING ;新偏移量送DXMOV AX, SEG RINGMOV DS,AX ;新段址送DSMOV AL, 1CHMOV AH, 25HINT 21H ;写入新的中断向量POP DSIN AL,21H ;读取中断屏蔽字AND AL,11111110B ;允许定时器中断OUT 21H, ALSTI;开中断MOV BX,50 DELAY:MOV DI, 65535DELAY:2 MOV SI,65535 ;延时DELAY:1 DEC SIJNZ DELAY1DEC DIJNZ DELAY2POP DX ;恢复原中断向量POP DSMOV AL, 1CHMOV AH, 25HINT 21HRETMAIN ENDP中断服务程序:RING PROC NEARPUSH DS ; 各工作寄存器内容入栈PUSH AXPUSH CXPUSH DXMOV AX, DATAMOV DS, AXSTIDEC COUNT;计秒值JNZ EXITMOV DX, OFFSET MESSMOV AH, 09HINT 21HMOV DX, 100IN AL, 61HAND AL, 0FCHSOUN:D XOR AL, 02OUT 61H,AL ;扬声器发声MOV CX, 140HWAIT1:LOOP WAIT1;延时等待DEC DXJNE SOUNDMOV COUNT, 182EXIT:CLI ;关中断POP DXPOP CXPOP AXPOP DSIRET ;中断返回RING ENDP3.2程序和运行界面图3-1 程序 1 图3-2 程序2图3-3 运行结果4总结不知不觉,微机原理与接口技术课程已经结束了。

相关文档
最新文档