作业选题2.docVIP

  • 4
  • 0
  • 约1.61千字
  • 约 5页
  • 2017-03-05 发布于辽宁
  • 举报
作业选题2.doc

作业选题2 2. 时钟设计 (1) 要求: ?? 设计一个时钟,可以用来显示时间,用六位数码管显示。 1)显示格式为时时分分秒秒; 2)每逢整点让LED第一个红灯闪烁一次。 3)具有复位功能。 (2)提示:用8253实现定时功能,以开关控制复位。 1.原理: 通过8253计时/定时器输出连续的,具有特定频率的方波,从而确定一个方波的周期T,以周期T计时,则需要1秒/T个这样的方波信号才能有1秒,相应的可以计算出计时满1分钟,1小时所需的这样方波的个数,设置好计数初值开始计时,计时完毕则自动向高位加1,然后计数初值重装,继续计时,以此类推,记满60秒为1分,记满60分为1小时,当计时到23小时59分59秒后,所有的计时部分重装,从0时0分0秒开始重新第二天的时钟计时。 2.硬件设计: 硬件部分主要有8253定时/计数器,8259中断控制器,8255,LED,数码显示管,译码器构成,硬件连接图如下: 3硬件连接图说明: 1)采用8253进行定时功能,为了实现自动重装计数初值功能采用工作方式3,选用计数器0,计数初值为65536。 2)接入8253的时钟CLK=1.1931816MHZ,输出方波频率为1.1931816/65536=18.2, 输出方波的周期为T=1/18.2=54.945ms,则相应的计时如下: 1小时=60分钟*60秒*1000毫秒/54.945毫秒=65543 1分钟=1092 1秒钟=18.2 3)利用8253输出连续方波OUT0连接到中断控制器8259的IRO,当8253计数完成后,8259中断控制器向CPU申请中断,CPU通过数据线向8255传送控制命令,实现接口对外设的控制。 4)二极管电路部分的8个发光二极管,当整点时第一个二极管发光,其余都不亮,用8255的A口控制8个二极管,只需控制第一个灯的输入信号在整点时输入为高电平则实现想要的结果。 5)数码显示管部分由8255的B口控制数码笔画。用C口控制6个LED的选择,其中使用了一个8位译码器用来做LED的寻址,因为有6个LED,固只用PC0,PC1,PC2做译码器的输入部分,输出部分也只用了6个输出接口。LED笔画控制如下表: 显示数值 显示码 显示数值 显示码 Dp g f e d c b a Dp g f e d c b a 0 0 0 1 1 1 1 1 1 5 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 6 0 1 1 1 1 1 0 1 2 0 1 0 1 1 0 1 1 7 0 0 0 0 0 1 1 1 3 0 1 0 0 1 1 1 1 8 0 1 1 1 1 1 1 1 4 0 1 1 0 0 1 1 0 9 0 1 1 0 1 1 1 1 译码器寻址如下: 译码地址 对应的LED 译码地址 对应的LED 000 选中0号LED 100 选中4号LED 001 选中1号LED 101 选中5号LED 010 选中2号LED 110 无效 011 选中3号LED 111 无效 4.程序流程图: 5.代码实现: CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H START:JMP BEGIN LONG1 EQU6 SHORT1 EQU 1 BEGIN:MOV DX,307H MOV AL, OUT DX, AL MOV AL, 304H MOV AL, MOV DX, AL

文档评论(0)

1亿VIP精品文档

相关文档