微机原理实验4个

合集下载

微机原理综合实验报告

微机原理综合实验报告

微机原理综合实验报告目录一.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指示灯全亮。

微机原理及应用实验报告

微机原理及应用实验报告
2•深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。
3•掌握各种寻址方法以及简单指令的执行过程。
二、实验要求
1实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分 析等。
2•本实验要求在PC机上进行。
3•本实验只要求在DEBUC调试状态下进行,包括汇编程序,调试程序,执行程序。
4•熟悉建立源文件,进行汇编和连接的全过程,并对程序进行调试。
二、实验要求
1•实验前准备
1分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。
2写出算法或画出流程图。
3写出源程序。
4对程序中的结果进行分析,并准备好上机调试的过程。
2•本实验要求在PC机上进行。
3•汇编过程中出现问题,可用DEBU(进行调试。
xorax,ax pushax movax,data movds,ax leasi,data1 leadi,data2 leabx,data3 moval,[si+3] movah,[di+3] an dal,0fh an dah,0fh addal,ah oral,30h mov[bx+3],al moval,[si+2] movah,[di+2] an dal,0fh an dah,0fh adcal,ah oral,30h mov[bx+2],al moval,[si+1] movah,[di+1] an dal,0fh an dah,0fh adcal,ah oral,30h mov[bx+1],al moval,[si] movah,[di] an dal,0fh an dah,0fh adcal,ah
;exercize21

微机原理实验报告册(3篇)

微机原理实验报告册(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)学习微机中断处理在接口技术中的应用。

微机原理综合实验报告

微机原理综合实验报告

滨江学院微机原理综合实验实验报告学生姓名学号专业信息工程班级2016级二O一八年十二月三十日微机原理综合实验实验一利用DEBUG调试程序调试程序段1、实验目的1)熟悉DEBUG有关命令的使用方法。

2)利用DEBUG掌握有关指令的功能。

3)利用DEBUG运行简单的程序段。

2、实验内容1)进入和退出DEBUG程序。

2)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。

对于U命令、N命令、W命令等,也应试一下。

3)利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。

3、实验准备1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。

2)作为例子,准备用A命令,输入在显示器上显示字符“S”的系统调用程序段。

3)阅读将AX左移9位的程序段。

4、实验步骤1)在DOS提示符下,进入DEBUG程序。

2)在DOS目录下启动DEBUG。

3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。

5、实验报告要求1)如何启动和退出DEBUG程序。

2)整理每个DEBUG命令使用的方法,实际示例及执行结果。

3)启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?实验结果:实验二分支程序实验1、实验目的1)掌握分支程序的设计方法。

2)掌握利用DEBUG修改参数、检查结果的方法。

3)掌握汇编语言源程序的编辑、汇编、连接及调试过程。

2、实验内容1)编写一个程序,显示AL寄存器中的两位十六进制数2)编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z 或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。

3、实验准备1)编写实验内容要求的两个程序。

2)写出调试以上程序,即修改程序参数,检查结果的操作方法。

3)熟悉源程序汇编、连接命令的使用方法即要回答的内容。

微机原理实验

微机原理实验

实验一清零程序1、实验目的掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。

2、实验内容把RAM区内4000H~40FFH单元的内容清零。

3、程序框图4、实验步骤用连续或单步方式运行程序,检查4000H~40FFH中执行程序前后的内容变化。

5、思考假使把4000H~40FFH中的内容改成FF,如何修改程序。

实验二:拆字程序一、实验目的(5分钟)掌握汇编语言程序设计的方法及程序调试方法。

二、实验内容把4000H的内容拆开,高位送4001H低位,低位送4002H低位,4001H和4002H的高位全部清零,一般本程序用于把数据送显示缓冲区时用。

三、程序流程四、实验步骤1、LED环境(1)在P.状态下按“0—EV/UN”,装载实验所需的代码程序。

(2)在P.状态下按键入3020,然后按STEP或EXEC进入入实验项目的调试与运行。

2、PC环境在与PC联机状态下,编译、连接、下载PH88\se02.asm,用连续或单步方式运行程序。

3、在单步运行时,每走一步可观察其运行结果。

在连续运行状态下,应按“暂停图标”或试验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查4000H~4002H中执行程序前后的内容变化。

实验三数据区移动1、实验目的掌握RAM中的数据操作。

2、实验内容把4100H源RAM区首地址内的16字节数据传送到4200H目标RAM区。

3、设计思想程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。

源数据块和目的数据块在存储器中可能有三种情况,如下图:对于两个数据分离的情况,如图(a),数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。

但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。

可以得出如下结论:当源数据首址>目的块首址时,从数据块首址开始传送数据。

当源数据首址<目的块首址时,从数据块末址开始传送数据4、程序框图5、实验步骤调试运行入口地址为3060H的程序,检查4100H~410FH中内容是否和4200H~420FH中内容完全一致。

微机原理实验4-逐次比较式ADC0809

微机原理实验4-逐次比较式ADC0809

实验三 逐次比较式A/D 转换器0809的原理及编程一、实验目的1. 熟悉逐次逼近式A/D 转换器芯片的工作原理。

