1、最新电子钟课程设计完整创新版电子钟课程设计一实验目的1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。2. 设计任务及要求 利用实验平台上4个LED数码管, 设计带有记忆功能的数字时钟3.掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;4.进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;5.提高电路布局布线及检查和排除故障的能力;6.培养书写综合实验报告的能力。二、实验设备STAR ES598PCI试验仪一套、PC机一台。三、实验内容1、使用8253定时功能,产生0.5S的定时中断给82592、在G5区的数码管上显示时间3、
2、允许设置时钟初值4.使电子钟带有记忆功能.设计所涉及的芯片1、8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。2、8279接口芯片:实现键盘输入和显示输出。3、8259中断控制器:用于产生中断。4、LED:六个LED用于显示时:分:秒值。5、小键盘:用于控制设置。四、实验要求 1. 在4位数码管上显示当前时间。显示格式“秒,分,时” 2. 由LED闪动做秒显示。3.实现秒表功能(百分之一秒显示)4.电子钟有记忆功能,电子钟启动之后,按F键,在显示秒的地方记录数据,然后电子钟重新开始启动,再次按F键,电子钟再次记录数据。五、设计原理利用定时器8253和8259以及键盘和数
3、码显示电路,设计一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式AA:SS:DD由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示秒、分、时当前值,而且,可以用键盘设置当前时间。基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。C键:置初值,显示00:00:00G键:显示动态变化(启
4、动表);D键:显示静态不变(表停止);E键:终止程序,返回DOS;P键:设置秒:分:时的值 A0, A1片内寄存器地址输入信号; CLK一一-it数输入,用于输入定时基准脉冲或计数脉冲 OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形 GATE-迭通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。六、系统总体设计本系统设计的电子钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8279做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器
5、0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。系统总体框图如下: 1.CPU模块 8088最小工作模式,作为整个电子表的核心控制部分。在8088最小模式中,硬件连接上有如下特点:(1)MN/MX 端接+5V,决定了8088工作在最小模式。 (2) 有1片8284A,作为时钟发生器。(3)有3片8282,用来作为地址锁存器。82
6、82是典型的锁存器芯片,因为它是8位的,所以需要3片8282作为锁存器。(4)当系统中所连的存储器和外设系统较多时,需要增加数据总线的驱动能力,这时,要用两片8286作为总线收发器。 8088构成的CPU2.定时模块定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。定时模块原理图3.中断处理模块中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。4.显
7、示模块和小键盘模块5.实物硬件连接图七、实验步骤1、主机连线说明:E5区 :CLKB2区:2ME5区 :CS、A0A3区:CS5、A0E5区 :A、B、C、DG5区:A、B、C、DB3区 :CS、A0A3区:CS1、A0B3区:INT、INTAES8088:INTR、INTAB3区:IR0C5区 :OUT0C5区 :CS(8253)、A0、A1A3区:CS2、A0、A1C5区 :GATE0C1区:VCCC5区 :CLK0B2区:62.5K 2、运行程序,按G5区的F键,设置时钟初值; 3、观察G5区数码管上显示的时间是否正确。中断信号送CPU处理。八、演示程序 .MODEL TINY EXTR
8、N Display8:NEAR, GetKeyA:NEAR, GetKeyB:NEARIO8259_0 EQU 0F000H IO8259_1 EQU 0F001H Con_8253 EQU 0E003H T0_8253 EQU 0E000H .STACK 200 .DATA halfsec DB 0 ;0.5秒计数Sec DB 0 ;秒Min DB 0 ;分hour DB 0 ;时buffer DB 8 DUP(0) ;显示缓冲区,8个字节buffer1 DB 8 DUP(0) ;显示缓冲区,8个字节bNeedDisplay DB 0 ;需要刷新显示number DB 0 ;设置哪一位时间b
9、Flash DB 0 ;设置时是否需要刷新 .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX NOP mov sec,0 ;时分秒赋初值00:00:00 mov min,00 mov hour,00 MOV bNeedDisplay,1 ;显示初始值 CALL Init8253 CALL Init8259 CALL WriIntver STI MAIN: CALL GetKeyA ;按键扫描 JNB Main1 CMP AL,0FH ;设置时间 JNZ Main1 CALL SetTime Main1: CMP bNeedDisplay,0 JZ MAI
10、N CALL Display_LED ;显示时分秒 MOV bNeedDisplay,0 ;1s定时到刷新转速Main2: JMP MAIN ;循环进行实验内容介绍与测速功能测试SetTime PROC NEAR LEA SI,buffer1 CALL TimeToBuffer MOV Number,0 Key: CMP bFlash,0 JZ Key2 LEA SI,buffer1 LEA DI,buffer MOV CX,8 REP MOVSB CMP halfsec,0 JNZ FLASH MOV BL,number NOT BL AND BX,07H LEA SI,buffer MOV
11、 BYTE PTR SI+BX,10H ;当前设置位置产生闪烁效果FLASH: LEA SI,buffer CALL Display8 MOV bFlash,0 Key2: CALL GetKeyA JNB Key CMP AL,0EH ;放弃设置 JNZ Key1 JMP Main1 Key1: CMP AL,0FH JZ SetTime8 SetTime1: CMP AL,10 JNB Key ;无效按键 CMP number,0 JNZ SetTime2 CMP AL,3 ;调整时的十位数 JNB Key MOV buffer1 + 7,AL JMP SetTime7 SetTime2:
12、 CMP number,1 JNZ SetTime3 CMP buffer1 + 7,1 ;调整时的个位数 JZ SetTime2_1 CMP AL,4 JNB Key SetTime2_1: MOV buffer1 + 6,AL INC number JMP SetTime7 SetTime3: CMP number,3 JNZ SetTime4 CMP AL,6 ;调整分的十位数 JNB Key MOV buffer1 + 4,AL JMP SetTime7 SetTime4: CMP number,4 JNZ SetTime5 MOV buffer1 + 3,AL ;调整分的个位数 IN
13、C number JMP SetTime7 SetTime5: CMP number,6 JNZ SetTime6 CMP AL,6 ;调整秒的十位数 JB SetTime5_1 JMP Key SetTime5_1: MOV buffer1 + 1,AL JMP SetTime7 SetTime6: MOV buffer1,AL ;调整秒的个位数SetTime7: INC number CMP number,8 JNB SetTime8 MOV bFlash,1 ;需要刷新 JMP Key SetTime8: MOV AL,buffer1 + 1 ;确认 MOV BL,10 MUL BL A
14、DD AL,buffer1 MOV sec,AL ;秒 MOV AL,buffer1 + 4 MUL BL ADD AL,buffer1 + 3 MOV min,AL ;分 MOV AL,buffer1 + 7 MUL BL ADD AL,buffer1 + 6 MOV hour,AL ;时 JMP Exit Exit: RET SetTime ENDP TimeToBuffer PROC NEAR MOV AL,hour XOR AH,AH MOV BL,10 DIV BL MOV SI,AH MOV SI + 1,AL ;秒 MOV BYTE PTR SI + 2,10H ;这位不显示 M
15、OV AL,min XOR AH,AH DIV BL MOV SI + 3,AH MOV SI + 4,AL ;分 MOV BYTE PTR SI + 5,10H ;这位不显示 MOV AL,sec XOR AH,AH DIV BL MOV SI + 6,AH MOV SI + 7,AL ;时 RET TimeToBuffer ENDP Display_LED PROC NEAR LEA SI,buffer CALL TimeToBuffer LEA SI,buffer CALL Display8 ;显示 RET Display_LED ENDP Timer0Int: PUSH AX PUSH
16、 DX MOV bFlash,1 INC halfsec CMP halfsec,2 JNZ Timer0Int1 MOV bNeedDisplay,1 MOV halfsec,0 INC sec CMP sec,60 JNZ Timer0Int1 MOV sec,0 INC min CMP min,60 JNZ Timer0Int1 MOV min,0 INC hour CMP hour,24 JNZ Timer0Int1 MOV hour,0 Timer0Int1: MOV DX,IO8259_0 MOV AL,20H OUT DX,AL POP DX POP AX IRET Init82
17、53 PROC NEAR MOV DX,Con_8253 MOV AL,34H OUT DX,AL ;计数器T0设置在模式2状态,HEX计数 MOV DX,T0_8253 MOV AL,12H OUT DX,AL MOV AL,7AH OUT DX,AL ;CLK0=62.5kHz,0.5s定时 RET Init8253 ENDP Init8259 PROC NEAR MOV DX,IO8259_0 MOV AL,13H OUT DX,AL MOV DX,IO8259_1 MOV AL,08H OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,0FEH OUT DX,
18、AL RET Init8259 ENDP WriIntver PROC NEAR PUSH ES MOV AX,0 MOV ES,AX MOV DI,20H LEA AX,Timer0Int STOSW MOV AX,CS STOSW POP ES RET WriIntver ENDP END START 九、软件设计与流程图1、数字电子时钟主程序流程图 数字电子时钟主程序流程图2、中断服务程序流程图 中断服务程序流程图如下图所示。 中断服务程序流程图3.实验结论通过运用数字集成电路设计的24小时制的数字电子时钟,经过试验,改装后成功实现了一下基本功能:1. 能准确的实现通过开关控制时分秒。2
19、. 能准确计时,以数字形式显示秒、分、时的时间。3. 能实现记忆的功能,并能在记录完数据之后实现交替记录的功能。十.实验总结通过这次数字电子钟的课程设计,我们才把学到的东西与实践相结合。从中对我们学的知识有了更进一步的理解,而且更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。也锻炼了自己独立思考问题的能力和通过查看相关资料来解决问题的习惯。虽然这只是一次简单的课程设计,但通过这次课程设计我们了解了课程设计的一般步骤,和设计中应注意的问题。设计本身并不是有很重要的意义,而是同学们对待问题时的态度和处理事情的能力。各个芯片能够完成什么样的功能,使用芯片时应该注意那些要点。同一个电路可以用哪些芯片实现,各个芯片实现同一个功能的区别。 通过这次实践,我真正意识到自己的不足之处,在编程方面还有很多需要学习的地方,还有许多芯片的功能,也需要再进一步学习研究,来不断扩大自己的知识面。参考文献1. 现代数字电路与逻辑设计 清华大学出版社 北京交通大学出版社.2. 模拟电子技术(修订版) 清华大学出版社 北京交通大学出版社3. 模拟电子技术教程 电子工业出版社5. 朱定华主编.电子电路测试与实验.北京:清华大学出版社,2004.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1