《微机原理课程设计数字钟.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计数字钟.doc(26页珍藏版)》请在金锄头文库上搜索。
1、微机原理课程设计 目录一、设计要求1二、设计所用芯片 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2三、设计思想 。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2四、设计所用芯片结构31、8259A芯片的内部结构及引脚32、8279芯片的内部结构及引脚43、8253芯片的内部结构及引脚5五、系统各个模块设计61、系统总体设计62、主控模块73、CPU模块7 4、定时模块 . . . . . . . . . . . . . . . . . . . . . . . . 95、中断处理模块 。 。
2、 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 96、显示模块和小键盘模块10六、程序流程图121、主程序流程图122、定时中断服务程序流程图14七、设计总结15附录一:参考书目15附录二:总体图 . . . . . . . . . . . . . . . . . . . . . . . .15附录三:源代码 17一、设计要求利用试验平台提供的硬件资源设计一个电子表。该电子表以时、分、秒的形式实时显示当前时间,且具有校表功能,利用小键盘与标准时间校准。掌握8255、8259、8253芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、
3、使用方法等,学会相关芯片实际应用及编程,系统中采用8088微处理器完成了电子钟的小系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。二、设计所用芯片8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。8279接口芯片:实现键盘输入和显示输出。8259中断控制器:用于产生中断。LED:六个LED用于显示时:分:秒值。小键盘:用于控制设置。三、设计思想1、设计思想本系统设计的电子时钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8279做可编程并行接口显示时钟和键盘电路,8
4、259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电平触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。2、设计原理利用定时器8253和8259以及键盘和数码显示电路,设计一个电子时钟,由
5、8253中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。C键:置初值,显示00:00:00G键:显示动态变化(启动表);D键:显示静态不变(表停
6、止);E键:终止程序,返回DOS;P键:设置时:分:秒的值四、设计所用芯片结构1、8259A芯片的内部结构及引脚中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。 8259A引脚图8259引脚图如图3.3,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A
7、0地址信号;INT中断请求信号;INTA(低电平有效)中断响应信号;CAS0CAS2级联信号,形成一条专用8259A总线,以便多片8259A的级联;SP/EN从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;IR0IR7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。8259中断矢量地址与中断信号之间的关系如表3.1所示: 8259A中断矢量表中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H23H24H27
8、H28H2BH2CH2FH30H33H34H37H38H3BH3CH3FH说明时钟键盘可用可用串行口可用可用可用2、8279芯片的内部结构及引脚Intel8279是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和显示控制两种功能。 键盘部分提供一种扫描的工作方式,可以和具有64个按键的矩阵键盘相连接,能对键盘不断扫描,自动消抖,自动识别按下的键并给出编码,能对双键或n键同时按下实行保护。 显示部分为发光二极管、荧光管及其它显示器提供了按扫描方式工作的显示接口,它为显示器提供多路复用信号,可以显示多达16位的字符或数字。DB0DB7:双向数据总线,用来传送8279与CPU之间
9、的数据和命令。 CLK:时钟输入线,用以产生内部定时的时钟脉冲。 RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。 CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。 A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。 RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。 WR:写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。 3、8
10、253芯片的内部结构及引脚8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为02MHZ,它所有的技术方式和操作方式都通过编程控制。8253的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253有六种工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253引脚图如图3.3示,各引脚功能如下。D7D0八条双向数据线;WR(低电
11、平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。 8253端口地址表2、8253端口地址信号线寄存器编址IOY20#计数器40H1#计数器41H2#计数器42H控制寄存器43H五、系统各个模块设计1、系统总体设计本系统设计的电子钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8279做可编程并行接口显示时钟和键盘电路,
12、8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。系统总体框图如下:键盘读入的数显示缓冲的值秒脉冲显示模块主控模块中断模块定时模块小键盘模块六个LED小键盘827982538259系统总体框图2、主控模块主控
13、模块是系的核心模块,对8253、8279进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序,返回DOS。3、CPU模块 8088最小工作模式,作为整个电子表的核心控制部分。在8088最小模式中,硬件连接上有如下特点:
14、(1) MN/MX 端接+5V,决定了8088工作在最小模式。(2) 有1片8284A,作为时钟发生器。(3) 有3片8282,用来作为地址锁存器。8282是典型的锁存器芯片,因为它是8位的,所以需要3片8282作为锁存器。(4) 当系统中所连的存储器和外设系统较多时,需要增加数据总线的驱动能力,这时,要用两片8286作为总线收发器。17 8088 构成的CPU4、定时模块定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。定时模块原理图5、中断处理模块中断模块实现动态显示的,硬件为一片8259,由于中断请求信