最新电子钟课程设计完整创新版

上传人:wt****50 文档编号:35017233 上传时间:2018-03-06 格式:DOC 页数:14 大小:3.16MB
返回 下载 相关 举报
最新电子钟课程设计完整创新版_第1页
第1页 / 共14页
最新电子钟课程设计完整创新版_第2页
第2页 / 共14页
最新电子钟课程设计完整创新版_第3页
第3页 / 共14页
最新电子钟课程设计完整创新版_第4页
第4页 / 共14页
最新电子钟课程设计完整创新版_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《最新电子钟课程设计完整创新版》由会员分享,可在线阅读,更多相关《最新电子钟课程设计完整创新版(14页珍藏版)》请在金锄头文库上搜索。

1、1 电子钟课程设计 一实验目的 1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。 2. 设计任务及要求 利用实验平台上4个LED数码管, 设计带有记忆功能的 数字时钟 3.掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试 方法; 4.进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力; 5.提高电路布局布线及检查和排除故障的能力; 6.培养书写综合实验报告的能力。 二、实验设备 STAR ES598PCI试验仪一套、PC机一台。 三、实验内容 1、使用8253定时功能,产生0.5S的定时中断给8259 2、在G5区的数码管上显示时间

2、 3、允许设置时钟初值 4.使电子钟带有记忆功能. 设计所涉及的芯片 1、8253定时器: 用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。 2、8279接口芯片: 实现键盘输入和显示输出。 3、8259中断控制器: 用于产生中断。 4、LED:六个LED用于显示时:分:秒值。 5、小键盘:用于控制设置。2 四、实验要求 1. 在4位数码管上显示当前时间。显示格式“秒,分,时” 2. 由LED闪动做秒显示。 3.实现秒表功能(百分之一秒显示) 4.电子钟有记忆功能,电子钟启动之后,按F键,在显示秒的地方记录数据, 然后电子钟重新开始启动,再次按F键,电子钟再次记录数据。 五、设计原理

3、利用定时器8253和8259以及键盘和数码显示电路,设计一个电子时钟, 由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。 电子时钟的显示格式AA:SS:DD由左到右分别为时、分、秒,最大记时 59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设 置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示 秒、分、时当前值,而且,可以用键盘设置当前时间。 基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对 秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。

4、 C键:置初值,显示00:00:00 G键:显示动态变化(启动表) ; D键:显示静态不变(表停止) ; E键:终止程序,返回DOS; P键:设置秒:分:时的值A0, A1片内寄存器地址输入信号;CLK 一一-it数输入,用于输入定时基准脉冲或计数脉冲OUT 输出信号,以相应的电平指示计数的完成,或输出脉冲波形GATE-迭通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和 计测对象同步。 六、系统总体设计 本系统设计的电子钟以8088微处理器作为CPU,用8253做定时计数器产 生时钟频率,8279做可编程并行接口显示时钟和键盘电路,8259做中断控制器 产生中断。在此系统中,825

5、3的功能是定时,接入8253的CLK信号为周期性 时钟信号。8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性3 的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此 信号接 8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间 发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块, 显示模块,定时模块,中断模块,小键盘模块。 系统总体框图如下:1.CPU模块8088最小工作模式,作为整个电子表的核心控制部分。 在8088最小模式中,硬件连接上有如下特点: (1)MN/MX 端接+5V,决定了8088工作在最小模式

6、。 (2) 有 1片8284A,作为时钟发生器。 (3)有3片8282,用来作为地址锁存器。8282是典型的锁存器芯片,因为它是 8位的,所以需要3片8282作为锁存器。 (4)当系统中所连的存储器和外设系统较多时,需要增加数据总线的驱动能力, 这时,要用两片8286作为总线收发器。48088构成的 CPU 2.定时模块 定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器 0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出 信号可作为8259的中断请求信号。 定时模块原理图5 3.中断处理模块 中断模块实现动态显示的,硬件为一片8259,由于中断请求信

7、号为每秒一 次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时 间增加一秒,从而达到动态显示的效果。6 4.显示模块和小键盘模块 5.实物硬件连接图7 七、实验步骤 1、主机连线说明: E5区 :CLK B2区:2M E5区 :CS、A0 A3区:CS5、A0 E5区 :A、B、C、D G5区:A、B、C、D B3区 :CS、A0 A3区:CS1、A0 B3区:INT、INTA ES8088:INTR、INTA B3区:IR0 C5区 :OUT0 C5区 :CS(8253) 、A0、A1 A3区:CS2、A0、A1 C5区 :GATE0 C1区:VCC C5区 :CLK0 B

