山东大学威海分校微机接口综合设计电子钟_第1页
山东大学威海分校微机接口综合设计电子钟_第2页
山东大学威海分校微机接口综合设计电子钟_第3页
山东大学威海分校微机接口综合设计电子钟_第4页
山东大学威海分校微机接口综合设计电子钟_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术综合课程设计报告设计名称: 电子钟 专 业: 班 级: 姓 名: 学 号: 指导教师: 目 录一 设计概述11.1设计题目:11.2设计目的:11.3设计要求:1二 设计原理22.1设计原理22.2设计环境与器材22.3电路原理与元件芯片功能22.3.1 电路原理22.3.2 8255主要功能32.3.3 8259主要功能42.3.4 8254主要功能5三 系统设计83.1 硬件实验接线图83.2 软件主程序流程图9四 电子钟设计源程序10五 遇到的问题疑惑及解决的方法14六 总结与体会15一 设计概述1.1设计题目:简单的电子时钟设计1.2设计目的微型原理与接口设计是一门实

2、践性较强的课程,学生在学完该课程之后进行一次综合课程设计,可以让学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。譬如培养学生查阅专业资料,工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。通过综合设计,不但要培养和提高学生解决工程具体问题,动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。具体要求如下:1、中断工作原理,定时计数原理,并行通信原理工作原理。2、掌握8259芯片,8254芯片,82

3、55芯片功能,结构。3、掌握8259芯片,8254芯片,8255芯片的编程。4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。1.3设计要求1、总体内容:设计一个电子时钟,可以在数码管上显示时间并计时。2、 接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。二 设计原理2.1设计原理本次课程设计的内容为电子时钟的设计与实现,利用定时器从0开始进行计时,将计时的结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1。根据需要,需选择的芯片有8254,8

4、259,8255,系统时钟频率1.041667MHz;2.2设计环境与器材(1)PC微机一台 用于对程序的编译测试等,同时还需要对实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2)微机原理实验箱一台(唐都仪器) 此设备必须能提供8254、8255、8259和数码管等必要芯片。并且能通过接受PC机传来的信息,显示出相应的功能。以支持电子时钟的实现。(8)导线若干条 用于电路和芯片之间的连接。2.3电路原理与主要芯片功能 2.3.1 电路原理1、 初始化时令分、秒的起始时间为零。2、 将七段管显示器接到两片可并行接口8255芯片上,以此来控制七段管显示器的位操作

5、以及段操作。并为之在数据段开辟一处空间,专门存放将要显示的数位代码。3、 8254计时器将由PC机给定的频率加以分频,得到的新频率加到8259中断控制器的中断请求输入端。主程序为此可屏蔽中断设置专门的中断向量码。4、 CPU获取此中断向量码后转向待需解决的程序进行操作。利用程序将使电子钟的显示时间以秒为进位,达到秒、分的增加。2.3.2 8255主要功能8255 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、

6、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图2.1所示:图2.1 内部结构及引脚8255 工作方式控制字和C口按位置位/复位控制字格式如图2.2所示:图2.2 置位/复位控制字格式2.3.3 8259主要功能中断控制器8259是Intel 公司专为控制优先级中断而设计开发的芯片。它将中断源优先级 排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户

7、编 程来设定。同时,在不需增加其他电路的情况下,通过多片8259A 的级连,能构成多达64 级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应 和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。8259A 的内部结构和引脚如图2.3所示:图2.3 内部结构和引脚8259的命令共有7 个,一类是初始化命令字,另一类是操作命令。8259A 的编程就是根据 应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器 组和操作命令寄存器组。OCW1-OCW3 各命令字格 式如图2.4所示,其中OCW1 用于设置中

8、断屏蔽操作字,OCW2 用于设置优先级循环方式和 中断结束方式的操作命令字,OCW3 用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设 置对8259 内部寄存器的读出命令。图2.4 OCW1-OCW3 各命令字格2.3.4 8254主要功能8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: 有3 个独立的16 位计数器; 每个计数器可按二进制或十进制(BCD)计数; 每个计数器可编程工作于6 种不同工作方式;每个计数器允许的最高计数频率为10MHz; 8254 有读回命令,除了可以读出当前计数单元的内容外,还可

9、以读出状态寄存器的内容。 计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=fCLKi fOUTi,其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。 图2.5 内部结构框图和引脚图上图是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1) 方式0 :计数到0 结束输出正跃变信号方式。 (2) 方式1:硬件可重触发单稳方式。 (3) 方式2 :频率发生器方式。 (4) 方式3 :方波发生器。 (5) 方式4 :软件触发选通方式。 (6) 方式5 :硬件触发选通方式。8254 的控制字有两个:

10、一个用来设置计数器的工作方式,称为方式控制字;另一个用来设 置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。当读回控制字的D4 位为0 时,由该读回控制字D1D2 位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如图2.6所示:图2.6 8254状态字格式三 系统设计3.1 实验接线图 系统的连线图主要由五个部分构成。8259中断控制器、8255并口控制器、8254定时计数器、键盘及数码管显示单元、开关及LED显示单元构成。如下图所示:芯片8254 系统总线 芯片8255 LED数码管 D0 PB0D1 PB1D2 PB2D3 PB3D4 PB4D5 PB

