微机原理(计时器).doc_第1页
微机原理(计时器).doc_第2页
微机原理(计时器).doc_第3页
微机原理(计时器).doc_第4页
微机原理(计时器).doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

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

文档简介

简单电子钟设计摘 要用8254定时器来实现计时的目的,再通过数码管DEL显示出来。通过对计数器8254设定计数值对脉冲进行计数,在程序里8254工作于计数器0,方式3。产生1ms的方波,设计数初值为1000,产生的记数时间正好是时钟每秒走过的时间。通过对中断控制器8259设置初始化命令字初值来控制中断。当秒累计到60时,分开始记一位,秒清零,依次循环。在计时过程中同时显示时间,这就需要用中断程序来实现了。我们用8259中断控制器。每当计数时就调用一次中断显示时间。数码管工作需要8255并行口芯片连接实现。8255初始化为方式0,A口和B口为输出,在显示时要先进行选位,即选中数码管的哪一位来显示分和秒。然后进行显示。比如第一次显示时间时是显示0分0秒,首先数码管选位(我们定义从右边起第一个开始输出),然后调用系统时间(0秒)把时间送到内存,数码管显示,同时时间在内存进行累加,再依次循环。关键词 中断控制器8259,可编程并行芯片8255,定时芯片8254,DEL显示器,中断,定时,计数,比较1 设计任务描述1.1设计题目简单电子钟设计1.2设计内容:利用微机原理试验箱的发光数码管显示单元,把时间换显示在LED数码管上。1.3 设计目的:通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础1.4 设计要求:1要求:1)显示无误。 2)走时准确。2 1).课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。2).学生应撰写的内容为:目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。3).说明书(论文)手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行打印。4).课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、设计总结、参考文献。2 设计思路及设备2.1设计思路电子钟要求能够准确显示分和秒。要实现计时的功能首先想到定时器,我们组用8254定时器来实现计时的目的,再通过数码管DEL显示出来。通过对计数器8254设定计数值对脉冲进行计数,在程序里8254工作于计数器0,方式3。产生1ms的方波,设计数初值为1000,产生的记数时间正好是时钟每秒走过的时间。通过对中断控制器8259设置初始化命令字初值来控制中断。当秒累计到60时,分开始记一位,秒清零,依次循环。在计时过程中同时显示时间,这就需要用中断程序来实现了。我们用8259中断控制器。每当计数时就调用一次中断显示时间。数码管工作需要8255并行口芯片连接实现。8255初始化为方式0,A口和B口为输出,在显示时要先进行选位,即选中数码管的哪一位来显示分和秒。然后进行显示。比如第一次显示时间时是显示0分0秒,首先数码管选位(我们定义从右边起第一个开始输出),然后调用系统时间(0秒)把时间送到内存,数码管显示,同时时间在内存进行累加,再依次循环。2.2设计设备PC机一台、windows 98系统、实验箱,导线若干。8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送MIR7。8255并口:用做接口芯片,与数码管相连。8259中断控制器:用于产生中断。DEL:四个DEL用于显示分.秒值3 程序流程图开 始开 中 断毫秒1000毫秒清零,秒加1 秒小于60秒清零,分加1分 小 于 60分 清 零毫秒加1发中断结束命令,中断返回N4 电子种程序接线芯片8254 系统总线 芯片8255 DEL数码管 D0 PB0D1 PB1D2 PB2D3 PB3D4 PB4D5 PB5D6 PB6D7 PB7WR RD PA0CS PA1A0 PA2A1 PA3XD0XD1XD2XD3XD4XD5XD6XD7IOW#IOR#IOY3 IOY0XA1XA2ClkMir7+5VABCDEFGHX1X2X3X4D0D1D2D3D4D5D6D7WRRDCSA0A1CLK0OUT0GATE0 5 电子钟设计原程序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 06C6HSSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDSDATA SEGMENT DTABLEDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH MSECDW 0SEC DB 0MIN DB 0DATA 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,MY8255_MODE MOV AL,81H OUT DX,AL;初始化主片8254MOV DX,CON8254 MOV AL,36H OUT DX,AL MOV DX,A8254 MOV AL,0E8H 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, 01HOUT 21H, AL;ICW4MOV AL, 6FH;OCW1OUT 21H, ALSTIMOV AX,DATA MOV DS,AX MOV SI,3000H MOV AL,00H MOV SI,AL MOV SI+1,AL MOV SI+2,AL MOV SI+3,AL MOV DI,3003H BEGIN: CALL DIS CALL CLEARJMP BEGIN MIR7:STI PUSH AXPUSH SIMOV AX,MSEC INC AX MOV MSEC,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,ALMOV AL,0MOV 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 AH,1ROR AH,1ROR AH,1ROR AH,1AND AH,0FHMOV SI+3,AHMRET:MOV AL, 20HOUT 20H, AL;中断结束命令POP SIPOP AXIRETCLEAR: MOV DX,MY8255_B MOV AL,00H OUT DX,AL RETDIS: 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 MOV 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 AXRETDALLY : PUSH CX MOV CX,000FH T1: MOV AX,002FHT2: DEC AX JNZ T2 LOOP T1 POP CX RETCODE ENDS END START6 重要器件介绍 6.1 8086简介由于此系统最终要在西安唐都科教仪器出品的32位微机机教学实验系统TD-PITE/PITC上进行实验,故设计硬件配置时采用Intel8086,整个实验的硬件配置都以此为原则进行设计选用。Intel8086是16位的微处理器(理论学习中为8088,其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB。6.1.1 8086主要特性Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性: (1) 8086CPU数据总线为16位,8088CUP数据总线为8位。 (2) 地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。 (3) 有16位的端口地址,可以寻址64KB的I/O端口。 (4) 有99条基本指令,指令功能强大 (5) 有9种基本寻址方式。 (6) 可以处理内部和外部中断,外部中断源多达256个。 (7) 兼容性好,与80*86,8085在源程序一级兼容。 (8) 8086/8088标准主频为5MHz,8086/8088-2主频为8MH。 (9)支持单处理器或多处理器系统工作。6.1.2 8086CPU寄存器结构8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器。通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存器,位于CPU的EU中,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数。指针和变址寄存器包括:堆栈指针SP、基址指针BP、源变址寄存器SI、和目的变址寄存器DI四个16位寄存器,可以来存放数据和地址。段寄存器包括:代码段寄存器CS,用于存放当前代码段的段地址;数据段寄存器DS,用于存放当前数据段的段地址;附加段寄存器ES,用于存放当前附加段的地址;堆栈段寄存器SS,用于存放当前堆栈段的段地址。这些段寄存器彼此不能互换,每个段寄存器在8086存储寻址空间中规定了64KB的存储快。该64KB存储快叫做段寄存器的当前段。专用寄存器包括指令指针寄存器(IP)和标志寄存器(FR)。6.1.3 CPU引脚图及说明VccAD15AD16/S3AD17/S4AD18/S5AD19/S6BHE/S7MN/MXRDHOLD(RQ0/GT0)HLDA(RQ1/GT1)WR(LOCKM/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYREST1 402 393 384 375 366 357 348 3380869 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND图6.1 CPU 8086引脚图AD0AD15分时复用的双向、三态地址/数据线AD19/S6AD16/S3分时复用,输出引脚NMI(17)输入,非可屏蔽请求INTR(18)输入,可屏蔽请求CLK(19)输入,时钟GND(20)(1)地线(两个)REST(21)输入,复位READY(22)准备就绪,输入TEST(23)输入,测试低电平有效INTA(QS1)(24)输出,中断响应ALE(QS0)(25)输出,地址锁存允许DEN(S0)(26)三态输出,数据允许信号DT/R(S1)(27)三态输出,数据发送/接收控制信号M/IO(S2)(28)三态输出,存储器/IO端口WR(LOCK)(29)三态输出,写HLDA(RQ1/GT1)(30)总线请求响应,输出HOLD(RQ0/GT0)(31)输入总线请求RD(32)三态输出,读MN/MX(33)决定工作模式BHE/S7(34)三态输出,高8位数据有效/状态复用表6.1 8086 CPU引脚说明6.2 8259芯片的内部结构及引脚中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如图3.2,各引脚功能如下。D7-D0八条双向数据线; WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0地址信号;INT中断请求信号;INTA(低电平有效)中断响应信号;CAS0-CAS2级联信号,形成一条专用8259A总线,以便多片8259A的级联;SP/EN从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;IR0-IR7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。8259中断矢量地址与中断信号之间的关系如表3.1所示:中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H23H24H27H28H2BH2CH2FH30H33H34H37H38H3BH3CH3FH说明时钟键盘可用可用串行口可用可用可用 表6.2 8259中断矢量表图6.2 8259引脚图6.3 8255芯片的内部结构及引脚8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作,下面将具体说明这三种工作方式:方式0基本输入/输出方式;方式1选通输入/输出方式;方式2双向选通输入/输出方式。6.3.1 8255引脚功能图6.3 8255引脚图PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:8255的数据线。8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。6.3.2 8255的内部结构图3.4是8255芯片的内部结构图。图6.4 8255的内部结构图1. 输入/输出端口A、B、C 。这三个端口均可看作是I/O端口,但它们的结构和功能也稍有不同。A口和B口是一个独立的8位I/O口。C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。 2. A组和B组控制电路。这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3. 读/写控制逻辑 。(同上:它负责管理8255A的数据传输过程。它接收CS*及RD*、WR*、RESET,还有来自系统地址总线的口地址选择信号A0和A1。将这些信号组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。)4. 数据总缓冲器 。(同上:它是8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。)6.3.3 8255的控制字1. 工作方式选择控制字它可以使8255的三个端口工作于不同的工作方式,如图3.5所示8255工作方式。6.5 8255的控制字图当控制字bit=7时,控制字的bit6bit3这4位用来控制A组,A口的8位和C口的高4位,而控制字的低3位bit2bit0用来控制B组,包括B口的8位和C口的低四位 方式0基本输入/输出方式; 方式1选通输入/输出方式; 方式2双向传送方式。2. C口按位置位/复位控制字8255的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。其格式注意8255的C口按位置位/复位控制字的最高位D7(特征位)应为0。如图3.4所示C口按位置位/复位控制字格式。图6.5 C口按位置位/复位控制字格式6.4 8254芯片的内部结构及引脚 8254是Intel公司生产的可编程计时器,具有以下功能:(1) 有3格独立的16位计数器;(2) 每个计数器可按二进制或十进制计数; (3) 每个计数器可编程工作于6种不同工作方式; (4) 8254每个计数器允许的最高计数频率为10MHZ;(5) 8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。6.4.1 8254引脚功能图6.6 8254引脚图本次设计主要利用8254产生1ms的方波,其与总线相连接的引线主要是:D0D7双向数据线,用以传送数据和控制字。这里分别与XD0XD7相连接。CS输入信号,低电平有效,当它有效时才能选中该定时器芯片,实现对它的读或写,这里与系统IOY3相连接。RD读控制信号,低电平有效,与系统总线IOR#相连接。WR写控制信号,低电平有效,与系统总线IOW#相连接。6.4.2 8254的内部结构图6.7 8254的内部结构图A0、A1为8254的内部计数器和一个控制寄存器的编码选择信号,其功能如下:A1A0选择00计数器001计数器110计数器211控制寄存器CLK0是计数器的时钟输入端。本次设计的时钟为1MHZ,计数器对此时钟信号进行计数。GATE0门控信号,即计数器的控制输入信号,用来控制计数器的工作,这里使其为高电平,直接接系统5V。OUT计数器输出信号,用来产生不同方式工作时的输出波形,本次设计的1ms方波由此输出。8254的工作方式如下述:(1) 方式0 :计数到0 结束输出正跃变信号方式。 (2) 方式1:硬件可重触发单稳方式。 (3) 方式2 :频率发生器方式。 (4) 方式3 :方波发生器。 (5) 方式4 :软件触发选通方式。 (6) 方式5 :硬件触发选通方式。设计总结为期一周的微机原理课设结束了,使我感觉到了时间的转瞬即逝。在这一周中,我查阅了许多相关资料的书籍,亲自动手调试程序,又学到了许多关于微机原理的知识,并对本学期学习的内容加深了理解和有了更深刻的体会,使我对微机原理有了很大的兴趣。我的课题是“设计简单电子钟”,就是在DEL数码显示管上显示出来分钟和秒。在拿到这个课题后,我就通过上网与图书

温馨提示

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

评论

0/150

提交评论