微机原理与接口技术__计本08408100207_刘霞_基于8255A的声光报警设计_第1页
微机原理与接口技术__计本08408100207_刘霞_基于8255A的声光报警设计_第2页
微机原理与接口技术__计本08408100207_刘霞_基于8255A的声光报警设计_第3页
微机原理与接口技术__计本08408100207_刘霞_基于8255A的声光报警设计_第4页
微机原理与接口技术__计本08408100207_刘霞_基于8255A的声光报警设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南工业大学本科课程设计(论文)湖南工业大学课 程 设 计资 料 袋 湖南工业大学 学院(系、部) 2010 2011 学年第 二 学期 课程名称 微机原理与接口技术 指导教师 邱银安 职称 副教授 学生姓名 刘霞 专业班级 计本082 学号 08408100207 题 目 基于8255A的声光报警器设计 成 绩 起止日期 2011 年 05 月 23 日2011年05月 29 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13课程设计图纸张45616湖南工业大学课程设计任务书20102011学年第 二 学期 计算机与通信学院 学院(系、部) 计算机科学与技

2、术 专业 082 班级课程名称: 微机原理与接口技术 设计题目: 基于8255A的声光报警设计 完成期限:自 2011 年05月 23 日至 2011 年05月 29 日共 1 周课题名称基于8255A的声光报警设计人 数5组 长刘霞同组人员罗彪、赵雄杰、胡小辉、肖也内容及任务要求:通过该设计,掌握串行通信的基本原理和应用,掌握8255并行接口和8253定时计数器的使用,并掌握相应的程序设计和电路设计的技能。是对并行通信接口芯片和定时计数芯片章节理论学习的总结和补充,为后续的硬件课程的学习打下基础。主要任务:1) 完成相关的电路设计;2) 完成8255A的程序设计;3) 完成数据传送程序设计;

3、完成程序调试;具体任务1)理解整个实验课程设计思想;2)程序代码设计;3)电路图的设计;4)课程设计报告的撰写;进度安排起止日期工作内容2011.05.23选择好题,组长布置各成员任务,明确实验的要求和具体任务;2011.05.24-2011.05.25对实验课题进行原理分析、电路图设计以及程序设计;2011.05.26-2011.05.28程序设计并调试程序,提出疑问,找出实验的不足之处;2011.05.29对实验进行进一步的完善,实验验证,让老师考核并完成课程设计报告。指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日微机原理与接口技术课程设计说明书基于8255A的声光报

4、警设计起止日期:2011年 5月23日 至 2011年 5月29日学生姓名刘霞班级计算机科学与技术学号08408100207成绩指导教师(签字)计算机与通信学院2011年 5 月 29 日目 录一、设计目的1二、设计内容1三、设计基本原理13.1 关键芯片8255A相关知识13.1.1 8255A的内部结构13.1.2 8255A的芯片引脚信号23.1.3 8255A的控制字33.1.3 8255A的工作方式43.2 8253功能原理63.2.1 8253的结构和工作原理63.2.2 8253控制寄存器的格式73.2.3 8253的编程命令83.2.4 8253的工作模式83.3 设计思路10

5、3.3.1 设计思想103.3.2 提出问题与解决问题103.3.3 硬件连线实现103.3.4 软件实现123.4 设计体会与展望13参考文献:13附录源程序代码13基于8255A的声光报警设计一、设计目的微机原理与接口技术是计算机科学与技术专业的重要基础课之一,课程紧密结合专业特点,围绕微型计算机原理和应用主题,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式。通过该设计,掌握串行通信的基本原理和应用,掌握8255并行接口和8253定时计数器的使用,并掌握相应的程序设计和电路设计的技能。是对并行通信接口芯片和定时计数芯片章节理论学习的总结和补充,为后续的硬件课程的学习打下基础。二

6、、设计内容利用8253的分频功能实现报警声,即频率1高1低的警报声,同事LED灯也配合一闪一闪。1、对8253进行初始化编程,对8255进行初始化编程;2、根据设计要求,连接相应的电路;3、编写程序实现声光报警效果。三、设计基本原理3.1 关键芯片8255A相关知识3.1.1 8255A的内部结构一:数据端口A、B、C、8255A有三个8位数据端口,即端口A、端口B、端口C。设计人员可以用软件使它们分别作为输入端口或输出端口。不过,这三个端口有着各自的特点。(一)端口A端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器,所以,用端口A作为输入或输出时,数据均收到锁存。(二)端口B

