微机应用系统课程设计电脑时钟报时器.doc

上传人:文库蛋蛋多 文档编号:3029374 上传时间:2023-03-09 格式:DOC 页数:26 大小:321.50KB
返回 下载 相关 举报
微机应用系统课程设计电脑时钟报时器.doc_第1页
第1页 / 共26页
微机应用系统课程设计电脑时钟报时器.doc_第2页
第2页 / 共26页
微机应用系统课程设计电脑时钟报时器.doc_第3页
第3页 / 共26页
微机应用系统课程设计电脑时钟报时器.doc_第4页
第4页 / 共26页
微机应用系统课程设计电脑时钟报时器.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《微机应用系统课程设计电脑时钟报时器.doc》由会员分享,可在线阅读,更多相关《微机应用系统课程设计电脑时钟报时器.doc(26页珍藏版)》请在三一办公上搜索。

1、 本 科 课 程 设 计 说 明 书微机应用系统课程设计 -电脑时钟报时器学 院 名 称 : 机械工程学院 专 业 班 级 : 测控0801 学 号 : 3080302009 学 生 姓 名 : 指导教师姓名: 指导教师职称: 教 授 2011 年 6月微机系统与接口技术课程设计任务书一、 设计目的1、 建立微机系统概念,加深对微机系统的理解和认识,提高微机系统应用能力。2、 进一步学习和掌握微机程序设计方法,通过应用程序编写和调试,学习程序调试方法。3、 进一步熟悉微机典型接口芯片的使用,接口与外设及系统连接方法。二、 题目微机应用系统设计电脑时钟报时器的设计三、 设计要求1、 以8086(

2、8088)CPU为主控单元,构建微机应用系统。2、 应用系统的硬件设计,画出电路原理图、线路连接图。3、 应用系统的软件设计,画出软件流程图、写出主控程序。4、 根据实验条件进行微机应用系统的部分模拟调试工作,写出调试说明。5、 整理设计说明书,列出参考文献清单。四、 列出所使用元器件和设备清单五、 完成定时/计数器8253,中断控制器8259实验,写出实验报告目录摘要 1第1章 概述 2第2章 电脑时钟报时器硬件设计32.1、开发环境及设备 32.1.1、设计环境32.1.2、设计所用设备3 2.2、设计思想与原理 32.2.1、设计思想32.2.2、设计原理32.3、设计所用芯片结构 42

3、.3.1、8255芯片的内部结构及引脚 42.3.2、8253芯片的内部结构及引脚 52.4、硬件结构示意图 62.4.1、硬件结构示意图62.4.1、硬件结构示意图7第3章 电脑时钟报时器软件设计83.1、软件设计思路 83.2 软件设计流程图83.2.1主控模块框图 83.2.2时间显示模块框图 93.2.3初始界面显示模块框图10 3.3、主要控制程序103.3.1、主控模块103.3.2、初始界面显示模块113.3.3、时间显示模块12第4章 系统模拟与试验调试15设计总结 20参考文献 21元器件和设备清单22摘要运用所学知识,初步掌握8255、8253及74LS138译码器芯片使用

4、方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。本次设计利用实验台上提供的8255、8253、74LS138译码器和数码显示电路,设计一个电子时钟,由8255控制定时及初始值的预置,由8253执行定时,拨动不同开关分别控制电子时钟和定时的启停。关键词 8255 8253 74LS138译码器 数码显示电路 电子时钟Abs

5、tract Using studies the knowledge,masters 8255、8253 and the 74LS138 translator chip application method and the programming method initially,through this curriculum project,studies for the purpose of application ,further understood studies related chip principle,internal structure,application method

6、and so on,academic society related to chip practical application and programming.Simultaneously and understood that the synthesis problems the programming grasps the real-time processing procedure the establishment and the debug method,grasps the general design procedure and the flow,causes we will

