课程设计 8086电子时钟设计Word文件下载.docx

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

课程设计 8086电子时钟设计Word文件下载.docx

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

课程设计 8086电子时钟设计Word文件下载.docx

(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

3.2电子钟的时间显示

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

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

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

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

B键调整时

C键调整分

D键调整秒

4、硬件设计

4.1硬件设计电路图

4.1.1主电路模块

主电路模块由8086,8253,8255A构成,电路如图4-1所示。

4-1主电路模块电路

4.1.2LED显示模块

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

电路如图4-2

4-2显示模块电路

4.1.3按键模块

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

电路如图4-3

4-3按键模块电路

4.1.4总体电路图

总体电路图见附录l

4.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端口的数据。

  5.READY(输入)

  为准备就绪信号。

低电平有效。

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

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

  6.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方式时,此线被浮置为高阻。

4.2.28253芯片的内部结构及引脚

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

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

8253的功能用途是:

(1)延时中断;

(2)可编程频率发生器;

(3)事件计数器;

(4)二进倍频器;

(5)实时时钟;

(6)数字单稳;

(7)复杂的电机控制器。

8253引脚图以及功能说明:

图4-58253引脚图

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

D7-DO—双向数据线:

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

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

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

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

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

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

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

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

8255A可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A,B,C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:

方式0-基木输入/输出方式

方式1-选通输入/输出方式

方式2-双向选通输入/输出方式

8255A引脚图如图4-6所示,各引脚功能如下:

D7-DO—与CPU侧连接的八条双向数据线;

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

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

A0,A1—片内寄存器选择输入信号;

4-68255A引脚图

PAO—PA7A口外设双向数据线;

PB7-PBOB口外设双向数据线;

PC7-PCOC口外设双向数据线

RESET—复位输入信号

5、软件设计

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

5.1.1主程序流程框图

图5-1主程序流程框图

5.1.2键扫子程序流程框图

如图5-2所示

图5-2键扫子程序流程框图

5.1.3中断处理程序流程框图

如图5-3所示

图5-3中断处理程序流程框图

5.2电子时钟总体程序

总程序见附录2

6、总结与体会

微机接口技术是一门应用性、综合性、实践性都较强的课程,通过本次课程设计过程,我基木熟悉和掌握了微机系统的软件、硬件设计的方法、设计步骤,是一次微机开发应用方面的初步训练;

通过本次课程设计使我熟练掌握了微机系统与接口扩展电路的设计方法,并熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法.

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

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

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

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

计算机技术的发展日新月异,其接口技术应用十分广泛,我不但要经常跟踪专业新技术、新动态,时刻走在时代的前列;

还要注重积累经验,在此次设计中,积累一些通用俗语,才能使自己慢慢地融入专业之中,更快地进入工作角色:

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

参考文献

1.戴梅馨,史嘉权编著.微型计算机技术及应用(第三版)北京:

清华大学出版社,2003

2.李顺增,吴国东,赵河明等.微机原理及接口技术北京:

机械工业出版社,2006

3孙德文.微型计算机技术高等教育出版社

4.赵明富.黄丽雯,李文杰.微机原理及接口技术实验重庆工学院电子信息与白动化学院

5侯伯亨,李伯成微机原理与接口技术西安电子科技大学出版社

附录1

附录2

电子时钟程序

;

8255用作读键盘信息

8253提供时钟信号

led采用动态显示

modelsmall

.stack50

,数据段

data

bufd60,0,0,0,0,0;

显示缓冲区

数码管笔形码

ledd63FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,80h

hourd608h;

时缓冲单元

mindb30h;

分缓冲单元

seed630h;

秒缓冲单元

mseod60;

毫秒缓冲单元

dexdb0;

笔形码索引值

键盘编码表

keytabDW57FH,5BFH,5DFH,5EFH,5FEH,5FDH,5FBH,5F7H

DW67FH,6BFH,6DFH,6EFH,6FEH,6FDH,6FBH,6F7H

keyenddw7ffh

agekeydb12;

键龄

oldkeydw0;

键码字保存

keynumd60;

键号

keyokdb0;

按键响应标记

stated60;

系统状态,。

一运行态;

1一修改态

keymddb0;

修改键标记,B一修改时;

C一修改分;

D-修改秒

somed60;

时间设定单元,保存键盘输入的时间

二代码段

code

主程序:

实现8253的设置,中断向量的设置,检测系统大键盘信号,有按键就结束程序返回系统。

mainprocfar

start:

movax,data;

设置数据段和附加段

movds,ax

moves,ax

cli;

关中断

设置8253,2l,方式2,输入250kHz,输出200Hz

movdx,233h

mova1,74h

outdx,al

m-dx.231h

movax,1250

moval,ah

保存原中断向量

a1,Obh

ah,35b

21h

esbxds

︸︸intnushvushPush

设置新中断向量

movdx,offsetintpro

movax,segintpro

movds,ax

mova1,Obh

movah,25h

tm21h

打开中断屏蔽

popds

ina1,21h

andal,Of7h

out21h,a1

sti;

开中断

等持按键,返回系统

wat:

movah,l

intlbh

jzwat

回复中断向量

popdx

mova1,Obh

movah,25h

int21h

退出程序,返回系统

movax,4e00h

im21h

,中断一f程序:

完成时钟处理、键盘监控和显示功能

tntproprocnear

pushds;

保存寄存器

pushax

pushcx

ax

ax,data;

设置数据段和代码段寄存器

ds,ax

不是修改状态才走时钟

nush

时钟处理模块,以5毫秒为单位调整时、分秒。

elk:

incmsec

nU

鱿、h

cn]nlmmladdamlcn]nl抑mI