7、端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。(三)端口C端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口C作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存。在使用中,端口A和端口B常常作为独立的输入端口或者输出端口,端口C则配合端口A和端口B的工作。具体地讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来位端口A和端口B提供控制信号和状态信号。二:A组控制和B组控制这两组控制电路一方面接收芯片内部总线上的控制字,一方面接收来自读写控制逻辑电路的读写命令

8、,据此而决定两组端口的工作方式和读写操作。A组控制电路控制端口A和端口C的高4位(PC7-PC4)的工作方式和读写操作。B组控制电路控制端口B和端口C的底4位(PC3-PC0)的工作方式和读写操作。三:读写控制逻辑电路读写控制逻辑电路负责管理8255A的数据传输过程。它接收CS及来系统地址总线的信号A1、A0(在8086系统中位A2、A1)和控制总线的信号RESET、WR、RD,将这些信号进行组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。四:数据总线缓冲器这是一个双向三态的8位数据缓冲器,8255A正是通过它与系统数据总线相

9、连。输入数据、输出数据以及CPU发给8255A的控制字都是通过这个缓冲器传递的。3.1.2 8255A的芯片引脚信号具体的芯片引脚功能。1、和外设一边相连的信号·PA7-PA0 A组数据信号;·PB7-PB0 B组数据信号;·PC7-PC0 C组数据信号。2、和CPU一边相连的信号·RESET 复位信号,高电平有效。RESET信号来到时,所有内部寄存器都被清除,同时,3个数据端口被自动设为输入端口。· 它们是8255A的数据线,和系统数据总线相连。· 芯片选择信号,低电平有效。在一个系统中,一般根据全部接口芯片来分配若干较低地位(比如

10、A5、A4、A3、)组成各种芯片选择码,当这几位地址组成某一个代码时,译码器便往8255A的CS端输出一个低电平,于是,8255A被选中。只有当CS有效时,读信号RD和信号WR才对8255A有效。· 芯片写入信号,低电平有效。当WR有效时,CPU可以往8255A中写入控制字或数据。·、 端口选择信号。8255A内部有3个数据端口和1个控制端口。规定当A1、A0位00时,选中A端口;为01时,选中B端口;为10时,选中C端口;为11时,选中控制口。在8086系统中,采用16为数据总线,进行数据传输时,CPU总是将低8位数据线上的数据送往偶地址端口,而将高8位数据线上的数据送往

11、奇地址端口;反过来,从偶地址端口取得的数据总是通过低8位数据线传送到CPU,从奇地址端口取得的数据总是通过高8位数据线送到CPU。所以,当8255A的D7-D0接到系统总线的低8位时(为了硬件上连接的方便,实际系统中常常这样连接),从CPU一边看来,要求8255A的4个端口地址必须全为偶地址。为了既满足这个要求,又满足8255A本身规定4个端口地址为00、01、10、11的要求,所以,在8086系统中,将8255A的A1段和地址总线的A2相连,而将8255A的A0端和地址总线的A1相连,并且,CPU在对8255A的端口进行访问时,将地址总线的A0位总是设置位0。3.1.3 8255A的控制字8

12、255A可以通过指令在控制端口中设置控制字来决定它的工作。控制字分为两类。一类是芯片各端口的方式选择控制字,它可以使8255A的3个数据端口工作在不同的工作方式。方式选择控制字总是将3个数据端口分为两组来设定工作方式,即端口A和端口C的高4为作为一组,端口B和端口C的低4位作为一组。另一类是C端口按位置1/置0控制字,它可以使C端口中的任何一位进行置位或复位。方式选择控制字的第7位总是1,而端口C置1/置0控制字的第7位总是0,8255A正是通过这一位来识别这两个同样写入控制端口中的控制字到底是哪一类,所以,第7位称为标识位。1称为方式选择控制字的标识位,0称为C端口按位置1/置0控制字的标识

