微机原理与接口技术5.doc_第1页
微机原理与接口技术5.doc_第2页
微机原理与接口技术5.doc_第3页
微机原理与接口技术5.doc_第4页
微机原理与接口技术5.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

学号 091401149 微型计算机原理与接口技术课 程 设 计( 2009级本科)题 目: 基于PC的分频器设计与实现 系(部)院: 物理与机电工程学院 专 业: 电气工程及其自动化 作者姓名: 曹国虎 指导教师: 张静 职称: 副教授 完成日期: 2012 年 6 月 29 日课程设计任务书学生姓名曹国虎学号091401149专业方向电气工程及其自动化班级09(1)题目名称基于PC的分频器设计与实现一、 设计内容及技术要求:设计一个由八组二进开关控制的分频器 1.能对2MHZ以下的脉冲信号进行分频 2.分频系数由八组二进开关输入二、课程设计说明书撰写要求:1.选用8086/8088CPU和适当的储存储器芯片、接口芯片完成相应的功能。 2.给出程序设计思路、画出各程序适当的流程图。3.用汇编语言编写程序实现应用程序的功能,并添加适当注释。4.画出硬件电路图三、设计进度第一周:星期一上午 讨论设计题目星期一下午 查资料星期二至星期五 完成对硬件电路的基本设计第二周:星期一至星期二 完成软件流程图及软件设计星期三至星期四 软硬件统调,画图,撰写设计说明书星期五 答辩 指导老师签字: 目 录一、设计任务与要求1二、总体方法论证11.题意需求分析12.解决问题的思路及方法1三、硬件设计21.选择芯片8253A22.选择8255芯片33.选择74LS273芯片34.逻辑开关35.硬件总逻辑图及其说明3四、软件设计41.控制程序设计说明42.程序流程图53.控制程序5五、调试61.调试过程62.调试结果6六、总结体会9参考文献10一、设计任务与要求设计一个由八组二进开关控制的分频器设计要求:(1)能对2MHZ以下的脉冲信号进行分频 (2)分频系数由八组二进开关输入二、总体方法论证1.题意需求分析根据本设计给定的内容和要求,可以得出以下结论:本设计中首先需要一个能够分频的器件。所谓分频器,就是能够将输入频率通过器件的作用在输出时变为原来的N分之一。要想能够达到这个目的,我们需要一个能够将数值输入的接口,设计要求中需要的是从二进制逻辑开关;同时要求输出,这同样要求有一个输出接口。这个输入数值是分频器的分频系数。所以本设计中需要至少两个可编程接口芯片。还要有8086的控制和相关软件的支持。2.解决问题的思路及方法硬件部分(1)分频器的作用是将一脉冲信号的周期扩大或缩小,再将其输出,若周期被缩小了N倍,则其频率将被扩大N倍(2)那么怎样实现分频功能呢?我们可以让系统每隔一段相等的时间后输出一负脉冲,即每N个CLK输出一个宽度为一个CLK周期的负脉冲,这样就实现了分频功能。那么,我们用什么方法来实现此功能呢?此时我想到了用定时器芯片,即给定时器芯片赋初值,当初值记为0时,输出一负脉冲,正好起到分频作用。定时器芯片有8253和555芯片,两者都可用于计时和产生矩形波。但区别是8253芯片是可编程的,更重要的是,设计要求我们由逻辑开关任意输入一分频系数,而8253正好符合此条件,故我决定选用8253芯片。555芯片由于不便于输入分频系数,故弃用。(3)本次设计输入设备有逻辑开关和小键盘,小键盘比较直观,可直接输入分频系数,而逻辑开关较小键盘麻烦些,必须先将分频系数化为二进制数,然后再逐个置0或1,没有小键盘方便。但是当做实验的时候,却出现了一个很严重的问题,如果用小键盘的话,8255的接口数量不足以支持本次实验。于是我们只要用逻辑开关来控制输入(4)用什么方法来实现输入输出功能呢?此时,我想到了8255A与8251A芯片,两者都是可编程输入输出接口芯片。但最重要的区别是:8255A为可编程并行接口,具有传输速度快效率高等优点,而8251是串行的,综合考虑,还是用8255A较好。软件部分(1)对8253进行初始化。8253具有分频作用,可将其初始化为方式2或方式3,因为方波有便于观察。通道0用于输入,通道0用于输出。先读低八位,后读高八位。(2)对8255进行初始化。将8255的工作方式设定为方式0,即PA、PB、PC三个端口都能够进行输入输出操作。PA口作为输入口,与逻辑开关相连接收开关数值输入, PB,PC悬空。三、硬件设计1.选择芯片8253A(1) 芯片在本设计中的作用8253具有分频作用,对输入的脉冲进行分频(2) 8253A的功能分析8253A是一种可编程的定时器/计数器芯片,它可用于计数、分频、定时器等的方面。它分频工作的功能:CLK引脚获得初始频率,此时若GATE为高电平,十六位计数初值寄存器中的数据装入计数执行单元CE中,它对CLK脉冲计数,每出现一个CLK脉冲,计数对执行单元CE的值减小。当减为0时,通过OUT输出指示信号,表明计数执行单元已为0。这时OUT输入的信号频率是CLK频率的1/N。这样就达到了分频的目的。8253A有5种工作方式:计数结束中断,可重复触发的单稳态触发器,频率发生器,方波发生器,软件触发选通,硬件触发选通等8253的主要性能为:内有三个独立的16位计数器,工作方式可编程控制,计数脉冲频率为0MHZ-2.6MHZ,可以按二进制或BCD码计数,使用单一+5电源2.选择8255芯片(1)芯片在本次设计中的作用 8255A采用40脚双列直插式封装单一+5V电源,全部输入/输出均与TTL电平兼容,为可编程通用并行接口芯片。它有24条可编程的I/O引脚,与Intel系列微处理器完全兼容,直接的位清0或置1功能,简化了接口控制。(2)8255A的功能分析8255A是一种通用的可编程并行I/O接口芯片,又称“可编程外设接口芯片”。它是为8086/8088而设计的可以通过程序来改变其功能。本设计中8255A设置为方式0,在方式0下,CPU可以采用无条件读/写方式与8255A交换数据。如果把C口的两个部分用作控制和状态口,与外设的控制和状态相连,同时这个数据送给8253A作为其的分频系数。3.选择74LS273芯片74LS273是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。 CPU 的ALE信号必须经过反相器反相之后才能与74LS273的控制端CLK 端相连。74LS273是一种带清除功能的8D触发器, 1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。4.逻辑开关(1) 逻辑电平开关在本设计中的作用逻辑电平开关在本设计中作为输入器件,通过其输入的二进制数值来表示分频系数。它与8255A的PC口相连。(2) 逻辑开关的功能分析逻辑开关可作为数值的输入器件,也可以表示逻辑值。拨上时为+5V,拨下时为0V,分别代表“1”和“0”。 5.硬件总逻辑图及其说明 本设计采用proteus pro 7.8仿真软件进行模拟试验操作全过程,用模拟示波器观察分频效果 图-1分频器的硬件电路图四、软件设计1.控制程序设计说明(1)初始化8255芯片和8253芯片。将8255的PA口与逻辑开关连接,同时8255设置在方式0下工作,将8253的设置在方式2下工作,用计数器0工作,采用八位二进制,通道0为输入,通道1为输出,只读/写计数器的低八位。(2)本次实验中。从实验箱的八位逻辑开关中写入数据,则与8253输出连接的示波器就会显示是否达到分频的目的,根据输入脉冲的频率和想要得到的频率,来改变开关的通断,即所谓的分频系数,便达到了可以根据要求对脉冲进行分频,从而得到想要的新的频率。2.程序流程图 图-2 程序流程图3.控制程序 DATAS SEGMENT ;此处输入数据段代码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV DX,0F006H;8255初始化 MOV AL,90H OUT DX,AL LOOP1:MOV DX,0F000H;送入分频系数 IN AL,DX MOV BL,AL MOV DX,0F106H;8253初始化 MOV AL,54H OUT DX,AL MOV DX,0F102H ;输出显示 MOV AL,BL OUT DX,AL JMP LOOP1CODES ENDS END START五、调试1.调试过程 打开计算机,启动proteus pro 7.8仿真软件,找到自己设计的硬件图,首先检查连线是否正确。然后打开自己的程序、保存、运行,生成可执行.EXE文件。接着双击硬件连线图中的8086cpu导入程序,同时拨动开关,记下数值,点击开始运行,打开示波器,观察图形,从图形上数出分频系数,与刚开始记录的数据进行比较,看是否达到要求2.调试结果通过开关输入一个数,然后通过示波器来观察输出的波形。当设置N=3,7,13,17,22,27时,波形如下。N=3N=7N=13N=17N=22N=27: 从示波器观察的值与在逻辑开关所设置的值完全一致,即达到了设计要求。六、总结体会本设计的上机实验历时两个星期,此外还包括上课做的许多预习工作。由于课程设计涉及的知识比较多,所以我去图书馆查阅了很多有关自己的课题方面的资料。不仅巩固了以前所学的知识,也收获了不少新的的知识。在上机实验的过程中,也体会到了有强大的理论储备是基础,但在实践过程中自己动手操作又是另一回事。本次实验就难的锻炼了我的实际动手能力,把所学到的知识运用到实际生活中,用学到的知识解决实际问题才是我们学习的最终目的,另外一点就是增强了我用汇编语言编写程序的能力。以前学习汇编语言时,学习的很不扎实,直接导致了在实验过程中编写程序很不顺利。出现了诸多错误。好在通过与同学讨论,以及查阅了大量的资料,纠正了错误。使我对汇编语言实现第二次的学习,更深一层的理解并掌握了汇编语言。最后还有提点体会:做实验千万要细心,避免由于粗心造成的错误。如果调试不出理想的结果,千万不能急躁,要从硬件到软件一步步仔细的检查,找到错误并纠正。总之,做实验一定要戒急戒躁,一定要有耐心,要对自己的能力充满信心。参考文献1 冯博琴.微型计算机原理与接口技术M .清华大学出版社.20072 陆红伟. 微机原理实验与课程设计指导书M. 中国电力出版社.2006.3 顾滨. 8086微型计算机组成、原理及接口M. 机械工业出版社. 2001.4 吕淑萍. 微型计算机原理及应用M. 哈尔滨工程大学出版社. 20045 戴梅萼. 微型计算机技术及应用M. 清华大学出版社. 20056 赵欢.微机原理应用及实训M.北京:高等教育出版社.2003.7 贾金玲.微型计算机原理与接口技术课程设计指导.重庆大学出版社.20028 徐爱芸.汇编语言程序设计教程与实验M .清华大学出版社.2007微机原理

温馨提示

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

评论

0/150

提交评论