2. 了解A/D 转换芯片0809的接口设计方法。

3. 掌握A/D 转换器0809简单的应用编程。

二、实验任务1. 分析本实验模板的电路原理,它与EPP 接口数据传送的方法,所使用的端口地址。

2. 编写出逐次逼近式A/D 转换器芯片0809的转换与显示的控制程序。

三、实验原理1.电路组成及转换原理ADC0809是带有8位A/D 转换器、8路多路开关,以及与微型计算机兼容的控制逻辑的CMOS 组件。

8位A/D 转换器的转换方法为逐次逼近法。

在A/D 转换器内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关数组的256电阻分压器,以及一个逐次逼近的寄存器。

8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个单边的模拟信号。

其原理图如图3-1所示。

8通道多路模拟开关5432128272625242322地址锁存器和译码器W 1W 2逐次逼近型寄存器SAR控制逻辑开关树组256R 电阻分压器610V x V c7输出缓冲锁存器三态212019188151417916111312模拟量输入A B CA L E地址选择地址锁存允许V cc G N D V R E F (+)V R E F (-)E N A B L E数字量输出转换结束(中断)E O CS TA R TC L O C KD 7D 6D 5D 4D 3D 2D 1D 0IN 7IN 6IN 5IN 4IN 3IN 2IN 1IN 0图3-1 ADC0809内部原理图从图中可以看出,ADC0809由两部分组成,第一部分为八通道多路模拟开关,控制C 、B 、A 和地址锁存允许端子,可使其中一个通道被选中。

第二部分为一个逐次逼近型A/D 转换器,它由比较器、控制逻辑、输出锁存缓冲器、逐次逼近寄存器以及开关数组和256R 梯型解码网络组成,由后两种电路(开关数组和256R 梯型电阻)组成D/A 转换器。

微机原理实验报告

微机原理实验报告

微机原理实验报告微机原理与接口技术实验报告学院:信息工程学院班级:学号:姓名:实验一:系统认识实验1 实验目的:掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

2 实验设备:PC机一台,TD-PITE 实验装置一套。

3 实验内容:编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。

4 实验步骤:1. 运行Wmd86 软件,进入Wmd86 集成开发环境。

2. 环境调试,“设置”选项中选择汇编语言。

语言环境选择界面3. 新建文档,编写程序,程序如下:SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:SSTACKSTART: PUSH DSXOR AX, AXMOV DS, AXMOV SI, 3000HMOV CX, 16AA1: MOV [SI], ALINC SIINC ALLOOP AA1AA2: JMP AA2CODE ENDSEND START4. 编译连接,程序无误下载:信息界面5. 连接PC与实验系统的通讯电缆,打开实验系统电源。

6. 下载程序,查看内存3000H 开始的连续16 个存储单元中的内容,显示如下:8.由于该内存段原始数据与实验数据相同,便于区分观察,将该内存段初始化,然后查看:9.点击运行程序,在此查看该段内存:10.设置断点,执行程序:5 操作练习编写程序,将内存3500H 单元开始的8 个数据复制到3600H 单元开始的数据区中。

通过调试验证程序功能,使用E命令修改3500H 单元开始的数据,运行程序后使用D命令查看3600H 单元开始的数据。

1、编写程序如下:SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:SSTACKSTART: PUSH DSXOR AX, AXMOV DS, AXMOV SI, 3500HMOV DI, 3600HMOV CX, 8AA1: MOV AL, [SI]MOV [DI], ALINC SIINC DILOOP AA1AA2: JMP AA2CODE ENDSEND START2、执行过程如上,内存变化如下:程序执行前程序执行后实验二:数制转换实验1、实验目的1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解;2. 熟悉程序调试的方法。

微机原理实验总结

微机原理实验总结

微机原理实验总结微机原理实验总结一、实验目的和背景:微机原理实验是计算机科学与技术专业的一门重要实验课程,通过该实验能够加深对微机原理的理论知识的理解,同时也提供了锻炼实验技能和培养解决问题能力的机会。

本次实验主要通过实际操作来学习CPU的工作原理,了解计算机的组成和运行过程,并通过搭建系统、调试和测试,加深对计算机工作原理的理解。

二、实验内容:本次实验主要包括以下几个模块的实验内容:1. 实验器材和器件的测试与调试;2. CPU运行状态及信号测试;3. 总线状态测试;4. 存储器的组织和访问方式测试;5. 输入输出接口测试。

三、实验方法和步骤:1. 实验器材和器件的测试与调试在进行实验之前,首先需要对实验器材和器件进行测试和调试,确保器材和器件的正常工作。

具体步骤如下:a. 检查硬件连接是否正确,包括主板、显示器、键盘等部件;b. 检查排线是否插好,开关是否处于正确的位置;c. 将电源插上,开机检查电源是否工作正常;d. 按照实验要求进行相应的仪器设备的调试。

2. CPU运行状态及信号测试通过搭建CPU运行测试电路,观察和测试CPU的运行状态和输出信号。

具体步骤如下:a. 按照实验要求搭建电路,包括主板、CPU、存储器、时钟等;b. 打开电源,上电后等待系统启动,观察CPU的运行状态;c. 使用示波器进行信号测试,观察时钟信号、读写信号、控制信号等。

