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

下载本文档

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

文档简介

微机原理课程设计:简单电子钟设计目 录课程设计任务书i微机原理及应用课程设计成绩评定表iv目 录i中文摘要ii一 设计任务描述11.1设计题目:11.2设计目的11.3设计要求11.4电子时钟2二 概要设计32.1设计内容32.2设计环境与器材32.3电路原理与主要芯片功能32.3.1 电路原理32.3.2 8255主要功能42.3.3 8259主要功能52.3.4 8254主要功能6三 程序接线图及流程图93.1 实验接线图93.2 主程序流程图9四 电子钟设计源程序11五 总结体会15六 致 谢16七 参考文献17中文摘要计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微型计算机原理控制在这种情况下诞生了。截止今日,微型计算机原理控制应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能ic卡、电子宠物等,这些都离不开微型计算机原理控制。 微机控制即微型计算机原理控制。是集cpu ,ram ,rom ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于微型计算机的能实现电子时钟的设计学习,详细介绍了微型计算机原理控制的应用中的数据转换显示,led显示原理,微型计算机控制的定时中断原理。从而达到学习、了解微机原理控制的相关指令在各方面的应用。系统由8254、8255、8259等构成,能实现时钟显示的功能,能进行分、秒的显示。文章后附有电路原理图,电路接线图和程序清单,以供读者参考。因水平有限,难免有疏落不足之处,敬请老师和同学能给与批评指正。关键字:电子时钟、分频、定时中断原理、数据转换、led显示17一 设计任务描述1.1设计题目:简单电子钟设计1.2设计目的通过一个学期对微型计算机原理及应用学习,掌握的知识还停留在理论的上。但是这是一门实践性较强的课程,让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。通过设计实践,培养学生查阅专业资料,工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。通过设计,不但要培养和提高学生解决工程具体问题,动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。具体要求如下:1、中断工作原理,定时计数原理,并行通信原理工作原理。2、掌握8259芯片,8254芯片,8255芯片功能,结构。3、掌握8259芯片,8254芯片,8255芯片的编程。4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。1.3设计要求1、总体内容:设计一电子时钟,能在数码管上显示时间并计时。2、 接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。4、前期完成的实验有:8259a中断控制器实验,8254定时计数器实验,8255并行接口实验。1.4电子时钟电子时钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。传统的设计方法有两种,一是利用组合逻辑电路和时序电路等中小规模集成电路来设计;一是利用单片机编程技术来设计。这两种设计都存在硬件复杂,设计周期长,成本高等缺点。并且本学期通过对微型计算机原理及应用的学习,利用掌握的知识进行实践是必要的,以巩固基础知识,培养独立操作能力。而本次课程设计要实现的功能为:利用定时器从0开始进行计时,将计时的结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小时加1。根据需要,需选择的芯片有8254,8259,8255,系统时钟频率1.041667mhz;二 概要设计2.1设计内容本次课程设计的内容为电子时钟的设计与实现,利用定时器从0开始进行计时,将计时的结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1。根据需要,需选择的芯片有8254,8259,8255,系统时钟频率1.041667mhz;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.2 8255主要功能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.3 8259主要功能中断控制器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.4 ocw1-ocw3 各命令字格2.3.4 8254主要功能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 时,由该读回控制字d1d2 位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如图2.6所示:图2.6 8254状态字格式三 程序接线图及流程图3.1 实验接线图 系统的连线图主要由五个部分构成。8259中断控制器、8255并口控制器、8254定时计数器、键盘及数码管显示单元、开关及led显示单元构成。如下图所示:芯片8254 系统总线 芯片8255 led数码管 d0 pb0d1 pb1d2 pb2d3 pb3d4 pb4d5 pb5d6 pb6d7 pb7wr rd pa0cs pa1a0 pa2a1 pa3xd0xd1xd2xd3xd4xd5xd6xd7iow#ior#ioy3 ioy0xa1xa2clkmir7+5vabcdefghx1x2x3x4d0d1d2d3d4d5d6d7wrrdcsa0a1clk0out0gate0 图3.4 实验接线图3.2 主程序流程图主程序的流程图是对整个程序的逻辑的图象表示。首先是设置8254、8255、8259的各个端口地址。接着初始化各个芯片,开始计时,并通过8259中断控制时间的正确显示。在整个过程中都在检测是否有铵键响应。有则停止,没有则返回继续执行。图3.3系统实现流程图四 电子钟设计源程序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 0 sec db 0 mindb 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, alsti mov 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,3003hbegin: 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,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 start五 总结体会通过近一周的课程设计时间,课程设计的基本目的达到了。另外还有很多其它有益的地方。本系统完成了电子时钟的基本功能。利用8254定时器从0开始进行计时,将计时的结果显示在数码管上。每隔1秒,秒钟个位计时一次;到10秒,秒钟十位计时一次;到60秒,分钟个位计时一次;到10分,分钟十位计时一次。数字变动信息通过8255送数码管显示。期间通过8259中断控制器实现秒到分的转变,准确实现了计时。随着科技的进步电子时钟的实现方法已经很多,由传统的物理实现转变到软件实现,而且起精确程度也大大的提高,且实现方法也越来越简单。在这里是在学完了微型计算机原理及应用进行的课程设计,所以这里是基于微机原理的基础知识来实现电子时钟的,首先应该画出硬件设计图,这个过程是基础,然后是流程图,这个是重点,流程图的完成在很大程度上等于程序的完成,然后是程序的编写。通过辅导老师的指导,同学们的相互帮助,我收获了很多,也通过设计增强了自己动手的能力,同时也对自己所学到的知识作一个肯定。学好这门课程在自己今后的学习和工作中都有很大的作用,对自己以后的帮助也很大.这次课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。而在这次课程设计中,也是对微型计算机原理及应用的复习。同时在设计中使我的编程水平提高了一大步,使我认识到合作的可贵。这次设计涉及到很多芯片的应用,最大特点是软,硬件的结合,对动手能里的要求很

温馨提示

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

评论

0/150

提交评论