微机系统综合课程设计占空比的测量_第1页
微机系统综合课程设计占空比的测量_第2页
微机系统综合课程设计占空比的测量_第3页
微机系统综合课程设计占空比的测量_第4页
微机系统综合课程设计占空比的测量_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、沈阳航空航天大学课课 程程 设设 计计 报报 告告课程设计名称:微机系统综合课程设计微机系统综合课程设计课程设计题目:占空比的测量占空比的测量院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名:指导教师: 完成日期:2011年7月15日沈阳航空航天大学课程设计报告 2目目 录录第第 1 章章 总体设计方案总体设计方案.31.1课程设计的内容和要求.31.2课程设计原理.31.3 课程设计思路.3第第 2 章章 详细设计方案详细设计方案.42.1模块设计.42.2程序流程图.52.3 硬件连线图.7第第 3 章章 调试及结果分析调试及结果分析.83.1 调试步骤及方法.83.2

2、实验结果.8参考文献参考文献.9附附 录(源程序)录(源程序).10沈阳航空航天大学课程设计报告 3第 1 章 总体设计方案1.1课程设计的内容和要求课程设计的内容和要求一、课程设计内容:具体内容如下:1. 用 8255 和 8253 产生脉宽可调的脉冲信号;2. 把脉冲信号接到 8255 的一个引脚,检测这个引脚高、低电平持续时间,计算出占空比;3. 将测试结果用数码管显示出来。二、课程设计要求:1. 认真查阅相关资料;2. 独立设计、调试并通过指导教师现场验收;3. 撰写课程设计报告。1.2课程设计原理课程设计原理根据题目要求,要实现脉宽可调的脉冲信号的占空比的测量与显示功能,本次设计中主

3、要使用了 8255 可编程并行接口芯片,8279 键盘/显示芯片,8253定时/计数器以及部分连线来实现以上功能。利用 8253 芯片产生一定频率的脉冲信号,并把该信号接到 8255 芯片的一个引脚,用程序查询方式,检测该引脚上高、低电平的持续时间,并以此结果计算出占空比。最后,应用 8279 芯片将结果显示到数码管上。1.3 课程设计思路课程设计思路 根据本次课程设计要求,用 8253 芯片产生脉宽可调的脉冲信号,并把该脉冲信号接到 8255 的一个引脚(pb0) ,运用程序查询方式循环检测这个引脚高、低电平持续时间,并分别存到 bx,cx 寄存器中。再将 bx 中的数与 cx 中的数求和,

4、得到的结果存到 cx 中。然后,将 bx 中的数扩大 100 倍,再除以 cx中的值,以此来计算出被扩大 100 倍后的占空比;接下来就是显示正确的占空比,将前面的到的准占空比除以 10,再将 ah 中的结果存到 ch 中,将 al 中的结果存到 cl 中,最后,由 8279 芯片将最终结果显示到数码管上。沈阳航空航天大学课程设计报告 4第 2 章 详细设计方案2.1模块设计模块设计1. 数据结构部分:用 bx 寄存器存储脉冲信号的高电平的持续时间,用 cx 寄存器存储脉冲信号的低电平的持续时间。在内存中开辟了一个字节空间 disbuf,用来存放每种模式所要显示的结果在 tab 表中的编码,在

5、中断服务程序中通过按照这个空间中的 8 个编码查表显示数码管上所要显示的结果。2. 主模块:在主程序中,主要实现各个芯片的初始化,将 8253 芯片的计数器 0 设置为工作方式 2,低 8 位读写,二进制计数方式,使其输出方波,再将该方波作为计时器 1 的输入信号,并设置计数器 1 设置为工作方式 2,低 8 位读写,十进制计数方式,使计数器 1 产生低频率符合要求的脉冲信号;3. 数据采集模块:采用程序查询方式,循环检测 8255 芯片 pb0 引脚的状态。当该引脚为高电平时开始计数,并保存到 bx 寄存器中,当该引脚为低电平时,停止用 bx 计数,改用 cx 寄存器计数。4. 计算占空比模

6、块:将 bx 中的数与 cx 中的数求和,得到的结果存到 cx 中。然后,将 bx 中的数乘以 100,再除以 cx 中的值,以此来计算出被扩大 100 倍后的占空比;接下来就是显示正确的占空比,将前面的到的准占空比除以 10,再将 ah 中的结果存到 ch 中,将 al 中的结果存到 cl 中。5. 显示模块:根据 ch、cl 中的值,由 8279 芯片查表后将对应的数据显示到数码管上,以得到最后的正确结果。沈阳航空航天大学课程设计报告 52.2程序流程图程序流程图本次设计的主流程图如图 2.2.1 所示;采集数据模块流程图如图 2.2.2 所示;计算占空比模块流程图如图 2.2.3 所示;

7、显示占空比模块流程图如图 2.2.4 所示。开始初始化8253初始化8255计算占空比结束显示占空比采集数据 图 2.2.1 占空比测量的主流程图沈阳航空航天大学课程设计报告 6 pb0高电平读入b口状态bl寄存器中的数据加1是将bx,cx寄存器清零cl寄存器中的数据加1 否pb0低电平读入b口状态是结束否开始开始dx寄存器清零计算脉冲信号总时间,存到cx寄存器中将bx寄存器中记录的高电平持续时间乘100将结果除以cx中的值结束再将结果除以10将结果的个位存到ch寄存器中将结果的十位存到cl寄存器中图 2.2.2 数据采集模块流程图 图 2.2.3 计算占空比模块流程图开始push cspop