11、5D6 PB6D7 PB7WR RD PA0CS PA1A0 PA2A1 PA3 PC0 PC1 PC2 PC3XD0XD1XD2XD3XD4XD5XD6XD7IOW#IOR#IOY3 IOY0XA1XA2ClkMir7+5VABCDEFGDg X1X2X3X4Y1Y2Y3Y4D0D1D2D3D4D5D6D7WRRDCSA0A1CLK0OUT0GATE0 图3.4 实验接线图3.2 主程序流程图主程序的流程图是对整个程序的逻辑的图象表示。首先是设置8254、8255、8259的各个端口地址。接着初始化各个芯片,开始计时,并通过8259中断控制时间的正确显示。在整个过程中都在检测是否有铵键响应。

12、有则停止,没有则返回继续执行。四 电子钟设计源程序;各端口地址MY8255_A EQU 0600H MY8255_B EQU 0602H MY8255_C EQU 0604H MY8255_MODE EQU 0606H A8254 EQU 06C0H B8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6H;堆栈段SSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDS;数据段DATA SEGMENT DTABLEDB 3FH,06H,5BH,4FH,66H;键盘上的键值对应值 DB 6DH,7DH,07H,7FH,6FH

13、MSECDW 0 ;百分秒初始值 SEC DB 0 ;秒初始值MINDB 0;分初始值DATA ENDS ;代码段CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:SSTACKSTART: ;设置中断向量PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中断入口地址MOV SI, 003CH;中断矢量地址MOV SI, AX;填IRQ7的偏移矢量,确定地址 MOV AX, CS ;段地址MOV SI, 003EHMOV SI, AX;填IRQ7的段地址矢量CLIPOP DS ;初始化主片8255MOV DX,MY8

14、255_MODE MOV AL,81H;AL=10000001B A.B口方式0输出 C输入 OUT DX,AL;向8255控制口写入控制字;初始化主片8254MOV DX,CON8254 MOV AL,36H ;通道0,方式3,2进制 OUT DX,AL MOV DX,A8254 MOV AL,0E8H;时间常数1000B=03E8H OUT DX,AL MOV AL,03H OUT DX,AL ;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL,

15、01HOUT 21H, AL;ICW4MOV AL, 6FH;OCW1OUT 21H, ALSTI ;初始设置MOV AX,DATA MOV DS,AX MOV SI,3000H;段首地址3000H MOV AL,00H MOV SI,AL ;四位内存值清0 MOV SI+1,AL MOV SI+2,AL MOV SI+3,AL MOV DI,3003H;开始BEGIN: CALL DIS;调用显示子程序 CALL CLEAR;调用清屏子程序JMP BEGIN ;循环调用,动态显示数据值;中断子程序MIR7:STI PUSH AXPUSH SIMOV AX,MSEC INC AX MOV MS

16、EC,AX CMP AX,1000 JB MRET MOV AX,0MOV MSEC,AX MOV AL,SECADD AL,1DAA MOV SEC,ALCMP AL,60HJB MTODISMOV AL,0MOV SEC,ALMOV AL,MINADD AL,1DAAMOV MIN,ALMTODIS: MOV AL,SECMOV AH,ALMOV SI,3000HAND AL,0FHMOV SI,ALROR AH,1ROR AH,1ROR AH,1ROR AH,1AND AH,0FHMOV SI+1,AHMOV AL,MINMOV AH,ALAND AL,0FHMOV SI+2,ALROR

17、 AH,1ROR AH,1ROR AH,1ROR AH,1AND AH,0FHMOV SI+3,AHMRET:MOV AL, 20HOUT 20H, AL;中断结束命令POP SIPOP AXIRET;清屏子程序CLEAR: MOV DX,MY8255_B MOV AL,00H OUT DX,AL RET;显示子程序DIS: PUSH AX MOV SI,3000HMOV DL,0F7HMOV AL,DLAGAIN: PUSH DX MOV DX,MY8255_A OUT DX,AL MOV AL,SI MOV BX,OFFSET DTABLE AND AX,00FFH ADD BX,AX M

18、OV AL,BX MOV DX,MY8255_B OUT DX,AL CALL DALLYINC SI POP DX MOV AL,DLTEST AL,01H JZ OUT1ROR AL,1 MOV DL,ALJMP AGAINOUT1: POP AXRET;延时子程序DALLY : PUSH CX MOV CX,000FH T1: MOV AX,002FHT2: DEC AX JNZ T2 LOOP T1 POP CX RETCODE ENDS END START五 遇到的问题疑惑及解决方法1、 数码管怎么动态显示数据?工作原理是什么?答:通过编写DIS显示子程序,调用程序读取内存中的各位数

19、据值,通过8255数据交换控制数码管电平组合,显示数据。至于动态,即随着时间变化内存值不同,可以一直循环调显示子程序来显示。2、8254怎么实现计时,时间因数选择多少?答:时间因数与中断子程序的有关,我们选择了N=1000,out0输出脉冲给MIR7,产生中断后调用中断子程序,100次中断秒加1,60秒后进位。3、 中断子程序如何设计?答:我们参考了8259中断设计的代码,并加入了计时构成中断计时。五 总结体会有一句话叫:站着说话不腰疼。这话说的真对。之前我们学习课本上的理论知识时,知道了各个芯片都是干什么用的,怎么编程使用就以为自己已经把接口学会了,现在看来这只是万里长征第一步而已。当老师说要做一个交通灯的综合课程设计的时候,只觉得真是超级简单,8259要中断我会,8254要输出脉冲定时没问题,8255传输数据小CASE,一切都是那么简单。为此我还想当然的觉得还可以更难一点,于是我没有选择正常的交通灯设计而是电子表,对,是电子表根据按下的的键盘值,确定不同功能。那

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论