微机原理课程设计总结

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理课程设计

数据采集系统(中断法)

·

一、;

:进一步掌握微机原理知识,了解微机在实时采集数二、课设目的

据的应用,学习掌握编程和程序调试的方法。

三、课设内容和要求:用中断法将ADC0809通道0外接0—5V电压,

转换成数字量后,在七段数码管LED上显示。以小数点后两位

表示精度,显示模拟电压的十进制;0809通道0的数字量以线

性控制方式DAC0832输出,当通道0的电压为5V时,0832的

OUT为0V当通道0的电压为0时,0832的OUT为;此模拟电

压再送到ADC0809通道1,转换后的数字量在CRT上以十六进

制显示。ADC0809的采样脉冲CLK由定时器8254的OUT0提供;

ADC0809的EOC信号用作8259中断请求信号。

四、总体设计:

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的采样时钟脉冲。

四、硬件设计:因采用PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口,ADC0809,DAC0832,七段数码管LED,8254定时/计数器,74LS574输出接口,电位器等单

(图1:数据采集系统硬件连接示意图)

六、软件设计:本设计通过软件编程,实现模/数转换,0809分别对IN0 0—5V直流电压的采样和经线性控制后输出电压IN1采样,IN0的

值转换成十进制后,在七段数码管LED上显示IN1的值。CPU根据IN0的值,使八位二极管根据课设要求指示相应的范围。

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

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

(2)量纲转换模块:量纲转换模块在中断服务子程序内完成,只有将IN0的数字量分别除以51,商存在显示IN0的个位存储单元;余数乘以十,再除以51,商存入十分位存储单元;余数再乘以十,除以51,若余数大于25则商加一,小于25则舍去。这样就实现了四舍五入的精度,再把商存入百分位存储单元;以供七段数码管显示调用。

(3)数码管显示模块:数码管显示模块相对简单,主要在显示个位是加上小数点的显示,可以通过查表获取个位断码后再加上80H 来实现

(

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

任务。

2、参考流程:中断子程序和主程序流程图

图2:中断服务子程序流程图

- 图3 数据采集系统主程序流程图

;微机原理课设

CRLF MACRO ;宏定义回车,换行

MOV DL,0DH

MOV AH,02H

INT 21H

MOV DL,0AH

INT 21H

ENDM

Y0 EQU 3000H

Y1 EQU 3020H

Y2 EQU 3040H

Y3 EQU 3060H

Y7 EQU 30E0H

PA55 EQU Y1+00H*4 ;8255A口地址

PB55 EQU Y1+01H*4 ;8255B口地址

PCTL EQU Y1+03H*4 ;8255控制寄存器地址

AD0 EQU Y0 ;ADC0809端口IN0地址

AD1 EQU Y0+10H ;ADC0809端口IN1地址

INTR_IVADD EQU 01C8H ;INTR 对应的中断矢量地址

INTR_OCW1 EQU 0A1H

;INTR对应PC机内部8259的OCW1地址

INTR_OCW2 EQU 0A0H

;INTR对应PC机内部8259的OCW2地址

INTR_IM EQU 0FEH

;INTR对应的中断屏蔽字

MY8259_ICW1 EQU Y7+00H ;实验系统中8259的ICW1端口地址

MY8259_ICW2 EQU Y7+04H ;实验系统中8259的ICW2端口地址

MY8259_ICW3 EQU Y7+04H ;实验系统中8259的ICW3端口地址

MY8259_ICW4 EQU Y7+04H ;实验系统中8259的ICW4端口地址

MY8259_OCW1 EQU Y7+04H ;实验系统中8259的OCW1端口地址

MY8259_OCW2 EQU Y7+00H ;实验系统中8259的OCW2端口地址

MY8259_OCW3 EQU Y7+00H ;实验系统中8259的OCW3端口地址

TIMER0 EQU 3060H ;Y3+00H*4 8254计数器0端口地址

TCTL EQU 306CH ;Y3+03H*4 8254控制字端口地址

DATA SEGMENT

MES0 DB ' SIGNAL GATHERING PRORGRAM',0DH,0AH,0DH,0AH

DB

'##################################### ######',0DH,0AH,0DH,0AH

DB ' PRESS 1 TO START GATHERING !',0DH,0AH,0DH,0AH

DB ' PRESS 2 TO EXIT TO DOS !',0DH,0AH,0DH,0AH

DB

'##################################### ######',0DH,0AH,0DH,0AH,'$'

MES1 DB 'The value of IN1 is: $' CS_BAK DW

IP_BAK DW

IM_BAK DB

FLAG DB

GW DB ;保存个位

SF DB ;保存十分位

BF DB ;保存百分位

IN0 D B

IN1 DB

相关文档
最新文档