《汇编语言+微型计算机》课程设计实验报告
《汇编语言+微型计算机技术》数据采集系统的设计与实现汇编课设报告

《汇编语言+微型计算机技术》课程设计报告课设题目数据采集系统的设计与实现系部信息系班级计算机xx学生姓名xxx学号xxxxxx序号 5指导教师xx时间2014.6.17~2014.6.29目录一、设计目的 (1)二、设计内容 (1)三、硬件设计及分析 (2)1总体结构图 (2)2.各部件端口地址设计及分析 (2)3.各部件的组成及工作原理 (3)四、软件设计及分析 (5)1总体流程图 (5)2.主要程序编写及分析 (6)五、系统调试 (10)1.调试环境介绍 (10)2.各部件的调试 (11)3.调试方法及结果 (15)六、总结与体会 (16)七、附录 (16)数据采集系统的设计与实现一、设计目的1. 通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制工作奠定一定的基础。
2. 主要掌握并行I/O 接口芯片8253、8255A、ADC0809 及中断控制芯片8259A 等可编程器件的使用,掌握译码器74LS138 的使用。
3. 学会用汇编语言编写一个较完整的实用程序。
4. 掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。
二、设计内容1.功能要求①利用《微型计算机技术》课程中所学习的可编程接口芯片8253、8255A、ADC0809 和微机内部的中断控制器8259A(从保留的IRQ2 或IRQ10 端引入)设计一个模拟电压采集系统,并且编程与调试。
②用8253 定时器定时10MS,每次定时10MS 后启动一次模/数转换,要求对所接通道变化的模拟电压值进行采集。
③每次模/数转换结束后,产生一次中断,在中断服务程序中,采集来的数字量被读入微处理器的累加器AL 中,然后通过8255A 输出到8 个LED 发光二极管显示。
2.设计所需器材与工具④微机原理与接口综合仿真实验平台。
⑤可编程芯片8253、8255A 、ADC0809 和译码器芯片74LS138、74LS245 等。
微机汇编语言编程系统实验报告

微机系统实验报告实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握DOS功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC机一台。
三、实验内容(1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。
(2) 在屏幕上显示自己的学号姓名信息。
(3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入“Q”或“q”时结束。
(4)自主设计输入显示信息,完成编程与调试,演示实验结果。
考核方式:完成实验内容(1)(2)(3)通过,完成实验内容(4)优秀。
实验中使用的DOS功能调用:INT 21H表3-1-1 显示实验中可使用DOS功能调用四、实验步骤(1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。
(2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。
(3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。
按F9连续运行。
(4)更改数据区的数据,考察程序的正确性。
五、实验程序DATA SEGMENTBUFFER DB '03121370konglingling:',0AH,0DH,'$'BUFFER2 DB 'aAbBcC','$'BUFFER3 DB 0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXmov ah,09hmov DX,OFFSET BUFFERint 21hMOV SI,OFFSET BUFFER2lab1:cmp BYTE PTR [SI],'$'je lab2MOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hadd SI,1jmp lab1lab2:mov ah,09hmov DX,OFFSET BUFFER3int 21hmov ah,01hint 21hcmp al,'q'je lab3mov BL,ALAND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C4ADD AL,07HC4: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;取低4位CMP AL,0AHJB C5ADD AL,07HC5: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hjmp lab2lab3:mov ah,4chint 21hCODE ENDSend START六、实验结果实验二数码转换实验一、实验目的(1)掌握不同进制数及编码相互转换的程序设计方法。
汇编语言实验报告1

攀枝花学院实验报告实验课程:汇编语言课程实验实验项目:DEBUG编程与调试实验日期:2011.11.7 系:计算机学院班级:10级计本学号:201010801035一.实验目的:1.掌握DEBUG常用命令。
2.掌握汇编语言程序的一般格式3.掌握使用masm编译和连接汇编语言程序。
4.学习如何用debug进行程序调试二.实验设备:1.硬件环境微型计算机(Intel x86系列CPU)一台2.软件环境Windows98/2000/XP操作系统、调试程序DEBUG.EXE。
三.实验步骤:1.DEBUG程序的调用打开windows命令窗口选择“开始”→”运行”在windows98/xp环境中,输入“command”命令,在windows2000环境中,输入“cmd”命令;2.启动debug在命令窗口中启动DEBUG,可键入命令DEBUG 文件名 [参数]在DEBUG启动成功后,将出现提示符“-”,此时就可用DEBUG命令来调试程序。
关于使用命令的几点说明:●命令是单个字母●出现提示符“-”后才能输入命令,在按“回车”键后,该命令才开始执行。
●DEBUG把键入的数字均看成十六进制数2. 汇编语言程序上机过程四.实验内容:1.DEBUG的主要命令(1)显示与修改寄存器1).r [寄存器名]功能:显示和修改寄存器内容-r ax ;显示和修改某个寄存器内容2)rf功能:显示和修改标志位(2) 显示与修改寄存器存储单元1)d [范围]功能:显示指定范围内的内存单元内容。
其中范围的格式:①d 起始位置从开始位置显示128个字节的内容例:d 1381:100说明:●xxxx:yyyy——前面4位十六进制数是内存单元的段地址,后面4位十六进制数是内存单元的偏移量;●中间显示区域是内存单元(十六进制的形式),每行显示16个字节的内容;●右边以“字符”显示内存单元值。
②d 起始位置结束位置从开始位置显示到结束位置例:d ds:0 f③d 起始位置L 长度从从开始位置显示指定长度的内容例:d ds:0 L 102) e 地址字节值表功能:用值表中的值替换从“地址”开始的内存单元内容例:d 1af5:0e 1af5:0 12 34 56d 1af5:03)f 范围字节值表功能:用值表中的值填充指定范围的内存单元内容,其中范围通常是1)中的后两种格式。
《汇编语言》实验报告