3. 总线状态测试通过搭建总线状态测试电路,观察和测试总线的状态。

具体步骤如下:a. 按照实验要求搭建电路,包括总线、存储器等;b. 在开关电源的同时观察总线上的信号变化;c. 使用示波器进行信号测试,观察总线控制信号、数据信号等。

4. 存储器的组织和访问方式测试通过搭建存储器组织和访问方式测试电路,观察和测试存储器的组织和访问方式。

具体步骤如下:a. 按照实验要求搭建电路,包括存储器、地址线、数据线等;b. 打开电源,上电后等待系统启动;c. 运行程序,观察存储器的读写操作;d. 使用示波器等设备进行信号测试,观察地址信号、数据信号等。

微机原理实验

微机原理实验

试验一存储器读写实验一、存储器读写实验目的1、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。

2、掌握静态RAM读写数据编程方法。

二、实验内容对指定地址区间的RAM(2000H~27FDH)先进行写数据55AAH,然后将其内容读出再写到3000H~33FEH中。

三、实验步骤(运行实验程序)1、运行实验程序;2、稍后按RESET键退出,用存贮器读方法检查2000H~27FDH中的内容和3000~33FF中的内容应都是55AA。

四、实验程序CODE SEGMENTASSUME CS:CODESTART: MOV AX,0HMOV DS,AXMOV BX,2000HMOV AX,55AAHMOV CX,03FFHRAMW1: MOV DS:[BX],AXADD BX,0002HLOOP RAMW1MOV AX,2000HMOV SI,AXMOV AX,3000HMOV DI,AXMOV CX,03FFHCLDREP MOVSBRAMW2: JMP RAMW2CODE ENDSEND START实验二继电器控制实验一、实验目的:掌握用继电器控制的基本方法和编程。

二、实验内容1、利用8255A PB0输出高低电平,控制继电器的开合,以实现对外部装置的控制。

2、硬件线路原理如图5-23所示3、实验预备知识:现代自动化控制设备中都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机、电磁铁、电灯等);一方面又要为电子电路的电气提供良好的电隔离,以保护电子电路和人身的安全,电子继电器便能完成这一桥梁作用。

三、连线方法1、8255A的PB0连JIN插孔。

2、将CS-8255连到Y6。

四、实验步骤1、按图连好实验线路图。

2、运行实验程序,继电器应循环吸合,L-13和L-14交替亮灭。

五、硬件线路接线图六、试验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0063HIOCPT EQU 0061HSTART: MOV AL,80HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPTIODE2: MOV AL,01HOUT DX,ALCALL DELAYMOV AL,00HOUT DX,ALCALL DELAYJMP IODE2DELAY: MOV CX,0FFFFHDELY: LOOP DELYRETCODE ENDSEND START实验三小直流电机调速实验一、实验目的1、掌握直流电机的驱动原理。

微机原理实验四串操作指令

微机原理实验四串操作指令

实验四串操作指令程序实验一、实验目的1. 熟悉五种串操作指令的功能,会编写常用的串操作应用程序。

2. 会使用DEBUG 命令查看串操作运行的结果。

二、实验环境1. 硬件:PC 微机2. 软件:Masm for Windows 汇编集成开发环境三、实验讲义串指连续存放在存储器中的一些数据字节、字或者双字。

串操作允许对程序连续存放的数据块进行操作。

这是唯一一种可以从存储器到存储器的指令。

源串一般存放在数据段,偏移地址由SI 指定;目标串必须在附加段,偏移地址由DI 指定。

在每次进行串操作后,SI 和DI 两个指针会自动修改。

修改的是增量方向还是减量方向由标志位DF 决定,DF=0 为增量操作,DF=1 为减量操作。

CX 中存放的是数据块的长度,可在CX 前加重复前缀标志,对串进行连续操作。

执行串指令之前,一般先进行如下操作:源串首地址(末地址)→ SI目的串首地址(末地址)→ DI串长度→ CX建立方向标志DF1. 重复前缀标志助记符判断条件说明REP CX 0 CX=CX-1,若CX 0 则重复REPE 或REPZ CX 0 且ZF=1 CX=CX-1,若CX 0 且ZF=1 则重复REPNE 或REPNZ CX=0 且ZF=0 EX=CX-1,若CX 0 且ZF=0 则重复2. 方向标志指令方向标志由标志位DF 决定,有CLD 和STD 两种指令。

CLD 将DF 置0,地址为增量操作。

STD 将DF 置1,地址为减量操作。

3. 串传送指令格式: [REP] MOVS DESTS, SRCS[REP] MOVSB/ MOVSW / MOVSD功能:将DS:SI 中的源串数据传送到ES:DI 规定的目的串单元中。

加重复前缀REP 可实现连续存放的数据块的传送。

例1:将源串中前三个字节的数据传送到目的串。

源串在数据段(DATAS)中,存放在SRC 单元中;目的串在附加数据段(EDATAS)中,存放在DEST 单元中。

微机原理与系统设计实验四

微机原理与系统设计实验四

