数据采集仪万年历报告.doc_第1页
数据采集仪万年历报告.doc_第2页
数据采集仪万年历报告.doc_第3页
数据采集仪万年历报告.doc_第4页
数据采集仪万年历报告.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

合 肥 学 院电子信息工程与电气工程系自动化专业微机原理与接口技术课程设计报告课题名称:数据采集仪的日历时钟接口电路的设计 学生班级:09 级 自 动 化 (1) 班 学生学号: 0905073016 0905073008 0905072021学生姓名:张晶晶 唐文涛 李勇兵 指导教师: 王敬生 刘伟 完成时间: 成绩评定: 目录摘要:3关键词:3引言3第一章总体设计思路:31.1程序流程图31.2设计方案41.2.1 芯片的选择41.2.2方案选择4第二章:系统的硬件与软件设计52.1 芯片的功能介绍52.1.1 8086 与74LS138译码器的链接52.1.2 8253芯片 及其在proteus中的连接图62.1.3 8255A芯片 及其在proteus中的连接图72.2 功能模块分析7第三章 课程设计总结:7致谢8参考文献:9附录一 硬件连接图9附录二 完整程序图10 摘要:本设计是以8086CPU为控制核心,以微机原理与接口技术为基础,以8086CPU为核心,利用INTER 8253可编程定时/计数器,通过引入时钟发生器产生标准时钟进行精准定时;以可编程并行I/O接口芯片8255A扩展接口,驱动数码管进行时间显示。本次设计最终达到目的是能够自动产生秒、分,小时,本系统的软件和硬件是基于ISIS 7 Professional设计而成,基本实现了题目的要求。关键词:8086、8253、8255A、数码管引言近年来随着科技的飞速发展,微机原理的应用正在不断深入,计算机系统由计算机硬件和软件两部分组成。硬件包括中央处理机、存储器和外部设备。中央处理机是计算机的核心部部件,由运算器的控制器两部分组成,主要功能是解释指令、控制指令执行、控制和管理机器运行状态,以及实时处理中央处理机内部和外部出现和各种应急事件;存储器分为主存储器和辅助存储器,主存储器的主要功能是存储信息和与中央处理机直接交换信息;辅助存储器包括磁盘机、磁带机和光盘机等,通常只与主存储器交换信息;外部设备包括输入和输出设备、转换设备、终端设备等,如键盘、打印机、绘图仪和鼠标器等。软件通常分为两大类:系统软件和应用软件。系统软件最靠近硬件层,是计算机的基础软件,如操作系统、高级语言处理程序等。系统软件是计算机厂家预先设计好的。操作系统主要用于组织管理计算机系统的所有便件和软件资源,使之协调一致、高效地运行;高级语言处理程序包括编译程序和解释程序等。编译程序能将高级语言编写的源程序翻译成计算机执行的目标程序,解释程序是边解释边执行源程序。应用软件处于计算机系统的最外层,是按照某种特定的应用而编写的软件。本设计是根据利用数据采集仪来显示日历,它用到8253可编程定时/计数器产生时钟脉冲,再以可编程并行I/O接口芯片8255A扩展接口,驱动数码管进行时间显示,进而在数据采集仪上进行显示。本设计的基本要求:根据题目要求编写实验源程序;再根据所编写的程序连接硬件电路图。本设计要达到的目的:1、软件程序能够无错误的运行;2、硬件电路有显示,能够自动产生世纪、年、月、日、时、分、秒等时间信息;3、具有功工作稳定可靠、外围接口简单。第一章总体设计思路:1.1程序流程图本设计以微机原理与接口技术为基础,以8086CPU为核心,利用INTER 8253可编程定时/计数器,通过引入时钟发生器产生标准时钟进行精准定时;以可编程并行I/O接口芯片8255A扩展接口,驱动数码管进行时间显示,共分为三个主要模块,8086中央处理器,8253时间定时器, 8255数码管显示器。各模块之间关系如下图所示:主程序流程图如下:开始系统初始化时钟定时秒+1执行数码管显示 图1.1主程序流程图1.2设计方案1.2.1 芯片的选择本课程设计在驱动数码管显示的过程中,我们选择了用8255的PA口 、PB口PC口,其中PA口8位作为输出端分别控制每一位数码管的段选,PB口的PB0口作为输入端,PC口的8位作为输出端分别控制8位数码管的位选,芯片可工作不同的工作方式下。8255A芯片有三种工作方式,在本课程设计中,通过控制字,其工作在方式0下,通过PA口给数码管送字码,让其显示世世纪、年、月、日时、分、秒,同时通过PC口给数码管送位码,并不断的扫描8个数码管的片选段其显示连续的时间。1.2.2方案选择在本次课题的审题中,我们用了两种方案1)原先我们的思路是把数据采集仪的系统时间提取出来放在显示模块上显示,如果按这样的思路,我们在制作的过程中只需用到8255这块芯片用来驱动数码管显示就行,可是我们在实际的制作过程中遇到了无法解决的困难:在利用DOS系统功能调用(功能号位2AH、2CH)的时候出现了麻烦,在软件调试的时候采用单步调试,当调试的2A号去系统时间时,PC机自动重启,重新试了几次,结果一样,后来经推测,可能是星研环境不支持该功能号调用。2)题目要求:能够自动产生世纪、年、月、日、时、分、秒等时间信息,具有功耗低、精度高、工作稳定可靠、外围接口简单等优点。我们着眼于产生时间的功能上,再次把该题定位于电子钟类型的时钟发生器。重新确定思路,选定器件,经过两个星期的团结合作,基本完成任务。第二章:系统的硬件与软件设计2.1 芯片的功能介绍本设计利用8086系统为主要控制芯片和可编程计数器/定时器8253及可编程外围接口芯片8255A设计数据采集仪的日历时钟接口电路。我们需要用到的电子芯片主要有8086、8255和8253。他们的工作原理和功能如下所述。 2.1.1 8086 与74LS138译码器的链接8086是Inter系列的16位微处理器,芯片上有2.9万个晶体管,采用 HMOS工艺制造,用单一的+5V电源,时钟频率为5MHz10MHz。8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB.8086与74LS138译码器的连接图将8086的READY引脚接+5V选择8086最小工作模式。将74LS138译码器的D0到D7与8086的地址总线相连接。2.1.2 8253芯片 及其在proteus中的连接图实现定时的方法有三种:软件定时、不可编程的硬件定时和可编程的硬件定时。软件定时是通过让机器执行一段没有具体操作目的的程序来实现的。由于CPU执行每条指令都需要一个确定的时间,因此,只要选择适当的指令和安排适当的循环次数就很容易实现软件定时,但软件定时占用CPU资源,降低了CPU的利用率;不可编程的硬件定时尽管定时电路并不很复杂,但这种定时电路在硬件连接好以后,定时值和定时范围不能由程序来控制和改变,使用不灵活;可编程定时器/计数器是为方便计算机系统的设计和应用而研制的,定时值及其范围可以很容易地由软件来控制和改变,能够满足各种不同的定时和计数要求,因此得到了广泛的应用。Intel8253芯片是一种可编程定时器/计数器,它可以利用硬件电路和中断方法控制定时,定时时间和范围完全由软件来确定和改变。在8253芯片内部具有3个独立的16位计数器通道,通过对它进行编程,最高计数频率能达到2MHz。8253还适用于许多其它的场合,如用作可编程方法频率产生器、分频率、程控单脉冲发生器等。在本课程设计中,8253芯片的通道0工作在方式2下,外接1M的时钟频率 ,同时与通道1级联,实现两节分频,通过软件编程使通道1工作在方式3下。 8253初始化编程如下:MOV AL,00010111B ;定时器0方式0 OUT 4EH,AL ;向8253写控制字 MOV AL,255 ;计数初值为1 MOV DX,48H ;计数器0的端口地址 OUT DX,AL2.1.3 8255A芯片 及其在proteus中的连接图8255A是一种通用的可编程并行I/O接口芯片,它是为Intel系列微处理器设计的配套电路,也可用于其它微处理器系统连接。通过8255A芯片,CPU可直接同外设相连接,其负责CPU和外设之间数据传送。通过对它进行编程,芯片可工作于不同的工作方式下。8255A芯片有三种工作方式,在本课程设计中,通过控制字,使其工作在方式0下,通过PA口给数码管送字码,让其显示世世纪、年、月、日、时、分、秒,同时通过PB口给数码管送位码,并不断的扫描8个数码管的片选段,在人眼的分辨率外,看到的是一个连续的显示过程。8255A初始化编程如下: MOV DX,46H ;0100 0110 8255 MOV AL,82H ;1000 0010 A方式0输出B方式0输入C输出 OUT DX,AL ;向8255写控制字2.2 功能模块分析该模块设计思路是将世纪年月日时分秒分别保存至变量,每个数字对应与一个字节,通过8253定时我们在8255的portA0口检测到低电平时调用INCSCD子程序,子程序中我们将更新时分秒的值,使秒加1,然后调用displaytime将时分秒数据转化为十六进制并显示到数码管上。通过开关1可对时间进行复位操作。第三章 课程设计总结:通过这次综合实验,我对微机原理与接口技术有了更深一步的理解,提高了自己的动手能力。在实验过程中,我会遇到各种问题,我觉得除了向老师和同学请教外,我更应该学会自己解决问题。在这次试验中我们学到了理论知识的同时还得到了动手的锻炼,加深了对16位微处理器8086、可编程外围接口芯片8255、可编程计数器/定时器8253的了解。对他们的一些应用也有了一些基本的认识。本次课程设计在制作过程中,我们从审题到确定思路、组员分工,再到设计进程安排、查找资料,最后到着手软硬件调试。我们组员都配合的很好,并在规定时间内按质、按量完成任务。虽然期间我们也遇到许多的困难,但是经过努力都一一解决。通过这次课程设计,加强了我们的动手、思考和分析解决问题的能力。在整个设计过程中,我们按照老师给出的总体方案设计了一套电路原理和电路连接图。通过查阅各方面资料我们编写了程序代码,并通过了调试,最终证实了该系统方案确实可行。在设计过程中,了解了很多元器件的功能,并且对于其在电路中的使用有了更多的认识。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做,难免会遇到过各种各样的问题,同时也在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能够真正掌握理论知识,从而提高自己的实际动手能力和独立思考的能力以及团队合作精神。最后我们在实验中遇到了很多问题如在进制转换上不能做到正确转换、在进位上不能做到正确的进位,还有就是硬件连接不仔细,导致实验无法进行。但是我们通过讨论和向老师请教最终这些问题都克服了。在实验时要能沉得住心,静下来仔细思考,多向老师请教。致谢在此我们真诚的感谢王敬生老师和刘伟老师对本组的悉心指导,在我们遇到困难的时候老师总是耐心的给我们讲解,用他们那渊博的知识、高尚的情操教导我们。在两位老师的帮助下,我们克服了重重困难,并最终完成了对数据采集仪的日历时钟接口电路的设计。在此,谨向王老师、刘老师致以诚挚的谢意和崇高的敬意。在此,我们还要感谢学校为为我们提高良好的实验环境和性能优异的设备,正是因为学校提供软件和硬件的支持才使我们的设计得以展现出来。最后再一次感谢所有在这次设计中曾经帮助过我们的良师益友,以及在设计中被我们引用或参考的论文作者。 参考文献:1微型计算机原理及接口技术吴秀清、周荷琴著中国科技大学出版社2 微型计算机原理及接口技术实验指导书王敬生、刘伟著合肥学院316-32位微型计算机技术及应用清华大学出版社 戴梅萼 史嘉权 编著4汇编语言程序设计南京大学出版社 姚君遗编著5汇编语言程序设计教程清华大学出版社 杨记文编著附录一 硬件连接图附录二 完整程序图DATA SEGMENT LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H X DW ? Y DW ? Z DW ? M DW ? N DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,46H ;0100 0110 8255 MOV AL,82H ;1000 0010 A方式0输出B方式0输入C输出 OUT DX,AL ;向8255写控制字NEXT : MOV X,56 ;记录按键次数 MOV Y,59 MOV Z,23 MOV M,03 MOV N,30 LEA SI,LED MOV AL,00010111B ;定时器0方式0 OUT 4EH,AL ;向8253写控制字 MOV AL,255 ;计数初值为1 MOV DX,48H ;计数器0的端口地址 OUT DX,ALREPEAT0:REPEAT1:CALL CONVER ;显示子程序 MOV DX,42H IN AL,DX ;将PB中的值输入到AL PB的值取决于PB7 CMP AL,0FEH JZ NEXT TEST AL,80H ;判断计数是否结束 TEST 相与但不改变相应的值 JNZ REPEAT1REPEAT2:CALL CONVER MOV DX,42H IN AL,DX CMP AL,7EH JZ NEXT TEST AL,80H JZ REPEAT2 REPEAT3:CALL CONVERIN AL,DX CMP AL ,0DHJZ NEXTTEST AL,80HJZ REPEAT3 INC X ;计数结束,按键次数加1 CMP X,60 JNZ NEXT1 MOV X,0 INC Y NEXT1:CMP Y,60 JNZ NEXT2 MOV Y,0 INC Z NEXT2:CMP Z,24 JNZ NEXT3 MOV Z,0 ADD M , 10NEXT3:CMP M,30JNZ NEXT4MOV M, 0 NEXT4: CALL CONVER ;显示子程序 JMP REPEAT0 ;重新初始化定时器,为下一次按键准备CONVER PROC MOV AX,X MOV CL,10 DIV CL ;按键次数除以10,商是次数的十位,存在AL中,余数是次数的各位,存在AH中 MOV BX,AX ;AH:BH AL:BL MOV AL,08H OUT 44H,AL ;向8255端口C的pc0置1 使显示管1工作MOV BP,BX AND BP,0FFH ;清除余数,保留商 MOV AL,SI+BP ;使显示管显示相应的值 OUT 40H,AL ;将商的值显示 通过PA CALL DELY MOV AL,04H ;0000 0010 OUT 44H,AL ;点亮各位LED 置8255的pc1 为0 XCHG BH,BL ;交换商和余数 MOV BP,BX AND BP,0FFH ;清除商,保留余数 MOV AL,SI+BP OUT 40H,AL ;将余数的值显示 通过 CALL DELY MOV AX,Y MOV CL,10 DIV CL ;按键次数除以10,商是次数的十位,存在AL中,余数是次数的各位,存在AH中 MOV BX,AX ;AH:BH AL:BL MOV AL,02H OUT 44H,AL ;向8255端口C的pc0置1 使显示管1工作MOV BP,BX AND BP,0FFH ;清除余数,保留商 MOV AL,SI+BP ;使显示管显示相应的值 OUT 40H,AL ;将商的值显示 通过PA CALL DELY MOV AL,01H ;0000 0010 OUT 44H,AL ;点亮各位LED 置8255的pc1 为0 XCHG BH,BL ;交换商和余数 MOV BP,BX AND BP,0FFH ;清除商,保留余数 MOV AL,SI+BP OUT 40H,AL ;将余数的值显示 通过 CALL DELY MOV AX,Z MOV CL,10 DIV CL ;按键次数除以10,商是次数的十位,存在AL中,余数是次数的各位,存在AH中 MOV BX,AX ;AH:BH AL:BL MOV AL,80H OUT 44H,AL ;向8255端口C的pc0置1 使显示管1工作MOV BP,BX AND BP,0FFH ;清除余数,保留商 MOV AL,SI+BP ;使显示管显示相应的值 OUT 40H,AL ;将商的值显示 通过PA CALL DELY MOV AL,40H ;0000 0010 OUT 44H,AL ;点亮各位LED 置8255的pc1 为0 XCHG BH,BL ;交换商和余数 MOV BP,BX AND BP,0FFH ;清除商,保留余数 MOV AL,SI+BP OUT 40H,AL ;将余数的值显示 通过 CALL DELYMOV AX,M MOV CL,10 DIV CL ;按键次数除以10,商是次数的十位,存在AL中,余数是次数的各位,存在A

温馨提示

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

评论

0/150

提交评论