微机原理课程设计——-定时器系统.doc

上传人:小飞机 文档编号:4263666 上传时间:2023-04-12 格式:DOC 页数:17 大小:216KB
返回 下载 相关 举报
微机原理课程设计——-定时器系统.doc_第1页
第1页 / 共17页
微机原理课程设计——-定时器系统.doc_第2页
第2页 / 共17页
微机原理课程设计——-定时器系统.doc_第3页
第3页 / 共17页
微机原理课程设计——-定时器系统.doc_第4页
第4页 / 共17页
微机原理课程设计——-定时器系统.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《微机原理课程设计——-定时器系统.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计——-定时器系统.doc(17页珍藏版)》请在三一办公上搜索。

1、微机原理课程设计 定时器系统 微机原理与接口技术 资 料 标 签 2014-2015 年 第一 学期专 业 : 机械设计制造及其自动化 班 级 : 2012级5班 课程设计任务书 2014年 秋 季学期学生姓名学 号2012030526专业方向机械设计班 级5题目名称 定时器系统题目介绍定时器系统设计是基于8253芯片和8086处理器的课程设计一、 课程设计总结报告要求1 进一步熟悉8086芯片的知识。2 学习和掌握扩展接口8255、8253芯片的结构及编程方法。3 培养学生独立分析的解决的工作能力及实际工程设计的基本技能。二、设计进度第15周周二初步设计阶段(查文献)对原始资料进行分析周三拟

2、定初步方案周四硬件电路图设计,软件程序设计周五硬件图与软件程序联机调试并验证第16周周一撰写设计报告 周二提交设计报告 指导教师签字: 目录一、 概述1二、 报告内容12.1 课设题目12.2 课设目的、内容12.3设计思路及原因21)8253的功能:22)8253的引线:23)8253 内部结构:34)8253初始化的要求:62.4 电路设计及功能说明,硬件电路图(包括接口芯片简介)72.5 软件部分的程序流程图72.6 汇编源程序清单,对关键的语句要给出简洁的注释8三、 设计总结及体会10四、 参考书目11一、 概述 微机原理和接口技术是一门实践性强的学科,其中很多的原量、规则、现象等仅仅

3、靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。主要特点:微结微机原理和接口技术教材的重点内容编写,涵盖课程的主要知识点,具有通用性,适合开设计课程的不同学校采用。对课程设计的原理有比较详细的描述,课程设计的步骤循序渐进,便于学生独立完成课程设计。实例丰富,既有小型的适合一个学生独立完成的项目,也有比较大型的适合团队完成的项目,不仅可以培养学生的动手能力,也有助于培养学生的团

4、队意识。对于抽象的概念和工作原理,老师要精心设计课堂教学,使晦涩难懂的知识变得浅显易懂 课堂教学是使学生获得知识最有效最快捷的方式。在教学过程中,真正做到“以学生为本”,提高课堂效率,我的体会是精心的进行合理、有效的课堂教学设计。合理、有效的课堂教学设计可以在最短的时间得到最好的教学效果。比如,本课程的教学安排中,先讲cpu内部寄存器后讲存储器分段,讲cpu内部寄存器时就要涉及到存储器分段,这样一来知识点前后交叉多,学生听不明白,老师也会觉得讲不清楚。换种思路,重新调整一下次序,先介绍存储器分段,讲清楚四种段、段地址和偏移地址以及物理地址的形成,再介绍cpu内部寄存器,4个段寄存器分别存放4个

5、段的段地址,地址指针寄存器和指令指针寄存器用来存放偏移地址,这样讲符合学生接受知识的规律,用时较少而且教学效果好。 二、 报告内容2.1 课设题目: 利用8253芯片设计定时器2.2 课设目的、内容: 进一步熟悉8086芯片的知识。 学习和掌握扩展接口8255、8253芯片的结构及编程方法。 培养学生独立分析的解决的工作能力及实际工程设计的基本技能。 培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。 通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。 同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方