实验1 继电器控制实验一、实验目的1、了解微机控制直流继电器的一般方法。

2、进一步熟悉使用8255、8253。

二、实验所用仪器(或实验环境)计算机、微机原理实验箱、USB接口模块、汇编语言开发软件等三、实验原理将8253 计数器0 设置为方式3、计数器1 设置为方式0 并联使用,CLK0 接1MHZ 时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1 输出高电平。

通过8255 的PA0口查询OUT1的输出电平,用C 口PC0输出开关量控制继电器动作。

继电器开关量输入端输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。

四、实验内容1、使用8254定时,让继电器周而复始的闭合5 秒钟(指示灯灯亮),断开5 秒钟(指示灯灯)。

2、改变指示灯亮灭的周期为2s,改用PC7口控制继电器。

五、方案设计1、实验接线及分析接线:8255/CS 接I/O 地址译码/Y1(288H---28FH)8255/PC0 接继电器8255/PA0 接8254/OUT18254/CS 接I/O 地址译码/Y0(280H---287H)8254/CLK0 接时钟/1MHz8254/OUT0 接8254/CLK18254/GATE0,1 接+5V硬件电路分析:(包括端口地址分析)2、实现该内容的方案(或原理)3、画出流程图六、实验程序设计;***************************;;* 继电器控制 *;;***************************;io8253a equ 280hio8253b equ 281hio8253c equ 283hio8255a equ 288hio8255c equ 28ahio8255ctl equ 28bhcode segmentassume cs:codestart: mov dx,io8255ctlmov al,90hlll: out dx,almov dx,io8255cmov al,01 ;将PC0置位out dx,alcall delay ;延时5smov al,0 ;将PC0复位out dx,alcall delay ;延时5sjmp lll ;转llldelay proc near ;延时子程序push dxmov dx,io8253c ;设8254计数器为方式3 mov al,36hout dx,almov dx,io8253amov ax,10000 ;写入计数器初值10000 out dx,almov al,ahout dx,almov dx,io8253cmov al,70h ;设计数器1为工作方式0out dx,almov dx,io8253bmov ax,500 ;写入计数器初值500out dx,almov al,ahout dx,alll2: mov ah,06 ;是否有键按下mov dl,0ffhint 21hjne exit ;若有则转exitmov dx,io8255ain al,dx ;查询8255的Pa0是否为高电平 and al,01hjz ll2 ;若不是则继续pop dxret ;定时时间到,子程序返回exit: mov ah,4chint 21hdelay endpcode endsend start七、实验结果分析及回答问题八、实验总结与心得体会实验2 电子琴实验一、实验目的1、通过8253 产生不同的频率信号,使PC 机成为简易电子琴。

微机原理实验

微机原理实验

微机原理实验第二部分实验内容《微机原理与应用》包括6个实验,其中前3个是软件编程,在PC机上完成,后3个是硬件实验,在TDN-MD实验箱上完成。

实验一顺序程序设计与调试一、实验目的1.熟悉汇编语言上机过程和上机步骤。

2.掌握汇编语言程序书写格式。

3.掌握顺序程序的设计与调试方法。

4.掌握汇编语言程序运行结果的观察方法。

二、实验设备PC机一台(安装汇编软件)。

三、实验内容分析并对比以下各程序段运行的结果。

1.两种加法指令比较(1) STCMOV AL,50HMOV BL,60HADD AL,BL(2)STCMOV AL,50HMOV BL,60HADC AL,BL2.两种加1指令比较(1) MOV AL,0FFHINC AL(2) MOV AL,0FFHADD AL,13.两种乘法指令比较(1) MOV AL,0FFH MOV BL,0FFH MUL BL(2) MOV AL,0FFH MOV BL,0FFH IMUL BL4.逻辑指令比较(1) MOV AL,55H AND AL,0FH (2) MOV AL,55H OR AL,0FH (3) MOV AL,55H XOR AL,0FH (4) MOV AL,55H TEST AL,0FH 5.移位指令比较(1) MOV AL,55H SHL AL,1(2) MOV AL,55H SHR AL, 1 (3) MOV AL,55H SAR AL, 1(4) STCMOV AL,55H ROL AL, 1 (5) STCMOV AL,55H ROR AL, 1 (6) STCMOV AL,55HRCL AL, 1(7) STCMOV AL,55HRCR AL, 1四、选作题在数据段中定义变量X、Y、Z、RESULT,计算X+Y-Z,结果存入数据段中的单元中。

其中X、Y、Z均为32位带符号数。

五、实验要求1.按汇编语言格式书写程序,在debug下进行调试、记录每组指令的运行情况,并进行分析与对比。

微机原理实验报告

微机原理实验报告

实验名称:微机原理与接口技术实验实验日期:2023年11月X日实验地点:微机原理实验室实验仪器:微机原理实验箱、计算机、仿真软件等实验人员:XXX、XXX、XXX一、实验目的1. 理解微机原理的基本概念和组成结构。

2. 掌握计算机的基本工作原理和指令系统。

3. 学习计算机接口技术的基本原理和方法。

4. 通过实验,提高动手能力和实际操作技能。