13、符。1、 方式选择控制字对8255A的方式选择控制字,我们作下面几点说明: 8255A有三种基本工作方式:·方式0 基本的输入输出方式·方式1 选通的输入输出方式·方式2 双向传输方式 端口A可以工作在三种工作方式中的任何一种,端口B只能工作在方式0或方式1,端口C则常常配合端口A和端口B工作,为这两个端口的输入输出传输提供控制信号和状态信号。可见,只有端口A能工作在方式2. 归为同一组的两个端口可以工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式。而一个端口具体到底作为输入端口还是输出端口,这也由方式选择控制字来决定。2、端口C置1/置0控制字端口C

14、的数位常常作为控制位使用,所以,在设计8255A芯片时,使端口C中的各数位可以用置1/置0控制字单独设置。当8255A接收到写入控制口的控制字时,就会对最高即标识位进行测试。如为1,则将此字节作为方式选择控制字写入控制字写入控制寄存器;如为0,则此字节就作为对端口C的置1/置0控制字来处理。端口C置1/置0控制字的具体格式。对C端口置1/置0控制字,我们作为如下几点说明: C端口置1/置0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。 置1/置0控制字的D0位决定了是置1操作还是置0操作。如为1,则对端口C中某一位置1,如为0,则置0。 置1/置0控制字的D2、D1

15、 、D0位决定了对C端口中的哪一位进行操作。 置1/置0控制字的D6、D5 、D4位可为1,也可为0,它们不影响置1/置0操作。但D7位必须为0,它是对C端口置1/置0控制字的标识符。3.1.3 8255A的工作方式一方式0(1)方式0的工作特点方式0也叫基本输入输出方式。在这种方式下,端口A和端口B可以通过方式选择安规定为输入口或者输出口,端口C分为两个4位端口,高4位为一个端口,低4位为一个端口。这两个4位端口也可由方式选择字规定为输入口和输出口。概括地说,方式0的基本特点如下: 任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的关系。 各个端口的输入或输出,可以有16种不

16、同的组合,所以可以选用于多种重用场合。(2)方式0的输入输出时序为了了解一个端口工作在方式0的含义,下面,我们来分析一下方式0的时序关系。在分析时序时,应该着重注意两个方面:一是要弄清每个信号的发出者和承受者;二是要弄明白各个信号之间的先后因果关系。(3)方式0的使用场合方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在同步传送时,发送方和接收方的动作由一个时序信号来管理,所以,双方互相知道对方的动作,不需要应答信号,也就是说,CPU不需要查询外设的状态。这种情况下,对接口的要求很简单,只要能传送数据就行了。因此,在同步传输下使用8255A时,三个数据端口可以实现三路数据传输。 查

17、询式传输时,需要有应答信号。信号,在方式0情况下,没有规定固定的应答信号,所以,这时将端口A和端口B作为数据端口,把端口C的4个数位(高4位或者低4位均可)规定为输出口,用来输出一些输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。这样就利用端口C配合了端口A和端口B的输入输出操作。二方式1(1)方式1的工作特点方式1也叫选通的输入输出方式。和方式0相比,最重要的差别是A端口和B端口用方式1进行输入输出传输时,要利用端口C提供的选通信号应答信号,而这些信号与端口C的数位之间有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。(2)方式1输入情况下有关信号

18、的规定和输入时序当端口A工作在方式1并作为输入端口时,端口C的数位PC4作为选通信号输入端,PC5 作为输入缓冲区满信号输出端IBFA,PC3则作为中断请求信号输出端INTRA。当端口B工作在方式1并作为输入端口时,端口C的数位PC2作为选通信号输入端,PC1作为输入缓冲区满信号输出端IBFB,PC0则作为中断请求信号输出端INTRB。这些数位和信号之间的对应关系是在对端口设定工作方式时自动确定的,不需要程序员干预;而且,一旦确定了某个端口工作于方式1,程序员也就无法改变端口C的数位与信号之间的对应关系,除非重新设置方式选择控制字。当8255A的端口A和端口B都工作在方式1的输入情况时,端口C