6、法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。2.3设计思路及原因:I ntel 系列的 8253 是常用的可编程定时/计数器,它通过编程来控制电路的定时值 及定时的范围,功能强,使用灵活。在计算机系统中,定时中断、定时检测、定 时扫描等等都是用可编程定时器来完成定时控制的。1)8253的功能:1. 延时终端;2. 可编程频率发生器;3. 事件计数器;4. 倍频器;5. 实时时钟;6. 数字单稳;7. 复杂的电机控制器;2)8253的引线:CLK:输入时钟周期不能小于380ns.GATE:门控信号输入引脚,这是控制计数器工作的一个外部信号。当GATE引脚为低(无效)时,通常都是

7、禁止计数器工作;只有当GATE为高时,才允许计数器工作。OUT:输出引脚。当计数到“0”时,OUT引线上必然有输出,输出信号的波形取决于工作方式。8253的编程:微处理器写入方式控制字,设定工作方式;微处理器写入预置寄存器,设定计数初值。3)8253 内部结构:图 1 8253 内部结构图 Intel 8253PIT,即可编程间隔计数器有 3 个独立的 16 位计数器每个计数 器都可以按照二进制或者 BCD 码进行计数,计数速率可达 2MHz,每个计数器 有 6 种工作方式,可编程设置和改变。Intel8253 可以广泛应用在方波发生器、分频器、实时时钟、事件计数等方面。 8253 内部有三个

8、计数器,分别成为计数器 0、计数器 1 和计数器 2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制 字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟 输入端 CLK,一个为门控信号输入端 GATE,另一个为输出端 OUT。每个计数 还有一个 16 位的计数初值寄存器 CR、 一个计 器内部有一个 8 位的控制寄存器, 数执行部件 CE 和一个输出锁存器 OL。 执行部件实际上是一个 16 位的减法计数 器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。 输出锁存器的值是通过程序设置的。输出锁存器 OL 用来锁存计数执行部件

9、 CE 的内容,从而使 CPU 可以对此进行读操作。顺便提一下,CR、CE 和 OL 都是 1 6 位寄存器,但是也可以作 8 位寄存器来用。SC1,SC0计数通道选择位。由于8253内部3个计数通道各有一个8位的控制字寄存器,而这三个控制字寄存器 共享同一个控制端口地址,所以控制字中设置SC1,SC0这两位来确定CPU当前发出的控制字是写入哪个计数通道的控制字寄存器中。具体选择如图.RL1,RL0读/写操作方式位。这两位用来确定对选中的计数通道进行读/写操作方式。当CPU对8253进行16位读/写操作时,可以只读/写高8位或只读/写低8位,也可以读/写16位。读/写16位时,先读/写低8位,

10、后读/写高8 位,具体是哪种操作方式由RL1,RL0这两位的编码确定。由于8253的数据线只有(D7D0),一次只能传送8位数据,故传送16位数据时,要分两次进行。M2,M1,M0工作方式择位。8253的每个计数通道有6种不同的工作方式,即方式0到方式5,M2M1M0这三类就是用来选择具体的工作方式,具体选择如图。BCD计数方式选择位。8253的每个计数通道有两种计数方式按二进制计数或按十进制(BCD码)计数。BCD位用来具体确定采用哪种计数方式。例:若选择计数器1,工作在方式3,计数初值为588H(2个字节)采用二进制计数,则其控制字为:01110110=76H,设控制口地址为043H,则将

11、该控制字写入控制字寄存器的指令如下:MOVAL076HOUT 043H,AL8253有以下几种工作方式:方式0:计数结束则中断 方式1:单脉冲发生器 即可编程单脉冲发生器 方式2:速率波发生器 方式3:方波发生器方式4:软件触发方式计数方式5:硬件触发方式计数方式0:计数结束中断,GATE保持高电平,输出NxT的低电平,后变为高电平并保持不变。计数中如果GATE突然变成低电平,然后变回高电平,则延长低电平输出时间,延长时间为GATE变为低电平的时间。方式1:可编程单个触发信号。与方式0一样,只是GATE是上升沿触发。计数期间如果GATE变为低电平再变高电平,则重新开始计数。方式2:速率发生器。