二、实验内容1. 计算机组成结构实验:- 学习计算机的硬件组成,包括中央处理器、存储器、输入输出设备等。

- 了解计算机的工作原理,包括数据的输入、处理、输出过程。

- 使用实验箱进行计算机组成结构实验,验证计算机的基本工作原理。

2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。

- 掌握指令的格式、操作数和寻址方式。

- 使用汇编语言编写程序,实现简单的计算、数据传输和逻辑运算等功能。

3. 接口技术实验:- 学习计算机接口的基本原理和方法。

- 了解常用的接口电路和芯片。

- 使用接口技术实现数据传输、信号处理等功能。

- 学习仿真软件的使用方法,包括程序编写、调试和运行等。

- 使用仿真软件模拟计算机的工作过程,验证程序的正确性。

三、实验步骤1. 计算机组成结构实验:- 搭建实验箱,连接计算机硬件设备。

- 编写程序,实现简单的计算、数据传输和逻辑运算等功能。

- 观察实验结果,验证计算机的基本工作原理。

2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。

- 编写汇编语言程序,实现简单的计算、数据传输和逻辑运算等功能。

- 使用汇编语言编写程序,实现更复杂的计算和数据处理功能。

3. 接口技术实验:- 学习计算机接口的基本原理和方法。

- 使用接口技术实现数据传输、信号处理等功能。

- 编写程序,实现接口功能,并验证其正确性。

4. 仿真软件实验:- 使用仿真软件编写程序,实现计算机的基本工作过程。

- 使用仿真软件调试程序,验证程序的正确性。

- 使用仿真软件模拟接口电路的工作过程,验证接口功能的正确性。

微机原理实验

微机原理实验

实验一调试程序DEBUG的使用方法一、实验目的通过对DEBUG调试程序的使用,熟悉用DEBUG调试汇编语言程序的方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,为后续程序编制和调试打下基础。

二、实验原理调试程序DEBUG 的特点:在受控环境中测试程序;装入,显示或修改任何文件;执行DOS程序;完成磁盘实际读/写操作;建立或汇编汇编语言程序。

DEBUG的命令格式:DEBUG [drive:][path][filename.exe][param...]其中:drive: 是DEBUG将要调试的文件所在的磁盘驱动器。

path: 是查找DEBUG将要调试的文件所需的子目录路径,若未指定,DOS使用当前目录。

filename.exe 是DEBUG将要调试的文件名。

param 是将被调试的程序(或文件)的命令行参数。

例如:调试放在c 盘asm文件夹下的汇编程序t1.exe。

c:> debug c:\asm\t1.exe ↙(↙回车符)当显示器出现提示符“-”时,说明已进入DEBUG状态,这时,可用DEBUG命令进行操作。

DEBUG使用单字符命令:R命令:查看、改变CPU寄存器的内容D命令:查看内存中的内容E命令:改写内存中的内容U命令:将内存中的机器指令翻译成汇编指令(反汇编)T命令:执行一条机器指令A命令:以汇编指令的格式在内存中写入一条机器指令Q命令:退出DEBUG 状态三、实验内容1、参考教材,熟悉DEBUG的使用方法,运行各种命令,观察运行后的况。

2、用DEBUG调试程序调试汇编语言例子te1.exe程序(程序见后面)。

1)用U命令对te1.exe文件进行反汇编,比较源程序te1.asm和反汇编后的指令代码。

2)用R命令查看各寄存器的初试状态。

3)用T命令单步跟踪te1.exe的执行过程,写出每一步执行后,相关寄存器中的内容。

四、实验步骤1、按实验内容用全屏幕编辑程序EDIT编写源程序te1.asm2、运用汇编源程序,产生目标文件.OBJ3、连接目标文件,产生可执行文件.EXE4、用DEBUG运行可执行文件。

微机原理实验(含解答程序)

微机原理实验(含解答程序)

微机原理实验(含解答程序)-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN微机原理实验课题(共16个内容,附解答程序)(汇编程序可以使用MASM FOR WINDOWS)1.将偏移地址为2000h开始的100个单元依次设置为0~99。

2.将两个64位的二进制数相加,记录相加的和以及各个状态标志的值。

3. 编写程序,在屏幕上分行显示自己的姓名、学号。

4. 编写程序,通过键盘输入0——9之间的一个数字,利用查表法计算其平方。

在DEBUG下查看执行结果。

5. 用分支结构设计程序实现符号函数100010xy xx>⎧⎪==⎨⎪-<⎩,要求x和y存放在内存单元中,并将判断的结果在屏幕上显示输出。

6. 在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则将其转换为大写字母并显示。

7. 在键盘上输入一个字符,判断它是一个数字、大写字母还是小写字母,若为数字,则显示digital,若为字母,显示letter,否则,显示other。

8. 将字节型变量x的低四位(一位十六进制数)以十六进制数的形式显示。

9. 编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N (N+1)大于200为止,并将结果由屏幕上显示出来。

10. 将字形变量x以二进制数的形式在屏幕上显示输出。

11. 将字形变量x以十六进制数的形式在屏幕上显示输出。