19、的PC0-PC5共6个数位都被定义,只剩下PC6、PC7这位还未用。此时,方式选择控制字的D3位用来定义PC6和PC7的数据传输方向。当D3为1时,PC6和PC7这2位作为输入来用;当D3为0时,PC6和PC7作为输出来用。8255A选通输入操作(方式1)及内部结构。 方式1选通输入信号定义。 各定义信号功能如下: -STB选通信号,外设通知端口接收并锁定数据; IBF输入缓冲器满, 通知外设已收到数据,CPU取走数据后,变低,外设可再发数据。 INTR 中断请求输出 INTE 中断允许PC4:A组/PC2:B组置1(允许)/0(禁止) PC7,PC6 端口C引脚7与6,可以作为通用的I/O引

20、脚 (3)方式1输出情况下有关信号的规定和输出时序当端口A工作在方式1并作为输出端口时,端口C的数位PC7作为输出缓冲器满信号输出端,PC6作为外设接收数据后的响应信号输入端,PC3则作为中断请求信号INTRA输出端。当端口B工作在方式1并作为输出端口时,端口C的数据PC1作为输出缓冲器满信号输出端,PC2作为外设接收数据后的响应信号输入端,PC0则作为中断请求信号INTRB输出端。方式1选通输出。方式1选通输出信号定义。-OBF输出缓冲器满,表示CPU将数据写到相应的端口;当外设取走数据后变高,从而使INTR产生中断信号。-ACK响应信号,外设收到OBF信号后,读端口,并发该信号,使-OBF

21、引脚回到逻辑1INTR 中断请求信号 INTE 中断允许信号PC4:A组/PC2:B组置1(允许)/0(禁止) PC5、PC4 端口C位5与位4作为通用的I/O引脚 (4)方式1的使用场合在方式1下,规定一个端口作为输入口或者输出口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了相应的中断请求信号。这样,在许多采用中断方式进行输入输出的场合,如果外部设备能为8255A提供选通信号或者数据接收应答信号,那么常常使8255A的端口工作于方式1。用方式1比用方式0更加方便有效。3.2 8253功能原理3.2.1 8253的结构和工作原理(1)编程结构8253内部有三个计数器.分别称为计数器0

22、、计数器1、计数器2。它们的结构完全相同,每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相工作完全独立,每个计数器通过在三不念旧恶引脚和外部联系.一个为时钟输入端CLK.,一个为门控信号输入端GATE,另一个为输出端的OUT。每个计数器内部有一个8位的控制寄存器,还有一个子16位的计数初值寄存器CR、一个计数执行部件CE和一个输出的锁相器OL。(2)8253的工作原理数据总线缓冲器。这是8253与CPU数据总线连接的8位双向三态缓冲器。CPU向8253输入指令和某通道的计数值,以及读取8253计数器中的计数值,都是通过这8条总线传送的。读/写逻辑。这是8253内部操作的控制部分。

23、8253内部寄存器由A0、A1、RD、WR决定。控制字寄存器。在8253初始化编程时,由CPU写入控制字以决定计数器的工作方式。此寄存器只能写入而不能读出。计数器#0、计数器#1、计数器#2。这是三个计数器/定时器,每一个都是由一个16位的可预置值的减法计数器构成。这三个计数器的操作是完全独立的。每个通道包含了1个16位计数寄存器CR、16位的减1计算单元CE、16位的计数输出锁存器OL。CPU写入的计数值存放在CR中(初值),计数的情况反应在OL中,OL可以由CPU读出。计数单元CE每收到一个 CLK时针脉冲,就自动减1,当然,减1操作还受到GATE信号的控制。在CE减1至0时,通过OUT输

24、出一个电平或脉冲3.2.2 8253控制寄存器的格式8253控制寄存器的格式如下:BCD位用来设置计数值格式1:计数值为BCD码格式2:计数值为二进制格式M0、M1、M2模式选择。具体关系如下:M2 M1 M0 模式选择0 0 0 模式00 0 1 模式1× 1 0 模式2× 1 1 模式31 0 0 模式41 0 1 模式5RW1和RW2是读写指示位,具体为:0 0 :对计数器进行锁存操作,使当前计数值在输出锁存器中锁定,以便读出。0 1 :只读写低8位字节。1 0 :只读写高8位字节11 :先读写低8位字节,再读写高8位字节。SC0和SC1用来选择计数器,具体对应关系如

