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

上传人:tbuqq 文档编号:5489532 上传时间:2020-05-23 格式:PDF 页数:16 大小:197.40KB
返回 下载 相关 举报
微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf_第1页
第1页 / 共16页
微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf_第2页
第2页 / 共16页
微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf_第3页
第3页 / 共16页
微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf_第4页
第4页 / 共16页
微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf》由会员分享,可在线阅读,更多相关《微机的原理课程设计报告材料--大数据采集系统三(中断法).pdf(16页珍藏版)》请在三一文库上搜索。

1、实用标准文案 精彩文档 微机原理课程设计 课设题目:数据采集系统三(中断法) 实验者姓名: 实验者学号: 学院: 实用标准文案 精彩文档 数据采集系统三(中断法) 一、实验目的 进一步掌握微机原理知识,了解微机在实时采集过程中的应用,学习、掌握编程 和程序调试方法。 二、实验内容 1、用中断法,将ADC 0809通道 0 外接 0 5V 电压,转换成数字量后,在七段LED 数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809通道 0 的数字量以线性控制方式送DAC0832 输出, 当通道 0 的电压为 5V时,0832 的 OUT 为 0V, 当 通道 0 的电压为 0

2、 时,0832 的 OUT 为 2.5V;此模拟电压再送到ADC 0809通道 1,转换后的 数字量在 CRT上以十六进制显示。 2、ADC 0809 的 CLK 脉冲,由定时器 8254的 OUT0 提供; ADC 0809的 EOC 信号,用 作 8259 中断请求信号。 3、要有较好的人机对话界面;控制程序的运行。 三、总体设计 1 、ADC 0809的 IN0 采集电位器 0 5V 电压,IN1 采集 0832 输出的模拟量。 2 、DAC 0832将 ADC 0809的 IN0 数字量后重新转换成模拟量输出。 3、8259用于检测 ADC 0809转换是否结束和向CPU 发送 INT

3、R信号 4、 8255 为七段 LED数码管显示提供显示驱动信息。 5、七段 LED数码管显示 ADC 0809的 IN0 的值。 6、8254提供 ADC 0809的采样时钟脉冲。 7、有良好的人机对话界面。系统运行时,显示主菜单,开始数据采集, 在数据采 集时, 主键盘有键按下 , 退出返回 DOD 系统。 四、硬件设计 因采用了 PC机和微机实验箱 , 硬件电路设计相对比较简单, 主要利用微机实验箱 上的 8255 并行口、ADC 0809、 DAC 0832、 七段 LED数码管单元、 8254定时/ 计数器、74LS574 输出接口、电位器等单元电路, 就构成了数据采集系统 , 硬件

4、电原理框图4-3-1 所示。 实用标准文案 精彩文档 1234 4321 D C B A Title NumberRevisionSize B Date:8-Jan-2011 Sheet of File:D:protel 99seLibrarySchsy.ddbDrawn By: 0832 IN0 CLK A B C D0-D7 WR RD CS CS D0-D7 D0-D7 D0-D7 CS CS WR WR WR RD RD A0 A1 A0 A1 OUT0 CLK0 GATE0 Rfe Iout1 Iout2 PA0-PA5 PB0-PB7 EOC A,B-G,Dp L1-L6 /Y0

5、/Y1 XD0-XD7 XD0-XD7 XD0-XD7 XD0-XD7 XIOW XIOW XIOW XIOW XIOR XIOR XIOR XA2 XA3 XA2 XA3 2 3 1 4 1 1 A LM3245 6 7 4 1 1 B LM324 +5V 1.8432MHZ 10K +5V OUT IN1 0832 8254 0809 8255 74138 A B C /G XA5 XA6 XA7 /Y0 /Y1 /Y2 /Y3 /Y4 /Y5 /Y6 /Y7 /Y2 /Y3 数码管 键盘单元 D0-D7XD0-XD7 XIOWWR RDXIOR INTRINTR CS/Y7 A0A2 I