12. 将内存单元缓冲区中的符号数(20个)按从小到大的顺序排列,并以十六进制数的形式显示。

13. 编制程序计算S=1+2+3+……+N,并将结果由屏幕上显示出来。

(要求:在屏幕上显示提示信息,提示输入N,N用十六进制表示,且N小于0FH,用子程序实现(段内),将输入的结果用十六进制数输出显示,显示结果的程序用子程序是实现(段间))。

14.要求在键盘上输入一个小于四位的十进制数,将其转换为二进制数存放,并讲转换后的结果以十六进制数的形式在屏幕上显示出来。

微机原理实验报告

微机原理实验报告

微机原理实验报告班级:自动化72组员梁慕佳 07054031张乐 07054033张林鹏 07054034实验一:8255 并行接口实验1 实验目的1. 学习并掌握8255 的工作方式及其应用;2. 掌握8255 典型应用电路的接法。

2 实验设备PC机一台,TD-PITE 实验装置一套。

3 实验内容1. 基本输入输出实验。

编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就发生相应改变。

2. 流水灯显示实验。

编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。

4 实验原理并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。

图2-6-1 8255内部结构及外部引脚图图2-6-2 8255控制字格式5 实验步骤1. 基本输入输出实验本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。

用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。

具体实验步骤如下述:(1)实验接线图如图2-6-3所示,按图连接实验线路图;(2)编写实验程序,经编译、连接无误后装入系统;(3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。

微机原理实验指导书

微机原理实验指导书

微机原理实验指导书实验一数据传送实验目的 :1. 熟悉 8086 指令系统的数据传送指令及 8086 的寻址方式。

2. 利用 Turbo Debugger 调试工具来调试汇编语言程序。

实验任务 :1.通过下述程序段的输入和执行来熟悉Turbo Debugger 的使用,并通过显示器屏幕观察程序的执行情况。

练习程序段如下:MOV BL , 08HMOV CL , BLMOV AX , 03FFHMOV BX , AXMOV DS : [0020H] , BX2.用以下程序段将一组数据压入( PUSH )堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。

压栈程序段如下:MOV AX , 0102HMOV BX , 0304HMOV CX , 0506HMOV DX , 0708HPUSH AXPUSH BXPUSH CXPUSH DX出栈程序段请自行编写(用不同的出栈顺序)。

.3. 指出下列指令的错误并加以改正,上机验证之。

(1) MOV [BX] , [SI](2) MOV AH , BX(3) MOV AX , [SI][DI](4) MOV BYTE PTR[BX] , 2000H(5) MOV CS , AX(6) MOV DS , 2000H4. 设置各寄存器及存储单元的内容如下:(BX) = 0010H , (SI) = 0001H(10010H) = 12H , (10011H) = 34H , (10012H) = 56H ,(10013H) =78H (10120H) =0ABH ,(10121H) =0CDH ,(10122H) = 0EFH说明下列各条指令执行完后 AX 寄存器中的内容,并上机验证。

(1) MOV AX , 1200H(2) MOV AX , BX(3) MOV AX , [0120H](4) MOV AX , [BX](5) MOV AX , 0110H[BX](6) MOV AX , [BX][SI](7) MOV AX , 0110H[BX][SI]5. 将 DS : 1000H 字节存储单元中的内容送到 DS : 2020H 单元中存放。

微机原理的4个实验

微机原理的4个实验

+试验四一、实验目的掌握8253的基本工作原理和编程方法。

二、实验内容1.按图接线,将计数器0设置为方式0,计数器初值为N(N≤0FH,本例程中为0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用L0或逻辑笔观察OUT0电平变化,初始时OUT0为高电平,当输入N个脉冲时,OUT0变为低电平,当输入N+1个脉冲后OUT0变高电平)。

2按图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用电平指示灯L0或逻辑笔观察OUT1输出电平的变化,要求输出频率1HZ的分频信号。

;*************************;;* 8253方式0计数器实验 *;;*************************;ioport equ 0C400h-0280hio8253k equ ioport+283hio8253a equ ioport+280hcode segmentassume cs:codestart:mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253kout dx,almov dx,io8253a ;送计数初值为08Hmov al,08hout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret;子程序返回disp endpcode endsend start;*******************;* 8253分频 *;*******************ioport equ 0C400h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253k equ ioport+283hcode segmentassume cs:codestart:mov dx,io8253k ;向8253写控制字mov al,36h ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,io8253kmov al,76h ;设8253通道1工作方式2out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hcode endsend start实验五一、实验目的掌握8255方式0的工作原理及使用方法。

《微机原理实验报告》word版

《微机原理实验报告》word版

班级自动化学号姓名实验一系统认识实验一实验目的掌握教学系统的基本操作二实验设备PC机一台masm软件三实验内容及步骤(1)输入程序并检查无误,经汇编连接后装入系统(2)输入E3500后回车,在3500-3510单元中分别送入00~09十个数据(3)按“T“键运行以上程序直至程序运行完(4)输入D3600后回车,查看3600单元后面的数据四程序及其显示的结果(1)程序(2)显示的结果实验三运算类编程实验一实验目的(1)掌握使用运算类指令编程及调试方法(2)掌握运算类指令对各状态标志位的影响及其测试方法二实验设备PC一台masm软件三实验内容及步骤(1)二进制双精度加法运算(2)输入程序并检查无误,经汇编连接后装入系统(3)用U0000:2000查看MOV AX,DA TA的语句,即得到数据段段位置CS:1412用E命令E1412:0000回车,给XL,YL,YH赋值存入二进制数A0,65,15,00和9E,B7,21,00(4)用G=0000:2000,运行以上程序(5)输入D1412:0008,检验显示的结果是否为:3E,1D,17,00四实验程序五程序显示的结果实验四分支程序设计实验一实验目的:(1)掌握分支程序的结构(2)掌握分支程序的设计,调试方法二实验设备:PC机一台masm软件三实验内容设计一数据块间的搬移程序。

设计思想:程序要求把内存中一数据区传送到另一存储区。

源数据块和目的数据块在存储中可能有三种情况,对于两个分离的情况,数据的传送从数据块的首位置开始,或者从数据块的末位置开始。

但对于有部分重叠的情况,则要加以分析,否则重叠部分会因搬移而遭到破坏,可以得到以下结论:(1)当源数据块首址大于目的块首址时,从数据块首址开始传送数据。

(2)当源数据块首址小于目的块首址时,从数据块末址开始传送数据。

四实验步骤(1)按实验流程图设计编写实验程序(2)输入程序并检查无误后,经汇编,连接后装入系统(3)用E命令在以SI为起址的单元中填入十六个数(4)用G=0000:2000运行实验程序(5)用D命令查看DI为起址的单元中的数据是否与SI单元中数据相同五实验程序及结果显示(1)实验程序(1)实验结果显示实验五循环程序设计一实验目的(1)加深对循环结构的理解(2)掌握循环结构程序设计的方法(3)熟练掌握调试循环程序的方法二实验设备:PC机一台masm软件三实验内容求数据区内负数的个数:设数据区的第一单元存放区内单元数据的个数,从第二单元开始开始存放数据,在区内最后一个单元存放结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计流程图
程序1:



code segment assume cs:code start: mov dx,0fffeh mov al,90h out dx,al key:mov al,00h mov dx,0fff8h out dx,al mov dx,0fff8h in al,dx mov dx,0fffah out dx,al jmp key code ends end start
四. 设计提示 使用在程序中动态地修改标志位的值设立标 志位的方法,以达到控制的目的。这一程序要 求接收的字符从空格符开始又以空格符结束, 因此程序中必须区分所接收的字符是否是第一 个字符。为此,设立作为标志的存储单元 FLAG。一开始将其置为O,接收第一个字符后 可将其置1。
程序设计流程图:
五.实验思考题
微机原理实验
实验要求: 1.进入实验室请在实验登记本上登记 2.实验成绩:独立课程,缺做实验缺写实 验报告按不及格论 3.做实验请先完成上次实验的实验报告和 预习报告,带来实验室检查,没有的不能 做实验。 4.实验报告要求:
验证性实验报告要求: 实验项目:———— 实验时间:————
实验类别:验证
五.实验思考题 如果不用串操作指令,该如何修改程序。
设计性实验报告要求: 实验项目:———— 实验时间:————
实验类别:设计
一.实验目的 二.实验仪器与设备 三.设计内容 四.设计流程图(实验原理图) 五.程序清单 六.实验结果分析 七.实验思考与总结
实验二 循环程序设计(设计性实验) 一. 实验目的 1.进一步熟悉汇编语言MASM5.0程序 2.掌握循环程序的编程设计。 二.实验仪器与设备 已安装MASM5.0软件或8088微机实验系统软件 的计算机 三.设计内容
一.实验目的 二.实验仪器与设备 三.实验内容 四.实验步骤 五.实验程序清单 六.实验结果分析 七.实验思考与总结
实验一 数据传送程序设计(验证性实验) 一. 实验目的 • 学习数据传送的用法以及与数据有关的不同 寻址方式。 • 熟悉汇编语言MASM50程序的上机运行过程。 • 学会使用DEBUG命令调试程序。 二.实验仪器与设备 已安装MASM5.0软件或8088微机实验系统软 件的计算机一台
五.实验思考题
1.编写拼字程序: 例如: 0040H 0041H 34H 56H
0042H 46H
运行程序后要求0042H单元的内容是46
实验四 输入输出(I/O口)应用(设计性实验)
一.实验目的 1.学习8088系统中扩展简单I/O口的方法。 2.学习数据输入输出程序的编制方法。 3.掌握8255A和微机I/O接口的方法。 4.掌握8255A的工作方式和编程原理。
一.实验目的 1. 掌握汇编语言程序设计和调试方法。 2. 掌握数据在内存中的存放形式。 二.实验仪器与设备 1)已安装MASM5.0软件或8088微机实验系统软件的计算 机 2)Dais微机实验系统一套 三.设计内容 把4000H单元的内容拆开,高位送4001H低位,低位送 4002H低位,4001H、4002H 的高位清零,一般本程序设 计用于把数据送显示缓冲区时用。用连续或单步方式运行 程序,检查4000H-4002H中内容变化情况。
1.从键盘输入一行字符,要求第一个键入的 字符必须是“#”,如不是,则退出程序;如 果是,则开始接受键入的字符并顺序存放 在首地址为BUFFER的缓冲区中(空格符 不存入),直到再次接受到第二个“#”符时 退出程序或者输入20个字符结束。 2.总结循环程序设计的步骤