8、2区:62.5K 2、运行程序,按G5区的F键,设置时钟初值; 3、观察G5区数码管上显示的时间是否正确。 中断信号送CPU处理。 八、演示程序.MODEL TINY EXTRN Display8:NEAR, GetKeyA:NEAR, GetKeyB:NEAR IO8259_0 EQU0F000H IO8259_1 EQU0F001H Con_8253 EQU0E003H T0_8253 EQU 0E000H.STACK 200.DATA halfsec DB0 ;0.5秒计数 Sec DB 0 ;秒 Min DB 0 ;分 hour DB 0 ;时 buffer DB 8 DUP(0) ;

9、显示缓冲区,8个字节 buffer1 DB 8 DUP(0) ;显示缓冲区,8个字节 bNeedDisplay DB 0 ;需要刷新显示 number DB 0 ;设置哪一位时间 bFlash DB 0 ;设置时是否需要刷新.CODE START: MOVAX,DATAMOVDS,AXMOVES,AXNOPmovsec,0 ;时分秒赋初值00:00:00movmin,00movhour,00MOVbNeedDisplay,1 ;显示初始值8CALL Init8253CALL Init8259CALL WriIntverSTI MAIN: CALL GetKeyA ;按键扫描JNBMain1CM

10、PAL,0FH ;设置时间JNZMain1CALL SetTime Main1: CMPbNeedDisplay,0AINCALL Display_LED ;显示时分秒MOVbNeedDisplay,0 ;1s定时到刷新转速 Main2: JMP MAIN ;循环进行实验内容介绍与测速 功能测试 SetTime PROC NEARLEA SI,buffer1CALL TimeToBufferMOV Number,0 Key: CMPbFlash,0JZ Key2LEASI,buffer1LEADI,bufferMOVCX,8REPMOVSBCMPhalfsec,0JNZFLASHMOVBL,n

11、umberNOTBLANDBX,07HLEASI,bufferMOVBYTE PTR SI+BX,10H ;当前设置位置产生闪烁效果 FLASH: LEASI,bufferCALL Display8MOVbFlash,0 Key2: CALL GetKeyAJNBKeyCMPAL,0EH ;放弃设置JNZKey1JMP Main1 Key1: CMPAL,0FHJZSetTime8 SetTime1: CMPAL,10JNB Key ;无效按键9CMPnumber,0JNZSetTime2CMPAL,3 ;调整时的十位数JNBKeyMOVbuffer1 + 7,ALJMPSetTime7 Se

12、tTime2: CMPnumber,1JNZSetTime3CMPbuffer1 + 7,1 ;调整时的个位数JZ SetTime2_1CMPAL,4JNBKey SetTime2_1: MOVbuffer1 + 6,ALINCnumberJMPSetTime7 SetTime3: CMPnumber,3JNZSetTime4CMPAL,6 ;调整分的十位数JNBKeyMOVbuffer1 + 4,ALJMPSetTime7 SetTime4: CMPnumber,4JNZSetTime5MOVbuffer1 + 3,AL ;调整分的个位数INCnumberJMPSetTime7 SetTim

13、e5: CMPnumber,6JNZSetTime6CMPAL,6 ;调整秒的十位数JB SetTime5_1JMPKey SetTime5_1: MOVbuffer1 + 1,ALJMPSetTime7 SetTime6: MOVbuffer1,AL;调整秒的个位数 SetTime7: INCnumberCMPnumber,8JNBSetTime8MOVbFlash,1 ;需要刷新JMPKey SetTime8: MOVAL,buffer1 + 1 ;确认MOVBL,10MULBLADDAL,buffer1MOVsec,AL ;秒10MOVAL,buffer1 + 4MULBLADDAL,b

14、uffer1 + 3MOVmin,AL ;分MOVAL,buffer1 + 7MULBLADDAL,buffer1 + 6MOVhour,AL ;时JMPExit Exit: RET SetTime ENDP TimeToBuffer PROC NEARMOVAL,hourXORAH,AHMOVBL,10DIVBLMOVSI,AHMOVSI + 1,AL ;秒MOVBYTE PTR SI + 2,10H ;这位不显示MOVAL,minXORAH,AHDIVBLMOVSI + 3,AHMOVSI + 4,AL ;分MOVBYTE PTR SI + 5,10H ;这位不显示MOVAL,secXORAH,AHDIVBLMOVSI + 6,AHMOVSI + 7,AL ;时RET TimeToBuffer ENDP Display_LED PROC NEARLEASI,bufferCALL TimeToBufferLEASI,bufferCALL Display8 ;显示RET Display_LED ENDP Timer0Int:PUSH AXPUSH DXMOV bFlash,1INChalfsecCMPhalfsec,2

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

当前位置:首页 > 生活休闲 > 社会民生

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