自动电子钟课程设计报告.docx
- 文档编号:578165
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:11
- 大小:85.49KB
自动电子钟课程设计报告.docx
《自动电子钟课程设计报告.docx》由会员分享,可在线阅读,更多相关《自动电子钟课程设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
自动电子钟课程设计报告
自动电子钟课程设计报告
一、设计要求
课程设计的基本任务,是着重提高动手能力及在字集成电路应用方面的实践技能,培养综合运用理论知识解决实际问题的能力。
各组人员可分别通过设计图纸,上网查找资料以及撰写报告这几个过程来锻炼逻辑思维能力及实际动手能力。
从实际操作中学习知识,思考存在的问题以及解决问题。
(1).用24小时制进行时间显示;
(2).能够显示小时、分钟;
(3).每秒钟要有秒闪烁指示;
(4).上电后从“00:
00”开始显示。
二、设计的作用、目的
数字电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养工程人员的素质和能力具有十分重要的作用,在电子类本科教学中,课程设计是一个重要的实践环节。
通过本次数字电子技术课程设计要实现以下两个目标:
1.初步掌握电子线路的设计。
既学生根据设计要求,查阅文献资料,收集、分析类似电路的性能,并通过调试等实践活动,使电路达到性能要求。
2.课程设计为后续的毕业设计打好基础。
毕业设计是系统的工程设计实践,而课程设计的着眼点是让学生开始从理论学习上逐渐向实际方面发展,运用已学过的的分析和设计电路的理论知识,逐步掌握工程设计的步骤和方法,同时,课程设计报告的书写,为今后从事技术工作撰写科技报告和技术资料打下基础。
三、设计的具体实现
3.1.系统概述
首先利用定时、延时程序在将给定的时间逐渐变为零时就会发出一个信号,执行时间显示程序,执行此程序后8255就会工作,把接到的二进制时间码转换成ASCII码在四个数码管上显示时间。
具体做法是在数据段开辟一显示缓冲区,用来存储系统时间调用延时,返回系统时间,并将返回的二进制时间转换成ASCII码,方便时间显示时的调用。
分别将分钟数、秒数存入显示缓冲区,调用字符串显示功能将时间显示出来。
由于获取了的系统时间不会自动刷新,所以我们要设计成循环方式来不断获取系统时间,这样就形成了会跳动的电子钟。
同时还要配合延时程序进行,为了得到良好的显示效果,本程序调用了一段精确的延时程序没,使各位在时间显示上有短暂的间隔,延时程序要尽量接近1秒,这样就得到了一个比较符合的电子钟。
3.2. 电路分析与设计
3.2.1主要器件介绍
3.2.1.1可编程并行芯片8255
8255是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口。
它具有很强的功能,在使用中可利用软件编程来指定它该完成的功能。
3.2.1.2外部引线
可编程并行芯片8255的外部引线如图3.2.1.1所示
D0~D7为双向数据信号线,用来传送数据和控制字。
RD为读信号线,与其他信号线一起实现对8255接口的读操作。
通常接系统总线的IOR信号。
WR为写信号线,与其他信号一起实现对8255的写操作。
通常接系统总线的IOW信号。
CS为片选信号线,当它为低电平时才能选中该8255芯片,也才能对8255进行操作。
A0,A1为口地址选择信号线。
8255内部有三个口:
A口,B口,C口,还有一个控制寄存器,它们可由程序寻址。
A0,A1上的不同编码可分别寻址上述三个口和一个控制寄存器,具体规定如下:
A1
A0
选择
0
0
A口
0
1
B口
1
0
C口
1
1
控制寄存器
通常A0,A1分别接系统总线的A0,A1,它们与CS一起来决定8255的接口地址。
RESET为复位输入信号。
此端上的高电平可使8255复位。
复位后,8255的A口,B口,C口均被定为输入状态。
PA0~PA7为A口的8条输入输出信号线。
该口的这8条线是工作于输入、输出还是双向方式可又软件编程来决定。
PB0~PB7为B口的8条输入输出信号线。
利用软件编程可指定这8条线是输入还是输出。
PC0~PC78条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线。
3.2.1.38255的结构
8255由4部分组成:
(1)数据总线缓冲器
(2)三个8位端口PA、PB、PC,其中PC口可分为两个4位端口,可分别同端口A和端口B配合使用,可以用作控制信号输出等。
(3)A组和B组的控制电路。
(4)读/写控制逻辑。
3.2.1.48255的初始化
在使用8255时,首先要由CPU对8255写入控制命令字。
有两种控制命令字:
方式选择控制字和C口按位置位/复位控制字。
为了能使8255的A口工作输出状态控制LED灯亮灭以及B口工作于输入状态采集亮灭信号,必须对其初始化,初始化程序如下:
MOVDX,0606H
MOVAL,80H
OUTDX,AL
3.2.1.58255的工作方式
8255有三种工作方式:
方式0、方式1和方式2。
(1)方式0——基本输入/输出
在此工作方式下,每个口都作为基本的输入输出口,C口的高4位和低4位以及A口和B口都可独立地设置为输入口和输出口。
在此工作方式下:
输出的数据被锁存,而输入的数据不被锁存。
A组
B组
A口(PA0---PA7)
C口(PC4---PC7)
B口(PB0---PB7)
C口(PC0---PC3)
入
入
入
入
入
入
入
出
入
入
出
入
入
入
出
出
入
出
入
入
入
出
入
出
入
出
出
入
入
出
出
出
出
入
入
入
出
入
入
出
出
入
出
入
出
入
出
出
出
出
入
入
出
出
入
出
出
出
出
入
出
出
出
出
(2)方式1——选通输入/输出
此工作方式下,三个端口分为A、B两组,A、B两个口仍用作数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。
在8255中,联络信号是3位,两个数据口,共用去C口的6位,剩余的两位仍可作为数据位使用。
(3)方式2——双向选通输入/输出此工作方式只限于A组使用,它用A口的8位数据线,用C口的5位进行联络。
工作时输入输出都能被锁存。
当A口工作在方式2时,B口可以在方式0或方式1工作。
3.2.1.68255的方式控制字及状态字
8255有很强的功能,能够工作在各种工作方式下。
在应用过程中,可以利用软件编程来指定8255的工作方式。
也就是说,只要将不要的控制字装入芯片中的控制寄存器,即可确定8255的工作方式。
(1)控制字
8255的控制字有8位二进制数构成,各位的控制功能如图3.2.1.2所示。
当控制字bit7=1是,控制字的bit6-bit0用来控制B组,包括B口的8位和C口的低4位。
当控制字的bit7=0时,指定该控制字仅对C口进行位操作——按位置位或复位操作。
对C口按位置/复位操作的控制字格式如图3.2.1.3所示。
如前面所叙,在必要时,可利用C口的按位置/复位控制字来使C口的某一位输出0或1。
图3.2.1.3C口的按位操作控制字格式
3.2.2源代码清单及注释
MY8255_AEQU0600H
MY8255_BEQU0602H;宏定义
MY8255_CEQU0604H
MY8255_MODEEQU0606H
DATASEGMENT
NUMDB4,1,0,7;定义初始值
COUNTDB60H
DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;8段数码管显示码
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
CODESEGMENT;定义代码段
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,MY8255_MODE
MOVAL,80H;初始化8255
OUTDX,AL
MOVBX,OFFSETDTABLE;取显示码地址偏移量
WAN:
CALLDIS;调用显示子程序
DECCOUNT
JNZWAN;延时
MOVCOUNT,50H
INCNUM+3;秒个位加一
CMPNUM+3,BYTEPTR10;秒个位与10比较
JNZWAN;若不为10则显示输出
MOVNUM+3,0;把NUM+3单元清零
INCNUM+2;秒十位加一
CMPNUM+2,BYTEPTR6;秒十位与6比较
JNZWAN;若不为6则显示输出
MOVNUM+2,0;把NUM+2单元清零
INCNUM+1;分个位加一
CMPNUM+1,BYTEPTR10;分个位与10比较
JNZWAN;若不为10则显示输出
MOVNUM+1,0;NUM+1单元清零
INCNUM;分十位加一
CMPNUM,BYTEPTR6;分十位与6比较
JNZWAN;若不为6则显示输出
MOVNUM,0;NUM单元清零
JMPWAN;无条件转移,继续从零分零秒开始计时
DIS:
MOVSI,OFFSETNUM;显示子程序
MOVCL,0F7H
LP1:
MOVDX,MY8255_B
MOVAL,[SI]
MOVAH,0;AX寄存器高四位清零
MOVDI,BX
ADDDI,AX
MOVAL,[DI]
OUTDX,AL;将DX中的低四位送外设
MOVDX,MY8255_A
MOVAL,CL
OUTDX,AL
CALLDLY;调用延时子程序
RORCL,1;循环右移
TESTCL,80H
JZLP2
INCSI
JMPLP1
LP2:
RET
DLY:
PUSHCX;延时子程序
PUSHAX
LP3:
MOVCX,000FH
T1:
MOVAX,009FH
T2:
DECAX
JNZT2
LOOPT1
POPAX
POPCX
RET
DONE:
RET
CODEENDS;程序结束
ENDSTART
3.2.3程序流程图
N
Y
N
Y
Y
N
Y
Y
N
Y
3.2.4硬件接线图
四.心得体会及建议
课程设计是培养学生动手,动脑的能力,在设计中发现,提出,分析和解决实际问题,也是对学生对所学的书本知识的一种检验,以及对实际工作能力的具体训练和考察过程。
在当今社会计算机已变得无处不在,能够熟练地运用计算机将是为自己将来的工作加重了一个不可限量的砝码,因此作为新世纪的大学来说掌握计算机技术将是十分重要的。
回顾这将近一周的课程设计,我感慨颇多,从拿到题目到完成整个编程,从理论到实践,在一周的时间里,我和我的小组同学都学到了很多很多东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
在设计过程中,我遇到了很大的困难,不得不认真查找问题的所在,但经过多次地调试与运行还是没能最终解决问题,但是我们没有放弃,最后终于成功地解决了问题。
同时我还要感谢我同学们的帮助,我们每个人都尽心尽力完成自己的任务,遇到不懂的问题及时讨论,最终都能将自己不懂的问题搞懂,每个人都得到了不同程度的提高。
通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 电子钟 课程设计 报告