《汇编语言+微型计算机》课程设计实验报告

合集下载

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

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

《汇编语言+微型计算机技术》课程设计报告课设题目数据采集系统的设计与实现系部信息系班级计算机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

汇编语言实验报告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的指令系统,熟悉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)掌握不同进制数及编码相互转换的程序设计方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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中的控制字进行修改以及在输出的地方进行修改。

相关文档
最新文档