7、later do when the design logic to be clearer,causes own design level and to the knowledge application ability which as well as the analysis question will study solves the question ability to have the comprehensive enhancement.This design uses in the laboratory bench to provide 8255、8253、74LS138 tran

8、slator and the numerical code display circuit ,designs an electronic clock,by 8255 controls fixed time and the starting value initialization,by 8253 executions fixed time,moves the different switch to control the electronic clock separately and fixed time opens and stops.Keywords: 8255 8253 74LS138t

9、ranslator Numerical code display circuit Electronic clock第1章 概述课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动乎、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。微型计算机原理及应用是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理

10、论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法,同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。时钟就是一种对时间进行累计的工具,即计时。计时的本质就是计数,只不过这里的“数”的单位是时间单位,如果把一小片一小片计时单位累计起来,就可获得一段时间。因此,使用计数器对时钟脉冲进行计数,就是时钟实现的基本原理;再用LED数码管显示出来,并设计出几个开关用于对时钟功能进行控制,这样,一个完整的时钟就设计完成了。本次课程设

11、计系统中采用8088微处理器完成了电子钟的小系统的独立设计,利用8253定时器和8255控制设计一个具有时、分、秒显示的电子时钟,并定义一个启动开关,当拨动开关的时候,时钟从当前的设定值(可以在缓冲区中设置)开始走时。并设定一个定时开关,以控制定时的开始与结束。第2章 电脑时钟报时器硬件设计2.1、开发环境及设备2.1.1、设计环境PC机一台、windows 98系统、微机原理实验仪、八芯排线、导线若干。2.1.2、设计所用设备 8255并口:用做接口芯片,和8088相连。8253芯片:用来输出一定频率的脉冲信号来控制定时LED:六个LED用于显示时:分:秒值。拨动开关:用于控制设置。LED发

12、光二极管:五个发光二极管分别用于显示60s向分钟进位、60分向小时 进位、电子钟的工作状态标志及2s定时的显示。2.2、设计思想与原理2.2.1、设计思想本系统设计的电子时钟以8088微处理器作为CPU,8255做可编程并行接口显示时钟。在此系统中,以软件形式对时钟的开关、调节和定时进行控制,以达到初步的时钟原型。通过8255的编程输入,送CPU进行处理,以完成相应功能。2.2.2、设计原理利用实验台上提供的8255、8253、74LS138译码器和数码显示电路,设计一个电子时钟,由8255控制定时及初始值的预置,拨动开关控制电子时钟的启停。电子时钟的显示格式HH:MM:SS由左到右分别为时、

13、分、秒,最大记时23:59:59超过这个时间时分秒位都清零从00:00:00重新开始。基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。2.2.2.1、内容利用实验台上提供的8255、8253和数码显示电路,设计一个电子时钟,由8255控制定时及初始值的预置,拨动开关K1控制电子时钟的启停;由8253控制定时程序,本实验中定时2秒,即每两秒红灯闪烁一次,并通过开关K2控制定时的开始与结束。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时23:59:59超过这个时间时分秒位都清零从00:00:0

14、0重新开始。2.2.2.2、要求本实验要求设计一个定时显示装置,用六个数码管显示时间,用拨动开关K1控制计时开始与结束显示时间。系统一运行就从21点58分55秒开始计时,并在数码管上显示时、分、秒当前值。基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。2.3、设计所用芯片结构2.3.1、8255芯片的内部结构及引脚 8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:方式0基本输入/输出方式方式1选通输入/输出方式

15、方式2双向选通输入/输出方式8255引脚图如图3.1示,各引脚功能如下。D7D0与CPU侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;图3.1PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号表3.1 8255端口地址表 信号线寄存器编址IOY3A口0FFD8HB口0FFD9HC口0FFDAH控制寄存器0FFDBH2.3.2、8253芯片的内部结构及引脚8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个