addal,l

min,al

min,60h

daa﹄cmP

jnenext

movmin,0

moval,hour

daa

movhour,al

cmphour,24h

movhour,0

,键盘监控模块

next:

decagekey

jznextl

jmpdsp

nextl:

movagekey,12

movdx,223h;

设置PA输出,PB输入

mova1,82h

outdx,al

mova1,0;

A口输出低电平,读B口

movdx,220h

movdx,221h

inal,dx

movbh,al

设置PB输出,PA输入

mova1,90h

moval,();

b

movdx,22lh

movdx,220b

movbl,al;

i?

andbx,7ffh;

去除键码中无用位数

cmpbx,7ffh

jnekeyon;

有按键则进入按键处理

movkeyok,0;

无按键则清除响应标志退出按键处理

keyon:

cmp.bx,oldkey

jekeyonl;

已经去抖动则直接处理按键

movagekey,4;

有新按键则设置键龄退出中断

movkeyok,0

movoldkey,bx

impdsp

keyonl:

cmpkeyok,l

jneII;

按键已响应则退出键盘处理

11:

movkeyok,l;

设立按键响应标记

std

leadi,keyend;

指向键码表

movax,bx;

读取键号,地址递减,cx的值为键号

movcx,17

repnescasw

jekeyon2

keyon2:

movkeynum,cl;

保存键号

cmpstate,0;

系统在修改态否?

jnekeyon3;

跳到修改态的处理

cmpkeynum,0ah;

为A键否

jnekeyb

movkeymd,l;

作a键修改标志

movhour,0aah沙时显示为一

movstate,l;

进入修改态

keyb:

cmpkeynum,Obh;

为B键否

jnekeye

movkeymd,2;

作b键修改标志

movmin,0aah;

分钟异示为..

keyc:

cmpkeynum,Och;

为c键否

jekeycl

keycl:

movkeymd,3;

作c键修改标志

movsec,0aah

秒显示为..

keyon3:

cmpkeynum,9;

在修改态,判断是否为数字键

jbekeys;

<

=9则认为是数字键

impkeyen;

否则判断是否为确定键

keyn:

moval,stime滋取输入时间,十进制格式

movc1,4

shlal,cl;

在确定以前最后输入的两个十进制数有效

oral,keynum

movstime,al

keyen:

cmpkeynum,Ofh;

处理f键

jekeyenl

keyenl:

movstate,0;

恢复到运行态

cmpkeymd,l;

将修改内容送小时单元

jnekeyen2

movkeymd,0;

清除修改小时标志

empstime,24h;

判断输入时间是否>

=24

jbkey-3

movhour,0;

大于24时,输入为。

movsdme,0;

清除时间单元

key-3:

moval,stime

movhour,al;

小于24时,输入设定时间

movstime,0;

key-2:

-pkeymd,2;

将修改分钟标志

jnekeyen4

请除修改分钟标志

cmpsfme,60h

jbkeyen5

movmin,0

movstime,0

keyen5:

movmfn,al

keyen4:

cmpkeymd,3;

将修改秒

jnedsp

movkeymd,0

cmpstime,60h

j6keyen6

movsec,0

movstime,0

keyen6:

movsec,al

显示模块

dsp:

movsi,0;

将时、分、秒信号拷贝到显示缓冲区

movc1,4

movch,2

lpl:

rolal,cl

movah,al

anda1,Oflr

mov6u兀sii,al

moval,ah

mem

decch

jazlpl

moval,mir

Ip2:

rolal,cl

movab,al

mov6u几si

mes

jnz)p2

movcb,2

moval,sec

Ip3:

movbu兀si],al

me勺

jnzlp3

movcl,dex;

显示数码管的某一位

moval,l

movdx,210h

out击al

andax,0

moval,dex

movsi,ax

movbl,buf]si]

movbh,0

moval,led[bx]

movdx,211h

outdx;

al

inedex

empdex,6

jneexit

movdex,0

exit:

mov.a1,20h

out20h,a1

pop血

popcx

popax

iret

intproendp

endstart

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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