8、 ds将ch中的值赋给al查表显示结果的个位将cl中的值赋给al查表显示结果的十位查表显示零及小数点结束图 2.2.4 显示模块流程图沈阳航空航天大学课程设计报告 72.3 硬件连线图硬件连线图本次设计用到三个芯片,分别是 8255 可编程并行接口芯片,8279 键盘/显示芯片,8253 定时/计数器。其中 8255 芯片的 a、b、c 端口及控制端口的地址为分别为 200h,201h,202h,203h;键盘/显示芯片 8279 的数据端口地址为210h,控制端口地址为 212h;定时/计数器芯片 8253 的端口地址为 228-22bh。具体连接情况如图 2.2 所示。图图 2.2 硬件连

9、线图硬件连线图 沈阳航空航天大学课程设计报告 8第 3 章 调试及结果分析3.1 调试步骤及方法调试步骤及方法开始调试时,每次得到的结果都不相同,正确结果无法稳定显示。于是,进行单步调试,通过查看各个寄存器中的值,来验证各模块是否正常运行。结果发现,在数据采集模块中,每次采集的数据都不同,说明每次采集数据时产生了较大的误差,经过思考发现,问题出在计数器产生的脉冲信号频率过快,使得程序还没来得及对数据进行采集时就被错过了,引起错读或漏读数据,才造成了每次采集的数据都不同的情况。之后,修改程序,再用一个计数器对脉冲信号进行分频,进一步降低脉冲信号频率,尽量避免因频率过快而造成的错读或漏读现象,使得

10、采集到的数据更加准确。修改后,再次测试,则可以得到稳定而且正确的结果,误差很小。每次只需修改计数器 1 的初值,就可以得到脉宽不同的脉冲信号,通过本程序,便可测得各个脉冲信号的占空比,并显示在数码管上。3.2 实验结果实验结果本设计已经基本满足任务书的要求。现将结果简单介绍如下:1. 当将计数器 1 的初值赋为 2,即产生二分频的脉冲信号时,数码管显示结果为 0.50;2. 当将计数器 1 的初值赋为 3,即产生三分频的脉冲信号时,数码管显示结果为 0.66;3. 当将计数器 1 的初值赋为 4,即产生四分频的脉冲信号时,数码管显示结果为 0.75;4. 当将计数器 1 的初值赋为 5,即产生

11、五分频的脉冲信号时,数码管显示结果为 0.78;沈阳航空航天大学课程设计报告 9参考文献1 龚尚福.微机原理与接口技术m.西安:西安电子科技大学出版社,20032 王忠民.微型计算机原理m. 西安:西安电子科技大学出版社,20033 沈美明,温冬婵 ibm-pc 汇编语言程序设计m.北京:清华大学出版社2001沈阳航空航天大学课程设计报告 10附 录(源程序)tim_ctlequ 22bhtimer0equ 228htimer1equ 229hpc8255 equ 203hpc8255cequ 202hpc8255b equ 201hz8279equ 212hd8279 equ 210hled

12、modequ 00h ;左边输入,八位显示外部译码八位显示data segmentdata endscode segmentassumecs:code,ds:datastart: mov dx,tim_ctl mov al,00010110b ;计数器 0,低 8 位读写,工作方式 2,二进制 outdx,al mov al,00000101b mov dx,timer0 outdx,al mov dx,tim_ctl mov al,01010101b ;计数器 1,低 8 位读写,工作方式 2,十进制 outdx,al mov al,3 mov dx,timer1 outdx,al mov

13、dx,pc8255 mov al,10000010b ;a 方式 0,输出 b 方式 0,输入 c 输出 outdx,al mov dx,pc8255b mov bx,0 mov cx,0 t: in al,dx andal,1 jz tt1: incbl沈阳航空航天大学课程设计报告 11 inal,dx andal,1 jnzt1t2: inccl inal,dx andal,1 jz t2 mov dx,0 addcl,bl mov ax,100 mul bx divcx mov cl,10 divcl mov ch,ah ;个位 mov cl,al ;十位 push cspop ds m

14、ov dx,z8279moval,ledmodout dx,al mov al,chleabx,ledxlat mov dx,d8279 outdx,al ;显示个位 mov al,cl leabx,ledxlat mov dx,d8279 outdx,al ;显示十位 mov al,10111111b mov dx,d8279out dx,al ;显示小数点led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h db 5eh,79h,71h 沈阳航空航天大学课程设计报告 12code endsend start 课程设计总结:课程

15、设计总结:通过本次课程设计,我对微机原理的理论知识有了更加深刻的理解,增强了动手能力。对所学的各芯片,尤其是 8253,8255, 8279 这三个芯片的结构、功能和使用方法有了更加清晰的认识,也能更加熟练地运用汇编语言编写一些稍复杂些的程序。通过编写和调试程序,我也进一步熟悉了所用的编程环境lct88ea 应用软件和 aedk 实验箱的功能和使用方法。为以后进一步学习微机原理、汇编语言和硬件相关知识打下了很好的基础。通过这次课程设计,我发现了我在以前学习中的缺点和不足,比如对芯片的相关命令和使用方法还不够熟练;在编程中,汇编语言的使用不如 c 语言那样的得心应手,编写的程序也不是很高效和完美;调试时,对软件和硬件的使用还不熟练。由于开始考虑不周全,造成每次执行

温馨提示

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

评论

0/150

提交评论