《电子时钟-汇编-8253+8255+8259.docx》由会员分享,可在线阅读,更多相关《电子时钟-汇编-8253+8255+8259.docx(14页珍藏版)》请在优知文库上搜索。
1、一、课程设计目的2二、课程设计任务错误!未定义书签。1、内容22、要求33、设计环境34、设计所用设备3三、设计所用芯片结构31、8259A芯片的内部结构及引脚32、8254芯片的内部结构及引脚43、8255芯片的内部结构及引脚5四、具体模块设计61、概述62、主程序模块73、小键盘模块74、显示模块85、定时模块9五、程序流程图10主程序流程图:10键盘扫描程序流程图:(KEY)12中断处理程序流程图:12六、心得体会13附录一:参考书目13附录二:局部源代码14一、课程设计目的和意义通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结
2、构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。二、开发环境及设备设计环境Pe机一台、WindOWSXP系统、实验箱、导线假设干。设计所用设备8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。8255并口:用做接口芯片,和小键盘相连。8259中断控制器:用于产生中断。1.ED:六个1.ED用于显示时:分:秒值。小键盘:用于控制设置。三、设计思想与原理1、设计思想本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产
3、生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的C1.K信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUTO端输出周期性的负脉冲信号。即每隔20ms,8254的OUTO端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。其中8259只需初始化ICW1,其功能是向8259说明IRX输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。2、设计原理利用实验台上
4、提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。根本工作原理:每百分之一秒对百分之一秒存放器的内容加一,并依次对秒、分、小时存放器的内容加一,六个数码管动态显示时、分、秒的当前值。1、内容利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式
5、HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。2、要求本实验要求设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从OO点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。根本工作原理:每百分之一秒对百分之一秒存放器的内容加一,并依次对秒、分、小时存放器的内容加一;六个数码管动态显示时、分、秒的当前值。C键:置初值,显示00:00:00G键:显示动态变化(启动表);D键:显示静态不变(表停止);E键:终止程序,返回DOS;P键:设置时:分:秒的值
6、3、设计环境PC机一台、WindoWSXP系统、实验箱,导线假设干。4、设计所用设备8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。8255并口:用做接口芯片,和小键盘相连。8259中断控制器:用于产生中断。1.ED:六个1.ED用于显示时:分:秒值。小键盘:用于控制设置。三、设计所用芯片结构1、8259A芯片的内部结构及引脚中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、区分中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由
7、用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如图33,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)一一写输入信号;RD(低电平有效)一一读输入信号;CS(低电平有效)一一片选输入信号;AO地址信号;INT中断请求信号;INTA(低电平有效)中断响应信号;CAS(TCAS2级联信号,形成一条专用8259总线,以便多片8259A的级联;SP/EN从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲r1.22273261255246238722282159209IO19UA81217131614153,18259A引脚VC
8、CWRAORr)TXTAD7TR7D6TR6DS1R5TR4D3TR3D2TR2Dl.IRIDOIROCASOINTCASlSP/ENGNDCAS2E图方式中,作为输入信号用于表示主片还是从片;IR0IR7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。8259中断矢量地址与中断信号之间的关系如表3.1所示:表3.18259A中断矢量表中断序号O1234567功能调用08H09HOAHOBHOCHODHOEHOFH矢量地址20H24H28H2CH30H34H38H3CHZ,23H27H2BH2FH33H37H3BH3FH说明时
9、钟键盘可用可用串行口可用可用可用2、8255芯片的内部结构及引脚8255可编程外围接口芯片是Intel公司生产的通用并行1/0接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:方式0根本输入/输出方式方式1一选通输入/输出方式方式2一双向选通输入/输出方式8255引脚图如图3.2示,各引脚功能如下。PA3140299PA4*A2FA5PAlPAA*AOAB7e35734W33O321O31II53012529FA7RtWRCSFeEKETCKDDOA1DJ1.AOD2PC71)3D4HCSlDSD7D0与CPU侧连接的八条双向数据线;WR(低电平有效)一一
10、写输入信号;RD(低电平有效)一一读输入信号;CS1低电平有效)一一片选输入信号;AO、Al片内存放器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PCOC口外设双向数据线;RESET复位输入信号2、8255端口地址信号线表3.28255端口地址表存放器编址IOY3AU60HB口61HC口62H控制存放器63H3、8254芯片的内部结构及引脚8254可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为02MHZ,它所有的技术方式和操作方式都通过编程控制。8254的功能用途是:(1) 延时中断(2) 可编程频率发
11、生器(3) 事件计数器(4) 二进倍频器(5) 实时时钟(6) 数字单稳(7) 复杂的电机控制器8254有六种工作方式:(1) 方式0:计数结束中断(2) 方式1:可编程频率发生器IlZ242233224 85 2206 5197 4188 A179 1610 1511 1412 13VfIWRRD1.deCSI1.i_)2Ao)1_C1.K21.O(九T2(1.Ke)GATE2()I1OC1.Ki(IATEOGATEI-Q1.U,J图3.38254引图I(3)方式2:频率发生器(4) 方式3:方波频率发生器(5) 方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8254引脚图如图3
12、.3示,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)一一写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)一一片选输入信号;AO.Al片内存放器地址输入信号;C1.K计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。表3.38254端口地址表信号线存放器编址IOY20#计数器40H1#计数器41H2#计数器42H控制存放器43H四、具体模块设计1、概述本系统设计的电子钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8
13、255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的C1.K信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUTO端输出周期性的负脉冲信号。即每隔20ms,8254的OUTo端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。系统框图如下:显示模块六个1.ED小键盘模块显示缓冲的值键盘读入的数主控模块中I所橙抉8259秒脉冲定叫橙块825
14、4图一系统框图2、主程序模块主控模块是系的核心模块,对8254、8255A进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C那么将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G那么开中断,(中断程序为秒最低位加一)。如果键值为D那么关中断,停止动态显示。如健值为P那么连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,那么终止程序,返回DOS。3、小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上