课程设计电子时钟设计.docx

上传人:b****1 文档编号:2729279 上传时间:2023-05-04 格式:DOCX 页数:23 大小:114.14KB
下载 相关 举报
课程设计电子时钟设计.docx_第1页
第1页 / 共23页
课程设计电子时钟设计.docx_第2页
第2页 / 共23页
课程设计电子时钟设计.docx_第3页
第3页 / 共23页
课程设计电子时钟设计.docx_第4页
第4页 / 共23页
课程设计电子时钟设计.docx_第5页
第5页 / 共23页
课程设计电子时钟设计.docx_第6页
第6页 / 共23页
课程设计电子时钟设计.docx_第7页
第7页 / 共23页
课程设计电子时钟设计.docx_第8页
第8页 / 共23页
课程设计电子时钟设计.docx_第9页
第9页 / 共23页
课程设计电子时钟设计.docx_第10页
第10页 / 共23页
课程设计电子时钟设计.docx_第11页
第11页 / 共23页
课程设计电子时钟设计.docx_第12页
第12页 / 共23页
课程设计电子时钟设计.docx_第13页
第13页 / 共23页
课程设计电子时钟设计.docx_第14页
第14页 / 共23页
课程设计电子时钟设计.docx_第15页
第15页 / 共23页
课程设计电子时钟设计.docx_第16页
第16页 / 共23页
课程设计电子时钟设计.docx_第17页
第17页 / 共23页
课程设计电子时钟设计.docx_第18页
第18页 / 共23页
课程设计电子时钟设计.docx_第19页
第19页 / 共23页
课程设计电子时钟设计.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计电子时钟设计.docx

《课程设计电子时钟设计.docx》由会员分享,可在线阅读,更多相关《课程设计电子时钟设计.docx(23页珍藏版)》请在冰点文库上搜索。

课程设计电子时钟设计.docx

课程设计电子时钟设计

计算机原理

课程设计报告

题目基于8086CPU的电子时钟的设计

学院电子信息工程学院

专业电气工程及其自动化

学生姓名庞长春

学号年级10级1班

指导教师徐嘉莉职称副教授

2012年6月28日

摘要

《微机接口技术》是一门应用性、综合性、实践性较强的课程,通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。

时钟就是一种对时间进行累计的工具,即计时。

计时的本质就是计数,只不过这里的“数”的单位是时间单位,如果把一小片一小片计时单位累计起来,就可获得一段时间。

因此,使用计数器对时钟脉冲进行计数,就是时钟实现的基本原理;再用LED数码管显示出来,并设计出几个按键用于对时钟进行调整,这样,一个完整的时钟就设计完成了。

关键字:

原理、芯片、流程图、程序

第一章绪论

1.1电子时钟背景介绍.................................................4

1.2电子时钟功能介绍4

1.3课程设计的目的及要求.............................................4

第二章电子时钟的工作原理5

2.1实现时钟计时的基本方法5

2.2电子钟的时间显示5

2.3电子时钟启、停及时间调整...........................................5

第三章硬件设计

3.1硬件设计电路图6

3.1.1主电路模块...................................................6

3.1.2LED显示模块6

3.1.3按键模块7

3.2硬件设计所用芯片介绍7

3.2.18253芯片的内部结构及引脚9

3.2.28279芯片的内部结构及引脚10

3.2.38259芯片的内部结构及引脚....................................12

第四章软件设计13

4.1电子时钟部分程序流程框图13

4.1.1主程序流程框图14

4.1.2键扫程序流程框图15

4.1.3中断处理程序流程框图16

4.2电子时钟总体程序.................................................16

第五章总结与体会17

参考文献.................................................................18

附录.....................................................................19

第1章绪论

1.1电子时钟背景介绍

电子钟亦称数显钟(数字显示钟),是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比,直观性为其主要显着特点,且因非机械驱动,具有更长的使用寿命,相较石英钟的石英机芯驱动,更具准确性。

电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。

相对于其他时钟类型,它的特点可归结为“两强一弱”:

比机械钟强在观时显着,比石英钟强在走时准确,但是它的弱点为显时较为单调。

1.2电子时钟功能介绍

可调整运行的电子钟具有三种工作状态:

"P.”状态、运行状态、调整状态。

(1)“P.”状态:

依靠上电进入,在此状态下,按B,C,D键均无效,按A键有效,进入运行状态。

(2)运行状态:

按奇数次A键进入,在此状态下,按B,C,D键均无效,只有

按A键有效,按下A键后,退出运行状态,进入调整状态。

(3)调整状态:

按偶数次A键进入,在此状态下,按A,B,C,D键均有效。

如按下A键,则退出调整状态,进入运行状态;按下B,C,D键,则分别对时、分、秒加1,调整结束后必须按A键,即可退出调整状态,进入运行状态口

基本功能要求:

“P.”稳定地显示在LED显示器的最左端数码管上,无A键按下(在“P.”状态下,按下B,C,D键无效),则不进入电子钟的运行状态,继续显示“P.”。

按下A键后,电子钟从当前的设定值开始走时。

再次按下A键后,电子钟退出运行状态,进入调整状态,利用B,C,D键把电子钟的显示时间修改为当前实时时间,时间修改正确后可再次按下A键,电子钟则退出调整状态,进入运行状态。

1.3课程设计目的和要求

(1)进一步熟悉8259、8279、8253芯片的内部结构及其功能;

(2)使用8253定时功能,产生0.5S的定时中断给8259;

(3)在G5区的数码管上显示时间;

(4)允许设置时钟初值。

新的一章要换页!

第二章电子时钟的工作原理

2.1实现时钟计时的基本方法

利用8253的16位可编程定时/计数器及8086中断系统实现时钟计数。

(1)计数初值计算:

选用8253的定时/计数器1,把定时器设为工作方式2.输入250kHz,输出200Hz,定时时间为5-,则计数溢出200次即得时钟计时最小单位一秒.

