微机原理课程设计报告--数据采集系统三(中断法).docVIP

微机原理课程设计报告--数据采集系统三(中断法).doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

微机原理课程设计

课设题目:数据采集系统三(中断法)

实验者姓名:

实验者学号:

学院:

数据采集系统三(中断法)

一、实验目得

进一步掌握微机原理知识,了解微机在实时采集过程中得应用,学习、掌握编程与程序调试方法。

二、实验内容

1、用中断法,将ADC0809通道0外接0~5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)得精度,显示其模拟电压得十进值;0809通道0得数字量以线性控制方式送DAC0832输出,当通道0得电压为5V时,0832得OUT为0V,当通道0得电压为0时,0832得OUT为2、5V;此模拟电压再送到ADC0809通道1,转换后得数字量在CRT上以十六进制显示。

2、ADC0809得CLK脉冲,由定时器8254得OUT0提供;ADC0809得EOC信号,用作8259中断请求信号。

3、要有较好得人机对话界面;控制程序得运行。

三、总体设计

1、ADC0809得IN0采集电位器0—5V电压,IN1采集0832输出得模拟量。

2、DAC0832将ADC0809得IN0数字量后重新转换成模拟量输出。

3、8259用于检测ADC0809转换就就是否结束与向CPU发送INTR信号

4、8255为七段LED数码管显示提供显示驱动信息。

5、七段LED数码管显示ADC0809得IN0得值。

6、8254提供ADC0809得采样时钟脉冲。

7、有良好得人—机对话界面。系统运行时,显示主菜单,开始数据采集,在数据采集时,主键盘有键按下,退出返回DOD系统。

四、硬件设计

因采用了PC机与微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上得8255并行口、ADC0809、DAC0832、七段LED数码管单元、8254定时/计数器、74LS574输出接口、电位器等单元电路,就构成了数据采集系统,硬件电原理框图4-3-1所示。

五、软件设计

本设计通过软件编程,实现模/数转换器0809分别对IN00-5V直流电压得采样,与经0832线性控制后输出电压得IN1采样,IN0得值转换成十进制后,在七段数码管上显示;IN1得值在显示器上显示。CPU根据IN0得值,使八位发光二极管根据题目得要求,指示相应得范围。

1、设计思想

数据采集系统分成四个功能模块,分别就就是主程序模块、量纲转换模块、数码管显示模块、中断服务子程序模块。

(1)主程序模块

根据题目要求,采用中断方式实现数据采集,因此可把读取IN0得值并保存,与此数字量经线性控制后送给0832输出,作为0809IN1得模拟电压与IN1得启动、读取以及IN0得BCD码转换,放在中断服务子程序模块中完成。所以,在主程序模块上主要实现启动0809IN0、显示模块得调用、与中断结束部分程序。

键盘扫描模块

设置键盘扫描模块,采用行列反转发,先PC4-PC7输出低电平,然后读入PC0-PC3、再让PC0-PC3输出低电平,读入PC4-PC7、合并扫描值,获得按键值。

(3)量纲转换模块

量纲转换模块在中断服务程序内完成,只要将IN0得数字量分别除以51,商存入显示IN0得个位存储单元;余数乘以十,再除以51,商存入十分位存储单元;余数再乘以十,除以51,若余数大于25,则商加1,小于25则舍去,这样就达到四舍五入得精度,再把商存入百分位存储单元;以供七段数码管显示时调用,BCD码转换模块可参考图10所示得流程图。

(4)数码管显示模块

数码管显示模块比较简单,自编程序可参考实验指导书图1-6所示得流程图,也可参考实验8255并行口中得显示模块,应注意得就就是在显示个位时,要加上小数点得显示,这可以在查表获取个位段码后,再加上80H来实现,注意每一位显示后要适当延迟时间。

(5)中断服务子程序模块

考虑到0832得输出就就是0809IN1得输入,因此,为防止在执行中断服务子程序时,二次进入中断服务子程序,故在进入中断服务子程序后,应关闭中断,而在退出中断前开中断,以便下次中断进入。中断服务子程序模块主要完成对IN0数据得读取与保存,对IN1得启动与读取,对IN0数据得BCD转换等任务。

程序流程图

数据采集三主程序流程图如图4-3-2所示;中断服务子程序如图4-3-3所示。数码管显示子程序流程图如图3-4-7所示,键盘扫描流程图如图4-3-4所示。

Y

Y

N

初始化

显示提示信息

关中断

保存原中断向量表内容

设置新得中断向量表

保存

文档评论(0)

136****5568 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档