时间片轮转法进行CPU调度算法实验

上传人:jiups****uk12 文档编号:38440534 上传时间:2018-05-02 格式:DOC 页数:22 大小:456.50KB
返回 下载 相关 举报
时间片轮转法进行CPU调度算法实验_第1页
第1页 / 共22页
时间片轮转法进行CPU调度算法实验_第2页
第2页 / 共22页
时间片轮转法进行CPU调度算法实验_第3页
第3页 / 共22页
时间片轮转法进行CPU调度算法实验_第4页
第4页 / 共22页
时间片轮转法进行CPU调度算法实验_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《时间片轮转法进行CPU调度算法实验》由会员分享,可在线阅读,更多相关《时间片轮转法进行CPU调度算法实验(22页珍藏版)》请在金锄头文库上搜索。

1、微机课程设计报告1一、概述一、概述1.1 设计目的通过一个学期对微机原理及接口技术学习,掌握的知识还停留在理论的上。但是这是一门实践性较强的课程,让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。具体要求如下:1、掌握 DMA 工作原理,中断工作原理,定时计数原理,并行通信原理,A/D 和 D/A 工作原理。2、掌握 8237 芯片,8259 芯片,8254 芯片,8255 芯片,ADC0809 芯片功能,结构。3、掌握 8237 芯片,8259 芯片,8254 芯片,8255 芯

2、片,ADC0809 芯片的编程。4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。1.2 设计要求1、总体内容:设计一电子时钟,能在数码管上显示时间并计时。2、接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。4、前期完成的实验有:8259A 中断控制器实验,8254 定时计数器实验,8255 并行接口实验。1.3 电子时钟电子时钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。传统的设计方法有两种,一是利用组合逻辑电路和时序电路等中小规模

3、集成电路来设计;一是利用单片机编程技术来设计。这两种设计都存在硬件复杂,设计周期长,成本高等缺点。并且本学期通过对微机原理与接口技术的学习,利用掌握的知识进行实践是必要的,以巩固基础知识,培养独立操作能力。而本次课程设计要实现的功能为:利用定时器从 0 开始进行计时,将计时的结果显示在数码管上。每隔 1 秒,秒钟计时一次,到 60 秒,分钟加 1,到 60 分小时加 1。根据需要,需选择的芯片有 8254,8259,8255,系统时钟频率 1.041667MHz;微机课程设计报告2二、概要设计二、概要设计2.1 设计内容本次课程设计的内容为电子时钟的设计与实现,利用定时器从 0 开始进行计时,

4、将计时的结果显示在数码管上。每隔 1 秒,秒钟计时一次,到 60 秒,分钟加 1,到 60 分小时加 1。根据需要,需选择的芯片有 8254,8259,8255,系统时钟频率 1.041667MHz;由于实验箱上的数码管一次只能用一个,设计者可考虑先完成下面实验要求:利用 8254 计时,计时从 0 秒到 9 秒,到 9 秒后又从 0 秒重新开始计时,同时将 0 秒9 秒的数字变动信息通过 8255 送数码管显示。由系统时钟频率 1.041667MHz,同学们考虑如何利用 8254 计数器实现 1 秒的计时。2.2 设计思想本系统所要完成的是电子钟的计时等功能,其中最基本的就是实现计时功能,并

5、把相应的数值送到数码管上显示出来。在本系统中,用到的 8254 的功能只是相当于一个定时计,我们给定时器输入 30KHz 频率的脉冲,这样每隔一秒就会在 OUT0 端产生 0 到 1 的跃变,作为中断 IRQ 的请求信号。当然,时钟的计数也有其特定的规则,那就是秒、分的个位逢十进一,十位逢六进一,所以,我们可以通过中断处理程序来控制其进位。这样我们便完成了计时功能。然而,如果仅仅将计时得到的相应数据送入数码管,我们会发现,四个数码管同时显示,无法完成其时钟的显示功能。但是,我们知道,四个数码管的亮灭与小键盘 X1,X2,X3,X4 各列是否为低电平是相对应的(即:X1,X2,X3,X4 依次对

6、应从左到右的四个数码管,若 X1 为低电平,则数码管 1 亮;若 X2 为低电平,则数码管 2 亮;) ,于是,我们就可以将低电平输出到相应的键盘上,来实现对应数码管的显示。通过以上分析,我们可以用四位二进制码分别对应表示 X4X3X2X1 的逻辑值(1-高电平,0-低电平) ,这样要实现时钟的显示功能,便可以按照以下方法来进行:首先将秒的个位数据通过8255 的 B 端口送给数码管,同时将二进制码“0111”通过 8255 的 A 端口送给小键盘 X4X3X2X1,这样通过计算机的扫描后,就会在数码管 4 上显示秒的个位值;接着将秒的十位数据送给数码管,同时将二进制码“1011”送给小键盘

7、X4X3X2X1,这样就会在数码管 3 上显示相应的数值;同样的道理,分别将分的个位、十位送给数码管, “1101” 、 “1110”送给小键盘 X4X3X2X1,就会依次在数码管 2、1 上显示分的个位、十位数值。另外,必须注意的一点就是,显示的时间应该是:XX.XX,中间的一点显示在分的个位上,也就是说在数码管 2 上显示那一点,以区分分与秒。所以,我们将显示分个位的数码管的二进制码最高位置“1” ,其他数码管置“0” ,便达到了显示点的功能。从上面的方法我们可以看出,电子钟分秒各位的显示并不是同时进行的,而是按顺序依次循环显示的,它利用的就是人的视觉暂留现象来欺骗人们的眼睛,造成一种“四