(2)采用中断方式进行fly出次数累计,计满200次为秒计时((1秒);

(3)从秒到分和从分到时的计时是通过累加和数值比较实现。

8253的初始化程序段:

设置8253,t1,方式2,输入250kHz,输出200Hza

movdx,233hmovax,1250

mova1,74houtdx,al

outdx,almovaLah

movdx,231houtdx,al

2.2电子钟的时间显示

电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAN中设置显示缓冲区共6个单元。

2.3电子钟的启、停及时间调整

电子钟设置4个按键通过程序控制来完成电子钟的启、停及时间调整。

A-键控制电子钟的启、停

B-键调整时

C-键调整分

D-键调整秒

第三章硬件设计

3.1硬件设计电路图

3.1.2LED显示模块

显示部分由6个LED组成,用8255A的A口作LED的段码输出口,B口作六个LED数码管的位控输出线。

电路如图4-2。

下面的图标跟这个不符合

图3-1-1显示模块电路

四个按键A,B,C,D分别完成各自功能,由8255A的C口控制。

电路如图4-3。

图3-1-2按键模块电路图

3.2硬件设计所用芯片介绍

在本系统中,8086工作在最小模式下。

负责对8259,8253等芯片进行工作方式控制和数据处理,对时钟信号进行响应并控制led数码管进行显示。

(1)AD7~AD0(双向。

三态)

  为低8位地址/数据的复用引脚线。

采用分时的多路转换方法来实现对地址线和数据线的复用。

在总线坐骑的T1状态。

这些银线表示为这些银线用作株距总线。

可见对复用信号使用时间来加以划分的。

它要求在T1状态线出现低8位地址时,用地址锁存器加以锁存。

这样在随后的T状态,即使这些线用作数据线,而第8位地址线的地址在个体却被记录保存下来,并送到地址总线上。

在DMA方式时,这些银线被浮置为高阻状态。

 

(2)A15~A8(输出,三态)

  为8位地址线。

在读写存储器或外设端口色中个总线周期内,都作为地址线输出高8位地址。

  在DMA方式时,这些引线被浮置为高阻。

  (3)A19/S6~A16/S3(输出。

三态)

  为地址/状态服用引脚线,在总线周期的T1状态,这些线表示为最高4位的地址线,在总线周期的其他T状态,这些线用作提供状态信息,同样需要地址锁存器对T1状态出现的最高4位地址加以锁存。

  状态信息S6总是为低电平,S5反映当前允许中断标志的状态。

S4与S3一起指示当前那一个段寄存器被使用。

在DMA方式时,这些引线被浮置为高阻。

  (4)RD(输出,三态)

  读信号,当其有效时表示正在对存储器或I/O端口进行读操作。

若IO/M为低电平,表示读取存储器的数据,若IO/M为高电平,表示读取I/O端口的数据。

  在DMA方式时,这些引线被浮置为高阻。

  (5)READY(输入)

  为准备就绪信号。

低电平有效。

本信号由等待指令WAIT来检查。

我们知道当CPU执行WAIT指令时,CPU处于等待状态,一旦检测到TEST号为低,则结束等待状态,继续执行WAIT指令下面的指令。

  (6)TEST(输入)

  为检测信号,低电平有效。

本信号由低呢古代指令WAIT来检查。

我们知道当CPU执行WAIT指令时,CPU处于等待状态,一旦检测到TEST号为低,则结束等待状态,继续执行WAIT指令下面的指令。

  (7)INTR(输入)

  可屏蔽中断请求信号,高电平有效。

CPU在执行每条指令的最后一个T状态时,去采样INTR信号,若发现有效,而中断允许标志IF有为1,则CPU在结束当前指令周期后相应中断请求,赚取执行中断处理程序。

  (8)NMI(输入)

  非屏幕中断请求信号,为一个边缘触发信号,不能有软件加以屏蔽。

只要在NMI线上出现由低到高的变化信号,则CPU就会在当前指令中,赚取之行给屏蔽中断处理程序。

  (9)RESET(输入)

  复位信号,高电平有效,复位时该信号要求维持高电平值到4个时钟周期,若使初次加电,则高电平信号至少要保持50us,复位信号的到来,将立即结束CPU的当前操作,内部寄存器恢复到初始状态。

  当RESET信号从高电平回到低电平时,及复位后进入重新启动时,变质型从内存FFFF0H处带式的指令,通常在FFFF0H存放一条无条件转移指令,转移到系统程序的实际入口处。

这样只要系统被复位启动,就自动进入系统程序。

 (10)CLK(输入)

  时钟信号,它为CPU和总线控制电路提供基准时钟,对时钟信号要求:

1/3周期为高电平,2/3周期为低电平。

8088的标准时钟频率为5MZ。

 (11)电源和地

  VCC为电源引线,单一的为+5V电源。

引脚为1和20为两条GND线,要求均要接地。

 (12)IO/M

  访问存储器或I/O端口的控制信号。

若IO/M为高电平,则访问的是I/O端口;若IO/M为低电平,则访问的是存储器。

 (13)WR

  写信号。

当其有效时表示CPU正在对存储器或I/O端口进行写操作,具体对水进行写操作,有IO/M信号决定。

本信号在总线周期的T2,T3。

TW状态有效。

在DMA方式时,此线被浮置为高阻。

3.2.18253芯片的内部结构及引脚

8253有3个独立的十六位计数器,计数频率范围为0-2hIHZ。

它所有的计数方式和操作方式都通过编程控制。

8253的功能用途是:

(1)延时中断;

(2)可编程频率发生器;(3)事件计数器;(4)二进倍频器;(5)实时时钟;(6)数字单稳;(7)复杂的电机控制器。

8253引脚图以及功能说明:

图3-2-18253引脚图

由上图可知,8253一共有24条引脚,其中:

D7-DO—双向数据线:

WR(低电平有效)—写输入信号;

RD(低电平有效)—读愉入信号;

CS(低电平有效)—片选输入信号:

A0,A1—片内寄存器地址输入信号;

CLK一一-it数输入,用于输入定时基准脉冲或计数脉冲

OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形

GATE-迭通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。

3.2.28279芯片的内部结构及引脚

图3-2-28279引脚图

图要居中!

8279采用单±5V电源供电,40脚封装。

  

DB0~DB7:

双向数据总线,用来传送8279与CPU之间的数据和命令。

  

CLK:

时钟输入线,用以产生内部定时的时钟脉冲。

  

RESET:

复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。

  

CS:

片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。

  

A0:

缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。

  

RD:

读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。

  

WR:

写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。

  RL2--140--VCC  RL3--239--RL1  CLK--338--RL0  IRQ--437--CNTL/STB  RL4--536--SHIFT  RL5--635--SL3  RL6--734--SL2  RL7--833--SL1  RESRT--932--SL0  RD--1031--OUTB0  WR--1130--OUTB1  DB0--1229--OUTB2  DB1--1328--OUTB3  DB2--1427--OUTA0  DB3--1526--OUTA1  DB4--1625--OUTA2  DB5--1724--OUTA3  DB6--1823--BD  DB7--1922--CS  VSS--2021--A0  

IRQ:

中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/传感器RAM中有数据时,  此中断线变为高电平,在FIFO/传感器RAM每次读出时,中断线就下降为低电平,若在RAM  中还有信息,则此线重又变为高电平。

在传感器工作方式中,每当探测到传感器信号变化时,中断线就变为高电平。

  

SL0~SL3:

扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被编程或被译码。

  

RL0~RL7:

回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,均保持高电平。

  

SHIFT:

换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关时,SHIFT输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。

  

CNTL/STB:

当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入方式,此线用作控制输入端,当键被按下时,按键位置就和控制输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFORAM中。

  

OUTA3~OUTA0及OUTB3~OUTB0:

显示输出A口及B口,这两个口是16×4切换的数字显示。

这两个端口可被独立控制,也可看成一个8位端口。

  

BD:

空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。

  

VCC:

+5V电源输入线。

  

VSS:

地线输入线。

3.2.38259A芯片的内部结构及引脚

中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。

它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。

因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

在MD微机系统中,8259芯片工作于单片方式。

8259引脚图如图3.3,各引脚功能如下。

D7~D0——八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0——地址信号;图3-2-38259引脚图

INT——中断请求信号;

INTA(低电平有效)——中断响应信号;

CAS0~CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;

SP/EN——从编程/允许级联。

在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。

在非缓冲方式中,作为输入信号用于表示主片还是从片;

IR0~IR7——外部中断请求输入线。

要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。

8259中断矢量地址与中断信号之间的关系如表3.1所示:

表3.2.18259A中断矢量表

中断序号

0

1

2

3

4

5

6

7

功能调用

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

矢量地址

20H

~

23H

24H

~

27H

28H

~

2BH

2CH

~

2FH

30H

~

33H

34H

~

37H

38H

~

3BH

3CH

~

3FH

说明

时钟

键盘

可用

可用

串行口

可用

可用

可用

新的一章要换页!

第四章软件设计

4.1电子时钟部分程序流程框图

4.1.1主程序流程框图下面这个图的图标呢?

流程图也要有图的标号哈

4.1.3中断处理程序流程框图

4.2电子时钟总体程序

总程序见附录1

第五章心得体会

微机接口技术是一门应用性、综合性、实践性都较强的课程,通过本次课程设计过程,我基木熟悉和掌握了微机系统的软件、硬件设计的方法、设计步骤,是一次微机开发应用方面的初步训练;通过本次课程设计使我熟练掌握了微机系统与接口扩展电路的设计方法,并熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法.

这次的课程设计对我来说,是一次非常重要的锻炼,通过这次设计,我对所学的知识有了更深刻的了解和掌握,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

有了这次的设计经验,相信在以后的学习设计实践过程中,我可以做到更好。

回顾此次课程设计的过程,可以用“累并收获着”来概括。

通过本次设计,不但使我的专业知识得到巩固和开拓,而且能使我将所学与实践联系起来,认识到自身知识的缺漏,明确自己的努力的方向。

计算机技术的发展日新月异,其接口技术应用十分广泛,我不但要经常跟踪专业新技术、新动态,时刻走在时代的前列;还要注重积累经验,在此次设计中,积累一些通用俗语,才能使自己慢慢地融入专业之中,更快地进入工作角色:

此外,还要注重养成终身的学习习惯,扩大自己的知识面,才能促进自己不断进步。

参考文献

[1].戴梅馨,史嘉权编着.《微型计算机技术及应用》.第三版.北京:

清华大学出版社,2003:

[2].李顺增,吴国东,赵河明等编着.《微机原理及接口技术》.第二版.北京:

机械工业出版社,2006:

[3].孙德文编着.《微型计算机技术》.第四版.高等教育出版社,2001:

[4].赵明富.黄丽雯,李文杰等编着.《微机原理及接口技术实验》.第二版.重庆工学院电子信息与白动化学院出版,2002:

[5].侯伯亨,李伯成编着.《微机原理与接口技术》.第五版.西安电子科技大学出版社,2000:

附录

.MODEL

TINY

EXTRN

Display8:

NEAR,GetKeyA:

NEAR,GetKeyB:

NEAR

IO8259_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

8DUP(0)

;显示缓冲区,8个字节

buffer1

DB

8DUP(0)

;显示缓冲区,8个字节

bNeedDisplay

DB

0

;需要刷新显示

number

DB

0

;设置哪一位时间

bFlash

DB

0

;设置时是否需要刷新

.CODE

START:

MOV

AX,@DATA

MOV

DS,AX

MOV

ES,AX

NOP

mov

sec,0

;时分秒赋初值23:

58:

00

mov

min,58

mov

hour,23

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

MAIN

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

BYTEPTR[SI+BX],10H

;当前设置位置产生闪烁效果

FLASH:

LEA

SI,buffer

CALL

Display8

MOV

bFlash,0

Key2:

CALL

GetKeyA

JNB

Key

CMP

AL,0EH

;放弃设置

JNZ

Key1

JMP

Exit

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:

CMP

number,1

JNZ

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2