6、R0 8259 XA2 XA3 XA4 实用标准文案 精彩文档 五、软件设计 本设计通过软件编程,实现模/ 数转换器 0809 分别对 IN0 0-5V 直流电压的采样 , 和 经 0832 线性控制后输出电压的IN1 采样,IN0 的值转换成十进制后 , 在七段数码管上显示 ; IN1 的值在显示器上显示。 CPU 根据 IN0 的值,使八位发光二极管根据题目的要求,指示 相应的范围。 1、设计思想 数据采集系统分成四个功能模块,分别是主程序模块、量纲转换模块、数码管显示 模块、中断服务子程序模块。 (1) 主程序模块 根据题目要求,采用中断方式实现数据采集, 因此可把读取IN0 的值并保存

7、 , 和此数 字量经线性控制后送给0832 输出, 作为 0809 IN1 的模拟电压和 IN1 的启动、 读取以及 IN0 的 BCD 码转换 , 放在中断服务子程序模块中完成。 所以, 在主程序模块上主要实现启动0809 IN0、显示模块的调用、和中断结束部分程序。 (2) 键盘扫描模块 设置键盘扫描模块,采用行列反转发,先PC4-PC7输出低电平,然后读入PC0-PC3. 再让 PC0-PC3输出低电平,读入PC4-PC7. 合并扫描值,获得按键值。 (3) 量纲转换模块 量纲转换模块在中断服务程序内完成,只要将IN0 的数字量分别除以51, 商存入显 示 IN0 的个位存储单元 ; 余

8、数乘以十,再除以 51, 商存入十分位存储单元 ; 余数再乘以十, 除以 51, 若余数大于 25,则商加 1, 小于 25 则舍去 , 这样就达到四舍五入的精度, 再把 商存入百分位存储单元 ; 以供七段数码管显示时调用, BCD 码转换模块可参考图10 所示的 流程图。 (4) 数码管显示模块 数码管显示模块比较简单,自编程序可参考实验指导书图1-6 所示的流程图,也可 参考实验8255 并行口中的显示模块,应注意的是在显示个位时, 要加上小数点的显示, 这可以在查表获取个位段码后,再加上80H来实现 , 注意每一位显示后要适当延迟时间。 (5) 中断服务子程序模块 考虑到 0832 的输

9、出是 0809 IN1 的输入 , 因此,为防止在执行中断服务子程序时,二 次进入中断服务子程序, 故在进入中断服务子程序后, 应关闭中断 , 而在退出中断前开中 断,以便下次中断进入。中断服务子程序模块主要完成对IN0 数据的读取和保存,对IN1 的启动和读取,对IN0 数据的 BCD 转换等任务。 1、 程序流程图 数据采集三主程序流程图如图4-3-2 所示; 中断服务子程序如图4-3-3 所示。数码 管显示子程序流程图如图3-4-7 所示,键盘扫描流程图如图 4-3-4所示。 实用标准文案 精彩文档 图 4-3-2 数据采集三主程序流程图 Y N 初 始 化 显示提示信息 关中断 保存原

10、中断向量表内容 设置新的中断向量表 保存原中断屏蔽寄存器值 允许 IRQ2 中断 8254 初始化 开中断 启动 0809 IN0 FLAG=0FFH IN0 值量纲转换后送显存 调用数码管显示子程序 将 IN1 的值进行ASCII 码转换 显示器显示IN1 的值 有键按下吗 ? 恢复原中断屏蔽寄存器值 恢复原中断向量表内容 结束 实用标准文案 精彩文档 N Y 图 4-3-3 中断服务子程序流程图 读 IN0 值, 保存 IN0 值按要求变换后,送 0832 输出 启动 IN1 FLAG=0 读 IN1 值, 保存 发中断结束命令 返回主程序 恢复现场; 开中断 保护现场; 关中断 FLAG

