南京航空航天大学计算机硬件技术基础课程设计课设数据采集系统
- 格式:doc
- 大小:2.06 MB
- 文档页数:12
计算机硬件课程设计数据采集显示系统设计报告*****2010/6/21—25南京航空航天大学自动化学院一、实验目的1、利用PC 机和实验装置设计并实现数据采集显示系统2、进一步掌握微机硬件的软件综合设计方法 主要内容:通过ADC0809的通道0(IN0)采集电位器的值,并将其处理后通过DAC0832输出,该输出直接连接到ADC0809的通道1(IN1),并将IN0和IN1采集到的数据分别在LED 和CRT 上显示。
二、硬件原理框图ADC0809CRT主机8255DAC0832缓冲器及LED 显示CS_ADCS_DACS_55EOCIN1 IN0 SEGBITPA0A0 A1 A2+5V三、程序接线方式CS_55 <—> CS4 CS_AD <—> CS0 CS_DA <—> CS1 Q3 <—> CLK_AD EOC <—> PA0 CS1 <—> CS3 CS2 <—>CS2 IN0<—> 电位器IN1 <—> Vout1 +5V <—> REF功能说明:1.程序具有开始与结束运行控制的功能2.IN0采集的值在LED上以十六进制显示3.对IN0采集的通道进行如下处理:(1)如果IN0小于2.5V,则送00H到DAC0832;如果IN0大于等于2.5v,则送FFH到DAC0832(2) DAC0832的输出接ADC0809的IN1,同时接示波器(3) IN1采集的电压值以十进制在CRT上显示4.ADC0809采用查询方式读取数据5.显示须有一定的延时四、程序流程框图主程序流程图子程序流程图:一、 实现CRT显示二、 实现LED 数码管显示五、程序清单:ADCS EQU 280H DACS EQU 284H PA8255 EQU 290H DATA SEGMENTMES1 DB 'PRESS 1 TO RUN',0DH,0AH DB 'PRESS 2 TOQUIT',0DH,0AH,0DH,0AH,'$'MES2 DB 'START TO COLLECTDATAS',0DH,0AH,'$'DCTBL DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB7FH,6FH,77H,7CH,39H,5EH,79H,71H IN0 DB ? IN1 DB ? NUM1 DB ? NUM2 DB ?WTH DW 1000,100,10,1SHIJIN DB 5 DUP(0),56H,0DH, '$' DATA ENDSSTACK SEGMENT PARA STACK 'STACK' DB 50 DUP(?) STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX LEA DX,MES1 MOV AH,9 INT 21H ;显示主菜单,程序界面 LOP1: MOV DL,0FFH MOV AH,6 INT 21H JZ LOP1CMP AL,'1'JZ NEXT0CMP AL,'2'JZ EXIT0JMP START ;判断是否有键按下EXIT0: JMP EXITNEXT0: MOV DX,293HMOV AL,90HOUT DX,ALMOV DX,283HOUT DX,ALMOV DX,290HWAIT0: IN AL,DX ;判断EOC=1否TEST AL,01HMOV IN0,ALCALL DISPCMP AL,80H ;比较输出电压与2.5V的大小JB XIAOYUMOV AL,0FFHJMP SHUCHUXIAOYU: MOV AL,00HSHUCHU: MOV DX,284HOUT DX,ALMOV DX,290H; 用PA口判断EOC WAIT1: IN AL,DXTEST AL,01HJZ WAIT1MOV DX,281H; IN1口IN AL,DXMOV IN1,ALMOV CL,27HMUL CLSHR AX,1; 存储在IN1中MOV BX,0LEA SI,WTHLEA DI,SHIJINMOV CL,4LOP2: MOV DX,0DIV WORD PTR [SI]ADD AL,30HMOV [DI],AL;将商依次存入SHIJIN中MOV AX,DXADD SI,2INC DILOOP LOP2LEA SI,SHIJINADD SI,3LEA DI,SHIJINADD DI,4MOV CX,3LOP3: MOV AL,[SI]MOV [DI],ALDEC SIDEC DILOOP LOP3MOV [SHIJIN+1],2EH;将四位BCD码的后三位右移一位,空出的第二位加小数点LEA DX,MES2MOV AH,9INT 21HLEA DX,SHIJININT 21H ;CRT显示电压值PUSH AXPUSH DXINT 21HPOP DXPOP AXJNZ NEXT1JMP STARTNEXT1: JMP LOP1EXIT: MOV AH,4CHINT 21HDISP PROC ;数码管显示算法程序 PUSH DSPUSH AXMOV AL,IN0MOV AH,0MOV DL,ALMOV DH,0LEA BX,DCTBLAND AL,0FHMOV SI,AXMOV AL,[BX+SI]MOV NUM2,ALMOV NUM1,02HCALL DISP1; 低位显示MOV CL,4SHR DL,CLMOV SI,DXMOV AH,[BX+SI]MOV NUM2,AHMOV NUM1,01HCALL DISP1; 高位显示POP AXPOP DSDISP ENDPDISP1 PROC ;数码管显示程序PUSH DXPUSH AXMOV DX,28CHMOV AL,NUM1OUT DX,ALMOV DX,288HMOV AL,NUM2OUT DX,ALCALL DELAY1POP AXPOP DXRETDISP1 ENDPDELAY1 PROC NEAR ;延时程序PUSH CXMOV CX,0F00HLOOP $POP CXRETDELAY1 ENDPCODE ENDSEND START;六、实验结果及相关分析首先REF参考电压和电位器的电压都是+5V,因为所选ADC0809是八位的,故而分辨率为5V/256=19.5mV,故而当电位器电压小于+2.5V时,IN1口的数据时00H,即DAC转换后为0.000V,当电位器的输入电压不小于+2.5V时,IN1口的数据时FFH,即DAC转换后,CRT上的电压值理论上是5.000V。
《采集数据》作业设计方案(第一课时)一、作业目标本次作业旨在帮助学生掌握数据采集的基本概念和方法,提高他们在实际操作中运用信息技术处理数据的能力。
二、作业内容1. 任务一:数据采集软件使用练习a. 学生在规定时间内,熟悉并掌握所使用的数据采集软件的基本操作流程;b. 完成一组模拟数据采集任务,包括设置采样频率、选择采集通道、保存数据文件等;c. 记录操作过程中的问题和难点,并在小组内讨论解决。
2. 任务二:实际数据采集a. 学生根据课程所学知识,选择一个合适的实际场景进行数据采集;b. 确定需要采集的数据类型和数量,并选择合适的采集设备;c. 按照数据采集软件的操作流程,完成实际数据采集任务;d. 记录实际操作过程中的问题和难点,并在小组内讨论解决。
3. 任务三:数据分析与展示a. 对采集到的数据进行初步分析,提取有价值的信息;b. 利用所学的信息技术手段,将分析结果以图表、报告等形式进行展示;c. 分享展示成果,接受小组内其他成员的评价和建议。
三、作业要求1. 独立完成:学生需独立完成各项任务,遇到问题可与同学讨论解决,但最终结果需个人负责;2. 时间限制:请在规定时间内完成作业,以便教师及时评价;3. 质量要求:数据分析与展示部分需注重质量,确保结果的准确性和有效性;4. 反馈与调整:学生需在提交作业的同时,提供作业过程中遇到的问题及解决方法,以便教师更好地了解学生的学习情况,对作业设计方案进行及时调整。
四、作业评价1. 评价标准:根据学生完成作业的质量、时间、问题解决能力等方面进行综合评价;2. 评价方式:采用教师评价与学生互评相结合的方式,确保评价的公正性和全面性;3. 评价结果:根据评价结果,对表现优秀的学生给予肯定和奖励,对需要改进的学生提供指导和支持。
五、作业反馈1. 学生反馈:学生需在提交作业的同时,提供作业过程中遇到的问题及解决方法,以便教师更好地了解学生的学习情况,为后续教学提供参考;2. 教师反思:教师需对作业设计方案进行反思和总结,及时调整和改进,以满足学生的实际需求,提高教学效果。
电工电子实验中心课程名称:计算机硬件技术基础实验实验名称:实验二数据统计姓名:学号: 评定成绩:审阅教师:实验时间: 2020.4.23 南京航空航天大学一.实验目的1)熟悉汇编语言程序的框架结构,掌握循环程序的设计方法。
2)熟悉常用的条件跳转指令。
3)熟悉有符号数的运算。
二.实验任务本实验要求通过求某数据区内负数的个数来表现循环程序的结构形式。
要求实验程序在数据段中存放一组数据,分类统计数据中正数、负数和零的个数,并分别存入内存变量 Positive、Negative 和 Zero 中。
将所有数据累加求和,存入SUM 中。
三.实验代码DATA SEGMENTNUM DB 12H,88H,82H,89H,33H,90H,0H,10H,0BDH,01HL_NUM EQU $-NUMPOSITIVE DB DUP(0)NEGATIVE DB DUP(0)ZERO DB DUP(0)SUM DW DUP(0)DATA ENDSSTACK1 SEGMENT STACKDB 100 DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK1START PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AX;以下为补充代码MOV SI, OFFSET NUM ;取 NUM 的地址给 SIMOV CL, L_NUM ;CL 中存储数据段中原始数据的个数MOV CH, 0NEXT:MOV AL, 0CMP [SI], AL ;将 SI 中所存储的 16 位数值所对应的地址中的数与 0 比较JG P ;若前者大于后者(即大于 0),跳转到 P 执行JL N ;若前者小于后者(即小于 0),跳转到 N 执行INC ZERO ;若没有跳转到 P 或 N,则该数值为 0,ZERO 加 1JMP CONTINUE ;跳转到 CONTINUE 执行P:INC POSITIVE ;POSITIVE 中的值加 1JMP CONTINUE ;跳转到 CONTINUE 执行N:INC NEGATIVE ;NEGATIVE 中的值加 1CONTINUE:MOV AL, [SI]CBW ;AL 的内容扩展到 AH 形成 AX 中的字即扩展成 16 位数字再进行累加ADD AX, SUM ;ADD 的目的操作数只能是累加器MOV SUM, AXINC SI ;SI 中的值加 1LOOP NEXT ;CX 的值减一,若不为 0,跳转;以上为补充代码RETSTART ENDPCODE ENDSEND START四.实验数据结果:1.正数个数:4个2.负数个数:5个3.零的个数:1个4. 和为FE36H五.实验总结通过此次实验,我更加熟悉地掌握了eum8086的使用。
1 引言数据采集是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。
随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。
数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。
在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。
随着计算机在工业控制领域的不断推广应用,将模拟信号转换成数字信号已经成为计算机控制系统中不可缺少的重要环节,因此数据采集系统有着更加重要的意义。
本次的课程设计中,我通过查阅有关资料,确定了系统设计方案,并设计了硬件电路图,分析主要模块的功能及他们之间的数据传输和控制关系。
最后利用Protel绘制了电路原理图,Keil编写源代码。
本课程设计采用89C51系列单片机,设计的系统由硬件和软件两部分构成,硬件部分主要完成数据采集,软件部分完成数据处理和显示。
数据采集采用AD0809模数转换芯片,具有很高的稳定性,采样的周期由可编程定时/计数器8253控制。
完成采样的数据后输入单片机内部进行处理,并送到LED显示。
软件部分用Keil 软件编程,操作简单,具有良好的人机交互界面。
程序部分负责对整个系统控制和管理,采用了汇编语言进行了判别通道、数据采集处理、数据显示、数据通信等程序设计,具有较好的可读性。
使系统实现了通过一个A/D转换器采样一个模拟电压,每隔一定时间去采样一次,每次相隔的时间由定时器/计数器芯片8253控制,采样的结果送入A/D转换器芯片0809,转换完成后,把转换好的数字信号送入并行接口芯片8255,然后由中断控制器向CPU发出中断请求,在CPU控制下把8225中的数字送入外设即CRT/LED 显示。
南航计硬数据采集系统实验报告引言:在现代工业和科学领域中,数据采集系统是不可或缺的一个环节。
数据采集系统可以帮助我们收集实验数据,对数据进行处理和分析,从而得到更加准确的实验结果。
南航计硬数据采集系统是一款集成了数据采集、分析和处理功能的系统,本文将对其进行实验评估。
实验目的:本次实验的目的是测试南航计硬数据采集系统的性能和稳定性。
我们将通过模拟实验数据,测试数据采集系统的数据采集速度、数据处理能力和数据存储稳定性等参数,并对实验结果进行评估和分析。
实验环境:本次实验所用的计算机配置如下:CPU:Inter Core i5 4核RAM:8G硬盘:500G操作系统:Windows 10实验步骤:1.搭建实验环境我们需要安装南航计硬数据采集系统,并将其连接到我们的实验设备上。
在安装过程中,我们需要注意选择合适的驱动程序和数据采集卡,以确保系统的兼容性和稳定性。
2.测试数据采集速度接下来,我们将模拟实际实验过程中的数据采集情况,测试南航计硬数据采集系统的数据采集速度。
我们将使用一个模拟信号发生器产生一个正弦波信号,并将其输入到数据采集系统中。
同时,我们还将使用一个示波器来监测数据采集系统的输出数据,并记录数据采集系统的采样率和精度等参数。
3.测试数据处理能力在完成数据采集后,我们需要对采集到的数据进行处理和分析。
在本次实验中,我们将使用南航计硬数据采集系统自带的数据处理工具,对采集到的数据进行滤波、去噪和分析等处理。
我们将记录数据处理的时间、处理效果和处理精度等参数,以评估南航计硬数据采集系统的数据处理能力。
4.测试数据存储稳定性我们将测试南航计硬数据采集系统的数据存储稳定性。
我们将使用系统自带的数据存储工具,将处理后的数据保存到硬盘中,并对数据进行读取和验证。
我们将记录数据存储的速度和稳定性等参数,以评估南航计硬数据采集系统的数据存储能力。
实验结果:经过实验测试,我们得到了如下结果:1.数据采集速度:南航计硬数据采集系统的采样率达到了每秒500KHz,采样精度为16位,符合实验要求。
《采集数据》教学设计方案(第一课时)一、教学目标1. 知识与技能:了解数据采集的概念,掌握数据采集的基本方法。
2. 过程与方法:通过实践操作,学会使用数据采集设备。
3. 情感态度价值观:培养对数据采集的兴趣,树立严谨的科学态度。
二、教学重难点1. 教学重点:实际操作数据采集设备,掌握数据采集的基本流程。
2. 教学难点:在数据采集过程中遇到问题的解决,以及数据采集的意义的理解。
三、教学准备1. 准备数据采集所需的设备(如传感器、数据采集器等)。
2. 准备实验所需的数据采集场景和任务。
3. 预先了解可能遇到的问题及解决方案。
4. 提醒学生带好笔记本和笔以便记录学习过程中的重点内容。
四、教学过程:(一)导入新课(5分钟)1. 复习旧知识:回顾小学科学课中关于数据收集的相关知识,如数据记录表、数据收集卡等。
2. 引出新知识:什么是数据采集?在信息技术课程中如何进行数据采集?3. 展示案例:展示一个简单的数据采集案例,如学生身高、体重等信息的收集。
(二)任务布置(5分钟)1. 布置任务:以小组为单位,每个小组需要采集并记录一组关于学生兴趣爱好的数据。
2. 强调注意事项:确保数据真实、准确,并注意保护个人隐私。
3. 提供相关资源:提供数据采集工具(如问卷、调查表等)和相关指导。
(三)小组活动(20分钟)1. 分组:将学生分成若干小组,每组选定一名组长负责组织活动。
2. 指导:教师巡回指导,解答学生在数据采集过程中遇到的问题,确保数据采集的准确性和有效性。
3. 监控:确保每个小组都能按照规定的时间和要求完成任务。
4. 收集:在活动结束后,收集各小组的数据记录表。
(四)成果展示与交流(10分钟)1. 展示:每个小组派一名代表展示本组的数据记录表,并简单介绍数据采集的过程和结果。
2. 评价:教师和其他小组对展示小组的数据进行点评和评价,提出改进意见和建议。
3. 总结:教师对本次活动进行总结,强调数据采集的重要性,以及如何在实际生活中应用数据采集技能。
微型计算机原理及接口技术课程设计-数据采集系统设计是一个综合性的项目,需要考虑到硬件和软件两个方面的内容。
以下是一个简单的数据采集系统设计的课程设计思路:一、硬件设计1. 选择合适的微处理器或微控制器,如8051、ARM等。
2. 确定数据采集模块,如AD转换器、传感器等。
3. 选择适当的数据存储模块,如RAM、EEPROM等。
4. 根据系统需求,设计合理的接口电路,如RS-232、RS-485、I2C、SPI等。
5. 确保电路的稳定性和可靠性,进行必要的抗干扰设计。
二、软件设计1. 编写微处理器或微控制器的程序,包括数据采集、处理、存储等环节。
2. 实现与数据采集模块和存储模块的通信,实现数据的实时传输和存储。
3. 实现系统的初始化、参数设置、结果显示等功能。
4. 进行必要的测试和调试,确保系统的稳定性和准确性。
具体步骤如下:一、系统总体设计1. 根据需求分析,确定系统的总体结构和功能。
2. 确定数据采集模块的类型和参数要求。
3. 确定存储模块的类型和参数要求。
4. 根据硬件选择,确定微处理器或微控制器的型号和参数要求。
二、硬件电路设计1. 根据系统总体结构和功能,设计合理的接口电路。
2. 根据所选硬件,进行必要的抗干扰设计。
3. 制作电路板,进行必要的调试和测试。
三、软件程序设计1. 根据系统总体结构和功能,编写微处理器或微控制器的程序。
2. 实现与数据采集模块和存储模块的通信协议,实现数据的实时传输和存储。
3. 进行必要的测试和调试,确保程序的正确性和稳定性。
四、系统集成和测试1. 将硬件和软件整合在一起,进行系统的集成和测试。
2. 进行性能测试、精度测试、稳定性测试等,确保系统的稳定性和准确性。
3. 编写系统使用手册和故障排除指南,为用户提供必要的支持和服务。
以上是一个简单的数据采集系统设计的思路和步骤,具体的设计过程还需要根据实际情况进行调整和优化。
同时,还需要注意安全性和环保性等方面的要求,确保系统的安全可靠运行。
微机原理及接口技术课程设计书学院:信息与通信工程学院专业:测控技术与仪器班级:xxx学号:xxx姓名:xxx指导教师:xxx目录1、摘要 (2)2、总体方案设计 (2)2.1设计目的 (2)2.2设计任务与要求 (2)2.3设计方案 (3)3、硬件原理图设计设计 (3)3.1总设计图说明 (3)3.2各子硬件图说明 (4)3.2.1原理图所用芯片介绍 (4)3.2.2各子硬件电路说明 (9)4、程序设计 (13)4.1程序流程图 (14)4.2程序设计说明 (14)5、课程设计收获与心得体会 (17)6、参考文献 (18)7、附录 (19)一、摘要本次课程设计,主要是了解可编程外围芯片8255的工作原理,以及学会对ADC0809和8255芯片的应用和设计技术。
对微型计算机基本的系统结构、对微型计算机硬软件的工作原理有个整体的认识。
学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、总体设计方案2.1设计目的1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力;2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。
3)进一步熟悉微机最小系统的构成及常用接口芯片的使用,提高系统设计的能力。
2.2设计任务和要求设计内容:以8088cpu为核心设计一个采集系统,系统可以实现一路模拟电压信号进行采集,已知该电压信号的电压范围是0~255mv,选用adc0809作为AD转换器,系统中有三位LED显示器显示所采集到电压的毫伏数。
设计要求:1)画出电路原理图,说明工作原理2)编写一个实现对输入模拟电压进行转换并在LED显示器显示当前采集数据的数字量程序2.3设计方案数据采集系统的设计,要求使用微型计算机的最小系统,且具有1路的输入,输入信号在0—255mV,而且采用数码管显示输入(显示10进制的结果)。
电气电子教学学报JOURNALOFEEE第41卷第4期2019年8月Vol. 41 No 4Aug.2019基于CDIO 的“计算机硬件技术基础”课程教学进程设计杨素敏,陈静,谢志英,崔静(陆军工程大学 石家庄校区 装备模拟训练中心,河北 石家庄050003)摘要:本文基于“计算机硬件技术基础+课程工程实践性的特点,借鉴CDIO 教育理念重新设计了教学进程,构建了以项目为基本单元,将各知识点逐渐融于项目的教学进程。
实践证明,该教学进程不仅可以使学员更好地掌握各知识点,还可以使学员掌握硬件项目的开发流程和实现 环节,学员的工程实践能力和创新能力得到提高。
关键词:CDIO ;教学进程设计;工程实践能力中图分类号:G642.0文献标识码:A 文章编号:1008-686(2019)04-073-4Research of the Teaching Process Design Based on CDIO MethodYANG Sumin ,CHEN Jing ,XIE Zhi-ying ,CUI jing(Equipment simulatioo training center ,Shoiazhuang Campus of Army Engioegng Universit) of PLA ,ShijiazZuang 050003,China )Abstrad : The Computer Hardware Tahnology Foundation course is closely related to the practical engineeLng ,theteaching process design based on CDIO is proposed in this paper. We refomi the teaching process by replacing thetraditional teaching process based on the knowledge with dmerenl level project. The refomi is composed of the teaching content ,teaching means ,teaching method and examination. Fmm the teaching effect we can see that this teaching process design can afectively @)1X06 leaming initiative and engagement of students ,and can play a sig- 11X0111 mle in cultivating students' innovative ability.Keywords : CDIO ; aching process design ; practical engineeLng ; project classification0引言教学进程主要用于解决先教什么、后教什么以及如何教的问题,通常依据课程的性质、任务和特点来设计教学进程,对于一门课程来说,教学进程设计的好坏,直接影响到教学质量与效果的优劣。
硬件技术基础课程设计—数据采集系统(三)学生姓名学号学校南京航空航天大学学院自动化学院专业自动化专业班级同实验者指导老师2014年6月一、实验目的1.运用PC机和实验装置设计并实现数据采集显示系统2.掌握微机硬件和软件综合设计方法二、实验设备1.微机2.微机接口实验箱三、实验内容通过ADC0809的通道0(IN0)采集电位器的值,并将其处理后通过DAC0832输出,该输出直接连接到ADC0809的通道1(IN1),并将IN0和IN1采集到的数据分别在LED和CRT上显示。
要求:1、设计简单操作界面,具有开始与结束运行控制的功能2、IN0采集的电压值在LED上以十进制显示3、对IN0采集的通道进行如下处理:(1)如果IN0<2.5V,则送00H到DAC0832如果IN0≥2.5V,则送FFH到DAC0832(2)DAC0832的输出接ADC0809的IN1,同时接示波器(3)IN1采集的电压值以十进制在CRT上显示4、ADC0809采用定时方式读取数据。
定时由8253实现,采用查询方式判断定时结束5、显示须有一定的延时四、实验总框图五、实验电路图1.ADC0809电路图2.DAC0832电路图3.8253电路图4.8255电路图5.电路实物图六、程序流程图及程序1、程序流程图:2、程序见附件七、实验结果、分析及所提问问题1.实验结果通过ADC0809的通道0(IN0)采集电位器的值并经AD转换后在LED上以精度为百分位的十进制实时动态显示,通过DAC0832转换后输出到ADC0809在转换,最后输出到CRT结果如下:1)第一组:2)第二组:2.实验分析:1) CRT上显示:当IN0小于2.5V时CRT理论显示应为0.00V,但由于ADC0809和DAC0832误差,CRT上动态显示0.00V附近的值,比如0.01V,0.02V;由于器件存在零点漂移,所以会存在变动。
当大于或等于2.5V时,CRT上理论显示5.00V,实际也为5.00V没有存在误差。
2) BCD上结果由于BCD是实时显示的是采样的电位器上的电位。
由于电位器存在比较大的误差,所以会BCD最后一位(百分位)一直在跳动。
3.提问问题及回答:(提问时未加批注)1)MOV AL,88H 语句什么意思?回答:这个根据控制字写8255控制字,具体为PA、PB、PC下C口口作为输出,PC上C口作为输入,其中PA 口输出数据岛BCD、PB口未用、PC口下C口输出选择工作的工作的BCD,PC.7作为数据定时器的定时查询端口,以确保转换完成。
2)MOV DX,TC 中TC是什么?回答:TC是定时器8253控制字的偏移地址,代表定义的常值,当写控制字时必须先写地址,具体为30CCH,8253芯片偏移地址为30C0H3)TEST AL,80H 为什么是80H回答: 这条语句用来查询是否定时到时间,由于电路中链接的PC.7对应的PC口的最高位,当定时未到时间时(默认转换未结束),该位用8253输入的是低电平,而当定时结束时,该位为高电平输入,从而根据PC.7的高低电平实现查询转换是否结束。
4)MOV DATA2,AL 语句什么意思?回答:把IN1输入的ADC0809转换结果存入预留的DATA2中,以便后面装换,输出。
八、实验总结及建议1.总结:遇到的第问题以及解决的办法:1)8522的端口A地址信号给错,T8255A少打了一个A解决办法:把端口A的地址补全(错误书因为把T8255A少打了一个A)。
对这类问题其实还是比较麻烦的,检查一个几百行的代码是一件费时费力的事,不仅需要要足够的耐性,还有有一定的毅力。
不过每次检查出错误会以后都会有很大的成就感2)数码管一直未未亮,同时CRT上也没显示解决办法:在我们小组多次分析电路原理及代码,得出理论无错以后,我们从头到尾把链接的电路检查了5遍,第一遍查出有一根线接错,在我们改正后,检查了第2、3、4遍,但都没有查出错误,我们初步怀疑硬件硬件存在问题。
但我们那个时候还不知道怎么查错误,然后我们找到了我班里的大牛华仔(外号)来给我们分析了一遍,他的没有查出错误,原理和代码他也看了一遍也没有问题。
这时我们才肯定是硬件出了问题,然后在华仔的帮助下,通过把BCD 直接接到数据端口,跳过8255芯片,然后BCD也没亮,在把数据线接到LED上,发现也没亮,差不多可以确定CPU 应该出了问题。
3)BCD和CRT同步显示解决办法:但未能肯定,我们这时直接换了一个实验箱,然后就成功显示了数据,不过不幸的是,这个实验箱依然存在问题,但IN1口接输入时,BCD和CRT同时为显示0.00V或者5.00V。
IN1不接时BCD和CRT可以同步显示IN0的采样值,在检查了2遍链接后,又一次请了大神,大神说了一句我们也出现了这个问题,最后我们换了一个实验箱才解决的。
这时已经是下午1点多了,无奈,我们也在换端口地址后,从IN2,IN3等输入,依然没有解决,没办法,我们就换了第二次实验箱。
也许是运气差到一定程度后就变好了,在10多分钟的链接电路后,竟然一次性成功了,一点问题都没有。
对于以上出现的问题,硬件的出现问题的可能性为95%,但还有5%的可能性是我们没查出问题。
每一次实验,对于我们这些经验不多的新手说,都是一个比较大的挑战,当遇到硬件错误时,更是如此。
其实对于我们来说,最大的挑战无非就是硬件出问题,然后我们慢慢排查,这是一个很提升能力的过程,同时一个很艰难的过程。
总的来说,遇到了很多问题,在解决问题的过程中自己的能力得到很大的提升。
每一次课程设计都能让我的动手能力的到锻炼。
从组装万用表,数电的数字闹钟,自控的倒立摆系统的控制都能明显感觉自己在不断的进步。
2.建议1)此次课设短短的时间两天内完成根本不可能,就代码就写了2天,而后查错这类的也花了不少时间,如果不是子啊为开始时就开始准备,那么用两天根本完不成。
所以希望以后课设能有充分的时间准备;2)实验箱存在的问题比较多,希望下次使用,能确保实验箱的完好,以便九、参考文献:《硬件技术基础》万晓东、陈则王、孔德明编著南京航空航天大学自编《微机原理及课程设计指导书》王卫喜编著南京航空航天大学电工电子实验中心自编十、附件:附件1:程序IOY0 EQU 3000H ;8255端口地址IOY1 EQU 3040H ;0809端口地址IOY2 EQU 3080H ;0832端口地址IOY3 EQU 30C0H ;8253端口地址T8255A EQU IOY0 ;8255 A端口地址T8255C EQU IOY0+08H ; 8255 C端口地址T8255D EQU IOY0+0CH ;8255控制端口地址IN0 EQU IOY1 ;0809 IN0选通信号IN1 EQU IOY1+04H ;0809 IN1选通信号CS_DA EQU IOY2 ;0832端口地址T0 EQU IOY3 ;8253定时器0选通信号TC EQU IOY3+0CH ;8253控制端口地址DATA SEGMENT ; 数据段定义DATA1 DB ? ;存放IN0转换结果DATA2 DB ? ;存放IN1转换结果NUM1 DB 3 DUP(?) ;存放IN0转换个位,十分位,百分位NUM2 DB 3 DUP(?) ;存放IN1转换的个位,十分位,百分位TAB1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;定义数码管断码表DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HMES DB ' Interface',0DH,0AH ;提示信息DB ' Press 1 to transfrom ! ',0DH,0AHDB ' Press 2 to End Progrom! ',0DH,0AHDB 0DH,0DH,0AH,'$'MES1 DB 0DH,0AH,0DH,0AH ;提示信息DB ' START ! ',0DH,0AHDB 0DH,0DH,0AH,'$'DATA ENDSSTACK1 SEGMENT PARA STACK 'STACK' ;定义堆栈段DB 100 DUP(?)STACK1 ENDSCODE SEGMENT ;定义代码段ASSUME C S:CODE,DS:DATA,SS:STACK1START:MOV AX,DATA ;标准序MOV DS,AXMOV DX,OFFSET MES ;输出提示信息MOV AH,09HINT 21HLOOP1:MOV DL,0FFHMOV AH,6 ;调用系统6号功能输入数据INT 21HCMP AL,31H ;判断输入是否为1JZ BEGIN ;为1转到开始程序CMP AL,32HJZ EXIT ;为2结束,返回DOSJMP LOOP1EXIT:MOV AH,4CH ;返回DOSINT 21HBEGIN:MOV DX,OFFSET MES1MOV AH,09HINT 21HADC0809:MOV DX,T8255D ;写8255控制字地址MOV AL,88H;写8255控制字该句为提问句1)OUT DX,AL ;启动转换IN0端MOV DX,IN0OUT DX, ALMOV DX,TC ;写8253控制字地址该句为提问句2)MOV AL,31HOUT DX ,ALMOV DX ,T0 ;写8253 初值MOV AX ,75HOUT DX ,ALMOV AL ,AHOUT DX ,ALMOV DX,T8255C ;8255C口地址,PC.7于判断定时结束信号输入WAIT0:IN AL,DXTEST AL,80H ;如果PC.7为1,则输入结束该句为提问句3)JZ WAIT0 ;转换未结束,继续等待MOV DX,IN0 ;把IN0口地址压人DSIN AL,DXMOV DATA1,AL ;输入转换的数据IN0到AL中CMP AL,80H ;和2.5V进行比较MOV AL,0FFHJNB DAC0832MOV AL,0 ;小于2.5V时给AL赋0DAC0832:MOV DX,CS_DA ;DA转换进行选通OUT DX,AL ;启动转换MOV DX,IN1OUT DX,ALMOV DX,TC ;初始化8253MOV AL,31HOUT DX ,ALMOV DX ,T0 ;取定时器0,并赋初值MOV AX ,75HOUT DX ,ALMOV AL ,AHOUT DX ,ALMOV DX,T8255C ;8255C端口地址WAIT1: ;等待转换结束IN AL,DXTEST AL,80H ;查询转换是否结束JZ WAIT1MOV DX,IN1IN AL,DXMOV DATA2,AL;把转换结果存在DATA2中该句为提问句4)MOV AL,DATA1 ;取IN0通道转换结果MOV DI ,OFFSET NUM1;CALL TRNSF ;调用数码管转换程序MOV DI ,OFFSET NUM1;CALL DISP ;调用数码管显示子程序MOV AL,DATA2 ;取IN1通道转换结果MOV DI ,OFFSET NUM2 ;NUM2地址送入DICALL TRNSF ;调用转换程序MOV DI ,OFFSET NUM2 ;NUM2地址送入DICALL DISPCRT ;调用CRT显示子程序MOV DL,0FFH ;调用系统6号功能进行从键盘输入MOV AH,6INT 21HCMP AL,1BH ;当输入ESC 时还回系统DOSJNZ ADC0809JMP START ;不满足返回时,从新开始TRNSF PROC ; AD转换结果转换为十进制子程序PUSH AX ;保护现场PUSH DXMOV AH,0MOV DX,33H ;FFH对应的模拟量为5V,33H对应1V DIV DL ;AX除以51,商→AL,余数→AHMOV [DI],AL ;将AL结果存于NUM1,即存入个位存储单元MOV AL,AHMOV DX,0AHMUL DL ;余数乘以10MOV DX,33HDIV DL ;再除以51,商→AL,余数→AHINC DIMOV [DI],AL; ;将十分位存于NUM1的第二个单元MOV AL,AHMOV DX,0AHMUL DL ;余数乘以10MOV DX,33HDIV DL ;再除以51,商→AL,余数→AHINC DIMOV [DI],AL ;将百分位存于NUM1第三个单元CEND: ;恢复现场POP DXPOP AXRETTRNSF ENDPDISPCRT PROC ;CRT显示子程序PUSH AX ;保护现场PUSH DXPUSH CXMOV AH,2MOV DL,08HINT 21H ;退格INT 21HINT 21HINT 21HADD [DI],30H ;2号功能调用,显示器输出个位内容MOV DL,[DI]MOV AH,02HINT 21HMOV DL,2EH ;2号功能调用,显示器输出小数点MOV AH,02HINT 21HMOV CX,02HLOOP: INC DIADD [DI],30H ;2号功能调用,显示器输出十分位, 百分位MOV DL,[DI]MOV AH,02HINT 21HCMP CX,00HJNZ LOOPEXITY: ;恢复现场POP CXPOP DXPOP AXRETDISPCRT ENDPDISPBCD PROC ;数码管显示子程序PUSH DS ;保护现场PUSH AXPUSH BX;个位及小数点显示MOV DX,T8255DMOV AL,80H ;写8255控制字OUT DX,ALMOV AL,[DI] ;将个位内容→ALLEA BX,TBL1XLAT ;查表显示ADD AL,80H ;加小数点MOV DX,T8255AOUT DX,AL ;8255的A口作为段控MOV AL,01HOUT DX,ALCALL DELAYMOV CX,02HLOOP1:INC [DI] ;十分位, 百分位显示MOV AL, [DI] ;将十分位内容→ALLEA BX,TBL1XLAT ;查表显示MOV DX,T8255AOUT DX,AL ;8255的B口作为段控MOV DX,T8255C ;8255的C口作为位控MOV AL,02HOUT DX,ALCALL DELAYCOM CX,00HJNZ LOOP1POP BX ;恢复现场POP AXPOP DSRETDISPBCD ENDPDELAY PROC NEAR ;延时子程序PUSH CXMOV BX,0040HDEL1:MOV CX,0FFFFHLOOP $DEC BXJNZ DEL1POP CXRETDELAY ENDPCODE ENDSEND START。