倒计时数字钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合肥学院
计算机科学与技术系微机原理与接口技术
课程设计报告
2008~2009学年第1学期
课程微机原理与接口技术
课程设计名称倒计时数字钟
学生姓名昌飞霞
学号0604032012
专业班级网络工程专业(06网工2)
指导教师肖连军老师
2009 年 2 月
一、题意分析及解决方案
1 .题义与需求分析
用STAR ES598PCI单板开发机设计一个接口与七段LED显示器,显示一个倒计时数字钟,显示初值为60分00秒,每隔一秒改变一次显示值,60秒为一分钟,LED显示器显示分、秒的动态值。根据题目要求需要考虑以下几方面问题:
①初值的设置及输入问题倒计时时需要从一个固定的值开始倒计时,这个初值需要用输入一个输入设备输入。
②接口设计当初值设置完毕,应将时间信息传送到外设中,即设计CPU与外设之间传送信息的接口。
③动态值的显示从初始值开始每隔一秒就要动态的改变这个初值,并且把这个值用显示设备显示出来。
④显示设备为了使用者能够清楚方便的使用该产品,倒计时数字钟要把每隔一秒后相应数值动态的显示出来,这样才会使得设计出来的产品有应用价值。⑤一秒的控制倒计时钟需要每隔一秒改变一下显示值,所以需要一个操作来控制一秒这个固定延时。
需要注意的是,在选择芯片或选择其它元器件时,应当考虑所选器件在设计中所起的实验效果、产品成本、产品可靠性、可行性以及使用的难易程度等等,这都是我们在设计过程中需要考虑的因素。
2 .解决问题的方法与思路
1) 硬件部分
①初值的设置及输入问题
倒计时钟是从初值开始一秒一秒的倒计时,可以使用一组八位二进制逻辑开关作为输入设备。需要输入的有秒个位、秒十位、分个位、分十位、时个位、时十位,用K7~K5来选择要输入的是哪位,000时表示设置的是秒个位,001时设置的是秒十位,010时设置的是分个位,011时设置的是分十位,100时设置的是时个位,101时设置的是时十位。K4~K1用来表示需要设置位的具体值,0000~1001分别表示十进制数的0~9。K8作为主控开关,为1时表示需要设置初值,为0时不需设置初值及开始倒计时。
②接口设计
接口芯片是CPU与外设之间的界面,一方面要接收CPU进行输入/输出所发出的一系列信息,另一方面又要与外设交换数据以及一些联络信号等。为增加本设计的灵活性,在接口的选择上要求是可编程的输入/输出接口,而可编程的输
入/输出接口又分为可编程并行接口(8255A)和可编程串行接口(8251A)。
8255A芯片是一种可编程通用并行接口芯片,它有24条可编程的I/O引脚,采用40脚双列直插式封装,单一+5V电源,全部输入/输出均与TTL电平兼容。在8255A中有A、B、C三个并行输入/输出端口,其功能全部由程序设定,每个端口都有自己的特点。A口、B口通常作为独立的I/O端口使用,C口也可以作为一般的I/O端口使用,但当A口、B口作为应答式的I/O端口使用时,C口分别以来为A口、B口提供应答控制信号。
8251A芯片是一种可编程通用串行接口芯片,是通用的同步异步接收/发送器,它的作用是把计算机的并行数据转换成串行数据发送出去,把接收到的外部串行数据转换成并行数据送入计算机内部,它可以通过编程选用同步/异步通信方式,它具有独立的发送器和接收器,能够以单工、半双工或全双工方式进行通信,并提供相应的控制信号。
如果采用8251A作为计时时钟的输入/输出接口,那么就需要把计算机的并行数据转换成串行数据发送出去,把接收到的外部串行数据转换成并行数据送入计算机内部,这个过程是需要时间的,所以从时间效率方面来说并没有8255A 芯片合适;另外,可编程并行接口(8255A)的是数据传输速度快,虽然使用的通信线多,但是传输距离并不算远,所以在解决接口问题时,采用可编程并行接口(8255A)是比较合适的。
采用8255A作为计时时钟的输入/输出接口,那么8255A的三个端口设置如下:PA口工作与方式0,作为输出口,其PA0~PA3分别与外设的位选码相连,用以确定显示的是秒还是分的值;PB口工作与方式0,作为输出口,其PB0~PB7分别与外设相连,作为段选线;PC口用来为PA口、PB口提供应答控制信号。③显示设备
倒计时钟的显示问题可以通过LED数码管来解决,LED是发光二级管(Light-Emitting Diode)的简称,它是将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字在本设计中采用7段数字发光二级管,做为终端显示,因为它的成本低,可靠性高,从显示的效果上来说也可以满足显示计时时钟的需要。
2) 软件部分(汇编语言编写程序)
①动态值控制问题
该部分可通过软件编程来实现。首先将秒个位减一判断结果是否小于0,如果小于0则置秒个位为9,否则直接显示。再将秒十位减一判断结果是否小于0,如果小于0则置秒十位为5,否则直接显示。同理再判断分个位、分十位、时个位、时十位直到减为00:00:00。
②一秒的控制
可以通过做N次空操作来实现。可以先将循环部分每句程序的时钟周期从参
考资料中查到再相加,算出该部分运行的时间T。最后用1S除以T就得到了N。
二、硬件设计
1.选择芯片8255A
1) 8255A在本设计中的作用
PA口、PB口作为作为输出口,PA口的低4位与LED显示器的位选信号LED
到LED
3
相连作为位选码的输出口,高4位禁止。PB口与LED0~LED3的段选信号相连作为段选码的输出口。PC口与逻辑开关相连把读入的二进制数送8086CPU。
PA、PB、PC三口均工作在方式0状态。PC
0~PC
7
与逻辑开关K
1
~K
8
相连。当控
制程序运行到读开关变量时,逻辑开关状态经PC口送8086CPU。PA0~PA
3与LED
~
LED
3
相连当控制呈现运行至显示16进制数时送出位选码选中相应位,对应的七段LED显示器显示16进制数的字型,PB0~PB3与LED的段选信号相连,对显示位进行控制。在使用8255A前首先要对它进行初始化设置,设置它的方式选择控制字。
2) 8255A的功能分析
图2-1 8255A的内部框图
8255A是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、B口和C口。三个端口都可以作为输入端口或输出端口。A口有三种工作方式:即方式0、方式1和方式2,而B口只能工作在方式0或方式1下,而C口通常作为联络信号使用。8255A的工作只有当片选CS效时才能进行。而控制逻辑端口实现对其他端口的控制。
8255有三种工作方式。方式0:基本输入输出,端口与外设之间无联络信号,只能使用无条件传送方式输入输出数据;方式1:是选通输入输出方式,PC口用作联络信号;方式2:双向数据传送方式,仅A口有此功能。本设计用到工作方