11、=01H ? 实用标准文案 精彩文档 图 4-3-4 键盘扫描程序流程图 六、试验所遇问题及解决方法 问题:在转动电位器,始终没有反应,电路也检查多遍。 列值为 0,读行值,屏蔽高四位后保存 行值为 0,读列值,屏蔽低四位后保存 AL= 合并行列后取反 SI=键盘扫描码首址,CX=16 ,DL=0 AL=0 ? AL=SI ? CX=0 ? DL+1,SI+1 CX-1 返回 键值 =DL 键 值 缓 冲 区 移 位 Y Y N N N N 实用标准文案 精彩文档 分析:电路连接可能存在不稳定性,也有可能是机器有些损坏啥的。 解决方法:换了个微机实验机器,然后把线路很稳定的连接,转动电位器 终

12、于出现正确的反应。 七、心得体会及建议 体会:通过这次微机原理的课程设计,实验制作,让我了解了设计电 路的程序,也让我了解了关于数据采集系统三(中断法)的原理和设计理念, 加强了自身动手、思考和解决问题的能力。在此次的数据采集设计过程中, 我更进一步的熟悉了机箱的结构及掌握了各芯片的工作原理和其具体的使用 方法,巩固和加强了课本知识。认识来源于实践,实践是认识的动力和最终 目的,实践是检验真理的唯一标准。 通过课程设计,我真正领悟到了“苦中作乐”这词的真正含义,设计连 接电路确实有些辛苦,但是还是很有乐趣的,当一个一个的问题被自己发现, 然后自己一步一步的按照实验原理去解决问题,知道最后完全解

13、决问题之后, 一种难以言明的喜悦心情和成就感瞬间充斥整个大脑和身体,我想这也算是 课程设计的乐趣所在了。 通过这次课程设计我还知道了,理论与实际相结合是和重要的,只有理 论知识是远远不够的,只有把所学的理论知识与实践相结合起来才能更好的 提高我们的能力,更好更全面地发展我们的各项能力,可以说,这次课程设 计,我受益匪浅。 建议:1. 希望老师们能在上课期间增加必要的试验箱器件知识,同时在课外 增加一些汇编语言在生活中应用的相关知识介绍,帮助学生提高工程意识, 在后期学习当中有一种将知识运用于实践的思想。 实用标准文案 精彩文档 2. 希望老师可以提前布置和安排微机原理课设的任务,老师们也知道,

14、一方 面;我们也可以多多准备一下,另一方面,随着期末考试的紧逼,后续课程 的复习也是大家要付出很多时间的。 以上两点建议希望老师们能接纳,先谢谢老师了。 八、源程序 ;*回车宏定 义* CRLF MACRO MOV DL, 0DH MOV AH,02H INT 21H ;宏定义了回车 ENDM ;*端口地址定义 * Y0 EQU 3000H ;片选Y0对应的端口始地址,0809,0832 Y2 EQU 3040H ;片选Y2对应的端口始地址 IN1 EQU Y0+01H*4 ADCS EQU Y0 ;AD0809 的端口地址 DACS EQU Y2 ;DAC0832 的端口地址 Y3 EQU

15、3060H TIMER0 EQU Y3+00H*4 ;8254计数器0端口地址,8254 TIMER1 EQU Y3+01H*4 ;8254计数器1端口地址 TIMER2 EQU Y3+02H*4 ;8254计数器2端口地址 TCTL EQU Y3+03H*4 ;8254控制寄存器端口地址 Y1 EQU 3020H ;片选Y1对应的端口始地址,8255 PA55 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的控制寄存器地址 INT

16、R_IVADD EQU 01C8H ;INTR对应的中断矢量地址,8259 INTR_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

17、+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 STACK DW 256 DUP(?) STACK1 ENDS ;*堆栈段定义* DATA SEGMENT DCTBL