16、独立的十六位计数器,技术频率范围为02MHZ,它所有的技术方式和操作方式都通过编程控制。8253的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253有六种工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器图3.2(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253引脚图如图3.2示,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A

17、1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。表3.2 8253端口地址表信号线寄存器编址IOY20#计数器0FFE0H1#计数器0FFE1H2#计数器0FFE2H控制寄存器0FFE3H2.4、硬件结构示意图2.4.1、硬件结构示意图时钟发生器A0A7CSY074LS138CBAGGSA2A3A4D0D78253发光二极管L12GATE0 CLK2 OUT0 OUT2GATE2 CLK0PA0 PB0发光二极管L1开关K2P

18、C4 8255 PB1发光二极管L2D0D7D0D7 PB2发光二极管L3六个七段LED数码管 显示器 PC0发光二极管L6开关K1在本设计中,8088工作在最小模式下,负责对8253芯片进行工作方式控制和数据处理;8253定时/计数器用来输出一定频率的脉冲信号来控制定时标志发光二极管L12闪烁,并通过开关K2控制定时的开始与结束;由8255控制定时及初始值的预置,拨动开关K1控制电子时钟的启停;五个发光二极管L1、L2、L3、L6、L12分别用于显示60s向分钟进位、60分向小时进位、满24小时清零、电子钟的工作状态标志及2s定时时间到的标志。2.4.2、硬件结构线路连接图在现有的微机原理实

19、验仪与PC机连接成功的前提下,按如下接线:K1PC0L6,K2PC4,PB0L1,PB1L2,PB2L3,PA0GATE0GATE2,A2A,A3B,A4C,GSG,Y08253CS,T2CLK0,CLK2OUT0,OUT2L12,8253地址线与CPU地址总线相连接注:K1、K2为拨动式开关PA0、PB0、PB1、PB2、PC0、PC4分别为8255A的A、B、C口中某位L1、L2、L3、L6、L12为五个发光二极管A2、A3、A4、GS分别为8088CPU上的引脚A、 B、C、G、Y0分别为74LS138译码器芯片上的引脚 GATE0、GATE2、5253CS、CLK0、CLK2、OUT0

20、、OUT2分别为8253芯片上的引脚T2为时钟发生器的引脚在现有的微机原理实验仪与PC机均能正常工作的前提下,接线图见附图。第3章 电脑时钟报时器软件设计3.1、软件设计思路本系统设计的电子钟以8088微处理器作为CPU,用8253定时/计数器用来输出一定频率的脉冲信号来控制定时标志发光二极管L12闪烁,8255做可编程并行接口显示时钟,六个8位LED数码管作显示设备,五个发光二极管分别用于显示60s向分钟进位、60分向小时进位、电子钟的工作状态标志及2s定时的显示。在此系统中,8253的功能是定时,并使UT0与CLK2相连,构成计数器级联,控制L12发光二极管闪烁,设定每隔2秒闪烁一次。利用

21、软件编程实现,六个数码管动态显示时、分、秒的当前值。程序包括主控模块、初始界面显示模块、时间显示模块。3.2 软件设计流程图3.2.1主控模块框图:开始8255、8253初始化,A口、B口初始化初始界面显示启动开关状态是“1”调用处理子程序开始计时调用显示子程序显示结果YN3.2.2时间显示模块框图: 恢复寄存器子程序返回位码右移1位输出位码输出段码将字符转换为段码YYYYYYNNNNNN保护寄存器计数单元减1秒位加110秒位加1分位加110分位加1时位加1全部清零满1s么?满10s么?满60s么?满10分么?满60分么?满24h么?3.2.3初始界面显示模块框图:去表格TABLE、BUFDA

22、首地址取字位口地址,输出位码取字形口地址,输出段码软件延时Y子程序返回扫完一遍?N循环右移1位3.3、主要控制程序3.3.1、主控模块主控模块是系统的核心模块,对8253、8255A进行初始化,扫描拨动开关K1,根据开关状态作相应的处理,主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读拨动开关K1、K2状态值并执行要做的工作,如果开关K1状态为“0”,则将显示初始值21:58:55置入显示缓冲,并调用时间显示模块显示。如果开关状态为“1”,调用初始界面显示模块显示“HELLO”。拨动开关K2状态为“0”,定时开始,状态为“1”,定时结束。主控模块实现代码: MOV

23、 BP,0100H MOV DX,0FFDBH MOV AL,89H ;8255控制字,C口输入,A/B口输出 OUT DX,AL ;8255初始化 MOV DX,0FFE3H ;8253初始化 MOV AL,25H OUT DX,AL MOV DX,0FFE0H ;2S闪光一次 MOV AL,40H OUT DX,AL MOV DX,0FFE3H ;用级联 MOV AL,0A5H OUT DX,AL MOV DX,0FFE2H MOV AL,03H OUT DX,AL;* MOV DX,0FFD9H ;使灯均处于灭的状态/B口 MOV AL,0FFH OUT DX,AL MOV DX,0FF

24、D8H ;使灯均处于灭的状态/A口 MOV AL,00H OUT DX,ALL0: MOV DX,0FFDAH ;从C口写入开关数据 IN AL,DX AND AL,01H CMP AL,01H ;判断时钟是否启动 JNZ INTR1 CALL L1 ;没启动,则转显示 JMP L0INTR1: CALL INTR ;调用处理子程序 JMP L03.3.2、初始界面显示模块在微机原理实验仪与PC机连接成功的前提下,运行程序,若拨动开关K1状态为“1”,则调用此显示模块显示“HELLO”,第六个LED数码管不显示。初始界面显示模块实现代码: LEA BX,TABLE LEA DI,BUFDA M

25、OV CL,20H ;6号的字位码NEXT: MOV DX,0FFDDH ;字位口地址 MOV AL,CL OUT DX,AL ;输出位码 MOV AL,DI+06 ;取段码 XLAT MOV DX,0FFDCH ;输出段码,字形口地址 OUT DX,AL PUSH CX MOV CX,30H LOOP $ ;软件延迟 POP CX CMP CL,01H ;判断是否扫完一遍 JZ L2 ;显示完一遍则返回 INC DI ROR CL,1 ;循环右移一位 JMP NEXT L2: RET3.3.3、时间显示模块时间显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,

26、分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。时间显示模块实现代码: MOV DX,0FFDAH ;C口输入 IN AL,DX AND AL,10H CMP AL,10H ;判断定时2s开关是否启动 JNZ DINGS MOV DX,0FFD8H ;停止计时 MOV AL,00H OUT DX,AL JMP CONTIDINGS: MOV DX,0FFD8H ;开始计时 MOV AL,01H OUT DX,ALCONTI: DEC BP ;计数单元减1 JNZ L3 JMP L4 ;如未计到100,则直接转显示L3: JMP

27、DISPLAYL4: MOV DI,OFFSET BUFDA MOV DX,0FFD9H ;B口输出,使灯全灭 MOV AL,0FFH OUT DX,AL MOV BP,0100H ;计数单元设置初值 MOV AL,DI+05 INC AL ;秒位加1 MOV DI+05,AL CMP AL,0AH ;是否引起进位 JNZ DISPLAY ;无进位则转显示 MOV AL,00 MOV DI+05,AL MOV AL,DI+04 INC AL ;有进位则本位清零,前一位加1 MOV DI+04,AL CMP AL,06 ;是否满60秒 JNZ DISPLAY ;否,则转显示 MOV DX,0FF

28、D9H ;B口输出,使黄灯亮 MOV AL,0FEH OUT DX,AL MOV AL,00 MOV DI+04,AL MOV AL,DI+03 INC AL ;是则本位清零,而分位加1 MOV DI+03,AL CMP AL,0AH ;是否引起分位有进位 JNZ DISPLAY ;否,则转显示 MOV AL,00 MOV DI+03,AL MOV AL,DI+02 INC AL MOV DI+02,AL ;有进位,则本位清零,前一位加1 CMP AL,06 ;是否满60分 JNZ DISPLAY ;否,则转显示 MOV AL,00 MOV DI+02,AL MOV AL,DI+01 INC

29、AL ;有进位,则本位清零,前一位加1 MOV DI+01,AL CMP AL,04 ;是否引起时位有进位 JNZ DISPLAY ;否,则转显示 MOV DX,0FFD9H ;B口输出,使黄灯、绿灯灯亮 MOV AL,0FCH OUT DX,AL MOV AL,00 MOV DI+01,AL MOV AL,DI INC AL ;是则本位清零,前一位加1 MOV SI,AL CMP AL,02 ;是否满24小时 JBE DISPLAY ;否,则转显示 MOV DX,0FFD9H ;B口输出,使黄灯、绿灯及红灯全亮 MOV AL,0F8H OUT DX,AL MOV AL,00 MOV DI,A

30、L ;是则本位清零DISPLAY: LEA BX,TABLE LEA DI,BUFDA MOV CL,20H ;6号的字位码DISPLAY1: MOV AL,CL MOV DX,0FFDDH ;字位口地址 OUT DX,AL MOV AL,DI XLAT MOV DX,0FFDCH ;字形口地址 OUT DX,AL PUSH CX MOV CX,0A0HWAIT1: LOOP WAIT1 ;软件延时 POP CX CMP CL,01H ;1号的字位码 JZ AA INC DI ROR CL,1 JMP DISPLAY1AA: JMP INTRRETINTRRET: RET说明在以上程序中,用到

31、的8255、8253的端口地址如下:8255端口地址:A口、B、C、控制端口地址分别为0FFD8H,0FFD9H,0FFDAH,0FFDBH。8253端口地址:控制端口和计数器0 端口地址分别为00FFE3H,0FFE0H。第4章 系统模拟与试验调试在系统模拟调试的过程中,首先想到的方案的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值21:58:52置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序

32、,返回DOS,并能实现定时时间到时使蜂鸣器蜂鸣。但在以后的几天的摸索和试验中发现,由于自己的经验不够,使自己的这个初始方案未能成功实现,后来在同学和老师的指导下,更改了现在的实现方案,即是以拨动开关代替键盘输入,以发光二极管代替蜂鸣器,由于自己的时间和水平有限,没有实现程序的时间动态更改,现在的实现功能有:时钟工作的开始和停止的及时性,时钟工作状态的显示,整分、整时、满24小时的1s闪灯提示,时钟定时2s闪动一次发光二极管提示及其开始和停止的及时性。现将完整的实验程序列出如下:CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 1200HSTART: MOV BP,

33、0100H MOV DX,0FFDBH MOV AL,89H ;8255控制字,C口输入,A/B口输出 OUT DX,AL ;8255初始化;* MOV DX,0FFE3H ;8253初始化 MOV AL,25H OUT DX,AL MOV DX,0FFE0H ;2S闪光一次 MOV AL,40H OUT DX,AL MOV DX,0FFE3H;用级联 MOV AL,0A5H OUT DX,AL MOV DX,0FFE2H MOV AL,03H OUT DX,AL;* MOV DX,0FFD9H ;使灯均处于灭的状态/B口 MOV AL,0FFH OUT DX,AL MOV DX,0FFD8H ;使灯均处于灭的状态/A口 MOV AL,00H OUT DX,AL;*L0: MOV DX,0FFDAH ;从C口写入开关数据 IN AL,DX AND AL,01H CMP AL,01H ;判断时钟是否启动 JNZ INTR1 CALL L1 ;没启动,则转显示 JMP L0INTR1: CALL INTR ;调用处理子程序 JMP L0;*L1 PROC;初始界面显示程序 LEA BX,TABLE LEA DI,BUFDA MOV CL,20H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号