电子钟课程设计Word格式.docx
- 文档编号:21252569
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:17
- 大小:249.64KB
电子钟课程设计Word格式.docx
《电子钟课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《电子钟课程设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
4、前期完成的实验有:
8259A中断控制器实验,8254定时计数器实验,8255并行接口实验。
1.4电子时钟
电子时钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
传统的设计方法有两种,一是利用组合逻辑电路和时序电路等中小规模集成电路来设计;
一是利用单片机编程技术来设计。
这两种设计都存在硬件复杂,设计周期长,成本高等缺点。
并且本学期通过对《微型计算机原理及应用》的学习,利用掌握的知识进行实践是必要的,以巩固基础知识,培养独立操作能力。
而本次课程设计要实现的功能为:
利用定时器从0开始进行计时,将计时的结果显示在数码管上。
每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小时加1。
根据需要,需选择的芯片有8254,8259,8255,系统时钟频率1.041667MHz;
二概要设计
2.1设计内容
本次课程设计的内容为电子时钟的设计与实现,利用定时器从0开始进行计时,将计时的结果显示在数码管上。
每隔1秒,秒钟计时一次,到60秒,分钟加1。
2.2设计环境与器材
(1)PC微机一台
用于对程序的编译测试等,同时还需要对实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。
(2)微机原理实验箱一台
此设备必须能提供8254、8255、8259和数码管等必要芯片。
并且能通过接受PC机传来的信息,显示出相应的功能。
以支持电子时钟的实现。
(8)导线若干条
用于电路和芯片之间的连接。
2.3电路原理与主要芯片功能
2.3.1电路原理
首先利用程序硬性规定分、秒的起始时间为零。
然后通过8254计时器分频,并将以分得的频率接通8259中断控制器,进而通过CPU响应可屏蔽中断达到按秒计时的效果。
具体做法是将四个七段管显示器接到两片可并行接口8255芯片上,以此来控制七段管显示器的位操作以及段操作。
并为之在数据段开辟一处空间,专门存放将要显示的数位代码。
8254计时器将由PC机给定的频率加以分频,得到的新频率加到8259中断控制器的中断请求输入端。
主程序为此可屏蔽中断设置专门的中断向量码。
CPU获取此中断向量码后转向待需解决的程序进行操作。
而这个程序便是整个主程序的心脏。
通过它将使电子钟的显示时间以秒为进位,达到秒、分的增加。
2.3.28255主要功能
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图2.1所示:
图2.1内部结构及引脚
8255工作方式控制字和C口按位置位/复位控制字格式如图2.2所示:
图2.2置位/复位控制字格式
2.3.38259主要功能
中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。
它的管理功能包括:
1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。
8259A的内部结构和引脚如图2.3所示:
图2.3内部结构和引脚
8259的命令共有7个,一类是初始化命令字,另一类是操作命令。
8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。
OCW1-OCW3各命令字格式如图2.4所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。
图2.4OCW1-OCW3各命令字格
2.3.48254主要功能
8254是Intel公司生产的可编程间隔定时器。
是8253的改进型,比8253具有更优良的性能。
8254具有以下基本功能:
●有3个独立的16位计数器;
●每个计数器可按二进制或十进制(BCD)计数;
每个计数器可编程工作于6种不同工作方式;
每个计数器允许的最高计数频率为10MHz;
●8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。
●计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为n=fCLKi÷
fOUTi,其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。
图2.5内部结构框图和引脚图
上图是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。
8254的工作方式如下述:
(1)方式0:
计数到0结束输出正跃变信号方式。
(2)方式1:
硬件可重触发单稳方式。
(3)方式2:
频率发生器方式。
(4)方式3:
方波发生器。
(5)方式4:
软件触发选通方式。
(6)方式5:
硬件触发选通方式。
8254的控制字有两个:
一个用来设置计数器的工作方式,称为方式控制字;
另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标识位来区分。
当读回控制字的D4位为0时,由该读回控制字D1~D2位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。
状态字格式如图2.6所示:
图2.68254状态字格式
三程序接线图及流程图
3.1实验接线图
系统的连线图主要由五个部分构成。
8259中断控制器、8255并口控制器、8254定时计数器、键盘及数码管显示单元、开关及LED显示单元构成。
如下图所示:
芯片8254系统总线芯片8255LED数码管
D0PB0
D1PB1
D2PB2
D3PB3
D4PB4
D5PB5
D6PB6
D7PB7
WR
RDPA0
CSPA1
A0PA2
A1PA3
XD0
XD1
XD2
XD3
XD4
XD5
XD6
XD7
IOW#
IOR#
IOY3IOY0
XA1
XA2
Clk
Mir7
+5V
A
B
C
D
E
F
G
H
X1
X2
X3
X4
D0
D1
D2
D3
D4
D5
D6
D7
WR
RD
CS
A0
A1
CLK0
OUT0
GATE0
图3.4实验接线图
3.2主程序流程图
主程序的流程图是对整个程序的逻辑的图象表示。
首先是设置8254、8255、8259的各个端口地址。
接着初始化各个芯片,开始计时,并通过8259中断控制时间的正确显示。
在整个过程中都在检测是否有铵键响应。
有则停止,没有则返回继续执行。
图3.3系统实现流程图
四电子钟设计源程序
MY8255_AEQU0600H
MY8255_BEQU0602H
MY8255_CEQU0604H
MY8255_MODEEQU0606H
A8254EQU06C0H
B8254EQU06C2H
C8254EQU06C4H
CON8254EQU06C6H
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
DATASEGMENT
DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH
MSECDW0
SECDB0
MINDB0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
SSTACK
START:
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETMIR7;
取中断入口地址
MOVSI,003CH;
中断矢量地址
MOV[SI],AX;
填IRQ7的偏移矢量确定地址
MOVAX,CS;
段地址
MOVSI,003EH
填IRQ7的段地址矢量
CLI
POPDS;
初始化主片8255
MOVDX,MY8255_MODE
MOVAL,81H
OUTDX,AL;
初始化主片8254
MOVDX,CON8254
MOVAL,36H
OUTDX,AL
MOVDX,A8254
MOVAL,0E8H
MOVAL,03H
OUTDX,AL;
初始化主片8259
MOVAL,11H
OUT20H,AL;
ICW1
MOVAL,08H
OUT21H,AL;
ICW2
MOVAL,04H
ICW3
MOVAL,01H
ICW4
MOVAL,6FH;
OCW1
OUT21H,AL
STI
MOVAX,DATA
MOVDS,AX
MOVSI,3000H
MOVAL,00H
MOV[SI],AL
MOV[SI+1],AL
MOV[SI+2],AL
MOV[SI+3],AL
MOVDI,3003H
BEGIN:
CALLDIS
CALLCLEAR
JMPBEGIN
MIR7:
STI
PUSHAX
PUSHSI
MOVAX,MSEC
INCAX
MOVMSEC,AX
CMPAX,1000
JBMRET
MOVAX,0
MOVMSEC,AX
MOVAL,SEC
ADDAL,1
DAA
MOVSEC,AL
CMPAL,60H
JBMTODIS
MOVAL,0
MOVAL,MIN
DAA
MOVMIN,AL
MTODIS:
MOVAL,SEC
MOVAH,AL
ANDAL,0FH
MOV[SI],AL
RORAH,1
ANDAH,0FH
MOV[SI+1],AH
MOVAH,AL
MOV[SI+3],AH
MRET:
MOVAL,20H
OUT20H,AL;
中断结束命令
POPSI
POPAX
IRET
CLEAR:
MOVDX,MY8255_B
MOVAL,00H
OUTDX,AL
RET
DIS:
PUSHAX
MOVDL,0F7H
MOVAL,DL
AGAIN:
PUSHDX
MOVDX,MY8255_A
MOVAL,[SI]
MOVBX,OFFSETDTABLE
ANDAX,00FFH
ADDBX,AX
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDALLY
INCSI
POPDX
MOVAL,DL
TESTAL,01H
JZOUT1
RORAL,1
MOVDL,AL
JMPAGAIN
OUT1:
POPAX
RET
DALLY:
PUSHCX
MOVCX,000FH
T1:
MOVAX,002FH
T2:
DECAX
JNZT2
LOOPT1
POPCX
RET
CODEENDS
ENDSTART
五总结体会
通过近一周的课程设计时间,课程设计的基本目的达到了。
另外还有很多其它有益的地方。
本系统完成了电子时钟的基本功能。
利用8254定时器从0开始进行计时,将计时的结果显示在数码管上。
每隔1秒,秒钟个位计时一次;
到10秒,秒钟十位计时一次;
到60秒,分钟个位计时一次;
到10分,分钟十位计时一次。
数字变动信息通过8255送数码管显示。
期间通过8259中断控制器实现秒到分的转变,准确实现了计时。
随着科技的进步电子时钟的实现方法已经很多,由传统的物理实现转变到软件实现,而且起精确程度也大大的提高,且实现方法也越来越简单。
在这里是在学完了《微型计算机原理及应用》进行的课程设计,所以这里是基于微机原理的基础知识来实现电子时钟的,首先应该画出硬件设计图,这个过程是基础,然后是流程图,这个是重点,流程图的完成在很大程度上等于程序的完成,然后是程序的编写。
通过辅导老师的指导,同学们的相互帮助,我收获了很多,也通过设计增强了自己动手的能力,同时也对自己所学到的知识作一个肯定。
学好这门课程在自己今后的学习和工作中都有很大的作用,对自己以后的帮助也很大.这次课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
而在这次课程设计中,也是对《微型计算机原理及应用》的复习。
同时在设计中使我的编程水平提高了一大步,使我认识到合作的可贵。
这次设计涉及到很多芯片的应用,最大特点是软,硬件的结合,对动手能里的要求很大。
也使我更加的体会到,在一定程度和科技水平上,硬件和软件是可以实现对等转化的。
电子时钟的发展史就很好的诠释了这个过程。
从物理硬件实现到软件实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子钟 课程设计