微机原理与接口技术实验报告(参考格式)
- 格式:docx
- 大小:30.62 KB
- 文档页数:4
微机原理与接口技术实验《简单手势无线遥控小车》实验报告通信科学与工程于广溪113007200701.总体概况与说明1.1 选题概况与说明1.2遥控部分概况与说明1.3机动部分概况与说明2.机械部分分析实现3.硬件系统设计实现3.1电源设计实现3.1.1标准电源来源与稳压3.1.1.1电源的电压和电流要求3.1.1.2电源的纹波要求3.1.1.3 防止电源判定空载关机的方法3.1.2电源升压3.1.3电源降压3.2单片机最小系统版设计实现3.3红外光电开关部分设计实现3.4减速直流电机驱动设计实现3.5 STC单片机USB-串口下载调试实现3.6无线模块分析实现3.7系统总电路图4.软件系统设计实现4.1遥控部分软件系统设计实现4.1.1ST188时序检测方法4.1.2 nRF24L01+驱动程序说明4.1.3 遥控部分所有代码文件4.1.3.1 主文件yaokong.c:4.1.3.2 nRF24L01+驱动程序nRF24L01.c4.1.3.3延时文件delay.c4.1.3.4 52单片机寄存器头文件reg52.h4.1.3.5 所有头文件的头文件allhead.h4.1.3.6 变量声明重定义vartypeabbreviation.h4.1.3.7 电机控制命令定义motorcommand.h4.1.3.8 延时头文件delay.h4.1.3.9 nRF24L01+驱动程序头文件nRF24L01.h 4.2机动部分软件系统设计实现4.2.1直流减速电机的驱动方式说明4.2.2机动部分所有代码文件5.总结1.总体概况说明1.1选题概况与说明:本次微机原理与接口技术实验(综合)实验,我选择的题目是一个可以通过手势动作无线控制的小车。
希望实现的是在遥控端通过产生简单的5种手势动作来控制小车的运动状态和方向。
简单来说就是通过手的向前滑动,向后滑动,向左滑动,向右滑动以及在特定区域滑动实现小车的前后左右以及停止5种动作。
微机原理及接口技术实验报告实验一实验日期实验时间1 实验名称:系统认知实验2 实验目的:了解汇编语言的设计、编写和调试程序的方法,掌握DEBUG的使用。
3 实验内容/原理:编程实现字符串“Hello World!”,用DEBUG调试程序。
实验要求:1、上机前做好充分准备,包括源程序清单、调试步骤等;2、用DEBUG来调试程序,熟悉DEBUG的使用。
实验步骤:1、编写程序并输入,检查无误后,经汇编、连接后运行,用DEBUG装入。
2、用U命令反汇编程序,应用R、G等命令,观看运行情况。
3、用D、E、A等命令查看、修改源数据,用G命令查看运行结果。
4、用Q命令退出DEBUG。
4 调试过程及结果DSEG SEGMENTSTRING DB 'HELLO,World!',0DH,0AH,'$'DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXLEA DX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCSEG ENDSEND START实验显示结果:-u13CB:0100 7403 JZ 010513CB:0102 E99700 JMP 019C13CB:0105 B80500 MOV AX,000513CB:0108 50 PUSH AX13CB:0109 FF363C21 PUSH [213C]13CB:010D FF363A21 PUSH [213A]13CB:0111 E84C14 CALL 156013CB:0114 83C406 ADD SP,+0613CB:0117 8946F8 MOV [BP-08],AX13CB:011A 895634 MOV [BP+34],DX13CB:011D 00BA130B ADD [BP+SI+0B13],BH-d13CB:0100 74 03 E9 97 00 B8 05 00-50 FF 36 3C 21 FF 36 3A t.......P.6<!.6:13CB:0110 21 E8 4C 14 83 C4 06 89-46 F8 89 56 34 00 BA 13 !.L.....F..V4...13CB:0120 0B 06 BA 17 75 1C 83 7E-0A FF 74 08 8B 46 06 0B ....u..~..t..F..13CB:0130 46 08 75 0E A1 3A 21 8B-16 3C 21 A3 B8 17 89 16 F.u..:!..<!.....13CB:0140 BA 17 C4 5E F8 2B C0 26-89 47 10 26 89 47 0E 8B ...^.+.&.G.&.G..13CB:0150 46 06 8B 56 08 26 89 47-0A 26 89 57 0C 8A 46 0A F..V.&.G.&.W..F.13CB:0160 26 88 47 22 8A 46 0C 26-88 47 05 A1 32 21 8B 16 &.G".F.&.G..2!..13CB:0170 34 21 89 46 FC 89 56 FE-A1 5E 27 8B 16 60 27 A3 4!.F..V..^'..`'.-tAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13CB ES=13CB SS=13CB CS=13CB IP=0102 NV UP EI PL NZ NA PO NC 13CB:0102 E99700 JMP 019C-rAX=6789 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13CB ES=13CB SS=13CB CS=13CB IP=0102 NV UP EI PL NZ NA PO NC 13CB:0102 E99700 JMP 019C实验二实验日期实验时间1 实验名称:系统认知实验2 实验目的:了解汇编语言的设计、编写和调试程序的方法,掌握DEBUG的使用。
第一篇软件实验实验一存储器块操作实验一、实验目的1. 熟悉KEIL集成调试环境和汇编程序的调试方法。
2. 掌握存储器读写方法;3. 了解内存块的移动方法;二、实验说明实验1 指定某存储器的其实地址和长度,要求能将其内容赋值。
通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。
块移动是单片机常用操作之一,多用于大量的数据复制和图像操作。
例程2给出起始地址,用地址加1方法移动块,将指定源地址和长度的存储块移到指定目标为起始地址的单元中去。
移动3000H起始的256个字节到4000H起始的256个字节。
三、实验内容1. 试编程将片内RAM中的数据依次复制到片外RAM。
假设源数据区的首地址为40H,目的数据区的首地址为1000H,数据块长度为10H。
流程图:程序:运行结果:Memory显示,片内RAM中40H开始数据为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明测试数据已经成功输入片内RAM。
从片外RAM中1000H位置开始记录为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明片内RAM从40H开始的数据已经成功复制到片外从1000H开始的地址。
2. 两个16位无符号二进制数分别存放在片外RAM首址为2000H和2002H单元内,将它们相加,结果存入RAM 30H(低8位)、31H(高8位)。
程序(以0506H+CDEFH为例):0506H和CDEFH已存入片外单元,运算结果D2F5已存入30H和31H中。
四、思考题1. 如何将存储块的内容置成某固定值(例全填充为0FFH)?请用户修改程序,完成此操作。
答:将源程序中的MOV A, #01H 改为MOV A,#0FFH即可。
2. 若源块地址和目标地址有重叠,该如何避免?答:先执行一次数据转移操作将源块地址中的数据先暂存入一块地址与目标地址和源块地址均不重叠的存储区,再执行一次数据转移操作将暂存区的数据移入目标地址区域。
《微机原理与接口技术》课程实验报告实验步骤1、连线说明:B3 区:CS、A0 —— A3 区:CS3、A0B3 区:INT、INTA —— A3 区:INTR、INTA B3 区:IR0 —— B2 区:单脉冲B3 区:IR7 —— B2 区:单脉冲D3 区:CS、A0、A1 —— A3 区:CS1、A0、A1 D3 区:PC0、PC1 —— F5 区:KL1、KL2实验步骤1、连线说明:C4 区:CS、A0、A1 —— A3 区:CS2、A0、A1C4 区:CLK0 —— B2 区:2MC4 区:OUT0 —— C4 区:CLK1C4 区:OUT1 —— F8 区:Ctrl(蜂鸣器)C4 区:GATE —— C1 区的 VCC2、测试实验结果:蜂鸣器发出时有时无的声音;用逻辑笔测试蜂鸣器的输入端口,红实验步骤1、连线说明:D3 区:CS、A0、A1 —— A3 区:CS1、A0、A1D3 区:JP23(PA 口)—— F4 区:JP182、观察实验结果,是否能看到模拟的交通灯控制过程。
演示程序.MODEL TINYCOM_ADD EQU 0273HPA_ADD EQU 0270H实验步骤1、连线说明:D3 区:CS、A0、A1 —— A3 区:CS1、A0、A1D3 区:PC0、PC1 —— F5 区:KL1、KL2D3 区:JP20(PB 口)、JP16(B)、JP17(C) —— F5 区:A、B、C2、运行程序,观察实验结果(任意按下 F5 区 4X4 键盘几个键,它上面的 8 个 LED 显示器会将按键的编码从左至右依次显示出来),可依此验证对程序的正确性。
演示程序:.MODEL TINYCOM_8255 EQU 0273H ;8255 控制口PA_8255 EQU 0270HPB_8255 EQU 0271HPC_8255 EQU 0272H实验步骤1、连线说明:F7 区:A、B、C —— D3 区:PC0、PC1、PC2实验步骤1、连线说明:C4 区:CS(8253)、A0、A1 —— A3 区:CS2、A0、A1 C4 区:CLK0 —— B2 区:2MC4 区:GATE —— C1 区的 VCCC4 区:OUT0 —— C3 区:RxC TxCC3 区:CS(8251)、C/D —— A3 区:CS4、A0C3 区:CLK —— B2 区:4MC3 区:RXD、TXD —— D7 区:RXD、TXD2、运行程序。
《微机原理与接口技术》实验报告班级:组员:实验二 74HC138译码器实验1、编写程序:使用82C55的PC0、PC1、PC2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
实验源程序:.MODEL TINYCon_8255 EQU 0F003H ;8255控制口PC_8255 EQU 0F002H ;8255 PC口.STACK 100.CODESTART: MOV DX,Con_8255MOV AL,80HOUT DX,AL ;8255初始化,PC口作输出用MOV DX,PC_8255MOV AL,0START1: OUT DX,ALCALL DelayINC ALJMP START1Delay PROC NEAR ;延时Delay1: XOR CX,CXLOOP $RETDelay ENDPEND START实验三 8259A 中断控制器实验一、实验目的与要求了解8259A 的内部结构、工作原理;了解8259A 与8088的接口逻辑;掌握对8259A 的初始化编程方法,了解8088是如何响应中断、退出中断的。
复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验设备STAR 系列实验仪一套、PC 机一台 三、实验内容1、编制程序:拨动单脉冲开关,“”送给8259A 的IR0,触发中断,8088计数中断次数,显示于G5区的数码管上四、实验原理图45CS 1WR 2RD 3D74D65D56D47D38D29D110D011CAS012CAS113GND 14CAS215SP/EN 16INT 17IR018IR119IR220IR321IR422IR523IR624IR725INTA 26A027VCC 288259U28CS RD WR D7D0D1D2D3D4D5D6SP/EN INTIR0IR1IR7IR2123487651KR96A0VCC INTA(0F000H)CS1INTA(B2)INTR五、实验步骤1、连线说明:B3区:CS 、A0 —— A3区:CS1、A0 B3区:INT 、INTA —— ES8688:INTR 、INTA B3区:IR0 —— B2区:单脉冲E5区:CS 、A0 —— A3区:CS5、A0 E5区:CLK —— B2区:2M E5区:A 、B 、C 、D—— G5区:A 、B 、C 、D2、运行程序3、上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。
微机原理与接口技术实验报告实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉Tddebug调试环境和Turbo Debugger的使用。
二、实验所用设备1. PC微机一台。
三、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。
实验中可使用DOS功能调用(INT 21H)。
(1) 显示单个字符输出入口:AH=02H调用参数:DL=t出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX串地址,’$'为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=t出字符(4) 返回DO系统入口:AH=4CH调用参数:AL=M回码四、实验步骤1. 运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;4. 使用Rmrun菜单中的Debug调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5. 更改数据区中的数据,考察程序的正确性。
图1-1显示程序实验流程图五、程序清单DATA SEGMENTMES DB 'laoshihao:', 0AH,0DH,'$' SD DB 'b'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MESMOV AH, 09HINT21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0HSHR AL,4CMP AL, 0AHJB L1ADD AL, 07HL1: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AL, DS:[DI]AND AL, 0FHCMP AL, 0AHJB L2ADD AL, 07HL2: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AX, 4C00HINT21HCODE ENDSEND START六、实验调试过程调试过程中出现警告,显示没有使用堆栈段。
《微机原理及接口技术》
实验报告
2018~2019学年第一学期
班级:
姓名:
学号:
指导教师:
实验一Debug调试环境及命令练习
实验目的:熟练掌握DEBUG的常用命令。
实验要求:认真完成实验任务,细致填写实验报告,及时总结发现问题并解决。
实验内容:
准备:1、用E命令设置DS:1000H位置处开始的10个单元内容;
2、用D命令查看该内存区域的内容,并对所用命令及查看结果进行记录;
1、实验内容
(1) 进入和推出Debug程序
(2) 学会Debug中的D命令、E命令、R命令、T命令、A命令、G命令、U命令
2、实验步骤
(1) 在DOS提示符下,进入Debug程序。
(2) 详细记录每一步所用的命令,以及查看结果的方法和具体结果。
3、用A命令编存以下指令:
MOV BX,1000
MOV CX,10
SUB AX,AX
ADD AL,[BX]
ADC AH,0
INC BX
MOV AL,[BX]
4、用U命令对上述指令进行反汇编,查看并记录各指令的起始地址。
5、用T命令逐条执行上述命令,并记录相关寄存器值的变化情况。
实验二选择结构程序调试
实验目的:通过程序调试,掌握选择结构程序调试的方法。
实验要求:认真完成实验任务,细致填写实验报告,及时总结发现问题并解决。
实验内容:
一、完成典型选择结构程序的阅读与调试,学习程序执行流程的控制方法。
《微机原理与接口技术》实验报告系部:指导教师:学号:姓名:实验一 8255A并行口实验A一、实验目的⑴掌握8255A和微机接口方法。
⑵掌握8255A的工作方式和编程原理。
二、实验内容用8255 PA作开关量输入口,PB作输出口。
三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、思考题1.该实验证明了8255A的什么特点?实验二 8255A并行口实验B一、实验目的掌握可编程I/O接口芯片8255的接口原理使用,掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0, MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALP30: MOV AL,75H MOV DX,PA OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DXMOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY2 LOOP P31MOV AL,0AEH OUT DX,AL INC DXMOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DXMOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DXMOV AL,0FH OUT DX,AL CALL DELAY2 LOOP P32JMP P30DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3六、思考题1.改变延时常数,使发光二极管闪亮时间改变。
目录一.实验目的 (1)二.实验器材 (1)三.方案论证 (1)(1)A/D芯片的选择 (1)(2)单片机的选择 (2)(3)其他部分 (3)(4)本实验接口框图 (3)四.硬件设计 (4)(1)单片机部分 (4)(2)MAX232部分 (5)(3)A/D7862部分 (6)五.软件设计 (6)(1)下位机软件设计 (6)(2)上位机软件设计 (11)六.系统调试与误差分析 (12)七.实验数据 (15)八.实验总结 (16)参考文献 (16)接口实验报告一.实验目的(1)用微控制器(STC 单片机)实现对模拟电压信号的数据采集;(2)利用单片机的串行通信方式1 将数据发送给计算机;(3)用VC++编写相应界面,进行数据处理和显示;二.实验器材个人计算机一台,伟福仿真器一台,STC单片机一片,A/D7862一片,MAX232一片,DB9串口一个,电容,电阻,导线若干三.方案论证科学技术飞速发展,信号的传输以及系统的设计,受到越来越多人的关注和重视。
为了更好的满足这个需求,我们需要对模拟信号进行高速采集,在这种情况之下采用合适的单片机和高速的A/D自然成为首选。
(1)A/D芯片的选择AD7862是AD 公司推出的12位AD 转换芯片,具有以下主要特点:a) 4通道模拟输入,2路同时转换(内置2个可同时工作的12位集成AD转器) ;b) 4μs转换时间,250ksps 采样速率;c) 可选择模拟量输入范围:±10V(AD7862 – 10)d) 高速12位并行总线输出;e) 内部提供+2.5V参考电压或者由外部提供参考电压;f) 单一电源+5VAD7862 内部集成两个可以同时工作的12位AD 转换器,两个同步跟踪/保持放大器分别与一个2选1电路连接,因此可以实现A,B两组通道(VA1、VA2与VB1、VB2)中任何一组的2路模拟输入同时采样。
模数转换器可以在4μs内完成转换。
多路选择信号A0控制模拟信号的输入,数字信号的读取操作由CS和RD控制。
微机原理与接口技术实验报告实验一,微机原理实验。
1. 实验目的。
本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。
3. 实验步骤。
(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。
(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。
(3)了解存储器与I/O接口的基本概念和工作原理。
(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。
通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。
实验二,接口技术实验。
1. 实验目的。
本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。
3. 实验步骤。
(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。
(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。
(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。
(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。
通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。
总结。
通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。
希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。
《微机原理与接口技术》
实验报告实验一系统认识实验
学院:
专业:
班级学号:
学生姓名:
实验日期:
指导老师:
成绩:
五邑大学计算机学院接口与通信实验室
一、系统认识实验
1.1 实验目的
掌握QASM轻松汇编(TD系列微机原理及接口技术教学实验系统)的操作,熟悉QASM(Wmd86联机集成开发调试软件)的操作环境。
学习和掌握程序编写,汇编,调试的方法和技术。
1.2 实验设备
PC机一台,(TD-PITE实验装置或TD-PITC实验装置一套)。
1.3 实验内容
编写实验程序,将00H~0FH共16个数写入内存03000H开始的连续16个存储单元中。
1.4 实验步骤
1. 运行QASM,进入集成开发环境。
2.编写输入实验程序,如图所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
3. 点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方运行调试程序。
1.5 实验调试数据与结果
1.6 实验中遇到问题与解决方法
1.7 实验收获与体会。
福建农林大学计算机与信息学院信息工程类课程实验报告规范本报告由三部分构成,包括封面、实验项目列表、实验报告。
1.封面格式详见附件一2.实验项目列表格式详见附件二题目采用黑体,三号字表格内部内容采用宋体,小四号字,1.5倍行距。
3.实验报告格式详见附件三实验名称采用黑体,三号字.实验报告正文部分一律用小四号字,宋体,1.5倍行距。
一级大标题靠左,加粗。
二级大标题靠左,不加粗。
备注:每个实验项目一份实验报告。
每学期将拟存档的学生实验报告按课程、学生装订成册,即每个学生每门课程所有实验报告装订成一本。
装订线在左侧,第一页加订实验报告封皮。
若有编程则要求学生集体刻盘上交附件一:课程实验报告封面格式福建农林大学计算机与信息学院信息工程类实验报告课程名称:微机原理与接口技术姓名:系:专业:年级:14级学号:指导教师:孙奇燕职称:讲师年月日附件二:实验报告实验项目列表格式实验项目列表福建农林大学计算机与信息学院信息工程类实验报告系:专业:年级:姓名:学号:实验课程:实验室号:_______ 实验设备号:实验时间:指导教师签字:成绩:实验一8259中断控制器实验1.实验目的和要求掌握8259中断控制器的工作原理,学习8259的应用编程方法。
2.实验原理在实验系统中设有8259中断控制器,将IRQ0~IRQ7作为中断源,以电平触发产生中断,并在数码管显示相应的中断号。
实验电路:A0 IOW IORD011IR018D110IR119D29IR220D38IR321D47IR422D56IR523D65IR624D74IR725INTR17INTA26CS1RD3WR2A0278259K0K1K2K3K4K5K6K7300CSINTRINTA中断控制逻辑电平开关图58259中断控制器实验电路图3.主要仪器设备(实验用的软硬件环境)PC计算机一台,Dais-86PRO+或Dais-PRO163C实验系统一套。
4.操作方法与实验步骤实验步骤:(1)按图5连接实验电路;(2)编写实验程序,经编译、链接无语法错误后装载到实验系统;(3)全速运行程序,当K0~K7任意一位开关置高电平(向下拨)时,进入相应的中断服务程序,显示相应中断号;当多位开关置高电平(向下拨)时,进入优先级高的中断服务程序;当K0~K7均为低电平(向上拨)时,退出中断服务程序,返回主程序;(4)实验完毕后,应使用暂停命令中止程序的运行。
实验一、认识Tddebug集成操作软件一.实验内容(一)实验题目:数据传送实验1. 编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
2. 修改此程序,采用字符串传送指令完成。
(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各个寄存器及数据区的内容。
(三)实验步骤:1. 运行Tddebug软件,选择Edit菜单编写实验程序2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
3.使用Rmrun菜单中的Run运行程序,观察运行结果。
4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各寄存器及数据区的内容。
过程如下:1)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。
每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。
2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:●方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区●方法2:选择菜单View| Dump,弹出内存数据显示窗口。
3) 查看执行结果:按Alt+F5,切换到用户窗口。
5.更改数据区中的数据,考察、调试程序的正确性。
二.分析设计思想,绘制实验原理图、流程图。
汇编语言程序的开发过程如图1.1所示,这个过程主要有编辑、编译、链接几个步骤构成。
三.程序清单及相关注释。
DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD D B LEN DUP(?)EXDA ENDSMYSTACK SEGMENT ;定义堆栈段STACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI,OFFSET MSRMOV DI,OFFSET MSDMOV CX,LENMOV BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21H ;返回DOS状态CODE ENDSEND START四.实验结果并分析。
一、实验内容:编制程序,把十进制数15786转化成二进制数。
提示:15786=1×10×10×10×10+5×10³+7×10²+8×10+6循环CX=5实验要求:1.绘出练习1和2的程序流程图。
2编写完整的程序,上机调试。
3使用DEBUG调试命令,查看中间结果,并查看最终结果。
二、程序清单DATA SEGMENTBUFFER1 DD 15786DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,BUFFER1 ;取出十进制数的首地址MOV BX,[SI] ;将首地址的内容放到寄存器MOV CX,16 ;循环次数NEXT1:MOV DL,31H ;1SHL BX,1 ;左移一位,将最高位移到进位位中JC NEXT2 ;进位位为1,即最高位为1,跳转输出1MOV DL,30H ;否则输出0NEXT2:MOV AH,02HINT 21HLOOP NEXT1 ;循环MOV AH,4CHINT 21HCODE ENDSEND START程序流程图见下页:程序流程图三、运行结果程序编译:程序链接:程序运行结果:程序运行结果:15786十进制数转换为二进制输出为0011 1101 1010 1010四、调试分析及体会调试分析:在此次编程中第一次编出的程序经过编译没有错误之后经过链接运行结果不正确。
首先自己进行检查,通过检查发现自己没有认真,在编写程序时,误把十进制数15786写成了16进制,写为了15786H(因为这个自己一直没有检查出来,还在调试如何改正),后来检查了出来。
因为这个缘故,在进行把数字取出放入寄存器的时候,由于BX是16位数据寄存器,而20位的数放不下,于是在循环输出二进制数时,首先不会输出20位,其次输出的结果是与15786H相关的二进制,结果完全错误。