实验三
拆字程序设计(设计性实验)
二.实验仪器与设备 1)已安装MASM5.0软件或8088微机实验系统软件的计算机 2)Dais微机实验系统一套
三.设计内容 1.用74LS244作开关量输入口,74LS273作输出口。 2.用8255 PA作开关量输入口,PB作输出口。
四. 设计提示 1.简单I/O扩展(利用244和273) 利用74LS244作为输入口,读取开关状态,并将 此状态,通过74LS273驱动发光极管显示出来。 设计流程图
程序2:


ห้องสมุดไป่ตู้
data segment org 0040h number db 34h db 56h data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax lea si,number

mov cl,4 mov ah,[si] ;ah=34h and ah,0fh ;ah=04h shl ah,cl ;ah=40h inc si mov al,[si] ;al=56h and al,0fh ;al=06h or ah,al ;ah=46h inc si mov [si],ah mov ah,4ch int 21h code ends end start
五.实验程序清单:
data segment ;数据段的定义 source_buffer db 40 dup('A') data ends ;************** extra segment ;附加段的定义 dest_buffer db 40 dup(?) extra ends code segment org 3000h ;程序首地址 main proc far assume cs:code,ds:data,es:extra
程序:



s1: mov ah, 08h int 21h cmp al,20h jz s2 mov [si],al inc si loop s1 s2: lea di,buffer mov dx,di mov ah,09h int 21h s3: mov ah,4ch int 21h code ends end start
三.实验内容与步骤 1.实验内容: 1)将40个字母A的字符串从源缓冲区传送到目的 缓冲区。 2)将26个小写英文字母存放到数据段偏移地址为 2000H单元开始的内存中,然后转换成大写字 母并传送到附加段以3000H单元开始的存储区。
四.实验步骤
1)使用edit命令编辑程序 C:\MASM>EDIT filename.ASM(enter) 2)使用masm和link命令对程序进行汇编,连接。 C:\MASM>MASM filename.asm (enter) C:\MASM>link filename.obj (enter) 3)使用Debug命令调试程序,观察调试过程中数据传 输指令执行后各寄存器及数据区的内容。 C:\MASM>DEBUG filename.EXE 屏幕上出现一个短划线。为了确定我们所要设定的断点 地址,常常用到反汇编命令,反汇编命令格式如下: 一U ;从当前地址开始反汇编 也可以从某个地址处开始反汇编,如下所示。 一U2000 ;从CS:2000h处开始反汇编
start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov ax,extra mov es,ax lea si,source_buffer lea di,dest_buffer Cld mov cx,40 rep movsb ret main endp code ends end start
data segment buffer db 20 dup(?),'$' data ends code segment assume cs:code,ds:data start:mov ax, data mov ds, ax mov cx, 20 lea si, buffer mov ah, 08h int 21h cmp al,20h jnz s3
五.实验思考题 1.利用8255设计一个循环点亮发光二极管程序。 2.利用8255设计一个循环闪烁发光二极管的程序。 3.画好硬件电路图(只要求画出主要器件)。
从键盘输入一行字符,要求第一个键入的字符必须是 空字符,如不是,则退出程序;如果是,则开始接受 键入的字符并顺序存放在首地址为BUFFER的缓冲区 中(空格符不存入),缓冲区为20个存储单元,直到 存满或者再次接受到第二个空格符时,然后将缓冲区 的内容显示到屏幕上。