8、位数值同时显示”的假象。微机课程设计报告32.3 电路原理与主要芯片功能 本次设计实现的电子时钟的功能,电子时钟主要采用可编程并行接口芯片 8255A、中断控制器2859A、定时/计数器 8253、LED 数码显示管和两个按键来设置一个控制灯的开关来组合设计。其中主要用 8259A 的 IR7 中断服务程序完成秒、分、时的运算即计时功能,IR6 的中断服务程序完成调时、调分功能。8253 用来产生 50ms 的脉冲作为 IR7 的中断请求信号。8255A 负责将内存里的时位、分位和秒位数值输出到数码管。8279A 用来控制显示器显示时钟。按键 K1+和 K2+分别作为 IR2 和 IR6 的中

9、断请求信号。按键 K1+启动/关闭对时功能,它决定是否屏蔽 IR7 和 IR6 中断源。2.4 各个芯片主要功能2.4.1 8255 主要功能8255 可编程外围接口芯片是 Intel 公司生产的通用并行 I/O 接口芯片,它具有 A、B、C 三个并行接口,并行接口是以数据的字节为单位与 I/O 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递 8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式 0-基本输入/出方式、方式 1-选通输入/出方式、方式 2-双向选通工作方式。8255 的内部结构及引脚如图 2.1 所示:图 2.

10、1 内部结构及引脚8255 工作方式控制字和 C 口按位置位/ 复位控制字格式如图 3-7-2 所示:微机课程设计报告42.2 置位/ 复位控制字格式2.4.2 8259 主要功能中断控制器 8259A 是 Intel 公司专为控制优先级中断而设计开发的芯片。它将中断源优先级 排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对 8259A 进行编程,就可以管理 8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编 程来设定。同时,在不需增加其他电路的情况下,通过多片 8259A 的级连,能构成多达 64 级的矢量中断系统。它的管理功能包括:1)记录各级中

11、断源请求,2)判别优先级,确定是否响应 和响应哪一级中断,3)响应中断时,向 CPU 传送中断类型号。8259A 的内部结构和引脚如图 2.3 所示:微机课程设计报告5图 2.3 内部结构和引脚8259A 的命令共有 7 个,一类是初始化命令字,另一类是操作命令。8259A 的编程就是根据 应用需要将初始化命令字 ICW1-ICW4 和操作命令字 OCW1- OCW3 分别写入初始化命令寄存器 组和操作命令寄存器组。OCW1-OCW3 各命令字格 式如图 2.4 所示,其中 OCW1 用于设置中断屏蔽操作字,OCW2 用于设置优先级循环方式和 中断结束方式的操作命令字,OCW3 用于设置和撤销

12、特殊屏蔽方式、设置中断查询方式以及设 置对 8259 内部寄存器的读出命令。图 2.4 OCW1-OCW3 各命令字格2.4.3 8254 主要功能8254 是 Intel 公司生产的可编程间隔定时器。是 8253 的改进型,比 8253 具有更优良的性能。8254 具有以下基本功能: 有 3 个独立的 16 位计数器; 每个计数器可按二进制或十进制(BCD)计数; 每个计数器可编程工作于 6 种不同工作方式;每个计数器允许的最高计数频率为 10MHz(8253 为 2MHz) ; 8254 有读回命令(8253 没有) ,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 计数脉

13、冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为 n=fCLKi 微机课程设计报告6fOUTi,其中 fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。 图 2.5 内部结构框图和引脚图上图是 8254 的内部结构框图和引脚图,它是由与 CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1) 方式 0 :计数到 0 结束输出正跃变信号方式。 (2) 方式 1:硬件可重触发单稳方式。 (3) 方式 2 :频率发生器方式。 (4) 方式 3 :方波发生器。 (5) 方式 4 :软件触发选通方式。 (6) 方式 5 :硬件触发选通方式。8254 的

14、控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设 置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表 3-9-1 所示。读回控制字格式如表 3-9-2 所示。当读回控制字的 D4 位为 0 时,由该读回控制字D1D2 位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如表 2.6 所示:微机课程设计报告7图 2.6 8254 状态字格式三、详细设计三、详细设计3.1 显示的实现使用 8259 控制,用数码管的显示功能来设计,显示部分用八只 LED 为显示管,这些 LED 发光二极管的阴极是互相连接在一起的,所以称为共阴极数

15、码管。通过在这八只发光二极管的阳极加+5V 或0V 的电压使不同的二极管发光,形成不同的字符和数字。电子时钟用到的是 0-9 十个数字,它们所对应的字符表依次是 3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。微机课程设计报告8图 3.1 显示模块流程图该模块主要是将运算模块和对时模块运算出来并存放在内存单元里的十八进制时位、分位和秒位数值转化为十进制,并通过八只数码管显示出来。此模块实现的硬件是使用实验箱中的 LED 单元,采用软件译码,即在程序中设置一个段选码表。CPU 直接往 LED 输出八段代码,省去了硬件译码器。8259 输出 B0-B3,A0-A3

16、作为八段数据输出口,经 74LS07 驱动后到达各 LED。只要做到每次送一次段选码时也送一次扫描码,并且每送一次位扫描码后,位码中的 0 右移一位作为下一次的位扫描码,即可实现从右向右使八只 LED 依次出现数字显示,这里位扫描码的送出和右移是由 8259 自动实现的。显示的基本代码如下:MOV AX,SEC ;完成秒计时值的显示CALL DECSHOWMOV AX,0E0DH ;回车,置光标到行首INT 10H这是对秒的显示,以此类推可以得到显示分、时的代码。微机课程设计报告93.2 计时的实现该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存放到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于 CPU 运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,可以选择实验箱中的 8253 或 8254 定时/计数器来提供,但又因为 8254 所能提供的信号的周期是毫秒级的,因此必须通过

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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