18、DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh ; 数码管的段码表 DB 77h,7Ch,39h,5Eh,79h,71h,00H N DB 2 IN0IN DB ? IN1OUT DB ? A3 DB ? B DB 3 DUP(?) D1 DB 0AH E1 DB 33H FLAG DB ? MES4 DB 0DH,0AH,+ WELCOME TO WEI JI YUAN LI KE SHE: +,0DH,0AH,$ MES0 DB 0DH,0AH,* DATA COLECTION SYSTEM *,0DH,0AH,$ MES1 DB 0DH,0AH,-

19、ZUO ZHE :LIU JING AND WANG ZHI MING,0DH,0AH,$ MESS DB 0DH, PRESS ANY KEY TO END THE SYSTEM!,0DH,0AH,0DH, 0AH,$ MES2 DB 0DH, IN1OUT DATA : $,0DH,$ CS_BAK DW ? ;保存 INTR 原中断处理程序入口段地址 的变量 IP_BAK DW ? ;保存 INTR 原中断处理程序入口偏移地 址的变量 IM_BAK DB ? ;保存 INTR 原中断屏蔽字的变量 DATA ENDS ;*代码段定义* CODE SEGMENT ASSUME CS:CODE

20、,SS:STACK1,DS:DATA START: MOV AX, DATA MOV DS, AX MOV AL, 10000000B ;8255初始 MOV DX, PCTL OUT DX, AL MOV DX, OFFSET MES4 MOV AH, 9 ; 显示MES4 INT 21H MOV DX, OFFSET MES0 MOV AH, 9 ; 显示MES0 实用标准文案 精彩文档 INT 21H MOV DX, OFFSET MES1 MOV AH, 9 ; 显示MES1 INT 21H MOV DX, OFFSET MESS MOV AH, 9 ; 显示MESS INT 21H

21、CLI ; 8259初始 MOV AX, 0000H MOV ES, AX ;替换INTR 的中断矢量 MOV DI, INTR_IVADD ;保存INTR 原中断处理程序入口偏移地址 MOV AX, ES:DI MOV IP_BAK,AX MOV AX, OFFSET MYISR ;设置当前中断处理 程序入口偏移地址 MOV ES:DI,AX ADD DI, 2 MOV AX, ES:DI ;保存INTR 原中断处理程序入口段地址 MOV CS_BAK,AX MOV AX, SEG MYISR ;设置当前中断处理程序入口段地址 MOV ES:DI,AX MOV DX, INTR_OCW1 ;

22、设置中断屏蔽寄存器,打开INTR 的屏蔽位 IN AL, DX ; 保存INTR 原中断屏蔽字 MOV IM_BAK,AL AND AL, INTR_IM ;允许PC机 内部 8259的IR2中断 OUT DX, AL MOV DX, MY8259_ICW1 ; 初始化实验系统中 8259 的ICW1 MOV AL, 13H ;边沿触发、单片8259 、需要ICW4 OUT DX, AL MOV DX, MY8259_ICW2 MOV AL, 08H ;初始化实验系统中8259 的 ICW2 OUT DX, AL MOV DX, MY8259_ICW4 ;初始化实验系统中 8259 的ICW4

23、 MOV AL, 01H ;非自动结 束 EOI OUT DX, AL MOV DX,MY8259_OCW3 MOV AL, 0AH OUT DX, AL MOV DX, MY8259_OCW1 ; 初始化实验系统中8259的OCW1 MOV AL, 0FCH ; 打开IR0的 屏蔽位 OUT DX, 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

24、 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 MOV AX, 0000H ;恢复INTR原中 断矢量 MOV ES, AX MOV DI, INTR_IVADD ;恢复INTR 原中断处理程序入口偏移地址 MOV AX, IP_BAK MOV ES:DI,AX ADD DI, 2 MOV AX, CS_BAK ;恢复INTR 原中断处理程序入口

