微机原理实验报告模板
微机原理综合实验报告

微机原理综合实验报告目录一.8255并行口实验二.8259中断实验(一)三.8253定时/计数器实验四.A/D转换实验五.步进电机实验六.综合实验:十字路口交通灯实验七.实验体会四.8255并行口实验1.实验目的:(1)学习利用并行接口芯片8255构成并行接口电路的基本方法(2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法2.实验内容:编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。
3.实验程序:CODE SEGMENTASSUME CS:CODESTART:MOV DX,21BH ;8255初始化命令字MOV AL,90HOUT DX,ALBG: MOV DX,218H ;从PA口读入数据IN AL,DXXOR AL,FFH ;求反MOV DX,219HOUT DX,AL ;从PB口输出JMP BGCODE ENDSEND START4.实验框图5. 实验电路图6.实验方法说明通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。
8259中断实验(一)1.实验目的:(1)了解PC机的中断结构及8259中断控制器的初始化(2)熟悉8259中断控制器的工作原理和硬件连线方法(3)了解8259的应用和硬件编程方法了解8259中断屏蔽2.实验内容:编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。
3.实验程序INT0 EQU 220hINT1 EQU 221hP8255B EQU 219HP8255K EQU 21BHSTACK SEGMENTSTA DB 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV AX,TOPMOV SP,AXPUSH DSMOV AX,0000H ;定义IRQ0中断MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,0000HMOV SI,20HMOV [SI],AXMOV AX,CSMOV SI,22HMOV [SI],AXPOP DSMOV AL,13H ;对8259进行初始化ICW1MOV DX,INT0OUT DX,ALMOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT1MOV AL,0FEH ;对8259进行初始化OCW1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT0 ;对8259进行初始化OCW2,普通EOI返回MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $STIMOV DX,P8255K ;对8255进行初始化MOV AL,90HOUT DX,ALDSP: MOV AL,0FFHMOV DX,P8255BOUT DX,ALJMP DSPIRQ0: STIMOV CX,0FFFFHLOOP $MOV AL,0FHMOV DX,P8255BOUT DX,ALMOV DX,INT0MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $MOV CX,0FFFFHLOOP $IRETCODE ENDSEND START4.实验框图5. 实验电路图6. 实验方法说明主程序使8255输出高电平,实现L0~L7指示灯全亮。
微机原理实验报告册(3篇)

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。
二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。
2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。
3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。
4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。
5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。
6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。
微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
微机原理与应用实验报告范文

微机原理与应用实验报告范文姓名:专业:学院:学号:指导老师:微机原理实验一一、实验目的1、熟悉汇编程序调试方法2、80某86指令运用及顺序结构程序设计二、实验设备80某86微型计算机三、实验内容1、编程并调试显示“HelloWord!”字符串的汇编程序STACKSSEGMENTSTACK;堆栈段DW128DUP()STACKSENDSDATASSEGMENT;数据段DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVA某,DATAS;初始化MOVDS,A某OUTBUFDB'HelloWord!$'MOVD某,OFFSETOUTBUFMOVAH,9;显示在屏幕上INT21HMOVAH,4CH;退出程序INT21HCODESENDSENDSTART程序调试运行结果如下图:屏幕显示有“HelloWord!”字符串2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。
编写一个完整段定义的汇编语言程序(包含必要的伪指令),计算W=(A+B)某(C—D)。
STACKSSEGMENTSTACK;堆栈段DW128DUP()STACKSENDSDATASSEGMENT;数据段ADW1HBDW2HCDW5HDDW6HWDW2DUP()DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVA某,DATAS;初始化MOVDS,A某MOVA某,AADDA某,BMOVB某,CSUBB某,DIMULB某MOVW,A某MOVW+2,D某MOVAH,4CH;退出程序INT21HCODESENDSENDSTART调试验证结果:W=(A+B)某(C—D)=(1H+2H)某(5H-6H)=-3H,结果存于097E:0008开始的的4个单元里。
微机原理实验二一、实验目的1、熟悉80某86指令及汇编程序调试方法2、掌握分支和循环结构程序设计方法的运用二、实验设备80某86微型计算机三、实验内容3、设某、Y为在数据段中定义的有符号字变量。
微机原理实验报告样本

实验一定时器/计数器实验一. 实验程序DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX,0PUSH AX;返回DOSMOV AX,DATAMOV DS,AX;初始DSMOV DX, 22bH ;控制字端口地址MOV AL, 00110111B ;定时器0工作在方式3,16位初值,BCD计数OUT DX,ALMOV DX, 228H ;计数通道0端口地址MOV AL,00HOUT DX,ALmov al,96h;初值9600H=9600out dx,alMOV DX,22BHMOV AL, 01010100B;定时器1工作在方式2,8位初值,二进制计数OUT DX,ALMOV DX,229H;计数通道1端口地址MOV AL,10H;初值10H=16OUT DX,ALJMP $CODE ENDSEND START二.实验连线及结果GATE0、GATE1--+5V, CLK0--153.6KHZ,OUT0--CLK1,OUT1--L1,CS8253--228H。
=153.6KHZ/9600=16HZfout0=16HZ/16=1HZfout1运行后可观察到LED1在不停闪烁,间隔周期为1秒。
实验二双色灯实验一. 实验程序DATA SEGMENTPB DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: POP DSMOV AX,OPUSH AX;返回DOAMOV DX,206H;控制字端口地址MOV AL,80H;A、B、C口全设置为方式0、输出 OUT DX,ALMOV DX,204H;C口端口地址MOV AL,0FFHOUT DX,AL ;全灭MOV DX,204H ;全红MOV AL,0FHOUT DX,ALMOV BX,7fH;延时参数CALL DLY;延时127tBG: MOV AL,5AH ;东西红,南北绿OUT DX,ALMOV BX,50HCALL DLY;延时50tMOV CX,03H;绿灯闪次数XH1: MOV AL,5FH ;东西红,南北灭OUT DX,ALMOV BX,10HCALL DLY;延时10tMOV AL,5AH ;东西红,南北绿OUT DX,ALMOV BX,10HCALL DLY;延时10tLOOP XH1;南北绿灯(灭→亮)重复CX次MOV AL,0AH ;东西红,南北黄OUT DX,ALMOV BX,20HCALL DLY;延时20tMOV AL,0A5H ; 东西绿,南北红OUT DX,ALMOV BX,50HCALL DLY;延时50tMOV CX,03;绿灯闪次数XH2: MOV AL,0AFH; 东西灭,南北红OUT DX,ALMOV BX,10HCALL DLY;延时10tMOV AL,0A5H; 东西绿,南北红OUT DX,ALMOV BX,10HCALL DLY;延时10tLOOP XH2;东西绿灯(灭→亮)重复CX次MOV AL,05H; 东西黄,南北红OUT DX,ALMOV BX,20HCALL DLY;延时20tJMP BGDLY PROC NEAR;延时子程序,延时t(假设BX=1) PUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCCDEC BXCMP BX,0JNE DDDPOP CXRETDLY ENDPCODE ENDSEND START二.实验连线及结果将DG1~DG4,DR1~DR4连至8255的PC0~PC7,CS8255--200H。
微机原理实验报告

目录软件实验部分:实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同数个数实验七无符号双字节快速乘法子程序实验八多分支程序实验九脉冲计数(定时/计数器实验)实验十电脑时钟(定时器、中断综合实验)硬件实验部分:实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五继电器控制实验六 8255控制交通灯实验七 LED16×16点阵显示实验实验八串并转换实验实验九 A/D转换实验实验十 D/A转换实验十一电子音响实验十二步进电机控制实验十三 8032串行口应用实验㈠——双机通信实验十四小直流电机调速实验软件实验部分本节共编了十个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
本节提供的软件实验,涉及外部数据存储器扩展寻址操作,因此需按下图连接实验线路。
1.将存储器单元的D0—D7总线接口用8芯扁平线与数据总线单元D0—D7的任一接口相连,存储器单元的A0—A7地址接口与地址总线单元(低8)A0—A7的任一接口相连,存储器单元的A8—A12地址接口与地址总线单元(高8)A8—A12的任一接口相连。
注意外部扩充的数据区的有效范围。
2.存储器单元的WE/PGM插孔与六位LED左下方的IOWE插孔相连。
3.存储器单元的OE插孔与六位LED左下方的IORD插孔相连。
4.存储器单元的CS1插孔与六位LED右下方的IOWE插孔相连。
实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000H-20FFH的内容清零三、程序框图四、实验步骤用连续或单步方式运行程序,检查2000-20FF中执行程序前后的内容变化。
五、思考假使把2000H-20FFH中的内容改成FF,如何修改程序。
微机原理实验报告
微机原理实验报告实验一两个多位十进制数相加的实验一、实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。
二、实验内容将两个多位十进制数相加, 要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1.DATA2为首的5个内存单元中(低位在前), 结果送回DATA1处。
三、程序框图图3-1四、参考程序清单程序名: XIANGJ.ASMDATA SEGMENTDATA1 DB 33H,39H,31H,37H,34H;被加数DATA1END EQU $-1DATA2 DB 34H,35H,30H,38H,32H;加数DATA2END EQU $-1SUM DB 5 DUP(?) DATA ENDSSTACK SEGMENTSTA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AXMOV SI,OFFSET DATA1ENDMOV DI,OFFSET DATA2ENDCALL ADDAMOV AX,4C00HINT 21HADDA PROC N EARMOV DX,SIMOV BP,DIMOV BX,05HAD1: SUB BYTE PTR [SI],30HSUB BYTE PTR [DI],30HDEC SIDEC DIDEC BXJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05HCLCAD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BLAAAMOV [SI],ALDEC SIDEC DILOOP A D2MOV SI,DXMOV DI,BPMOV BX,05HAD3: ADD BYTE PTR [SI],30HADD BYTE PTR [DI],30H DEC SIDEC DIDEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START五: 结果分析这次试验依次将相加数和被相加数存入AL, BL, 依次从低位向高位相加, 然后把结果放在内存中, 根据程序走向, 相加的结果依次放在内存地址DS:0000到DS:0004的位置上, 和我们实验预期结果一样。
微机原理实验报告
微机原理实验报告一、实验目的本次微机原理实验的主要目的是通过实际操作和观察,深入理解微机系统的工作原理和组成结构,掌握微机系统的编程和调试方法,提高我们对微机原理的实际应用能力。
二、实验设备1、计算机一台2、微机原理实验箱一套三、实验内容1、 8255 并行接口实验了解 8255 芯片的工作原理和编程方法。
通过编程实现 8255 芯片的 A 口、B 口、C 口的输入输出控制。
2、 8253 定时/计数器实验掌握 8253 芯片的工作方式和编程要点。
利用 8253 芯片实现定时和计数功能。
3、 8259 中断控制器实验学习 8259 芯片的中断管理机制。
编写中断服务程序,实现中断响应和处理。
四、实验原理1、 8255 并行接口8255 是一种可编程的并行接口芯片,具有 A、B、C 三个 8 位端口。
通过对控制字的编程,可以设置各个端口的工作方式为输入或输出。
2、 8253 定时/计数器8253 包含三个独立的 16 位计数器,每个计数器可以工作在不同的方式下,如方式 0 到方式 5。
通过对计数器的初值设置和控制字编程,可以实现定时和计数功能。
3、 8259 中断控制器8259 用于管理外部中断请求,可实现中断优先级的判断和中断嵌套。
通过对 8259 的初始化编程,可以设置中断触发方式、中断向量等。
五、实验步骤1、 8255 并行接口实验连接实验电路,将 8255 芯片与实验箱上的相关引脚连接好。
编写程序,设置 8255 的控制字,使 A 口为输出,B 口为输入。
向 A 口输出数据,从 B 口读取数据,并观察实验结果。
2、 8253 定时/计数器实验连接实验电路,将 8253 芯片与实验箱上的相关引脚连接好。
编写程序,设置 8253 计数器 0 的工作方式为方式 2,初值为 1000。
启动计数器,观察输出引脚的波形变化。
3、 8259 中断控制器实验连接实验电路,将 8259 芯片与实验箱上的相关引脚连接好。
微机原理实验报告参考模板
2.1显示程序实验1.实验目的(1)掌握在PC机上以十六进制形式显示数据的方法。
(2)掌握部分DOS功能调用使用方法。
(3)熟悉Windows集成操作软件Tdpit的操作环境和操作方法2.实验设备PC微机一台、TD-PITD实验系统一套。
3.实验步骤和结果(1)编辑源代码STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$'MES1 DB 'Show 34H as hex:',0AH,0DH,'$'SD DB 15HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESMOV AH,09HINT 21HMOV DX,OFFSET MES1MOV AH,09HINT 21HMOV SI,OFFSET SDMOV AL,DS:[SI]AND AL,0F0HMOV CL,4SHR AL,CLCMP AL,0AHJB C2ADD AL,07HC2:ADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FHCMP AL,0AHJB C3ADD AL,07HC3:ADD AL,30HMOV DL,ALMOV AH,02HINT 21HKEY:MOV AH,1INT 16HJZ KEYMOV AX,4C00HINT 21HCODE ENDSEND START(2)实验结果图所示:2.2 数据传送实验1.实验目的1. 掌握与数据有关的不同寻址方式。
2. 继续熟悉实验操作软件的环境及使用方法。
2.实验设备PC 微机一台、TD-PITD 实验系统一套。
微机原理的实验报告
微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。
二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。
2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。
3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。
4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。
三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。
(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。
观察实验现象并记录。
(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。
观察程序的执行结果,并记录相关数据。
(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。
观察实验现象并记录相关数据。
2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。
(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。
(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。
四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。
2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。
但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。
五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动化学院
实
课 程 名 称 实验项目名称
验
报
跑马灯设计
告
微机原理及应用 B
实验学生班级 实验学生姓名 同组学生姓名 实 验 时 间 实 验 地 点
实验成绩评定 指导教师签字
年
月
日
1
本实验类型:
□演示性
□验证性
■设计性
□论证性
一、实验目的和要求 二、实验主要仪器和设备 三、实验原理 四、实验方案设计、实验方法 五、实验步骤 六、调试中遇到的问题及解决的办法 七、实验结论 八、思考题 附件:程序清单 注:①1-4 项内容为实验预习内容,学生须在进实验室之前完成。 ②实验结果须有指导教师签字。
跑马灯的软硬件实现方法有很多, 本设计中主要采用汇编语言中常用的移 位指令、程序控制指令,加 1 指令、减 1 指令、DOS 中断指令等实现跑马灯
4
的控制,设计流程如下图,详细方案与方法略。 3. 实验方法 根据所述原理,按照接线图设计系统,对照设计流程细化分析设计过程, 编制汇编语言程序,而后编译并连接,生成可执行代码,利用 MASM 调试软 件 Debug 或集成环境 WAVE6000 跟踪调试可执行程序,观察各变量、寄存器 等内容,调试无误后,运行并测试程序,经指导教师同意后并检查后,带硬件 联合调试。 五、实验步骤 1. 确定硬件方案,在教师指导下确定硬件方案,完成接线图。 2. 在教师指导下,确定软件方案并绘制流程图。 3. 代码编制 利用 wave 软件或 WINDOWS 的 EDIT 编辑器,创建源文 件并编制汇编语言代码,存储为.asm 文件。 4. 设计项目的创建 … 5. 设计编译 采用汇编语言工具 MASM 或 WAVE 集成环境的编译菜单编译…. 6. 设计链接 ….. 7. 设计软件调试 ….. 8. 软硬件联合调试 硬件接线经指导教师审查后,加电,完成联和调试…. 9. 系统测试 ….. 六、调试中遇到的问题及解决的办法 1. 系统调试 调试窗口如下图
MOV DX,PORTB IN AL,DX ;DATA FROM PORB AND AL,04H CMP AL,04H JZ MTOS
LTOR: POP AX ROR AL,1 MOV AH,00H PUSH AX JMP DISP RTOL: POP AX ROL AL,1 MOV AH,00H PUSH AX JMP DISP MTOS: POP AX PUSH AX AND AL,0FH MOV AH,AL MOV AL,00H SHR AX,1 MOV CL,04H
8
SHR AL,CL ADD AL,AH MOV BL,AL POP AX PUSH AX AND AL,0F0H MOV AH,00H SHL AX,1 MOV CL,04H SHL AH,CL ADD AL,AH ADD AL,BL MOV AH,00H PUSH AX DISP: MOV DX,PORTC OUT DX,AL MOV CX,200 LOOP $ JMP REIN MOV AH,4CH INT 21H CODE ENDS ;DATA OUTPUT TO PORTC ;the process of higher 4 bytes ;the process of lower 4 bytes
3
系统中, 8255A 的片选信号 CS 接 8086 的地址线 A15, 相应的 8255A 三个输入/输出口 A、B、C 与控制字寄存器的地址分别为 8000H-8003H。 8255A 的 C 口定义为输出口,A 口与 B 口定义为输入口。 2. 软件流程图
开始 获取工作模式 Y K0=0? N Y K1=0? N 右移 1 位 K2=0? Y 取输出高四位 左移 1 位 右移一位 取输出低四位 左移一位 延时 写C口 N
右向跑马灯
两端汇中型跑马灯 容错测试 …….. 从中可以得出,系统运转正常,功能达到设计要求,具有较好的可靠 性与容错性。
6
七、结论 利用 WAVE 的 8086 汇编语言集成工具与汇编语言实现了跑马灯的设计,并 完成了硬件连线、汇编程序的设计编译、调试、测试等工作,结பைடு நூலகம்表明采用所提 出的设计方案与实现方法,能够达到设计目标,设计方案可行。
END START
9
注:没有思考题,就不用写。是纯软件的实验,就没有硬件设计;如果算法简单,也可以不 画流程图
10
STACK SEGMENT STACK DB 20 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,081H PUSH AX MOV AL,MODE MOV DX,CADD OUT DX,AL ;CONTROLWORD WRITTING
5
采用 WAVE 集成工具调试,利用单步指令 F8、跟踪指令 F7、执行到 断点指令 CTRL+F9、断点设置指令 CTRL+F8 等调试软件,利用观察窗 查看寄存器值等内容,考察程序执行状况与各段结果。 调试过程中出现了…….等问题,……. ……. 2. 实验结果 根据系统要求, 对系统各个功能组成进行了全面的测试,测试内容主 要包括: 左向跑马灯
7
REIN: MOV DX,PORTB IN AL,DX ;DATA FROM PORB AND AL,01H MOV AH,00H CMP AL,01H JZ LTOR
MOV DX,PORTB IN AL,DX ;DATA FROM PORB AND AL,02H CMP AL,02H JZ RTOL
2
一、实验目的和要求 1、学习 8031 内部计数器的使用和编程方法。 2、进一步掌握中断处理程序的编程方法。 用 CPU 内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转. 二、实验主要仪器和设备 1. 计算机及操作系统 2. 伟福 6000 软件 3. 伟福实验系统及集成开发调试环境 三、实验原理 1. 功能描述 灯采用 LED 发光管实现,通过 8255A 的 C 口实现开关控制 系统功能选择采用拨码开关实现,K0=0,跑马灯自左向右 K1=0 时,跑马灯顺序自右向左 K2=0 时,跑马灯顺序自左右两端向中间 2. 系统原理 系统硬件 系统硬件基于可编程并行接口 8255A 实现, 8255A 的 PB 口获取 系统工作方式,8255A 的 C 口输出数据,实现 LED 的亮与灭的控制, 从而实现各种工作方式下的跑马灯动作。 工作原理 跑马灯的控制通过移位寄存器实现,左向跑马灯时,输出数据左 移位,反之,右移位。两端向中间时,取输出数据的高四位与低四位, 分别向右、左移位,移位后相加即得到 8 位控制数据。 得到 8 位控制数据后, 将其写入 8255A 的口 C, 实现灯的开与关。 四、实验方案设计、实验方法 1. 硬件原理 系统硬件接线如下图:
八、思考题 跑马灯还可以通过那些器件实现,试给出接线图与软件流程图? 跑马灯还可以通过定时计数器 8253 与译码器实现,原理….
附件:程序清单
MODE EQU 082h ;MODE,A AND C-OUTPUT,B-INPUT
PORTA EQU 8000h ;PORT A PORTB EQU 8001h ;PORT B PORTC EQU 8002h ;PORT C CADD DATA DATA EQU 8003h ;CONTROL WORD REGISTER SEGMENT DB 20 DUP(?) ENDS