四. 设计提示
1.存储结构如下图:
2.程序设计流程图:
4000H 34H
4100H 03H
4200H
04H
程序1:



DATA SEGMENT ORG 4000H NUM DD 34H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA start: MOV AX,DATA MOV DS,AX LEA BX,NUM MOV AL,[BX] MOV AH,AL MOV CL,4 SHR AH,CL INC BX MOV [BX],AH AND AL,0FH INC BX MOV [BX],AL JMP $ CODE ENDS END start
程序2:



code segment assume cs:code start: mov dx,0fffeh mov al,90h out dx,al mov al,0feh mov dx,0fffah xunhuan: mov cx,0ffffh rol al,1 out dx,al dealy: nop nop loop dealy jmp xunhuan mov ah,4ch int 21h code ends end start
用G命令来设置断点。比如想把断点设置在301C处,则如 下打入命令: —G301C ;程序在301CH处停下,并显示出所有寄存器 以及各标志位的当前值,在最后一行还给出下一条将要执 行的指令的地址、机器语言和汇编语言,可以从显示的寄 存器的内容来了解程序运行是否正确。 对于某些程序段,单从寄存器的内容看不到程序运行的结 果,而需要观察数据段的内容,此时可用D命令,使用格 式如下: —D DS:0000 ;从数据段的0000H单元开始显示128个字 节 —Q ;退出
相关文档
最新文档