12、GATE保持高电平。输出(N-1)xT的高电平,之后输出一个T的低电平。方式3:方波发生器。如果N为偶数,输出占空比50%,周期NxT的方波,如果N为计数,输出的方波中高电平为(N+1)/2xT,低电平为(N-1)/2xT。方式4:软件触发选通。如同方式2,只是只计数一个周期,即输出(N-1)xT的高电平和1xT的低电平之后保持高电平不变。方式5: 硬件触发选通。如同方式4,GATE改为上升沿触发。CLK输入的是你想要处理的信号,8253一般用作分频,即把你想处理的信号频率降低,CLK输入的信号的周期T影响输出信号的周期。如上述。 GATE信号用于触发计数器工作。软件触发类可以设置GATE恒为

13、高电平。硬件触发时可以将GATE接在别的信号上,当该控制信号发出一个上升沿,则开始计数。8253用作计数器时,一般工作在方式0!使用8253,要先通过程序对其进行初始化。在初始化时主要掌握以下三点: (1)对各个计数器分别进行初始化,顺序无要求。(2)对某个计数器进行初始化:先写控制字,再送计数初值;如送16位初值,则需先送低8位,再送高8位。(3)预置的初值需经过一个输入脉冲(CLK)的上升沿和下降沿之后才可装入计数器(此前读计数器,并非所设置的值)。8253的初始化编程: 8253的初始化编程内容:一是首先向控制寄存器写入控制字,以选定计数通道(三个中之一),规定该计数的工作方式和计数方式

14、以及计数初值的长度和装入顺序(初值写入方式);二是向已选定的计数器按控制字的要求 写入计数初值。4)8253初始化的要求:(1)对每个计数器,控制字必须写在计数值之前。这是因为计数器的读/写格式由它的控制字决定。(2)计数值必须按控制字所规定的格式写入。若控制字规定只写8位,只需写入一次(8位)计数值即可(规定写低8位则高8位自动置0,规定写高8位则低8位自动置0);规定写16位时必须写两次,先写低8位,后写高8位。当 初值为0时,也要分两写入,因在二进制计数时,“0”表示65336,在BCD码计数时“0”表示10000=104。(3)对所有方式计数器都可以在计数过程中或计数结束后改变计数值,

15、重写计数值也必须遵守控制字所规定的格式,并且不会改变当前计数器的工作方式。(4)计数值不能直接写到减1计数器中,而只能写入计数值寄存器中,并由写操作之后的下一个CLK脉冲将计数值寄存器的内容装入减1计数器开始计数。(5)初始化编程必须明确各个计数器的控制字和计数值不是写到同一个地址单元。各个计数器的控制字各自独立确定,但它们都写入同一个端口地址(控制字寄存器)中,各个计数器的计数值则根据需要独立确定并写入各自 计数器的相应寄存器中。计数器初值(定时)=要求定时时间时钟脉冲的周期 控制字写入8253时,所有的控制逻辑电路立即复位,输出端OUT进入初态计数器初值写入以后,要经过一个时钟周期,计数器

