1、 微机原理课程设计微机原理课程设计 数据采集系统(查询法)数据采集系统(查询法) 一、课设目的 进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌 握编程和程序调试方法。 二、课设内容 用查询法,将 ADC 0809 通道 0 外接 05V 电压,转换成数字量后,在七段 LED 数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值; 0809道 0 的数字量以线性控制方式送 DAC0832 输出,当通道 O 的电压为 5V 时,0832 的 OUT 为 0v,当通道 O 的电压为 0 时,0832 的 OUT 为 25V;此模 拟电压再送到 ADC0809 通道 1
2、,转换后的数字量在 CRT 上以十六进制显示;通 道 0 的数字量经 74LS574 输出到八位 LED 上, 且以一定的要求, 点亮 LED 指示 灯。调整电位器,用示波器或三用表观察 0832 的变化,观察七段 LED 数码管数 值的变化,观察 LED 灯的变化, ADC 0809 的 CLK 脉冲,由定时器 8254 的 OUT0 提供;ADC 0809 的 EOC 信号, 用8255的PC0检测; 74LS574外接的LED灯变化如下: 若电压值小于0 5V, 则最低位(DO)LED 灯亮,若电压值大于 45V,则最高位 LED 灯亮,若电压 值在 05V45V,则八位 LED 灯由低
3、向高变化亮,且高位 LED 灯亮时低位 灯全亮。 要有较好的人机对话界面;控制程序的运行。 三、硬件设计 1、电原理框图 见附件 1 2、电原理框图工作过程的简要说明 (1) 、ADC 0809 的 INO 采集电位器 05V 电压,INl采集 0832 输出的模拟量。 (2) 、DAC 0832 将 ADC 0809 的 INO 数字量后重新转换成模拟量输出。 (3) 、8255 用于检测 ADC 0809 转换是否,为七段 LED 数码管显示提供显示驱 动信息。 (4) 、七段 LED 数码管显示 ADC 0809 的 INO 的值。 (5) 、74LS574 驱动八位发光二极管,使它们按
4、要求点亮:来指示当前采样值的 范围。 (6) 、8254 提供 ADC 0809 的采样时钟脉冲。 (7) 、74LSl38 译码器为各芯片提供地址信息。 四、软件设计 首先进行程序初始化显示提示信息,判断是否有键按下,按下 1 则继续往下 执行,按下 2 则退出。首先对 8254 进行初始化选择工作方式及赋初值,然后启 动 0809 的 IN0,接着初始化 8255,并检测 PA7 的状态检测转换是否,否继续检测 直至 EOC 为 1,然后读采样值并保存,将其经线性转换后送 0832,启动 0809 的 IN1, 然后重新对 8255 初始化及检测 PA7 的 EOC 状态端口, 直至为 1
5、, 读 IN1 的采样值并保存,将读出值经线性转换后送往 CRT 显示,然后将保存的 INO 采 样值进行量纲转换,调用数码显示子程序。然后对保存的 IN0 采样值进行比较, 若小于 0.48V,74574 只驱动最低位,最低位亮,若大于 4.49 则只有最高位亮, 在中间值依次点亮一位,如大于 0.48V 小于 1.15V 则最低两位亮,在 1.15V 至 1.82V 间低三位亮,在 1.82 至 2.48 间低三位亮等。在 0.48 和 4.49 间选择六个值 依次控制选择点亮 LED 灯.最后判断主键盘是否有键按下,有结束,无重新回到 启动 0809 的 IN0 程序段。最后列写数码管显
6、示的子程序、CRT 显示子程序、延 时子程序。 1、主程序流图 见附录 2 2、程序 DA TA SEGMENT MES1 DB PRESS 1 TO BEGIN!,0DH,0AH DB PRESS 2 TO QUIT!,0DH,0AH,0DH,0AH,$ MES2 DB IN1 DA TA= ,$ MES3 DB 0DH,0AH,$ K0 DB ? K1 DB ? S DB 3 DUP(?) DCTBL1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3EH DCTBL2 DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0DFH S1 DB 01H S2 DB 80H DA TA ENDS STACK1 SEGMENT PARA STACK STACK DB 256 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DA TA MOV DS,AX