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

上传人:仙*** 文档编号:85751736 上传时间:2022-05-06 格式:DOC 页数:16 大小:80KB
返回 下载 相关 举报
微机原理课程设计报告材料--大数据采集系统三(中断法)_第1页
第1页 / 共16页
微机原理课程设计报告材料--大数据采集系统三(中断法)_第2页
第2页 / 共16页
微机原理课程设计报告材料--大数据采集系统三(中断法)_第3页
第3页 / 共16页
点击查看更多>>
资源描述
word微机原理课程设计课设题目:数据采集系统三中断法实验者: 实验者学号: 学院: 数据采集系统三中断法一、实验目的 进一步掌握微机原理知识,了解微机在实时采集过程中的应用,学习、掌握编程和程序调试方法。二、实验容 1、用中断法,将ADC 0809通道0外接0 5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位几十毫伏的精度,显示其模拟电压的十进值;0809通道0的数字量以线性控制方式送DAC0832输出,当通道0的电压为5V时,0832的OUT为0V, 当通道0的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC 0809通道1,转换后的数字量在CRT上以十六进制显示。 2、ADC 0809 的CLK 脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用作8259中断请求信号。 3、要有较好的人机对话界面;控制程序的运行。三、总体设计 1 、ADC 0809的IN0采集电位器05V电压,IN1采集0832输出的模拟量。 2 、DAC 0832将ADC 0809的IN0数字量后重新转换成模拟量输出。 3、8259用于检测ADC 0809转换是否完毕和向CPU发送INTR信号 4、 8255为七段LED数码管显示提供显示驱动信息。 5、七段LED数码管显示ADC 0809的IN0的值。 6、8254提供ADC 0809的采样时钟脉冲。 7、有良好的人机对话界面。系统运行时,显示主菜单,开始数据采集, 在数据采集时, 主键盘有键按下,退出返回DOD系统。四、硬件设计因采用了PC机和微机实验箱, 硬件电路设计相比照拟简单, 主要利用微机实验箱上的8255并行口、ADC 0809、DAC 0832、七段LED数码管单元、8254定时/计数器、74LS574输出接口、电位器等单元电路, 就构成了数据采集系统, 硬件电原理框图4-3-1所示。五、软件设计本设计通过软件编程,实现模/数转换器0809分别对IN0 0-5V直流电压的采样,和经0832线性控制后输出电压的IN1采样,IN0的值转换成十进制后,在七段数码管上显示; IN1的值在显示器上显示。CPU根据IN0的值,使八位发光二极管根据题目的要求,指示相应的围。1、设计思想 数据采集系统分成四个功能模块,分别是主程序模块、量纲转换模块、数码管显示模块、中断服务子程序模块。(1)主程序模块根据题目要求,采用中断方式实现数据采集,因此可把读取IN0的值并保存,和此数字量经线性控制后送给0832输出,作为0809 IN1的模拟电压和IN1的启动、读取以与IN0的BCD码转换,放在中断服务子程序模块中完成。所以,在主程序模块上主要实现启动0809 IN0、显示模块的调用、和中断完毕局部程序。(2) 键盘扫描模块 设置键盘扫描模块,采用行列反转发,先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的输出是0809 IN1的输入,因此,为防止在执行中断服务子程序时,二次进入中断服务子程序,故在进入中断服务子程序后,应关闭中断,而在退出中断前开中断,以便下次中断进入。中断服务子程序模块主要完成对IN0数据的读取和保存,对IN1的启动和读取,对IN0数据的BCD转换等任务。1、 程序流程图 数据采集三主程序流程图如图4-3-2所示; 中断服务子程序如图4-3-3所示。数码管显示子程序流程图如图3-4-7所示,键盘扫描流程图如图 4-3-4所示。YN初 始 化显示提示信息关中断保存原中断向量表内容设置新的中断向量表保存原中断屏蔽存放器值允许IRQ2中断8254初始化开中断启动0809 IN0FLAG=0FFHIN0值量纲转换后送显存调用数码管显示子程序将IN1的值进展ASCII码转换显示器显示IN1的值有键按下吗?恢复原中断屏蔽存放器值恢复原中断向量表内容结 束 图4-3-2 数据采集三主程序流程图NY图4-3-3 中断服务子程序流程图读IN0值, 保存IN0值按要求变换后,送0832输出 启动IN1FLAG=0 读IN1值, 保存发中断完毕命令返回主程序恢复现场 ; 开中断保护现场 ; 关中断FLAG=01H ?列值为0,读行值,屏蔽高四位后保存行值为0,读列值,屏蔽低四位后保存 AL=合并行列后取反 AL=0?YSI=键盘扫描码首址,CX=16,DL=0NAL=SI?YN 键值=DL键值缓冲区移位DL+1,SI+1 CX-1NN CX=0? 返回 图4-3-4 键盘扫描程序流程图六、试验所遇问题与解决方法问题:在转动电位器,始终没有反响,电路也检查多遍。 分析:电路连接可能存在不稳定性,也有可能是机器有些损坏啥的。 解决方法:换了个微机实验机器,然后把线路很稳定的连接,转动电位器终于出现正确的反响。七、心得体会与建议 体会:通过这次微机原理的课程设计,实验制作,让我了解了设计电路的程序,也让我了解了关于数据采集系统三中断法的原理和设计理念,加强了自身动手、思考和解决问题的能力。在此次的数据采集设计过程中,我更进一步的熟悉了机箱的结构与掌握了各芯片的工作原理和其具体的使用方法,巩固和加强了课本知识。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。通过课程设计,我真正领悟到了“苦中作乐这词的真正含义,设计连接电路确实有些辛苦,但是还是很有乐趣的,当一个一个的问题被自己发现,然后自己一步一步的按照实验原理去解决问题,知道最后完全解决问题之后,一种难以言明的喜悦心情和成就感瞬间充斥整个大脑和身体,我想这也算是课程设计的乐趣所在了。通过这次课程设计我还知道了,理论与实际相结合是和重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来才能更好的提高我们的能力,更好更全面地开展我们的各项能力,可以说,这次课程设计,我受益匪浅。 建议:1.希望教师们能在上课期间增加必要的试验箱器件知识,同时在课外增加一些汇编语言在生活中应用的相关知识介绍,帮助学生提高工程意识,在后期学习当中有一种将知识运用于实践的思想。2.希望教师可以提前布置和安排微机原理课设的任务,教师们也知道,一方面;我们也可以多多准备一下,另一方面,随着期末考试的紧逼,后续课程的复习也是大家要付出很多时间的。以上两点建议希望教师们能接纳,先教师了。八、源程序;*回车宏定义*CRLF MACRO MOV DL, 0DH MOV AH,02H INT 21H ;宏定义了回车 ENDM ;*端口地址定义* Y0EQU 3000H ;片选Y0对应的端口始地址,0809,0832Y2 EQU 3040H ;片选Y2对应的端口始地址IN1 EQU Y0+01H*4ADCSEQU Y0 ;AD0809的端口地址DACSEQU Y2 ;DAC0832的端口地址Y3 EQU 3060H TIMER0 EQUY3+00H*4 ;8254计数器0端口地址,8254TIMER1 EQUY3+01H*4 ;8254计数器1端口地址TIMER2 EQUY3+02H*4 ;8254计数器2端口地址TCTL EQU Y3+03H*4 ;8254控制存放器端口地址Y1 EQU 3020H ;片选Y1对应的端口始地址,8255PA55 EQU Y1+00H*4 ;8255的A口地址PB55 EQU Y1+01H*4 ;8255的B口地址PC55 EQU Y1+02H*4 ;8255的C口地址PCTL EQU Y1+03H*4 ;8255的控制存放器地址INTR_IVADDEQU 01C8H;INTR对应的中断矢量地址,8259INTR_OCW1 EQU 0A1H ;INTR对应PC机部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR对应PC机部8259的OCW2地址INTR_IM EQU 0FBH;INTR对应的中断屏蔽字Y7 EQU 30E0H;片选Y7对应的端口始地址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端口地址;*堆栈段定义* STACK1 SEGMENT STACKDW 256DUP(?)STACK1 ENDS;*堆栈段定义* DATA SEGMENTDCTBLDB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh ;数码管的段码表 DB 77h,7Ch,39h,5Eh,79h,71h,00HN DB 2IN0IN DB ?IN1OUT DB ?A3 DB ?B DB 3 DUP(?)D1 DB 0AHE1 DB 33HFLAG DB ?MES4DB0DH,0AH,+ WELE TO WEI JI YUAN LI KE SHE: +,0DH,0AH,$MES0DB0DH,0AH,* DATA COLECTION SYSTEM *,0DH,0AH,$MES1DB0DH,0AH,- ZUO ZHE :LIU JING AND WANG ZHI MING,0DH,0AH,$MESSDB 0DH, PRESS ANY KEY TO END THE SYSTEM!,0DH,0AH,0DH, 0AH,$MES2DB 0DH, IN1OUT DATA : $,0DH,$ CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量IP_BAK DW ? ;保存INTR原中断处理程序入口偏移地址的变量IM_BAK DB ? ;保存INTR原中断屏蔽字的变量DATA ENDS;*代码段定义* CODESEGMENTASSUME CS:CODE,SS:STACK1,DS:DATASTART: MOVAX,DATA MOVDS,AX MOV AL, 10000000B ;8255初始 MOV DX, PCTL OUT DX, AL MOVDX,OFFSET MES4 MOVAH,9 ;显示MES4 INT 21H MOVDX,OFFSET MES0 MOVAH,9 ;显示MES0 INT 21H MOVDX,OFFSET MES1 MOVAH,9 ;显示MES1 INT 21H MOVDX,OFFSET MESS MOVAH,9 ;显示MESS INT 21H CLI ; 8259初始 MOVAX,0000H MOVES,AX ;替换INTR的中断矢量 MOVDI,INTR_IVADD ;保存INTR原中断处理程序入口偏移地址 MOVAX,ES:DI MOVIP_BAK,AX MOVAX,OFFSET MYISR ;设置当前中断处理程序入口偏移地址 MOVES:DI,AX ADDDI,2 MOVAX,ES:DI ;保存INTR原中断处理程序入口段地址 MOVCS_BAK,AX MOVAX,SEG MYISR ;设置当前中断处理程序入口段地址 MOVES:DI,AX MOVDX,INTR_OCW1 ;设置中断屏蔽存放器,打开INTR的屏蔽位 IN AL,DX ;保存INTR原中断屏蔽字 MOVIM_BAK,AL ANDAL,INTR_IM ;允许PC机部8259的IR2中断 OUTDX,AL MOVDX,MY8259_ICW1; 初始化实验系统中8259的ICW1 MOVAL,13H ;边沿触发、单片8259、需要ICW4 OUTDX,AL MOVDX,MY8259_ICW2 MOVAL,08H ;初始化实验系统中8259的ICW2 OUTDX,AL MOVDX,MY8259_ICW4 ;初始化实验系统中8259的ICW4 MOVAL,01H ;非自动完毕EOI OUTDX,AL MOV DX,MY8259_OCW3 MOV AL, 0AH OUT DX, AL MOVDX,MY8259_OCW1 ;初始化实验系统中8259的OCW1 MOVAL,0FCH ;打开IR0的屏蔽位 OUTDX,AL MOV DX, TCTL ;8254初始 MOV AL, 17H OUT DX, AL MOV DX, TIMER0; MOV AL,2 OUT DX,AL STI S33: MOV AL, 0 MOV DX,ADCS;启动0809 IN0 OUT DX,AL MOV FLAG,0FFH CALL DISPINT0 MOV DX,OFFSET MES2 MOV AH,9 ;显示MES2 INT 21H MOV AL,IN1OUT CALL DISPINT1 MOV DL,0FFH MOV AH,6 INT 21H JZ S33 QUIT: CLI MOVAX,0000H ;恢复INTR原中断矢量 MOVES,AX MOVDI,INTR_IVADD ;恢复INTR原中断处理程序入口偏移地址 MOVAX,IP_BAK MOVES:DI,AX ADDDI,2 MOVAX,CS_BAK;恢复INTR原中断处理程序入口段地址 MOVES:DI,AX MOVDX,INTR_OCW1 MOVAL,IM_BAK ;恢复INTR原中断屏蔽存放器的屏蔽字 OUTDX,AL STI EXIT: MOVAH,4CH ;返回到DOS INT 21H;*数码管显示INT1*DISPINT1 PROC PUSH AX MOV BL,AL ; 屏幕显示 AND AL,0F0H MOVCL,4 ; 显示高位 ROR AL,CL CALLCRT1 MOVAL,BL ANDAL,0FH ;显示低位 CALLCRT1 CRLF POP AX RETDISPINT1 ENDP CRT1PROC ADDAL,30H CMPAL,39H E D0 ADD AL,7 ;在屏幕上显示一位16进制字符D0: MOVDL,AL MOVAH,2 INT 21H RET CRT1ENDP;*数码管显示INT0*DISPINT0 PROC PUSHDS PUSHAX MOV AL,IN0IN ;转换IN0个位 十分位 百分位 MOV AH,0 DIV E1MOV SI,OFFSET B MOV SI,ALMOV AL,AH MOV AH,0MUL D1 DIV E1 INC SIMOV SI,AL MOV AL,AH MOV AH,0MUL D1 DIV E1 INC SICMP AH,19H JNBE S11 MOV AL,0 JMP S2S11: INC ALS2: MOV SI,AL MOVCL,8 ;从最左边开始显示 MOVSI,OFFSET B MOVAL,SI LEABX,DCTBL XLAT ;输出段码 ADD AL,80H MOVDX,PB55 OUTDX,AL MOVDX,PA55 MOVAL,CL ;输出位码 OUTDX,AL CALLDELAY INCSI ;段码地址+1 ROLCL,1 ;位码向左移1位 MOVAL,SI LEABX,DCTBL XLAT MOVDX,PB55 OUTDX,AL MOVDX,PA55 MOVAL,CL ;输出位码 OUTDX,AL CALLDELAY INCSI ;段码地址+1 ROLCL,1 ;位码向左移1位MOVAL,SI LEABX,DCTBLXLAT MOVDX,PB55 OUTDX,AL MOVDX,PA55 MOVAL,CL ;输出位码 OUTDX,AL CALLDELAY ;输出三位码 MOVSI,OFFSET B MOV AL,SI CMP AL,2 A2 MOVDX,PC55 MOVAL,0FFH OUTDX,AL JMP G3 A2:MOVDX,PC55 MOVAL,00H OUTDX,AL MOV DX, TCTL ;8254计数器1控制蜂鸣器 MOV AL, 77H OUT DX, AL MOV DX, TIMER1; MOV AL,00 OUT DX,AL MOV AL,01 OUT DX,ALG3: POPAX POPDS RETDISPINT0 ENDPMYISR PROC NEAR ;中断处理程序MYISR PUSH AX PUSH DX CLI ;关中断 MOV DX,MY8259_OCW3 IN AL,DX AND AL,03H CMP AL,01HJE IROISR JMP OVERIROISR: CMP FLAG,0FFH JE SMOV DX,IN1 IN AL,DX MOV IN1OUT,AL ; A2为IN1 AD后的值 JMP OVERS: MOV DX,ADCS IN AL, DX MOV IN0IN, AL ; A1为IN0 MOV AH,0 DIV N ; IN0 AD后线性转换给0832的值 NEG AL ADD AL,80H MOV BL,AL CMP BL,40H SS1 SUB BL,4 SS1: MOV AL,BL MOV A3,AL MOV DX,DACS OUT DX,AL MOV DX,IN1 ; 启动IN1 OUT DX,AL MOV AL,0 MOV FLAG,ALOVER: MOVDX,INTR_OCW2 ; 向PC机部8259发送中断完毕命令 MOVAL,20H OUTDX,AL MOVAL,20H OUT 20H,AL STI POP DX POPAX IRETMYISR ENDPDELAY PROEAR ;延时 PUSHCX MOVCX,0FFFFH LOOP $ POP CX RETDELAY ENDPCODE ENDS END START- 16 - / 16
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!