《汇编语言》实验报告实验名称:汇编语言实验报告实验目的:通过实验了解汇编语言的基本概念、语法结构和程序设计方法,掌握汇编语言的编写方法。
实验时间:2024年1月1日实验地点:实验室一、实验背景汇编语言是计算机硬件和软件之间的桥梁,通过汇编语言可以直接操作计算机的底层硬件。
汇编语言是一种低级语言,使用汇编语言可以实现对计算机内存、寄存器等硬件资源的直接操作,从而实现程序的功能。
本实验通过编写汇编语言程序,加深对汇编语言的理解。
二、实验过程1. 确定实验环境:使用DOSBox模拟DOS环境进行汇编程序编写和调试。
2. 编写第一个汇编程序:编写一个简单的汇编程序,将字符串“Hello, World!”输出到屏幕上。
3.程序分析:a.定义要输出的字符串,将字符串存储在数据段中。
b.设置段寄存器,将数据段地址加载到DS寄存器中。
c.设置显示模式和光标位置。
d.将字符串逐个字符输出到屏幕上。
e.关闭显示模式。
4. 编译运行:使用汇编语言的编译器将汇编程序转换成机器码,并在DOSBox中运行程序。
5.调试程序:根据程序运行结果和分析,调试程序中存在的错误,并进行改正。
三、实验结果与分析经过多次编写和调试,我们成功实现了将字符串“Hello, World!”输出到屏幕上的功能。
通过程序分析和调试过程,加深了对汇编语言的理解和掌握。
四、实验总结通过本次实验,我们深入了解了汇编语言的基本概念、语法结构和程序设计方法。
通过实际编写汇编语言程序,对汇编语言的编写方法有了更加深入的认识。
同时,通过调试程序的过程,我们也提高了自身的问题解决能力和分析能力。
在今后的学习和工作中,我们将继续学习和深入研究汇编语言,提高自己的编程能力和创新思维能力。
总体而言,本次实验给我们带来了很大的收获,我们以后将更加努力地学习汇编语言,提高自己的编程水平,为以后的学习和工作做好充分的准备。
《微型计算机技术与汇编语言》课程设计报告

2017-2018 学年第一学期《微型计算机技术与汇编语言》课程设计报告学院:计算机科学与工程班级: 150403姓名:高阳,卢传馨,刘梅项目组: 20指导教师:王新颖设计时间:2017年12月18日-29日课程设计名称微型计算机技术与汇编语言课程设计专业计算机科学与技术班级150403 学生姓名高阳,卢传馨,刘梅指导教师王新颖2017年12月27日课程设计任务书注:此任务书由指导教师在课程设计前填写,发给学生座位本门课程设计的依据。
目录一、团队构成及分工 (1)二、项目进度计划 (2)三、实验报告 ................................................................................... 错误!未定义书签。
四、设计报告 (7)五、程序清单 ................................................................................... 错误!未定义书签。
六、课程设计总结 (10)一、团队构成及分工指导教师签字:年月日二、项目进度计划三.实验报告实验一用D/A、A/D实现闭环测试一.实验目的1.加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。
2.熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法。
二.实验原理1 、实验原理本实验采用 DAC0832和ADC0809 做数模转换和模数转换闭环测试实验,即将数模转换器输出的模拟量作为模数转换器的模拟量输入,并比较D/A设定的数字量与A/D读出的数字量,从而得出实验结论。
由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与 8088CPU 总线直接接口。
图中是只有一路模拟量输出,且为单极型电压输出。
DAC0832工作于单缓冲方式,它的ILE接+5V,/CS和/XFER 相接后作为0832芯片的片选CS-0832。
《汇编语言+微型计算机技术》数据采集系统的设计与实现汇编课设报告

《汇编语言+微型计算机技术》课程设计报告课设题目数据采集系统的设计与实现系部信息系班级计算机xxx学生姓名xxx学号xxx序号22指导教师徐阳时间2014.6.17~2014.6.29目录一、设计目的 (1)二、设计内容 (1)三、硬件设计及分析 (2)1总体结构图 (2)2.各部件端口地址设计及分析 (2)3.各部件的组成及工作原理 (3)四、软件设计及分析 (6)1总体流程图 (6)2.连线 (7)3.主要程序编写及分析 (7)五、系统调试 (11)1.调试环境介绍 (11)2.各部件的调试 (12)3.调试方法及结果 (18)六、总结与体会 (19)七、附录 (20)数据采集系统的设计与实现一、设计目的1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制奠定一定的基础。
2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A 等可编程器件的使用,掌握译码器74LS138的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。
二、设计内容1.功能要求①利用《汇编语言+微型计算机系统》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A(从保留的IRQ2或TRQ10端引入)设计一个数据采集系统、并且编程与调试。
②用8253定时器定时10MS,每次定时10MS后启动一次模/数转换,要求对所接通道变化的模拟电压值进行采集。
③每次模/数转换结束后,产生一次中断,在中断服务程序中,采集来的数字量被读入微处理器的累加器AL中,然后通过8255A输出到8个LED发光二极管显示。
④最后不要8255芯片用数码管显示所采集后的信息(电压0-5.0的范围内变化)。
2.设计所需器材与工具④微机原理与接口综合仿真实验平台。
8086汇编语言程序设计 微机实验报告

