电子钟课程设计报告Word格式.docx

上传人:b****4 文档编号:17633707 上传时间:2022-12-07 格式:DOCX 页数:18 大小:338.28KB
下载 相关 举报
电子钟课程设计报告Word格式.docx_第1页
第1页 / 共18页
电子钟课程设计报告Word格式.docx_第2页
第2页 / 共18页
电子钟课程设计报告Word格式.docx_第3页
第3页 / 共18页
电子钟课程设计报告Word格式.docx_第4页
第4页 / 共18页
电子钟课程设计报告Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

电子钟课程设计报告Word格式.docx

《电子钟课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《电子钟课程设计报告Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

电子钟课程设计报告Word格式.docx

每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;

六个数码管动态显示时、分、秒的当前值。

用开关(模块A5)控制计时和显示:

K1键(清除):

显示00-00-00;

K2键(启动):

显示XX-XX-XX变更的时间值;

K3键(停止):

显示XX-XX-XX不变;

K4键(设置):

设置XX-XX-XX时间值,时间值由模块B2开关输入。

2.3设计环境 

PC机一台、windows 

XP系统、实验箱,导线若干。

2. 

4设计所用设备 

8254定时器:

用于发生秒脉冲,其输出信号可作为中断请示信号送IRQ2。

8255并口:

用做接口芯片,和小键盘相连。

8259中断控制器:

用于发生中断。

LED:

六个LED用于显示时:

分:

秒值。

小键盘:

用于控制设置。

3系统硬件设计

设计所用芯片及功能介绍

.18259芯片的内部结构及引脚

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

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

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

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

8259引脚图如图3.1所示。

图3.18259引脚图

各引脚功能如下:

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

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

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

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

A0——地址信号;

INT——中断请求信号;

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

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

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

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

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

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

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

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

表3-18259中断矢量表

中断序号

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

说明

时钟

键盘

可用

串行口

3.1.28255芯片的内部结构及引脚

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

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

8255引脚图如图3.2示,

图3.28255引脚图

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

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

PA7~PA0——A口外设双向数据线;

PB7~PB0——B口外设双向数据线;

PC7~PC0——C口外设双向数据线;

RESET——复位输入信号。

8255端口地址表如表3-2所示:

表3-28255端口地址表

信号线

寄存器

编址

IOY3

A口

60H

B口

61H

C口

62H

控制寄存器

63H

3.8254芯片的内部结构及引脚

8254是Intel公司生产的可编程计时器,具有以下功能:

(1)有3格独立的16位计数器

(2)每个计数器可按二进制或十进制计数;

(3)每个计数器可编程工作于6种分歧工作方式;

(4)8254每个计数器允许的最高计数频率为10MHZ;