25、下:0 0 :计数器00 1 :计数器11 0 :计数器211 :无意义3.2.3 8253的编程命令规则如下:(1) 对计数器设置初始值前必须先定控制字。(2) 初始值设置时,要符合控制字中的格式规定,即只写低位字节还是只写高位字节,者高低字节都写,控制字中一旦规定,具体初始设定时就要一致。3.2.4 8253的工作模式模式0计完最后一个数时中断在这种方式下,当控制字CW(Control Word)写入控制字寄存器,则使OUT输出端变低,此时计数器没有赋予初值,也没开始计数。要开始计数,GATE信号必须为高电平,并在写入计数初值LSB后,通道开始计数,在计数过程中 OUT线一直维持为低,直到

26、计数到“0”时。OUT输出变高。注意:(1)方式0 不能自动重复计数,每次需写入初值。(2)在计数期间,如果GATE变低,则停止计数,直到GATE变高后,继续计数(不是重新计数)。(3)如果GATE一直为高电平,则,8253在写入初值后开始计数。(4)在计数期间,如果CPU写入新值,则8253按新值继续计数。 模式1可编程序的单拍脉冲在这种方式下,当CPU写控制字之后(的上升沿),OUT输出将保持为高(若原为低,则由低变高)。当CPU写完计数值后,计数器并不开始计数,直到外部门控脉冲GATE启动之后的下一个输入CLK脉冲的下降沿开始计数,输出OUT变低。因整个计数过程中,OUT都维持为低,直到

27、计数到0,输出变为高,因此,输出为一个单拍负脉冲,脉冲宽度为 N 个T。若外部再次触发启动,则可以再产生一个单拍脉冲。注意:(1)每次GATE的一个启动脉冲使CE重新计数;且在CE计数期间,如果GATE产生一个启动脉冲,也会使CE重新计数。(2)在CE计数期间,如果CPU向CR写入新的初值,不会影响当前计数,直到计数完成,或产生一个新的GATE脉冲,CE用新的值计数。模式2速率发生器在这种方式下,当CPU输出控制字后,OUT输出将为高。在写入计数值后,计数器将立即自动对输入时钟CLK计数。在计数过程中输出始终保持为高,直至计数器减到1时,输出将变低,经过一个CLK周期,输出恢复为高,且计数器开

28、始重新计数。注意:(1)在计数期间,GATE需一直保持高电平,当GATE变低时,计数暂停,直到GATE变高,CE重新计数;(2)CE计数结束后,重新装入CR的初值,并自动计数;(3)在CE计数期间,CPU写入的初值对当前计数不产生影响,CE计数结束后,自动以新的初值计数。模式3方波速率发生器方式3和方式2的输出都是周期性的,它们的主要区别是,方式3在计数过程中OUT输出有一半时间为高,另一半时间为低。具体地说,当初值N为偶数时,OUT的高低输出各一半,当N为奇数时,高电平为(N+1)/2,低电平为(N-1)/2。模式4软件触发选通在这种方式下,当写入控制字后,输出为高(原为高则保持为高,原为低

29、则变为高)。当写入计数值后立即开始计数(相当于软件启动),当计数到0后,输出变低,经过一个输入时钟周期,输出又变高,计数器停止计数。这种方式计数也是一次性的,只有在输入新的计数值后,才能开始新的计数。 模式5硬件触发选通在这种方式下,设置了控制字后,输出为高。在设置了计数值后,计数器并不立即开始计数,而是由门控脉冲的上升沿触发启动。当计数到0时,输出变低,经过一个CLK脉冲,输出恢复为高,停止计数。要等到下次门控脉冲的触发才能再计数。注意:(1)在CPU写入初值后,CE不开始计数,直到有一个GATE启动脉冲;(2)在计数期间,CPU写入新的初值,不影响当前计数,直到有一个新的GATE脉冲;在计

30、数期间,新的GATE脉冲使CE重新计数;(3)CE计数结束后,不会自动重新计数,只有一个新的GATE脉冲时,才开始重新计数;3.3 设计思路3.3.1 设计思想本小组的实验主要通过可编程芯片8255A实现对代码输入器的设计。实验电路图见图1-图3,我们的实验思想是:通过实验MFID通用微机实验平台系统上的8255A和两个数码管,八个键控开关及若干导线来实现我们这个设计。实验将8255A的端口A的PA0-PA7与分别与LED的L1-L8相连,端口C的PC6与键音调接口相连,端口C的PC2与按键SW3相连,起对发声器的控制作用,将模块电源中断跳线2,跳线3分别设置跳线。当从键控输入将输的代码后按下