微机实验报告第一部分:8086汇编语言程序设计一、实验目的通过上机练习,初步掌握8086的指令系统,熟悉8086汇编语言程序的编写格式,学会编写简单的汇编语言应用程序,初步学会使用DEBUG调试工具。
二、实验题目(一)编程实现从字符串中查找特定的字符,记录特定字符的个数,并将结果在屏幕上显示,同时退出并返回DOS。
(要求字符串从键盘上输入)1、流程图2、实验程序及注释DATA SEGMENTBUFSIZE DB 20 ;数据段ACTCHAR DB ? ;定义字符串CHARTEXT DB 20 DUP(?) ;给输入字符分配内存DB '$'CNT DB 0 ;给计数器分配内存STRING1 DB 'PLEASE INPUT THE STRING:','$'STRING2 DB 0AH,0DH,'INPUT THE WORD YOU WANT TO CHECK:','$' STRING3 DB 0AH,0DH,'THE NUMBER OF THE WORD IS:','$'DATA ENDS ;数据段结束COSEG SEGMENT ;代码段ASSUME CS:COSEG,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRING1 ;显示提示语:请输入字符串MOV AH,09H ;输出字符串STRING1INT 21HMOV DX,OFFSET BUFSIZE ;从键盘输入字符串存入BUFSIZEMOV AH,0AH ;并送显INT 21HMOV DX,OFFSET STRING2 ;显示提示语:想查询的字符是MOV AH,09H ;输出字符串STRING2INT 21HMOV AH,01H ;从键盘上输入字符到AL中并送显INT 21HMOV BX,OFFSET CHARTEXT ;将字符串首地址存入BXMOV CL,ACTCHAR ;置循环次数CX=字符串长度XOR CH,CHLP1: CMP AL, [BX] ;字符串从头开始与键入字符AL比较JZ LP2 ;相等则转入LP2INC BX ;指针指向字符串下一个字符DEC CX ;循环次数减一JNZ LP1 ;若还有未比较的字符,继续循环LP1JMP FINI ;若全部比较完毕,跳转FINILP2: INC CNT ;计数器增一INC BX ;指针指向字符串下一个字符DEC CX ;循环次数减一JNZ LP1 ;若还有未比较的字符,跳至LP1 FINI: MOV DX,OFFSET STRING3 ;显示提示语:所查询的字符个数:MOV AH,09HINT 21HMOV AL,CNT ;将计数器的值送ALAAM ;将此值转换成非压缩BCD码ADD AH,30H ;将BCD码转换为ASCⅡ码MOV DL,AH ;高位送显MOV AH,02HINT 21HMOV AL,CNT ;再将计数器的值送ALAAMADD AL,30H ;将BCD码转换为ASCⅡ码MOV DL,AL ;低位送显MOV AH,02HINT 21HMOV AH,4CH ;结束INT 21HCOSEG ENDS ;代码段结束END START ;程序结束3、运行结果PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): A↙THE NUMBER OF THE WORD IS(数量为):3↙PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符):9↙THE NUMBER OF THE WORD IS(数量为):0↙PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): S↙THE NUMBER OF THE WORD IS(数量为):1↙4、程序改进○1循环次数的改进原来的程序:MOV CX,19改进原因:此程序表明无论输入的字符串多长,即使没有达到限定的最大字符串的长度,也要循环19次。
微机汇编语言编程系统实验报告