25、段地址 MOV ES:DI,AX MOV DX, INTR_OCW1 MOV AL, IM_BAK ;恢复 INTR 原中断 屏蔽寄存器的屏蔽字 OUT DX, AL STI EXIT: MOV AH, 4CH ;返回到DOS INT 21H ;*数码管显示INT1* DISPINT1 PROC PUSH AX MOV BL,AL ; 屏幕显示 AND AL, 0F0H MOV CL, 4 ; 显示高位 ROR AL, CL CALL CRT1 MOV AL, BL 实用标准文案 精彩文档 AND AL, 0FH ;显示低位 CALL CRT1 CRLF POP AX RET DISPINT1

26、 ENDP CRT1 PROC ADD AL, 30H CMP AL, 39H JBE D0 ADD AL, 7 ;在屏幕上显示一位16进制字符 D0: MOV D L, AL MOV AH, 2 INT 21H RET CRT1 ENDP ;*数码管显示INT0* DISPINT0 PROC PUSH DS PUSH AX MOV AL,IN0IN ;转换IN0个位 十分位 百分位 MOV AH,0 DIV E1 MOV SI,OFFSET B MOV SI,AL MOV AL,AH MOV AH,0 MUL D1 DIV E1 INC SI MOV SI,AL MOV AL,AH MOV

27、AH,0 MUL D1 DIV E1 INC SI CMP AH,19H JNBE S11 MOV AL,0 JMP S2 S11: INC AL S2: MOV SI,AL MOV CL, 8 ;从最左边开始显示 MOV SI, OFFSET B 实用标准文案 精彩文档 MOV AL, SI LEA BX, DCTBL XLAT ;输出段码 ADD AL,80H MOV DX, PB55 OUT DX, AL MOV DX, PA55 MOV AL, CL ; 输出位码 OUT DX, AL CALL DELAY INC SI ;段码地址 +1 ROL CL, 1 ;位码向左移1位 MOV

28、AL, SI LEA BX, DCTBL XLAT MOV DX, PB55 OUT DX, AL MOV DX, PA55 MOV AL, CL ; 输 出位码 OUT DX, AL CALL DELAY INC SI ;段码地址+1 ROL CL, 1 ;位码向左移1位 MOV AL, SI LEA BX, DCTBL XLAT MOV DX, PB55 OUT DX, AL MOV DX, PA55 MOV AL, CL ;输出位码 OUT DX, AL CALL DELAY ; 输出 三位码 MOV SI, OFFSET B MOV AL,SI CMP AL,2 JB A2 MOV D

29、X, PC55 MOV AL, 0FFH OUT DX, AL JMP G3 A2:MOV D X, PC55 MOV AL, 00H OUT DX, 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,AL G3: POP AX POP DS RET DISPINT0 ENDP MYISR PROC NEAR ;中断处理程序MYISR PUSH AX PUSH DX CLI ;关中断 MOV DX,MY8

30、259_OCW3 IN AL,DX AND AL,03H CMP AL,01H JE IROISR JMP OVER IROISR: CMP FLAG,0FFH JE S MOV DX,IN1 IN AL,DX MOV IN1OUT,AL ; A2 为IN1 AD 后的值 JMP OVER S: 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 JB SS1 SUB BL,4 SS1: MOV AL,BL

31、 MOV A3,AL MOV DX,DACS OUT DX,AL MOV DX,IN1 ; 启动 IN1 OUT DX,AL 实用标准文案 精彩文档 MOV AL,0 MOV FLAG,AL OVER: MOV DX,INTR_OCW2 ; 向PC 机内部8259发送中断结束命令 MOV AL, 20H OUT DX, AL MOV AL, 20H OUT 20H, AL STI POP DX POP AX IRET MYISR ENDP DELAY PROC NEAR ;延时 PUSH CX MOV CX, 0FFFFH LOOP $ POP CX RET DELAY ENDP CODE ENDS END START

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1