(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;

图3.3是8254芯片的内部结构及引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。

8254的工作方式如下述:

(1)方式0:

计数到0结束输出正跃变信号方式。

(2)方式1:

硬件可重触发单稳方式。

(3)方式2:

频率放生器方式。

(4)方式3:

方波发生器。

(5)方式4:

软件触发选通方式。

(6)方式5:

硬件触发选通方式。

8254芯片引脚图

3.2电子钟硬件接线图 

图3.4电子钟硬件接线图

4系统软件设计

软件工作流程图

主程序流程图如图4.1所示,服务程序流程图如图4.2所示。

图主程序流程图图4.2服务程序流程图

4.2需要的程序清单

电子钟的程序:

controlequ0c003h;

8253控制口

count0equ0c000h

count1equ0c001h

count2equ0c002h

md8255equ82h;

8255控制字

pa8255equ8000h

ctl8255equ8003h

outbitequ08002h;

位控制口

outsegequ08004h;

段控制口

icw1equ00010011b;

8259,上升沿中断,要写icw4

icw2equ00100000b;

中断号为20h

icw4equ00000001b;

工作在8086/88方式

ocw1equ11111110b;

只响应int0中断

cs8259aequ0d000h;

8259地址

cs8259bequ0d001h

datasegment

cntdb0

ledbufdb6dup(?

);

显示缓冲

numdb1dup(?

显示的数据

delaytdb1dup(?

hourdb0

minutedb0

seconddb0

ledmap:

八段管显示码

db3fh,06h,5bh,4fh,66h,6dh,7dh,07h

db7fh,6fh,77h,7ch,39h,5eh,79h,71h

dataends

codesegment

assumecs:

code,ds:

data

delayprocnear;

延时子程序

pushax

pushcx

moval,0

movcx,ax

loop$

popcx

popax

ret

delayendp

displayledprocnear;

数码管显示控制子程序

movbx,offsetledbuf

movcl,6;

共6个八段管

movah,00100000b;

从左边开始显示

dloop:

movdx,outbit

moval,0

outdx,al;

关所有八段管

moval,[bx]

movdx,outseg

outdx,al

moval,ah

显示一位八段管

movah,1

calldelay

shrah,1

incbx

deccl

jnzdloop

movdx,outbit

outdx,al;

displayledendp

ienterprocnear;

8253中断服务程序

pushdx

incsecond;

秒加1

moval,second

cmpal,60;

秒数与60比较

jneexit

movsecond,0;

秒清零

incminute;

分加1

moval,minute

分数与60比较

movminute,0;

分清零

inchour;

时加1

moval,hour

cmpal,24;

时数与24比较

movhour,0;

时清零

exit:

movdx,cs8259a

moval,20h

结束本次中断

popdx

iret

ienterendp

iinitproc;

初始化8259的命令字和操纵命令字

moval,icw1

outdx,al

movdx,cs8259b

moval,icw2

moval,icw4

moval,ocw1

iinitendp

start:

movax,data

movds,ax

时、分、秒清零

movminute,0

movsecond,0

cli;

清除中断标记位

movax,0

moval,76h;

8253控制字

movdx,control

movax,62500;

利用8253计数器1分频

movdx,count1

moval,ah

moval,md8255

movdx,ctl8255

movbx,4*icw2;

中断号

movax,code

shlax,4;

*16

addax,offsetienter;

中断入口地址(段地址为0)

mov[bx],ax

mov[bx],ax;

代码段地址为0

calliinit

movcnt,0;

计数值初始为0

moval,cnt

movdx,pa8255

sti;

开中断

lp:

movah,0

movcl,10

divcl

movch,ah

movbx,offsetledmap

addbx,ax

moval,[bx];

时的十位转换成显示码

movledbuf,al;

显示码存入显示缓冲区

movbx,offsetledmap

moval,ch

时的个位转换成显示码

oral,80h

movledbuf+1,al;

显示码存入后一位显示缓冲区

分的十位转换成显示码

movledbuf+2,al

分的个位转换成显示码

movledbuf+3,al

秒的十位转换成显示码

movledbuf+4,al

movledbuf+5,al

calldisplayled

jmplp

codeends

endstart

5系统调试及结果

5.1调试结果描述 

本系统设计实现后进行了为期一周左右的调试。

调试包含电路板的调试和汇编程序的调试。

下面就系统调试情况作一介绍:

(1)系统对于输入有格式要求,不克不及输入不正确的时间格式。

(2)系统对于临界值进行了验证。

(3)系统预计各功能的实现。

测试结果分析 

测试结果标明,电子钟系统已能初步实现主要功能,但是由于我的能力有限,开发实践经验缺乏,系统功能不是十分完善,还存在着许多问题,目前通过测试等发现

系统存在以下几个问题:

(1) 

由于试验条件的限制,开机有时候不克不及自动复位。

(2)对于多次连续输入错误格式的时间值,系统可能出现异常。

(3)由于是教学模拟课题,不克不及适应实际使用中复杂的需求,只能根据其他一些简单的调查和推测来设定系统的功能和要求,不管是功能和内容都相对简单。

尚有不满足要求的地方,一些技术问题也没有克服。

6总结

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 

经过这次课程设计,使我对8250A有了更深一步的认识。

同时使我认识到RS-232C是微型计算机与通信工业中应用最为广泛的一种串行通信接口尺度。

加深了对芯片接口可编程原理的理解,加深了对课堂上知识的巩固。

另外,通过亲手编写汇编程序的过程也增强了程序设计的能力,学到了很多知识。

回顾起课程设计,至今我仍感慨颇多。

通过本次课程设计可以说得是苦多于甜,但是可以学到很多很多的东西,同时不但可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

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

在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。

其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过几次在计算机上的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

在设计的过程中遇到问题,可以说得是困难重重,这究竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处,对以前所学过的知识理解得不敷深刻,掌握得不敷牢固。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的指导下,终于迎刃而解。

在此我暗示感谢!

同时,对给过我帮忙的所有同学和各位指导老师再次暗示忠心的感谢!

参考文献

[1] 

[2] 

[3] 

[4]牟琦,聂建萍.微机原理与接口技术.北京:

清华大学出版社

[5.北京:

清华大学出版社 

[6]彭虎.微机原理与接口技术(第2版)[M].北京:

电子工业出版社.2008

[7]张弥左,王兆月,邢立军等.微型计算机接口技术.北京:

机械工业出版社

[10]戴梅萼.微型计算机技术及应用[M].北京:

清华大学 

[11]沈美明.IBM-PC汇编语言程序设计[M].北京:

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

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1