微机系统实验报告实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握DOS功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC机一台。
三、实验内容(1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。
(2) 在屏幕上显示自己的学号姓名信息。
(3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入“Q”或“q”时结束。
(4)自主设计输入显示信息,完成编程与调试,演示实验结果。
考核方式:完成实验内容(1)(2)(3)通过,完成实验内容(4)优秀。
实验中使用的DOS功能调用:INT 21H表3-1-1 显示实验中可使用DOS功能调用四、实验步骤(1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。
(2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。
(3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。
按F9连续运行。
(4)更改数据区的数据,考察程序的正确性。
五、实验程序DATA SEGMENTBUFFER DB '03121370konglingling:',0AH,0DH,'$'BUFFER2 DB 'aAbBcC','$'BUFFER3 DB 0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXmov ah,09hmov DX,OFFSET BUFFERint 21hMOV SI,OFFSET BUFFER2lab1:cmp BYTE PTR [SI],'$'je lab2MOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hadd SI,1jmp lab1lab2:mov ah,09hmov DX,OFFSET BUFFER3int 21hmov ah,01hint 21hcmp al,'q'je lab3mov BL,ALAND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C4ADD AL,07HC4: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;取低4位CMP AL,0AHJB C5ADD AL,07HC5: ADD AL,30HMOV DL,AL ;show characterMOV AH,02HINT 21Hjmp lab2lab3:mov ah,4chint 21hCODE ENDSend START六、实验结果实验二数码转换实验一、实验目的(1)掌握不同进制数及编码相互转换的程序设计方法。
汇编语言课程设计报告报告

湖南农业大学课程设计报告学院:班级:姓名:学号:课程设计题目:编密码课程名称:汇编语言与微机原理评阅成绩:评阅意见:成绩评定教师签名:日期:年月日目录概述 (3)一设计内容与要求 (3)二设计思想 (3)三程序流程图 (4)四程序源代码 (5)五效果图 (7)六设计过程中遇到的问题及解决方法 (7)七设计心得 (7)编密码概述汇编语言:是用英文缩写形式的助记符书写指令。
汇编语言是一种面向CPU指令系统的程序语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址。
用汇编语言编写程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行相应指令,这个翻译过程成为汇编,完成汇编任务的程序称为汇编程序。
所以我在MASM汇编程序中进行汇编,通过相应的代码来调用相应的指令实现编密码。
一、设计要求(小标题一律用宋体小四加粗)要求:按照以下规律编密码:1.字母A变为E,a变为e即是字母变成其后面的第4个字母。
2.但Ww变Aa,Xx变Bb,Yy变Cc,Zz变为Dd.3.非字母不变如1234567890,!@$4.并可以循环转换5.例如“123CHINA@”变为“123GLMRE@”二、设计思想首先,先定义两个缓存区,一个用来存放输入的密码(BUF2),一个用来存放变换后的密码(BUF3)。
先输入一个十位数内的密码,然后一一对一个个字符进行判断。
先判断ascall是否小于41H,如果是则不是字母那就不变换直接转到read1,存入BUF3。
如果大于41H在判断是否大于61H即判断是不是小写的,如果小于的话在判断大于5bH吗?如果大于则不是字母那就不变换直接转到read1,存入BUF3。
如果小于的话,在判断是不是大于w的ascall,如果大于就转到read3,减22在,存入buf3.否则转到read4,加4在存入BUF3。
如果大于等于61H的话,同样的道理,判断是否大于W,如果大于在判断大于7AH吗。
汇编语言设计(微机实验报告)

一、实验名称:汇编语言设计二、实验目的:1.熟悉 MASM.EXE 和 LINK.EXE 的使用方法。
2.了解 debug 调试工具,观察程序的执行过程和对寄存器和内存单元的影响。
三、实验内容1、首先在硬盘上建立一个文件夹E:\MASM。
2、下载 MASM.EXE 和 LINK.EXE 到E:\MASM 文件夹里。
3、经过以上两步,已经做好了准备工作,接下来书写程序。
计算y = a × b + c - 18,a、b、c均为带符号的8 位二进制数据,为了实验观看实验结果,假设 a = 34H、b = 56H、c = E7H。
程序源代码如下(分号后面内容为注释内容,可以不输入):CC EQU 18 ;伪指令定义CCSTACK SEGMENT ;堆栈段起始DW 256 DUP(?) ;在堆栈段中预留了256 个字的内容TOP LABEL WORD ;TOP 为栈顶偏移地址STACK ENDS ;堆栈段结束DATA SEGMENT ;数据段起始DAT1 DB 34H ;DAT1为题中操作属数a,为字节,存于数据段中DAT2 DB 56H ;DAT2 为题中操作书b,为字节,存于数据段中DAT3 DB 0E7H ;DAT3 为题中操作书c,为字节,存于数据段中DATY DW ? ;DATY为题中计算结果预留空间,为字,存于数据段中DATA ENDS ;数据段结束CODE SEGMENT ;代码段起始ASSUME CS:CODE,DS:DATA,SS:STACK ;分配段地址对应关系START: MOV AX,DATA ;START为标号,MOV语句将DATA数据段地址送AX MOV DS,AX ;将AX内容送入DS,赋予DS数据段DATA段地址MOV AX,STACK ;将STACK堆栈段地址送入AXMOV SS,AX ;将AX内容送入SS,赋予SS堆栈段STACK的段地址MOV SP,OFFSET TOP ;SP设初值MOV AL,DAT1 ;取a,直接寻址方式MOV BL,DAT2 ;取b,直接寻址方式IMUL BL ;AX <- AL * BL,即将a * b 的值存入AXMOV BX,AX ;将AX 内容保存至BXMOV AL,DAT3 ;取c,直接寻址方式CBW ;由于c 是8位有符号数,所以做符号扩展至AHADD AX,BX ;AX <- AX + BX,完成将a*b+c结果存入AX操作SUB AX,CC ;AX <- AX - 18MOV DATY,AX ;将a*b+c-18的值,存放至数据段中偏移地址DATY的内存中MOV AH,4CH ;将4CH存入AH,为了下句调用DOS 21号中断INT 21H ;调用DOS 21中断,由AH=4CH决定返回DOS操作系统CODE ENDS ;代码段结束END START ;程序结束将以上代码保存为扩展名为.ASM 的文件的方法如下:点击“开始”菜单“运行”notepad,打开记事本程序,在记事本中输入如上代码。
汇编语言程序设计实验报告

汇编语言程序设计实验报告汇编语言程序设计实验报告引言汇编语言是一种低级语言,用于编写计算机的底层程序。
在计算机科学与技术领域,汇编语言程序设计是一门重要的课程。
本篇实验报告将介绍我在汇编语言程序设计实验中所学到的知识和经验。
实验目的本次实验的目的是通过编写汇编语言程序,加深对计算机底层原理的理解,并掌握汇编语言的基本语法和编程技巧。
实验环境在实验中,我使用了一台运行Windows操作系统的计算机,并安装了MASM 汇编语言开发工具。
实验内容1. 汇编语言基础知识在实验开始前,我先学习了汇编语言的基础知识。
汇编语言使用助记符来代表机器指令,与机器指令一一对应。
了解了寄存器、内存和指令的概念,并学会了如何使用它们来编写汇编程序。
2. 汇编语言程序设计在实验中,我编写了一些简单的汇编语言程序,以加深对汇编语言的理解和应用。
例如,我编写了一个计算两个数之和的程序,通过将两个数存储在寄存器中,并使用加法指令进行运算,最后将结果保存到指定的内存位置。
3. 汇编语言程序调试在编写汇编语言程序时,我遇到了一些错误和问题。
为了解决这些问题,我学会了使用调试工具来定位错误。
通过逐步执行程序,并观察寄存器和内存的变化,我能够找到程序中的错误并进行修正。
4. 汇编语言程序优化在实验中,我也尝试了对汇编语言程序进行优化,以提高程序的性能和效率。
通过减少指令的数量和使用更高效的算法,我成功地改进了程序的执行速度。
实验心得通过本次实验,我深刻体会到了汇编语言程序设计的重要性和挑战性。
汇编语言虽然复杂,但它能够直接操作计算机的硬件,提供了更高的灵活性和效率。
通过编写汇编语言程序,我不仅加深了对计算机底层原理的理解,还提高了问题解决和调试能力。
总结汇编语言程序设计实验是一门重要的课程,它为我们提供了学习计算机底层原理和编程技巧的机会。
通过实验,我掌握了汇编语言的基本知识和技巧,并成功编写和优化了汇编语言程序。
这次实验不仅加深了我的理论知识,还培养了我的实际操作能力。
计算机汇编语言实验报告

计算机汇编语言实验报告一、实验目的本实验旨在通过编写计算机汇编语言程序,加强对计算机组成原理和汇编语言的理解,同时熟悉实际编写和调试过程。
二、实验内容1.用汇编语言编写一个简单的计算器程序,实现加法和减法操作。
2.编译并运行程序,测试其功能的正确性。
3.运用调试工具进行程序的调试,检查代码的运行流程。
三、实验步骤1.确定程序功能和设计思路:本次实验的目标是编写一个计算器程序,能够对两个数进行加法和减法操作。
我们可以通过定义一些操作码来表示不同的操作,再通过输入不同的操作码来执行相应的操作。
2.编写汇编语言程序:首先,需要定义一些变量和常量来存储输入的数和操作码。
然后,使用汇编语言的运算指令和控制指令来实现加法和减法操作,并将结果存储到指定的变量中。
最后,使用输出指令来显示结果。
3.编译并运行程序:将汇编语言程序编译为机器码,并通过计算机的指令集执行程序。
4.调试程序:利用调试工具,逐步执行程序,检查代码的运行流程和结果的正确性。
如有错误,进行适当的修改和调试。
5.测试功能和性能:使用不同的数和操作码进行测试,验证程序的功能和正确性。
四、实验结果经过编写、编译和调试,我们成功实现了一个简单的计算器程序。
程序能够根据输入的操作码,对两个数进行加法和减法操作,并将结果显示出来。
经过多次测试,程序的功能、正确性和性能都符合预期要求。
五、实验感想通过本次实验,我们对计算机组成原理和汇编语言有了更深入的理解。
在编写程序的过程中,我们发现汇编语言相比高级语言更加底层,需要考虑更多的细节和机器指令的使用。
同时,我们也意识到了调试的重要性,调试工具能够帮助我们分析和修正代码的错误,提高程序的质量。
六、实验总结通过本次实验,我们对计算机汇编语言的应用有了更深入的了解。
我们掌握了汇编语言程序的基本结构和语法规则,学会了使用汇编语言指令进行计算和控制。
同时,我们也提升了调试和测试的能力,加深了对计算机组成原理和汇编语言的理解。
汇编语言与微机原理实验报告

成绩:2微机原理与接口技术课程实验报告课程:微机原理与接口技术姓名:专业:网络工程学号:132055222日期:2016年6月太原工业学院计算机工程系实验一:输入输出实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2016.6一.实验内容基本要求:1.熟悉emu8086仿真系统2.实现控制台输入输出3.设计并单步调试实现一位十进制数的加法运算(屏幕效果为3+2=5,红色为输入其他为自动输出)扩展要求:1.实现两位十进制和的输出2.实现一位十进制四则运算3.实现多位数运算思考内容:1.输入输出数据和计算用数据的区别2.单字符输入输出和串输入输出的不同二.理论分析或算法分析1.一般来讲,从键盘输入的数都是以ASCII码的形式存放在内存中。
对十六进制数来讲,0~9的ASCII码值分别为30H~39H,对这十个数的转换,减去30H就得到对应的二进制值,再用二进制数值进行加减乘除运算。
2.实现一位十进制数的加法运算和实现一位十进制数的减法运算的主要区别是对控制台输入的运算符不同,算术运算指令也不同,同时应该考虑加法的进位和减法的借位。
一位十进制加法与两位十进制加法运算的区别是:一位十进制加法时算术运算指令用AAA(加法的ASCII调整),两位十进制数用DAA(加法的十进制调整)。
3.在一位十进制的运算方法上,利用mov ah,01h;int 21h;输入字符。
利用mov dl,al;mov ah,2;显示到屏幕上。
将第一个数赋值给al,将第二个数赋值给bl,用add实现bl于al的相加。
4.在实现两位十进制相加的算法时,利用步骤一的方法,再次将两个值赋值给ah和bh,利用add实现十位数的带进位相加。
三.实现方法基本要求代码:mov ah, 1int 21hmov bl, al mov ah, 2 mov dl, '+'int 21hmov ah, 1int 21hand bl, 0fh and ax, 0fh add al, blaaaor ax, 3030h mov bx, ax mov ah, 2 mov dl, '='int 21hcmp bh, 30h 扩展要求代码:mov ah, 1int 21hmov bl, al mov ah, 2 mov dl, '+' int 21hmov ah, 1int 21hadd bl, al mov ah, 2 mov dl, '=' int 21hmov dl, bl sub dl, 30h mov ah, 2int 21hHlt四、实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)1、基本要求实验结果:2、扩展要求实验结果:五.结论通过本次实验,完成了一位十进制数的加法运算,两位十进制数的和输出,一位十进制数的四则运算以及多位数运算的实验要求。
汇编语言与微机原理实验报告

成绩:2计算机原理实验室实验报告课程:汇编语言与微机原理**:***专业:计算机科学与技术学号:*********日期:2013年12月太原工业学院计算机工程系实验一:输入输出实验3、思考内容(1)从键盘中输入和从从屏幕上输出的都是字符,和计算用的数据时间相差“0”即30H。
所以一个数从屏幕上输出时将+30H,输入时转换成数字-30H。
(2)单个字符,也就是CPU处理外设(键盘)的整个中断过程五.结论通过本次实验,完成了一位十进制数的加法运算,两位十进制数的和输出,一位十进制数的四则运算以及多位数运算的实验要求。
这次实验也让我熟悉了emu8086仿真系统,能够实现控制台的输入输出;也学会了如何去实现一位十进制数的加法运算还有两位十进制数的和输出以及一位十进制数的四则运算,知道了输入输出数据和计算用数据的区别,即)从键盘中输入和从从屏幕上输出的都是字符,和计算用的数据时间相差“0”即30H。
所以一个数从屏幕上输出时将+30H,输入时转换成数字-30H,还有单字符输入输出和串输入输出的不同。
实验二:分支程序实验2.扩展要求每次输出都换行实验三:循环程序实验lea si,datamov cx,time+1result:mov dl,[si]add dl,30hmov ah,2int 21hmov dl,' 'int 21hadd si,2loop resultjmp $time equ 4paixuqian dw 'paixuqian:','3','4','9','7','1','$'paixuhou dw 'paixuhou:','$'data dw 3,4,9,7,1四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)本次实验验证了实验基本要求,实现了直接选择排序和冒泡排序两种方法对五个字从大到小排序功能.1.直接选择排序结果:2.冒泡排序结果:3.思考内容:冒泡排序之所以能实现快速排序,是每一次排序都将最大或最小的放在最后或最前,并且有个来统计交换的次数,一旦交换的次数为0时直接退出循环。
汇编语言编程实验报告

汇编语言编程实验报告汇编语言程序设计实验报告(一)汇编语言程序设计实验报告(一)一、预备知识汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。
)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。
4、LINK连接程序5、DEBUG调试程序三、汇编语言源程序上机操作过程2、编辑源文件根据给定的任务,可编写程序。
如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。
一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。
将包含QE文件的工作磁盘插入驱动器A:。
进入QEA\QE进入全屏幕后可以开始编程。
文件名取为Myprog。
asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display messageMOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。
微机汇编语言程序设计实验

微机汇编语言程序设计实验一、汇编常用软件的使用一、实验目的1、熟悉要用到一些DOS命令(CD,DIR,COPY,TYPE,EXIT,RENAME等);2、熟悉汇编语言的上机过程;3、熟悉伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET;4、常用DEBUG命令的使用5、了解字符、字符串输出的方法和返回DOS系统的方法。
二、实验器材计算机,汇编相关程序,WA VE6000实验仿真器三、实验原理省略四、实验步骤省略五、实验数据源程序一:data segmentnote db 'hello,world!','$' data endscode segmentassume cs:code,ds:data begin:mov ax,datamov ds,axmov dx,offset notemov ah,09hint 21hmov ah,4chint 21hcode endsend begin 源程序二:code segmentassume cs:code start:mov al,32hmov dl,37hadd dl,alsub dl,30hmov ah,2int 21hmov ah,4chint 21h code endsend start六、实验结果分析1、指出寄存器发生的变化和写出结果。
单步执行源程序二的指令后,寄存器发生的变化如下:○1.执行mov al,32后,AX=0000→0032;IP=0100→0102;○2.执行mov dl,37后,DX=0000→0037;IP=0102→0104;○3.执行add dl,al后,DX=0037→0069;IP=0104→0106;○4.执行sub dl,30后,DX=0069→0039;IP=0106→0109;○5.执行mov ah,2后,AX=0032→0232;IP=0109→010B;○6.执行int 21h后,IP=010B→107C;CS=0B1D→00A7;○7.执行mov ah,4ch后,IP=107C→107D2、写出实验结果。
计算机课程实验报告-《汇编语言与微机原理》[1]
![计算机课程实验报告-《汇编语言与微机原理》[1]](https://img.taocdn.com/s3/m/d54d6c6f0b1c59eef8c7b468.png)
常熟理工学院
计算机科学与工程学院实验报告 2013-2014学年第 2 学期
课程名称汇编语言与微机原理
专业计算机科学与技术
班级计科121
学号090312115
姓名王海波
实验地点N6-106
指导老师张雪伍
实验报告要求
1.在实验课前要认真预习实验内容,熟习实验的原理、方法及算法等。
2.根据实验指导书要求,认真完成实验内容;实验结束后,按照实验报告的要求认真填写相关内容。
3.实验时要带好实验指导书、实验报告本。
4.实验时要严肃认真,不得互相抄袭。
5.实验课的成绩由实验预习、实验过程、实验结果和实验报告四部分构成。
用Debug进行实验的示例实验报告必须包含内容说明:。
微机系统与汇编语言实验报告

《微机系统与汇编语言实验报告》8086汇编语言实验项目一(数值筛选)1.实验目的:进一步熟悉8086指令系统,运用并掌握汇编语言程序设计基本方法,编制能满足题目要求的数据处理类小规模程序。
并通过使用EDIT、MASM、LINK等软件工具,熟悉汇编语言程序书写、输入、编译、连接生成可执行程序的全过程。
进一步提高汇编语言程序调试和结果查找的能力。
2.基本要求:应用8086汇编语言程序设计方法,编制一个程序,使它能对10个字节型有符号常数作如下处理:1.在这10个常数中筛选出所有奇数,并存放到ODD开始的内存单元中;2.在这10个常数中筛选出所有偶数,并存放到EVE开始的内存单元中;3.对所筛选出的奇数、偶数分别求和,求和结果分别存放到每组数的结尾。
掌握用EDIT输入和保存8086汇编语言源程序、用MASM编译、用LINK连接生成可执行程序(EXE文件),并采用DEBUG调试运行自编程序,观察并记录程序运行的结果。
3.实验原理与方法:1.实验原理本实验项目需要运用8086汇编语言程序设计方法,而不是单纯地用DEBUG输入汇编语言指令来解决问题。
为了满足本实验的基本要求,程序中需要用到8086伪指令来定义数据区,用定义地址标识符伪指令来定义三个内存变量ORITAB、ODD、EVE,其长度都为10个字节。
这就建立了原始数据存储区、奇数结果存储区和偶数结果存储区。
在操作三个存储区前,通过“OFFSET<变量名>”运算,就能获取这三个存储区的首地址。
设置两个地址指针SI、DI,一个指向EVE存储区单元地址,另一个指向ODD存储区单元地址。
当找到符合偶数条件的数据时,就用SI在传送指令中对目的操作数形成“寄存器间接寻址方式”,把偶数传送到SI所指向的单元;当找到符合奇数条件的数据时,就用DI 在传送指令中对目的操作数形成“寄存器间接寻址方式”,把奇数传送到DI所指向的单元。
设置两个求和寄存器DH、DL,当找到奇数时,把它加到DH求和;当找到偶数时,把它加到DL求和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长江大学工程技术学院《汇编+微机》课程设计报告ﻩﻩ数据采集系统的设计与调试学生姓名:袁春云学号:200960720ﻩ序号:25专业班级:计本60901指导老师:李华贵许建国报告日期: 2011 年9月10日ﻩﻩﻩ一.课程设计题目:数据采集系统的设计与测试利用《汇编语言+微型计算机》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A设计一个数据采集系统,并且编程与调试。
二.设计目的1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制奠定一定的基础。
2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A等可编程器件的使用,掌握译码器74LS138的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。
三.课程设计要求1.功能要求①利用《汇编语言+微型计算机系统》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A(从保留的IRQ2或TRQ10端引入)设计一个数据采集系统、并且编程与调试。
②用8253定时器定时10MS,每次定时10MS后启动一次模/数转换,要求对所接通道变化的模拟电压值进行采集。
③每次模/数转换结束后,产生一次中断,在中断服务程序中,采集来的数字量被读入微处理器的累加器AL中,然后通过8255A输出到8个LED发光二极管显示。
2.设计所需器材与工具④微机原理与接口综合仿真实验平台。
⑤可编程接口芯片8253、8255A、ADC0809和译码器芯片74LS138、74LS 245等。
⑥可调电位器4.7KΩ一个。
⑦其他逻辑器件、导线若干。
⑧万用表、常用工具等。
四.设计思路1. 4.7Ω电位器一端接+5V,一端接地,调节电位器得到变化的模拟电压,该电压接至ADC0809的某一通道输入端(如IN0),ADC0809的时钟为(500MH z),由8253对面包板上的时钟1MHz或2MHz分频后得到,8253的端口地址200H~207H。
2. 用8253定时输出信后启动ADC0809转换,ADC0809完成一次转换时间大约为120us,将ADC0809的EOC引脚信号作为中断信号,若转换结束则进入中断服务程序。
在中断服务程序中读入模数转换结果,并发送至二极管显示。
3. 8255A端口地址:208H~20FH。
4. 译码电路由74LS138提供。
四.硬件组成及工作原理图1—框架总图1.数据显示模块:数据显示模块是由8255A与74LS245所组成的。
8255A有三个并行输入/输出接口,分别为A、B、C三个端口。
分别为:方式0 :基本的输入输出方式,即无须联络就可以直接进行的I/O 方式。
其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A 口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0。
方式2: 双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。
然后根据在程序中是设置的那种工作方式去与74LS245进行连接。
在D7LED图2—8255A连接图2.中断管理模块中断管理模块主要74LS138来完成,74LS138为3-8译码器,可以产生8片选,但是在这个程序中只要用四个片选,即200-207、208-20F、210-217、218-21F。
74LS138其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平。
可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。
同时,中断管理模块需要做的工作有设置中断向量。
在对中断进行设置的时候可以对中断类型号进行修改。
其实中断类型号的设置在对8259进行初始化的时候就完成了。
3.数据采集模块数据采集模块是用ADC0809来完成的,通过ADC0809来进行模数转换,ADC0809所采集的模拟信号转换为数字信号。
这个模块是用来对数据进行采集、处理、转换的部分。
在这个模块里我们要注意的是如何去处理在设计过程中该怎样去处理送入软件里面的信号的频率,我们在实验中ADC0809所接入的频率为0.25MHZ,但是也可以去使用0.5MHZ的这样一个频率,因为是8253的ADC0809是模/数转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
IN3连接一个滑动电阻器,通过该电阻器改变电阻得到不同的电压值,经过数据采集并转换后通过LED显示得到结果8253可编程计数器/定时器,内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决图4——8253A连接图五. 软件框图1.主程序流程图将8259A、8255A、8253初始化后,通过开始中断、等待中断来进行数据传输图5--主程序流程图2.中断服务程序启动摸/数转换,对数据进行转换,然后通过8255A输出。
返回开中断来进行循环。
图6——中断服务器程序结构六. 主要程序的编写与分析1.8259初始化(210H~217H)由于系统中使用单片8259,所以初始化时不需要ICW3,即只需要初始化ICW 1,ICW2和ICW4代码如下:mov al,13h ﻩ;设置ICW1初始化命令字(00011011)mov dx,210hout dx,al ﻩ;将ICW1输出到偶地址端口mov al,8 ﻩﻩﻩ;ICW2中断类型号基值(8)mov dx,211hout dx,alﻩ; 将ICW2输出到奇地址端口ﻩmov al,1 ﻩ;ICW4ﻩﻩout dx,al2.设置中断向量因为每4个字节存放一个中断服务程序的入口地址,且4个单元的低地址称为向量地址,其值为对应的中断类型号乘以4。
ﻩﻩCLIﻩﻩ;关中断ﻩmov ax,0000hﻩmovds,axﻩﻩlea ax,INT0 ﻩﻩ ;intO中断首地址ﻩmovds:[4*8],axﻩﻩmov ax,cs ﻩ;中断向量指针ﻩmov ds:[4*8+2],axﻩ;设中断地址3.8255初始化(218H-21FH)A口地址为218H,B口地址为219H,C口地址为21AH,控制口地址为21BH,将对应的控制码写入控制口即可完成初始化。
ﻭ;8255a初始化ﻩmov dx,21bHﻩmov al,8aHﻩﻩ;端口A和C低输出,端口B和C高输入out dx,al4.8253初始化(200H-207H)定时器0地址为200H,定时器1地址为201H,定时器2地址为202H,8253控制口地址为203H,将相应的控制字和初始值填入8253即可完成初始化。
ﻩ;8253初始化;f=1mhz,t=1usﻩﻩmov dx, 203Hﻩmov al,00110110Bﻩ;选择计数器0,先低后高ﻩout dx ,al ﻩ;送计数方式控制字ﻩmov dx,200H ﻩ;选择计数器ﻩmovax,60000ﻩout dx,al ﻩ;先送低八位ﻩmoval,ahout dx,al ;后送高八位ﻩﻩ5.中断服务程序首先关闭中断,然后对ADC0809进行清零操作,然后调用延时程序为了等待A/D转换完成,然后将转换结果传送到AL寄存器,然后将AL寄存器的值传递到8255的A端口通过74LS245将转换结果传送到LED灯上。
ﻩINT0 Proc nearﻩm ov dx,208H;adc0809地址->dxmov al,0outdx,al ﻩcall delay ﻩ;调用延时子程in al,dx;输出8255mov dx,218Hout dx,al;结束中断mov dx,210Hmov al,20Houtdx,alsti ;开中断iret ﻩ;中断返回INT0 endp6. 延时子程序的设定ﻭ通过延时,以等待ADC0809完成A/D转换(100us)。
DELAY Proc nearﻭPUSH CXﻭ MOVCX,0F0FHLOOP $ﻩ ;CX<-CX-1POPCXRET ﻩﻩ;从子程序返回ﻭ DELAY endp七. 调试环境及方法1.运行hk88te这两个软件进行绘图和调试。
其运行环境如下图所示:图7——运行环境2.进行编译。
3.将试验箱与电脑连接好后先进行串口测试。
其图如下:图8——串口测试1.串口测试通过后就是编译并链接,其图如下:图9——编译并连接4.最后是进行全速运行,得出结果。
图10——全速运行八.调试过程及结果1.当输出端口为A时,程序的输出端口应为218H将输出端口A改为B端口时,灯不亮。
然后将程序的输出端口改为219H时,灯亮。
将输出端口A改为C端口时,灯不亮。
然后将程序的输出端口改为21AH时,灯亮结果:在输出时A端口 218HB端口219HC端口 21AH才能确保实验的正确。
2.4个接口芯片的端口地址可以改变,程序也就改变当改变芯片的端口地址时,我将程序的初始化地址与芯片的端口地址保持一致,运行时不能产生中断循环,经检查是没有将结束端口与8259A的地址保持一致。
3.初始化顺序也可以改变在改变程序初始化顺序时,将8255A、8253放在8259A的前面,实验不能正常运行。
将8259放在最前面,8255A、8253随意放置,实验可以正常运行。
结果:在初始化时必须将8259A放在最前面。
九. 体会与心得通过本次的课程设计,让我学到了一些东西。
同时,通过在这个过程中遇到了问题,接着去解决问题。
我从中真明白了一些知识。
在课程设计的开头主要的是对各种软件的初始化的编程,其实在这些看是简单的初始化中,也是需要一定的知识的。
就如对8259A的初始化而言,在这中间就需要去特别的注意设置初始化命令字、设置中断类型号这两点,这就需要我们明白8259A的工作方式是通过初始化命令字(ICW1-ICW4)和操作命令字(OCW1-OCW3)来设置。
同时以及明白命令字和操作命令字的初始化编程。
在课设中最常说的就是8255软件的输入输出端口的设置。
如果说开始为A输入,B输出的方式。
如果需要改为A输出,B输入的方式。
该怎样去改,在课设中进过与老师、同学的讨论我知道的该如何的去修改。
在修改的过程中需要修改8255A中的控制字进行修改以及在输出的地方进行修改。