31、单脉冲按钮,然后就在LED上显示出灯光的闪动效果,并将该代码存在首地址为0303H的地方8255A的初始化入口地址,并将0300H地址作为LED的全灭初始化字,向DX中设置0303H时候关闭SPK的作用,地址0302H3.3.2 提出问题与解决问题(1)当代码设置好后,由手动按钮触发使8255A读取这个代码,如何通过8255A的端口实现?这是课程设计的一个重难点。具体的解决方案是:将8255A的PC1端口与触发按钮相连(如附录图1所示),这样连接的思路是:当8255A工作在选通的输入输出方式,在这种工作方式下,PC1端口表示的是IBF(缓冲器满信号,高电平有效)它是8255A输出的状态信号,当

32、它有效时,表示当前已有一个新的数据在缓冲器中,此信号一般供CPU查询用。IBF信号是由STB信号使其置位的,而由读信号RD的后沿即上升使其复位。当代码设置好后,就按下下触发按钮,给PC1端口一个高电平,告诉8255A数据缓冲器满,这时8255A就会从开关读取其状态。(2)如何将用户输入的代码在两位的数码管上用十六进制显示出来,八位二进制的代码与十六进制的代码的转换也是这次课程设计的重难点。如下表所示就是我们实验要用到的七段数码管的字型代码表,在程序中通过查这个字型代码表就可以将八进制的代码顺利转换成十六进制的代码、并将代码用十六进制在数码管上显示出来。3.3.3 硬件连线实现声光报警器原理示意

33、图如下:图1 声-光报警器模块电路原理框图硬件连线:跳线设置:单线将模块电源L区JP7和JP8跳线;排线将模块电源L区JP8跳线连接;单线连法如下图2所示:图2 单线连接图排线连接法如下图3所示:图3 排线连接图3.3.4 软件实现 程序流程图如下:8255初始化熄灭LED关闭SPKSW按下?LED发光Call LEDflashSPK发声(高)Call outSPKLED全灭SPK发声(低)Call outSPK熄灭LED任意键按下?关闭SPKYNYN开始结束图4 8255A声光报警总流程图3.4 课程设计心得体会 从此次微机原理课程设计中我学到了不少,不仅巩固了以前所学过的理论知识,更有很多

34、在书本上所不能学到的内容,像如何和同学更好地交流和合作,怎样在小组合作中最大限度的提高自己的水平,懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。最重要的是动手实践能力在此过程中得到了一定程度的提升。总而言之,通过整个小组成员的努力和积极讨论,在愉快中我们很好的完成了自己的任务,成功地设计模拟出了我们的声光报警器。当程序执行时,看着实验箱上那一闪一闪的彩色灯光,听着那“滴滴滴.”的“报警声”,心中不禁产生了那么一份小小的成就感!最后,在此,真心感谢同学们,尤其是同

35、组成员的相互帮助,感谢老师辛勤耐心的指导!参考文献:1 戴梅萼. 微型计算机技术及应用,清华大学出版社, 2008年2 彭楚武. 微机原理与接口技术, 湖南大学出版社, 2006年3 艾德才. 32位微机原理及接口技术, 清华大学出版社, 2003年附录源程序代码;+ ; Aexp.asm(声-光报警器接口实验) + ; 声-光控制程序source file +;+ stack1 segment dw 200 dup (?)stack1 endsdata segment para public 'data'message db 'press SW3 to start !

36、',0ah,0dh ;系统提示 db 'if you want to quit, please hit Any Key!',0ah,0dh,'$' t dw 0 ;初始化延时变量为0 num dw 0 ;初始化数字变量为0 data7 db 81h,42h,24h,18h,81h,42h,24h,18h data endscode segment para public 'code' assume ss:stack1,cs:code,ds:datasl proc farstart: mov ax,stack1 mov ss,ax mov ax,data mov ds,ax mov ah,09h ;显示系统提示 mov dx,seg message mov ds,dx mov d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论