16、才开始工作,下降沿使计数器进行减1计数,计数器容纳的最大初值为“0”计数器初值(定时)=要求定时时间时钟脉冲的周期时钟脉冲的上升沿采样门控信号2.4 电路设计及功能说明,硬件电路图(包括接口芯片简介): 按图6虚线连接电路,将计数器0设置为方式0,计数器初值为N(N0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。2.5 软件部分的程序流程图开始设计数器0为工作方式0送计数器初值读计数器值显示计数值有键按下吗?结束8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ2.

17、6 汇编源程序清单,对关键的语句要给出简洁的注释:CODE SEGMENT ;段定义开始(CODE段) ASSUME CS:CODE ;规定CODE为代码段START:MOV AL,10H ;设置控制字00010000(计数器0,方式0,写两个字节,二进制计数) MOV DX,283H ;把控制寄存器地址放在DX寄存器中 OUT DX,AL ;将AL的值送入DX端口 MOV DX,280H ;把计数器0地址放在DX寄存器中 MOV AL,0FH ;将0FH存入AL寄存器 OUT DX,AL ;将此时AL的值送入DX端口LP1: IN AL,DX ;从DX端口读入8位,放在AL寄存器中 CALL

18、 DISP ;调用DISP PUSH DX ;将DX内容保存到堆栈段 MOV AH,06H ;将06H存入AH,为了下句调用21中断 MOV DL,0FFH ;将0FFH存入DL INT 21H ;调用21中断 POP DX ;将DX的内容推出栈段 JZ LP1 ;如果DX的内容是0,就跳转到LP1 MOV AH,4CH ;将4CH存入AH,为了下句调用21中断 INT 21H ;调用21中断DISP PROC NEAR ;定义一个名为DISP的子程序 PUSH DX ;把DX的内容保存到堆栈段中 AND AL,0FH ;将AL寄存器的内容与0FH进行“与”运算,再把结果存入AL中 MOV D

19、L,AL ;将AL的值送入DL寄存器 CMP DL,9 ;比较DL中的值与9的大小 JLE NUM ;如果DL的值小于或等于9时,则跳转到NUM ADD DL,7 ;将DL的值与7进行相加后,再送入DL中NUM: ADD DL,30H ;将DL的值与30H进行相加后,再送入DL中 MOV AH,02H ;将02H存入AH INT 21H ;调用DOS21中断 MOV DL,0DH ;结合“MOV AH,02H”就是说输出0DH INT 21H ;调用中断指令 MOV DL,0AH ;结合“MOV AH,02H”就是说输出0AH INT 21H ;调用DOS21中断 POP DX ;将DX的内容

20、推出栈段 RET ;子程序在功能完成后返回调用程序继续执行 DISP ENDP ;子程序结束 CODE ENDS ;代码段结束 END START ;程序结束三、 设计总结及体会 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的 那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中

21、碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 上机实验由指令系统与汇编语言程序设计两部分组成。从简单指令入手,熟悉和掌握 8086 的指令系统和 8253的系统功能调用;从程序基本结构入深,从给出程序和补充完整程序进行调试到自编程序上机调试通过,逐步掌握编程调试方法。硬件实验由常用可编程接口芯片应用 (基础性实验)和多片可编程综合应用(提高性实验)两部分组成,包括设计性为主的实验和研究探索性为主验。通过完成可编程芯片硬件连线与芯片的初始化编

22、程和应用程序的设计,使学生用微机接口常用外围芯片的方法,培养学生使用常用可编程接口芯片并结合数字术进行 I/O 接口设计的能力。首先,高职教育的培养目标是培养重点面向基层的中高级工程技术人才,因此,加强实践教学,具有重要意义。其次,本门课程的实践性和应用性非常强,对于大多学生来说,许多知识只有通过实践教学才能真正的理解,这就要求我们必须重视实践教学的作用,改进教学内容,把实践课教学放到和理论教学同等重要的位置。高职学生综合运用知识的能力较差,所以实验基本上以验证性的实验为主,学生只需输入现成的程序,连接较少的导线,客观上为缺乏自觉性的学生提供了偷懒的机会,结果实验虽然做了,学生却没有多少收获,

23、所以指导教师的要求往往不能得到很好的落实。针对验证性实验许多学生完成以后不愿深入思考和理解的现象,教师根据实验情况,设计实验思考题,这些实验思考题需要仔细思考对实验程序和连接线作出修改后才能得到实验结果,从而引导学生去思考完成。通过这样的做法,在以后的实验和实训中逐步培养学生的分析能力、综合运用知识的能力。近些年来,学校每年要组织学生参加大学生挑战杯竞赛,竞赛的许多题目涉及到微机应用系统设计,学生通过参加竞赛的培训和参赛,能深入理解微机原理与接口技术的知识,并能将其运用到实际中去。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步

24、的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知

25、识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!四、 参考书目1. 微机原理与接口技术(复习与考试指导)2. 戴梅萼等. 微型计算机技术及应用.北京:清华大学出版社,20033. 王成耀等. 汇编语言程序设计.北京:机械工业出版社,2004 微机原理与接口技术课程设计成绩评定表姓 名耿杨飞学 号2012030526专业班级机械制造设计及其自动化2012级5班课程设计题目:定时器的设计课程设计记录:成绩评定依据:评 定 项 目评 分 成 绩1.选题合理、目的明确(10分)2.设计方案可行性、创新性(20分)3.设计结果(系统原理图、源程序、调试运行结果)(30分)4.平时成绩(态度认真、遵守纪律)(10分)5.设计报告的规范性、参考文献充分(不少于5篇)(10分)6.答辩(20分)总 分最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日2.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号