1、键入公司名称微机原理与接口技术键入文档副标题hy选取日期第 1 页,共 13 页目录摘要 2一、课程设计目的与要求 21. 目的和意义 22. 设计要求 23. 开发环境及设备 2二、设计思想与原理 2三、设计所用芯片结构 31. 8253 的基本用法 .32. 8255A 的基本用法 33. 8259A 的基本用法 3四、硬件设计 31. 硬件电路的模块构成 32. 8253 定时器/计数器的结构及功能 .33. 编程 8255 的芯片结构及工作原理 54. 8259A 芯片的内部结构及引脚 6五、软件设计 71. 程序的主要组成 72. 主程序的流程图 83. 定时中断子程序 8六、系统操
2、作说明 91. 连接 8253 定时/计数器实验电路 92. 连接 8255 并行口实验电路 93. 连接 8259 单极中断控制器实验电路 94. 写程序代码 105. 装载程序 106. 调试程序 107. 调试成功,结束 10七、结束语 10八、附录 101. 参考书籍: 102. 系统原理图 103. 程序代码 11第 2 页,共 13 页摘要在本次课程设计中,硬件采用 8255 控制继电器、8253 定时器、8259 中断控制器组成的实验电路。软件部分采用了汇编语言编写程序代码,通过判断、跳转、循环、中断、串行通信等基本技术实现。此系统可以通过编程输入相关数据, 并根据需要, 可以改
3、造成红绿交通灯,LED 彩灯等等。一、课程设计目的与要求1. 目的和意义通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。2. 设计要求利用 8255 控制继电器的开、关,利用 8253 实现定时,利用 8259 实现中断服务。3. 开发环境及设备设计环境PC 机一台、 windows XP 系统、实验箱、导线若干。设计所用设备8253 定时器:用于产
4、生秒脉冲,其输出信号可作为中断请示信号送 IRQ2。8255 并口:用做接口芯片。8259 中断控制器:用于产生中断。二、设计思想与原理本系统设计以 8086 微处理器作为 CPU,用 8253 做定时计数器,8255 做可编程并行接口显示结果,8259 做中断控制器产生中断。在此系统中,8253 的功能是定时,接入 8253 的CLK 信号为周期性时钟信号。8253 采用计数器,输出周期性的脉冲信号。将此信号接8259 的 IR2,当中断到一定的次数后,CPU 即处理,使 LED 灯发生变化。其中 8259 只需初始化 ICW1,其功能是向 8259 表明 IRx 输入是电瓶触发方式还是上升
5、沿触发方式,是单片 8259 还是多片 8259。8259 接收到信号后,产生中断信号送 CPU 处理。第 3 页,共 13 页三、设计所用芯片结构1. 8253 的基本用法8253 内部有三 2 个独立的 16 位减计数器(0#,1#,2#) ,每个均可单独设置工作方式。每个计数器可用 6 种模式工作,在初始化时首先写控制字,选择工作方式,然后要正确地写入计数初值。最常用的 0、1、2、3 四种方式。2. 8255A 的基本用法8255 作为并行接口芯片,有 3 种工作方式:方式 0,方式 1,方式 2,方式 0 相当于可作无条件输入/输出方式,方式 1 和方式 2 将 PC 口的一些线作为
6、状态线使用,相当于工作在查询方式或中断方式。8255 的 PC 口具有位控制功能,可以用指令将某条线单独置 1 或清 0,利用此功能也可串行接收或发送数据。注意:8255 有2 条单元选的地址线,有 4 个端口地址,要能正确地完成与 CPU 的地址线、数据线、控制线的连接。3. 8259A 的基本用法8259A 中断控制器可以接受 8 个中断请求输入并将它们寄存。对 8 个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。8259A 可以对中断请求输入进行屏蔽,阻止对其进行处理。8259A 支持多种中断结束方式。8259A 与微处理器连接方便,可提供中断请求信号及
7、发送中断类型码。8259A 可以进行级连以便形成多于 8 级输入的中断控制系统四、硬件设计1. 硬件电路的模块构成本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。2. 8253 定时器/计数器的结构及功能8253 可编程定时/计数器是 Intel 公司生产的通用外围芯片之一,有 3 个独立的十六位计数器,技术频率范围为 02MHZ,它所有的技术方式和操作方式都通过编程控制。8253 的功能用途是:延时中断可编程频率发生器
8、第 4 页,共 13 页事件计数器二进倍频器实时时钟数字单稳复杂的电机控制器8253 有六种工作方式:a 方式 0:计数结束中断b 方式 1:可编程频率发生器c 方式 2:频率发生器d 方式 3:方波频率发生器e 方式 4:软件触发的选通信号f 方式 5:硬件触发的选通信号8253 引脚图如下:8253A 引脚图8253 一共有 24 条引脚,其中D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉
9、冲波形;GATE选通输入(门控输入) ,用于启动或禁止计数器的操作,以使计数器和计测对象同步。8253 端口地址表 8253 端口地址信号线 寄存器 编址0#计数器 FFE0H1#计数器 FFE1H2#计数器 FFE2H输出端 YO控制寄存器 FFE3H8253 内部结构图如下第 5 页,共 13 页3. 编程 8255 的芯片结构及工作原理8255 可编程外围接口芯片是 Intel 公司生产的通用并行 I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种工作方式下工作:方式 0基本输入/输出方式方式 1选通输入/输出方式方式 2双向选通输入/输出方式8255
10、引脚图如图 3.2 示,各引脚功能如下。D7D0与 CPU 侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A 口外设双向数据线;PB7PB0B 口外设双向数据线;PC7PC0C 口外设双向数据线;RESET复位输入信号2、8255 端口地址图 3.2 8255 引脚图第 6 页,共 13 页信号线 寄存器 编址A 口 60HB 口 61HC 口 62HIOY3控制寄存器 63H4. 8259A 芯片的内部结构及引脚中断控制器 8259A 是 Intel 公司专为控制优先级中断而设
11、计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对 8259A 编程,就可以管理 8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在 MD 微机系统中,8259 芯片工作于单片方式。8259 引脚图如图 3.3,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0地址信号;INT中断请求信号;INTA(低电平有效) 中断响应信号;CAS0CAS2级联信号,形成一条专用8259A 总线,以便多片 8259A 的级联;SP/EN从编
12、程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;IR0IR7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到 CPU 响应时为止)或者是高电平。8255 端口地址表第 7 页,共 13 页8259 中断矢量地址与中断信号之间的关系如表中断序号0 1 2 3 4 5 6 7功能调用08H 09H 0AH 0BH 0CH 0DH 0EH 0FH矢量地址20H23H24H27H28H2BH2CH2FH30H33H34H37H38H3BH3CH3FH说明 时钟 键盘 可用 可用 串行口可用 可
13、用 可用五、软件设计1. 程序的主要组成本程序由主程序、定时中断子程序和外部中断子程序组成。主程序主要负责系统初始化和等待中断。定时中断子程序主要负责数码管显示刷新和红绿黄灯各种状态切换。外部中断子程序负责紧急情况处理和处理完恢复。8253 计数的起停由 8255 的控制,8255 输出 1 时,8253 开始计数,LED 灯按正常状态切换工作,输出 0 时,计数器停止工作,LED 灯不再按正常状态切换。8253 开始计数后每隔一定时间发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。当有紧急情况时进入外部中断服务子程序,先让 8253 停止计数,
14、然后点亮所有的 LED 灯,下一次外部中断处理时,恢复原来的状况,启动 8253 开始工作。第 8 页,共 13 页2. 主程序的流程图3. 定时中断子程序定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。第 9 页,共 13 页六、系统操作说明1. 连接 8253 定时/计数器实验电路运行并使其能定时/计数器功能,并产生方波2. 连接 8255 并行口实验电路运行并使其成功能通过软件控制 LED 灯的熄灭3. 连接 8259 单极中断控制器实验电路运行并使其成功能中断控制把上面 3 个实验电路全部连接起来,就是
15、所需要的连接图。第 10 页,共 13 页4. 写程序代码5. 装载程序6. 调试程序7. 调试成功,结束七、结束语本次课程设计是由本人和搭档共同完成,通过一星期微机接口的课程设计,我们对微机接口芯片有了更进一步的了解。这次实验通过使用了 8259A 中断控制器、8253 计数器、8255 可编程并行接口实现了对实验板上的 LED 灯分别计时、分别控制。由于这学期微机接口这门课学的并不是很好,所以在调试程序中出现了很多问题。所以刚开始在做这个设计时,我们首先将以前做过的关于 8259A 中断控制器、8253 计数器、8255 可编程的实验重新做了一遍,对这些芯片有了更进一步的理解。然后通过网上
16、查阅了很多资料,总算了解了 8259A 中断控制器、8253 计数器、8255 可编程等芯片的操作方式,对整个课程设计也有了总体的轮廓,通过学过的知识以及做过的实验,最后有了圆满的结果。通过本次课程设计我们学到了很多课堂没有涉及到的知识,极大地拓宽了我们的知识面,锻炼了能力,综合素质得到较大提高,我们感到收获不小。也发现了大量问题,有些在设计过程中已经解决,有些还要待今后慢慢学习,只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。同时,也学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。希望综合运用微机
17、原理、数字电路及微机接口技术的知识,获得一定的系统开发能力。第 11 页,共 13 页八、附录1. 参考书籍:2. 系统原理图3. 程序代码CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 3400HH8: JMP P8259PORT0 EQU 0FFE0HPORT1 EQU 0FFE1H;-初始化-P8259: CLIMOV AX,OFFSET INT8259MOV BX,003CHMOV BX,AXMOV BX,003EHMOV AX,0000HMOV BX,AX第 12 页,共 13 页CALL FOR8259MOV SI,0000HI8255:
18、 MOV DX,0FFDBHMOV AL,8AHOUT DX,ALMOV BL,03P8253: MOV DX,0FFEBHMOV AL,34HOUT DX,ALMOV DX,0FFE8HMOV AL,00HOUT DX,ALMOV AL,096HOUT DX,ALSTIAGAIN: JMP AGAIN;中断子程序-INT8259:CLIMOV DX,0FFD8HXX59: MOV AL,BLOUT DX,ALSHL BL,1CMP BL,18HJZ A1CMP BL,12HJNZ C1MOV BL,03HJMP C1A1: MOV BL,09HC1: MOV AL,20HMOV DX,PORT0OUT DX,ALSTIIRET第 13 页,共 13 页;8259A 初始化=FOR8259:MOV AL,13HMOV DX,PORT0OUT DX,ALMOV AL,08HMOV DX,PORT1OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,7FH ;IRQ7OUT DX,ALRETCODE ENDSEND H8