微机原理课程设计-电子钟_第1页
微机原理课程设计-电子钟_第2页
微机原理课程设计-电子钟_第3页
微机原理课程设计-电子钟_第4页
微机原理课程设计-电子钟_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

PAGE4PAGE3摘要微机控制即微型计算机原理控制。是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。微型计算机原理控制应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡,电子宠物等,这些都离不开微型计算机原理控制。我们组本次设计的题目是简单电子钟程序设计,用到了定时芯片8254,中断控制器8259和可编程并行芯片8255。在编辑1毫秒定时程序时,用到了中断控制器8259。此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来;第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。该程序实现了准确显示秒和分,读数准确,走时精准。此电子钟能准确的从0分0秒走时到59分59秒,然后能自动回复到0分0秒循环走时。关键词:可编程并行芯片8255定时芯片8254中断控制器8259七段数码显示管延时计数比较定时中断1设计任务描述1.1设计题目简单电子钟设计1.2设计内容利用微机原理试验箱的发光数码管显示单元,把时间显示在LED数码管上。1.2.1通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础1.2.2设计要求利用8254定时器设计一个具有分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示,缓冲区中予置)开始走时。利用微机原理试验箱的发光数码管显示单元,把时间显示在LED数码管上。基本要求:(1)走时准确。(2)显示无误。1.2.3设计发挥(1)延时(2)显示小时1.3设计环境与器材(1)PC微机一台用于对程序的编译测试等,同时还需要对实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2)微机原理实验箱一台此设备必须能提供8254、8255、8259和数码管等必要芯片。并且能通过接受PC机传来的信息,显示出相应的功能。以支持电子时钟的实现。(3)导线若干条用于电路和芯片之间的连接。2设计思路电子钟的总体设计原理是:首先利用定时芯片8254的定时作用定时计数,在给定的时间内逐渐变为0时,就会发出一个中断信号,8259中断器接到此中断信号就会调用MIR7时间显示程序,执行此程序后8255就会工作,把接到的二进制时间码转换成ASCII码在四个码管上显示时间。具体做法是为了实现精确走时,显示分秒。我们先在数据段开辟一显示缓冲区,用来存储系统时间,初始化我们所要应用的芯片8254,8255,8259后,允许中断信号输入,主程序开始。为了显示分秒,并被我们识别,先调用DIS程序,实现片选的功能。为了得到良好的显示效果,本程序调用了一段精确的延时程序没,使各位在时间显示上有短暂的间隔,延时程序要尽量接近1秒,但又不能超过一秒。为了实现会跳动的电子钟,我们调用了子程序clear的清屏功能,不断以刷新的方式来获取时间,形成会跳动的电子钟。同时,由于8254定时器的分频功能,产生中断信号,8259中断器就会调用MIR7时间显示程序,实现位选,最后通过LED数码管显示出来,时间刷新,再显示,如此循环,就形成了精确走时的电子钟。3主要元器件介绍3.18254简介8254具有3个独立的16位计数器,6种不同的工作方式。计数寄存器用来寄存计数初值,计数工作单元为16位减1计数器,它的初值便是计数寄存器内容,计数单元对CLK脉冲计数,每出现一个CLK脉冲,计数器减1,当减为零时,通过OUT输出指示信号表明计数单元已为零。当作为定时器工作时,每当计数单元为零时,计数寄存器内容会自动重新装入计数单元,而且CLK输入是均匀的脉冲序列,于是OUT输出频率是降低了的(相对于CLK信号频率)脉冲序列。当作为计数器工作时,表明只关心在CLK端出现(代表事件)的脉冲个数,当CLK端出现了规定个数的脉冲时,OUT输出一个脉冲。3.1.18254引脚功能图3.3.1内部结构框图和引脚图上图是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。本次设计主要利用8254产生1ms的方波,其与总线相连接的引线主要是:D0~D7双向数据线,用以传送数据和控制字。这里分别与XD0~XD7相连接。CS输入信号,低电平有效,当它有效时才能选中该定时器芯片,实现对它的读或写,这里与系统IOY3相连接。RD读控制信号,低电平有效,与系统总线IOR#相连接。WR写控制信号,低电平有效,与系统总线IOW#相连接。A0、A1为8254的内部计数器和一个控制寄存器的编码选择信号,其功能如下:A1A0选择00计数器001计数器110计数器211控制寄存器CLK0是计数器的时钟输入端。本次设计的时钟为1MHZ,计数器对此时钟信号进行计数。GATE0门控信号,即计数器的控制输入信号,用来控制计数器的工作,这里使其为高电平,直接接系统5V。OUT计数器输出信号,用来产生不同方式工作时的输出波形,本次设计的1ms方波由此输出。3.1.28254的工作方式8254有6种方式工作,由于只用来产生方波,所以使其工作在方式3(方波发生器),在此方式下,GATA信号为低电平时,强迫OUT输出高电平,当GATA主高电平时,OUT输出时称方波。(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。3.1.38354内部控制字8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。当读回控制字的D4位为0时,由该读回控制字D1~D2位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如图6.3.2所示:图3.3.28254状态字格式4源程序清单及注释MY8255_AEQU0600HMY8255_BEQU0602HMY8255_CEQU0604HMY8255_MODEEQU0606HA8254EQU06C0H;宏定义B8254EQU06C2HC8254EQU06C4HCON8254EQU06C6HSSTACKSEGMENTSTACK DW32DUP(?);设置段,开辟一个内存空间SSTACKENDSDATASEGMENTDTABLE DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB7FH,6FH,77H,7CH,39H,5EH,79H,71HMSEC DW0;定义数据段SEC DB0MIN DB0DATAENDSCODE SEGMENT;定义代码段 ASSUMECS:CODE,DS:DATA,SS:SSTACKSTART:PUSHDS;入栈代码段 MOVAX,0000H MOVDS,AX MOVAX,OFFSETMIR7 ;取中断入口地址 MOVSI,003CH ;中断矢量地址 MOV[SI],AX ;填IRQ7的偏移矢量确定地址 MOVAX,CS ;段地址 MOVSI,003EH MOV[SI],AX ;填IRQ7的段地址矢量 CLI;清除中断标志 POPDS;出栈 ;初始化主片8255 MOVDX,MY8255_MODEMOVAL,80HOUTDX ;初始化主片8254 MOVDX,CON8254MOVAL,36HOUTDXMOVDX,A8254MOVAL,0E8HOUTDXMOVAL,03HOUTDX ;初始化主片8259 MOVAL,11H OUT20H,AL ;ICW1 MOVAL,08H OUT21H,AL ;ICW2 MOVAL,04H OUT21H,AL ;ICW3 MOVAL,01H OUT21H,AL ;ICW4 MOVAL,6FH ;OCW1 OUT21H,AL STI;置中断标志位IF MOVAX,DATA;数据传给AXMOVDS,AX;再把AX中心数据送入段DS中 MOVSI,3000H;SI中的值设为3000H MOVAL,00H;把AL清0 MOV[SI],AL;把地址为3000H的空间清0给DEL初始化 MOV[SI+1],AL;把地址为3001H的空间清0 MOV[SI+2],AL;把地址为3002H的空间清0 MOV[SI+3],AL;把地址为3003H的空间清0 MOVDI,3003HBEGIN::CALLDIS;调用子程序DIS CALLCLEAR;调子程序CLEAR JMPBEGIN;无条件跳到BEGINMIR7:STI;置中断标志位IF PUSHAX PUSHSI MOVAX,MSEC;毫秒内容0给AX,并让其在AX中自增, INCAX然后再传回到毫秒中 MOVMSEC,AXCMPAX,2000AX中的数经过自增后变化了,用这个 JBMRET数与2000比较,如果低于2000跳到MRETMOVAX,0 MOVMSEC,AX MOVAL,SEC ADDAL,1 DAA MOVSEC,AL CMPAL,60H JBMTODIS MOVAL,0 MOVSEC,AL MOVAL,MIN ADDAL,1 DAA MOVMIN,ALCMPAL,60HJNZMTODISMOVAL,0MOVMIN,ALMTODIS:MOVAL,SEC MOVAH,AL MOVSI,3000H ANDAL,0FH MOV[SI],AL RORAH,1 RORAH,1 RORAH,1 RORAH,1 ANDAH,0FH MOV[SI+1],AH MOVAL,MIN MOVAL,MIN MOVAH,AL ANDAL,0FH MOV[SI+2],AL RORAH,1 RORAH,1 RORAH,1 RORAH,1 ANDAH,0FH MOV[SI+3],AH MRET:MOVAL,20H OUT20H,AL ;中断结束命令 POPSI POPAX IRETCLEAR::MOVDX,MY8255_BMOVAL,00H把00H写入8255的B口,使B口停止工作OUTDX,RETDIS:PUSHAX;AX内容存在栈中 MOVSI,3000H MOVDL,0F7H MOVAL,DLAGAIN:PUSHDX;内容入栈保存MOVDX,MY8255_A把AL内容OF7H写入A口中OUTDXMOVAL,[SI]MOVBX,OFFSETDTABLEANDAX,00FFHADDBX,AX MOVAL,[BX]MOVDX,MY8255_B把数据传到A口,再经过B口传出接DELOUTDX,AL段显示器CALLDALLY INCSIPOPDXMOVAL,DLTESTAL,01HJZOUT1 RORAL,1;循环右移MOVDL,AL JMPAGAINOUT1::POPAX RETDALLY:PUSHCX;延时过程MOVCX,000FHT1: MOVAX,009FHT2: DECAXJNZT2LOOPT1POPCXRETCODEENDS;程序结束ENDSTART5设计原理流程图6实际硬件电路接线图系统的连线图主要由五个部分构成。8259中断控制器、8254可编程时间间隔定时器、8255并口控制器、键盘及数码管显示单元、开关及LED显示单元构成。如下图所示:芯片8254系统总线芯片8255DEL数码管D0PB0D1PB1D2PB2D3PB3D4PB4D5PB5D6PB6D7PB7WRRDPA3CSPA2A0PA1A1PA0ABCDEFGHX1X2X3X4XD0XD1XD2XD3XD4XD5XD6XD7IOW#WOR#IOY3IOY0XA1XA2PCLKMIR7+5VD0D1D2D3D4D5D6D7WRRDCSA0A1CLK0OUT0GATE0设计总结为期一周的微机原理课程设计在紧张的期末复习期间匆忙的结束了,时间虽然很短暂,但是我却收获了不少。之前大半个学期的学习都是些理论知识,这次的课程设计才使我对微机原理的应用有了一次真正的感悟。在本次设计的时候,我们已经学完了《微型计算机原理及应用》这本教材,所以对于微机原理的一些基础知识也有所掌握,但这离一个完整设计的距离还有很大的一步。这次课设的题目是简单电子钟课程设计,为了更好的完成这次课程设计,我去图书馆查阅了很多相关资料,并对课本进行了一次重新的学习,这一切让我对微机原理知识有了进一步的认识,并丰富了我的相关知识。我真的很庆幸我有机会着手设计这么一个题目,它所应用到的知识覆盖面很广,所以本次课程设计让我学习到了很多新的微机知识,并从中获益良多。在刚开始设计的时候,我真的是一头雾水,不知道从何下手,于是就借来了以前学长的程序设计作个参考,我先将他们的程序设计看懂,然后再自己尝试着去设计。首先应该画出硬件设计图,这个过程是基础,然后是流程图,这个是重点,流程图的完

温馨提示

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

评论

0/150

提交评论