【2】主控模块 :
主控模块是系的核心模块,对 8253、8255、8279 进行初始化,设置中断向量,主要由软件实现。再由主控模块进入程序菜单,程序菜单的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,每当进入菜单就会先调用显示模块SHOW1,显示58-58-58,表示成功进入了菜单。接下来读键值选择相应的功能,如果键值为 F 则初始化年月日并置入相应的内存,成功后返回主控模块。如果键值为 D则初始化时分秒并置入相应的内存,成功后返回主控模块。如果键值为 B 则显示年月日内存中的值,成功后等待下次有键输入后返回主控程序。如果健值为 9 则显示时分秒内存中的值,成功后等待下次有键输入后返回主控程序。 并调用显示模块显示。
【3】定时模块 :
定时模块是为 8259 提供中断请求信号的。由一片 8253 实现,选用定时器 0#, 工作在方式 3,由于时钟应该 1 秒走动一次,所以输出值应为 1S,其输出信号可作 为 8259 的中断请求信号。
【4】 中断处理模块 :
中断模块实现动态显示的,硬件为一片 8259,由于中断请求信号为每秒一次, 中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一 秒,从而达到动态显示的效果。
5
【5】 并行模块:
并行模块是8255是数据在多根传输线上一次以8位为单位进行传输。8255
由数据总线缓冲器,读/写控制逻辑、A组和B 组控制电路以及3个数据端口(A 口、B 口和C口)等组成。
【6】显示模块:
显示模块是将显示缓冲区的数值送到 LED 显示的功能模块,显示缓冲区是由六 个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。 硬件上由六个 LED 构成,软件上由扫描显示的方法实现。
6
(三)芯片初始化:
【1】8253A定时/计数:
8253 A既可作定时器又可作计数器:
(1) 计数: 计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK 脉冲对计数值进行减1 计数,每来一个脉冲减1,当计数值减至0时,由OUT 端输出一个标志信号。
(2) 定时: 计数器装入初值后,当GATE为高电平时,由CLK 脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。
8253A控制字
7 6 5 4 3 2 1 0
00 选计数器0 数制控制:0 = 二进制,1= BCD 01 选计数器1 10 选计数器2 工作方式选择:000 方式0 11 非法 001 方式1 ×10 方式2 00 计数器锁存命令 ×11 方式3 01 只读/写低8位,高8位自动置0 100 方式4 10 只读/写高8位,低8位自动置0 101 方式5 11 先写低8位,后写高8位 7
(3)以上为8253计数器2的初始化过程,计数器0的初始化过程类似,只是计数初值不再为053C而改为02,表示把输入的时钟频率二分频,以达到可以使蜂鸣器报警的效果。 【2】8259单级中断控制:
8259A编程及初始化
写初始化命令字
写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。 中断优先级排队和确定系统用单片还是多片。
7 6 5 4 3 2 1 0 A7 A6 A5 1 0=不需写ICW4;1=需要写ICW4 0=多片8259级连;1=只一片8259 0=中断向量地址间距8;1=地址间距4(8088模式下为0) 0=上升沿触发;1=高电平触发 为1,ICW1标志位 中断向量A7,A6,A5位(8088模式下为000)
【3 】 8279显示接口:
8279A的控制命令
(1) 键盘显示器方式设置命令
8
* RESET后,设定为该种方式。 (2) 扫描频率控制命令
【4】8255并行:
8255A控制字
(1) 方式选择控制字 7 6 5 4 3 2 1 0 PC3~0:1=输入, 0=输出 PB口: 1=输入,0=输出 B组 方式选择:0=方式0,1=方式1 PC7~4:1=输入, 0=输出 PA口:1=输入,0=输出 方式选择:00=方式0 A组
01=方式1 01×=方式2 方式标志:1=有效
(四)程序流程图:
【1】主程序流程图:
9
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库中南大学微机原理课程设计报告(2)在线全文阅读。
相关推荐: