微机原理课程设计--数据采集系统(查询法).doc_第1页
微机原理课程设计--数据采集系统(查询法).doc_第2页
微机原理课程设计--数据采集系统(查询法).doc_第3页
微机原理课程设计--数据采集系统(查询法).doc_第4页
微机原理课程设计--数据采集系统(查询法).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

微机原理课程设计数据采集系统(查询法)一、课设目的进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌握编程和程序调试方法。二、课设内容 用查询法,将ADC 0809通道0外接05V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809道0的数字量以线性控制方式送DAC0832输出,当通道O的电压为5V时,0832的OUT为0v,当通道O的电压为0时,0832的OUT为25V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示;通道0的数字量经74LS574输出到八位LED上,且以一定的要求,点亮LED指示灯。调整电位器,用示波器或三用表观察0832的变化,观察七段LED数码管数值的变化,观察LED灯的变化, ADC 0809的CLK脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用8255的PC0检测;74LS574外接的LED灯变化如下:若电压值小于05V,则最低位(DO)LED灯亮,若电压值大于45V,则最高位LED灯亮,若电压值在05V45V,则八位LED灯由低向高变化亮,且高位LED灯亮时低位灯全亮。 要有较好的人机对话界面;控制程序的运行。三、硬件设计1、电原理框图 见附件12、电原理框图工作过程的简要说明(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驱动八位发光二极管,使它们按要求点亮:来指示当前采样值的范围。(6)、8254提供ADC 0809的采样时钟脉冲。(7)、74LSl38译码器为各芯片提供地址信息。四、软件设计 首先进行程序初始化显示提示信息,判断是否有键按下,按下1则继续往下执行,按下2则退出。首先对8254进行初始化选择工作方式及赋初值,然后启动0809的IN0,接着初始化8255,并检测PA7的状态检测转换是否,否继续检测直至EOC为1,然后读采样值并保存,将其经线性转换后送0832,启动0809的IN1,然后重新对8255初始化及检测PA7的EOC状态端口,直至为1,读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程序段。最后列写数码管显示的子程序、CRT显示子程序、延时子程序。1、主程序流图见附录22、程序DATA SEGMENTMES1 DB PRESS 1 TO BEGIN!,0DH,0AH DB PRESS 2 TO QUIT!,0DH,0AH,0DH,0AH,$MES2 DB IN1 DATA= ,$MES3 DB 0DH,0AH,$K0 DB ? K1 DB ?S DB 3 DUP(?)DCTBL1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3EHDCTBL2 DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0DFHS1 DB 01HS2 DB 80HDATA ENDSSTACK1 SEGMENT PARA STACK STACK DB 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA DX,MES1 MOV AH,9 INT 21HLOP1: MOV DL,0FFH MOV AH,6 INT 21H JZ LOP1 CMP AL,1 JZ DA CMP AL,2 JZ EXIT1 JMP STARTDA: MOV AL,36H ;8254初始化 MOV DX,306CH OUT DX,AL MOV AL,00H ;8254赋初值 MOV DX,3060H OUT DX,AL MOV AL,01H MOV DX,3060H OUT DX,AL BE: MOV AL,00H ;启动0809的IN0 MOV DX,3000H OUT DX,ALL1: MOV AL,90H ;8255初始化 MOV DX,302CH OUT DX,AL MOV DX,3020H ;8255的PA7检测EOC状态 IN AL,DX TEST AL,80H JZ L1 MOV DX,3000H ;读0809采样值 IN AL,DX MOV K0,AL ;保存0809采样值 MOV AL,K0 ;线性控制方式转换电压,计算公式-1/2(X-5) SUB AL,0FFH ROR AL,1 NEG AL MOV K1,AL MOV DX,30E0H ;把IN0计算值送给0832 OUT DX,AL MOV AL,10H ;启动0809的IN1 MOV DX,3004H OUT DX,AL L2: MOV AL,90H ;8255PA7检测EOC状态 MOV DX,302CH OUT DX,AL MOV DX,3020H IN AL,DX TEST AL,80H JZ L2 NEXT: MOV DX,3004H ;读IN1采样值 IN AL,DX MOV AL,7FH MOV BL,K0 SHR BL,1 SUB AL,BL MOV K1,AL ;保存IN1 LEA DX,MES2 MOV AH,9 INT 21H JMP DE EXIT1:JMP EXIT DE: MOV AL,K1 ;CRT显示IN1的值 MOV BL,AL AND AL,0F0H MOV CL,4 ROR AL,CL CALL CRT1 MOV AL,BL AND AL,0FH CALL CRT1 MOV DL,0DH MOV AH,2 INT 21H MOV AL,K0 ;量纲转换 MOV AH,00H MOV BL,51 DIV BL LEA SI,S MOV SI,AL INC SI MOV AL,AH MOV BL,10 MUL BL MOV BL,51 DIV BL MOV SI,AL INC SI MOV AL,AH MOV BL,10 MUL BL MOV BL,51 DIV BL CMP AH,25 JA L3 JMP L4L3: ADD AL,1L4: MOV SI,AL CALL DISP MOV AL,K0 CMP AL,19H JB L5 CMP AL,3BH JB L6 CMP AL,5DH JB L7 CMP AL,7FH JB L8 CMP AL,0A1H JB L9 CMP AL,0C3H JB L10 CMP AL,0E6H JB L11 MOV DX,3080H MOV AL,80H OUT DX,AL JMP L12L5: MOV DX,3080H MOV AL,01H OUT DX,AL JMP L12L6: MOV DX,3080H MOV AL,00000011B OUT DX,AL JMP L12L7: MOV DX,3080H MOV AL,00000111B OUT DX,AL CALL DELAY JMP EXIT0L8: MOV DX,3080H MOV AL,00001111B OUT DX,AL JMP L12L9: MOV DX,3080H MOV AL,00011111B OUT DX,AL JMP L12L10: MOV DX,3080H MOV AL,00111111B OUT DX,AL JMP L12L11: MOV DX,3080H MOV AL,01111111B OUT DX,ALL12: CALL DELAYEXIT0:MOV DL,0FFH MOV AH,6 INT 21H JNZ EXIT JMP BE EXIT: MOV AH,4CH INT 21HDISP PROC NEAR PUSH DS PUSH CX PUSH DX PUSH AX PUSH BX MOV AL,10000000B ;8255初始化 MOV DX,302CH OUT DX,AL DIS1: MOV SI,OFFSET S ;七段数码管显示IN0转换为十进制后的个位、十分位、百分位的值 MOV AL,SI ;显示个位 LEA BX,DCTBL2 XLAT MOV DX,3024H OUT DX,AL MOV AL,000001000B MOV DX,3020H OUT DX,AL CALL DELAY INC SI MOV AL,SI ;显示十分位 LEA BX,DCTBL1 XLAT MOV DX,3024H OUT DX,AL MOV AH,000010000B MOV AL,AH MOV DX,3020H OUT DX,AL CALL DELAY INC SI MOV AL, SI ;显示百分位 LEA BX,DCTBL1 XLAT MOV DX,3024H OUT DX,AL MOV AL,100000B MOV DX,3020H OUT DX,AL CALL DELAY POP BX POP AX POP DX POP CX POP DS RETDISP ENDPCRT1 PROC ;CRT显示子程序 PUSH AX PUSH DX ADD AL,30H CMP AL,39H JBE D0 ADD AL,7D0: MOV DL,AL MOV AH,2 INT 21H POP DX POP AX RETCRT1 ENDPDELAY PROC NEAR ;DELAY子程序 PUSH CX PUSH BX MOV BX,18HDEL1: MOV CX,0FFFFH LOOP $ DEC BX JNZ DEL1 POP BX POP CX RETDELAY ENDPCODE ENDS END START五、编程和调试中遇到的问题刚开始的时候LED数码管不亮,经检查发现是插线一端接错位置,改正后数码管亮,但发现调整电位器时,八位发光二极管的点亮次序与预计值不同,且LED数码管还会不停闪动。经检查发现是排线接触不良,对可能接触不良的排线进行排查更换,最终LED和发光二极管正常显示。编译时,程序报错Address Out of Range ,即跳转时超程。在程序中间位置加入中继跳转,同时在程序顺序运行时命令其跳过“中继跳转”指令运行。六、运行结果1.运行程序后,屏幕输出PRESS 1 TO BEGIN!PRESS 2 TO QUIT!2.按键盘1后,屏幕显示PRESS 1 TO BEGIN!PRESS 2 TO QUIT!IN1 DATA=007段数码管显示 5.00 ;LED灯最高位点亮3.旋动电位器直至极限位置,屏幕显

温馨提示

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

评论

0/150

提交评论