汇编实验-简单接口应用实验和定时中断实验

合集下载

汇编程序及接口技术实验报告

汇编程序及接口技术实验报告

微机汇编程序及接口技术实验报告汇编程序实验:一、实验目的1、熟悉汇编程序调试过程2、掌握算术运算指令运用3、掌握分支程序的编程和调试方法二、实验设备80X86微型计算机三、实验内容1、编程并调试显示“Hello Word!”字符串的汇编程序TITLE HELLODA TA SEGMENTSTR DB'Hello World!$'DA TA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRMOV AH,9HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。

编写一个完整段定义的汇编语言程序,计算W=(A+B)×(C—D)。

title asmprogram1_1DA TA SEGMENTA DW 1HB DW 3HC DW 4HD DW 2HW DW 2 DUP(?)DA TA ENDS;CODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV AX,AADD AX,BMOV BX,CSUB BX,DIMUL BXMOV W,AXMOV W+2,DXMOV AH,4CHINT 21HCODE ENDSEND START3、设X、Y为在数据段中定义的有符号字变量。

编写一个完整段定义的汇编语言程序(包含必要的伪指令,给出必要的注释)完成以下操作:若0<X且Y<1000,则AX=2000,BX=0;否则AX=0,BX=2000。

STACKS SEGMENT STACK;DEFINE STACKDW 128 DUP(?)STACKS ENDSDA TAS SEGMENTX DW 11HY DW 22HDA TAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXSUB X,0JNG L1SUB Y,1000JAE L1JMP L2L1:MOV AX,2000MOV BX,0L2:MOV AX,0MOV BX,2000MOV AH,4CHINT 21HCODES ENDSEND START4DA TA SEGMENTBLOCK1 DW 1200H,2000H,3200H,0H,5612H,23H,45H,89H,09H,10H BLOCK2 DW 100 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART:MOV AX,DATAMOV DS,AXLEA SI,BLOCK1LEA DI,BLOCK2MOV CX,100REPT:MOV AX,[SI]CMP AX,0JZ NEXTMOV [DI],AXADD DI,2NEXT:ADD SI,2LOOP REPTMOV AH,4CHINT 21HCODE ENDSEND START5DA TA SEGMENTBLOCK1 DW 1200H,2000H,3200H,0H,5612H,23H,45H,89H,09H,10H BLOCK2 DW 100 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART:MOV AX,DATAMOV DS,AXLEA SI,BLOCK1LEA DI,BLOCK2MOV CX,100REPT:MOV AX,[SI]CMP AX,0JZ NEXTMOV [DI],AXADD DI,2NEXT:ADD SI,2LOOP REPTMOV AH,4CHINT 21HCODE ENDSEND START微机原理及接口技术实验:实验一 8255并行接口实验一、实验目的1、学习并掌握8255的工作方式及其应用。

中断应用实验报告

中断应用实验报告

中断应用实验报告中断应用实验报告引言:中断是计算机系统中一种重要的机制,用于处理硬件事件和异常情况。

通过中断,计算机可以及时响应外部设备的请求,并进行相应的处理。

在本次实验中,我们将探索中断应用的原理和实践,以增进对计算机系统的理解和掌握。

一、实验目的本次实验的目的是通过编写中断应用程序,了解中断的工作原理以及如何在程序中使用中断。

通过实践,我们将深入理解中断的概念和作用,并能够灵活运用中断来处理各种硬件事件和异常情况。

二、实验环境本次实验使用的是一台基于x86架构的计算机。

我们将使用汇编语言编写中断应用程序,并在实验环境中进行调试和运行。

三、实验步骤1. 确定中断向量中断向量是中断服务例程的入口地址。

在实验中,我们需要先确定所需处理的中断类型,并为其分配一个合适的中断向量。

这样,当中断事件发生时,计算机可以通过中断向量找到相应的中断服务例程。

2. 编写中断服务例程中断服务例程是中断处理的核心代码。

在实验中,我们需要编写中断服务例程来处理特定的中断事件。

例如,我们可以编写一个中断服务例程来处理键盘输入中断,以实现对键盘事件的响应和处理。

3. 注册中断服务例程在实验中,我们需要将编写好的中断服务例程注册到系统中,以便在中断事件发生时能够正确地调用。

通过注册,我们可以将中断服务例程与相应的中断向量关联起来,使其能够被系统正确地调用和执行。

4. 测试中断应用程序在完成以上步骤后,我们可以开始测试中断应用程序的功能和效果。

通过模拟中断事件,我们可以验证中断服务例程的正确性和稳定性。

同时,我们还可以观察中断应用程序对系统性能的影响,并进行相应的优化和改进。

四、实验结果与分析通过本次实验,我们成功编写了中断应用程序,并在实验环境中进行了测试和调试。

实验结果表明,中断应用程序能够及时响应外部设备的请求,并进行相应的处理。

通过中断,我们可以实现对键盘、鼠标等外部设备的控制和交互,提高了计算机系统的可用性和灵活性。

微机原理与汇编语言_实验5_8259中断控制器实验概论

微机原理与汇编语言_实验5_8259中断控制器实验概论

微机原理与汇编语言实验报告姓名x x x学号xxxxxx 专业班级计科x班课程名称微机原理与汇编语言实验日期2014.11.25 实验名称8259中断控制器实验成绩1、掌握8259A的工作原理。

2、掌握编写中断服务程序方法。

3、掌握初始化中断向量的方法。

二、实验内容1、实验原理本实验用到三部分电路:电平开关电路、简单I/O口扩展电路和8259中断控制器电路。

电平开关电路简单io扩展电路8259中断控制器电路1)电平开关电路开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。

对应的插孔是:K1~K8。

2)扩展输出口扩展输出接口由74LS273构成,74LS273的输出信号由插孔O0~O7输出,插孔CS273是其选通信号,其它信号线已接好。

3)8259中断控制电路CS8259是8259芯片的片选插孔,IR0~IR7是8259的中断申请输入插孔。

DDBUS是系统8位数据总线。

INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。

2、实验步骤1)实验接线CS0↔CS8259 CS1↔CS273 O0~O7↔LED1~LED8 K1~K8↔IR0~IR7 INT↔INTR INTA↔QINTACS0 片选信号,地址04A0~04AF 偶地址有效CS1 片选信号,地址04B0~04BF 偶地址有效CS2 片选信号,地址04C0~04CF 偶地址有效CS3 片选信号,地址04D0~04DF 偶地址有效CS4 片选信号,地址04E0~04EF 偶地址有效CS5 片选信号,地址04F0~04FF 偶地址有效CS6 片选信号,地址0000~01FF 偶地址有效CS7 片选信号,地址0200~03FF 偶地址有效关于偶地址有效当8259片选连接CS0时,因访问端口时地址位A0的值必须为1,由A1地址位来区分两个端口吗,因此,偶地址:04A0,04A4…奇地址:04A2,04A6…2)编译调试程序3)全速运行程序,拨动某一电平开关,观察LED的亮灭情况。

实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。

二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。

2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。

3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。

5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。

三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。

当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。

E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。

综上,画出实验电路原理图。

2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。

图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。

实验5程序流程图如图3-5,3-6所示。

图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。

实验五 中断与定时(计数)器实验(Keil)

实验五  中断与定时(计数)器实验(Keil)

实验五中断与定时/计数器实验一、实验目的1.了解单片机中断与定时器工作原理,掌握中断与定时器程序结构;2.掌握在µVision环境中调试中断与定时器程序的方法。

二、实验仪器和设备Keil软件;THKSCM-2综合实验装置;三、实验原理及实验内容1.示例及相关设置(1)建立一个文件夹:lx51。

(2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx51.asm文件名存盘到lx51文件夹中。

ORG 0000HLJMP MAINORG 0003HMOV P2,ARL ARETIORG 0040HMAIN:MOV SP,#5FHMOV A,#0FEHSETB EASETB EX0SETB IT0SJMP $END(3)在lx51文件夹下建立新工程,以文件名lx51存盘(工程的扩展名系统会自动添加)。

(4)在Project菜单的下拉选项中,单击Opt ions for Target ‘Target1’,在弹出的窗口中要完成一下设置:○1单片机芯片选择A T89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。

○2晶振频率设为11.0592MHz。

○3Output标签下的Create HEX File前小框中要打钩。

○4在Debug标签选择Use Simulator(软件模拟)。

(5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。

按F5运行程序。

(6)在P3窗口的P3.2位单击鼠标(模拟INT0引脚信号),观察P2窗口变化。

(7)修改程序,使之适合字节数大于8的中断服务情况。

(8)利用单片机最小系统板演示该程序的运行情况。

2.示例及相关设置(1)建立一个文件夹:lx52。

(2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx52.asm文件名存盘到lx52文件夹中。

c51定时中断实验报告

c51定时中断实验报告

c51定时中断实验报告本文介绍的是C51定时中断实验,利用这个实验可以更好地理解C51的定时器与中断模块,进一步熟悉C语言的使用。

一、实验目的1.掌握C51单片机的定时器模块和中断模块。

2.熟悉定时器与中断的工作原理。

3.掌握利用中断实现定时功能的方法。

4.掌握如何调试程序,发现和解决程序问题。

二、实验装置硬件:STC89C52微控制器、电源、电路板、电路元件等。

软件:Keil C51集成开发环境。

三、实验原理1.定时器模块C51单片机中的定时器模块包含了3种不同的工作方式:工作模式0、模式1和模式2。

这些工作模式拥有不同的计数器范围和计数方式。

在本实验中,将使用工作模式1,因为它适用于大多数定时需求,并且易于编写程序。

工作模式1基本特点如下:(1)Timer1用两个8位计数器(TH1和TL1)组成,当一个计数器溢出时(从FFH计数到00H),计数值自动重装,同时中断请求位TF1被设置。

(2)计数器TH1可以初始值,TL1需要重新初始计数。

(3)Timer1的计数时钟来源可以是外部时钟源或内部时钟源,一般选择内部时钟源。

(4)TH开头的寄存器和TL开头的寄存器合起来组成16位的Timer1计数器,这个计数器的数值大小为TH1-TH1。

(5)x表示H或L。

用C语言对Timer1进行编程,首先需要完成以下配置:TMOD |= 0x10; // 定时器模式选择,使用模式1,TH0和TL0为一组计数器TH1 = (65536 - 50000) / 256; // 定时器初值设置ET1 = 1; // 打开定时器中断其中,TMOD是用来选择定时器工作模式,可以用对应的数值进行配置;TH1和TL1需要根据需要设置计数器初始值,该初值的计算公式为:计数初值 = (65536 - 计数时间/12)。

ET1为定时器1允许中断的位,EA为总中断允许位,TR1为定时器1工作使能位。

2.中断模块中断是一种实时响应外部事件处理的技术手段,当特定的硬件事件发生时,CPU自动调出相应的中断处理程序来响应事件,处理程序完成任务后返回继续程序运行,从而提高了CPU的效率。

中断及定时器实验报告

一、实验目的1. 理解中断和定时器的基本概念及工作原理。

2. 掌握51单片机中断系统和定时器的配置方法。

3. 学会使用中断和定时器实现特定功能,如延时、计数等。

4. 培养动手实践能力和问题解决能力。

二、实验原理中断是计算机系统中的一种机制,允许CPU在执行程序过程中,暂停当前程序,转去执行另一个具有更高优先级的程序。

51单片机具有5个中断源,包括两个外部中断(INT0、INT1)、两个定时器中断(定时器0、定时器1)和一个串行口中断。

定时器是51单片机内部的一种计数器,可以用于产生定时中断或实现定时功能。

51单片机有两个定时器,即定时器0和定时器1。

定时器可以工作在模式0、模式1、模式2和模式3。

三、实验内容及步骤1. 实验内容一:外部中断实验(1)实验目的:掌握外部中断的使用方法,实现按键控制LED灯的亮灭。

(2)实验步骤:- 使用Keil for 8051编译器创建项目。

- 根据电路原理图连接电路。

- 编写程序,配置外部中断,实现按键控制LED灯的亮灭。

2. 实验内容二:定时器中断实验(1)实验目的:掌握定时器中断的使用方法,实现LED灯闪烁。

(2)实验步骤:- 使用Keil for 8051编译器创建项目。

- 根据电路原理图连接电路。

- 编写程序,配置定时器中断,实现LED灯闪烁。

3. 实验内容三:定时器与外部中断结合实验(1)实验目的:掌握定时器与外部中断结合使用的方法,实现按键控制LED灯闪烁频率。

(2)实验步骤:- 使用Keil for 8051编译器创建项目。

- 根据电路原理图连接电路。

- 编写程序,配置定时器中断和外部中断,实现按键控制LED灯闪烁频率。

四、实验结果与分析1. 外部中断实验:成功实现了按键控制LED灯的亮灭。

当按下按键时,LED灯亮;松开按键时,LED灯灭。

2. 定时器中断实验:成功实现了LED灯闪烁。

LED灯每隔一定时间闪烁一次,闪烁频率可调。

3. 定时器与外部中断结合实验:成功实现了按键控制LED灯闪烁频率。

定时器及中断实验报告

实验十二定时器及中断(1秒基时)一、实验内容及实验电路及步骤1.产生1S延时的设计:(11.0592MHZ)方案1:定时器0定时加软件计数。

1)采用定时器0,方式1,定时50MS中断。

当1S 时间到后,使P1.0 闪亮。

一个机器周期为=(1/11.0592Mhz)*12us。

定时器0的定时初值=(65536-50000/(1/11.0592Mhz*12us))=(65536-46080)=19456=4C00H软件计数:计数器采用R2,计数20 次。

实验电路如图4-4所示:用导线将A2区的P10与D1区的LED1相连。

图4-4 定时器0实验接线图参考程序:ORG 8000HAJMP MAINORG 800BHAJMP T0SMAIN:MOV SP,#60HMOV TMOD,#01HMOV TH0,#4CHMOV TL0,#00HMOV R2,#00HMOV IE,#10000010BSETB TR0CLR P1.0SJMP $T0S: MOV TH0,#4CHMOV TL0,#00HINC R2CJNE R2,#20,NEXTCPL P1.0MOV R2,#00HNEXT:RETIEND定时器0定时,软件计数:定时50ms,发生溢出,产生中断;R2控制循环次数,R2=#20,即循环20次,定时时间间隔为:50×20=1000ms=1S.2)采用定时器0,方式1,定时50MS,查询方式,当1S 时间到后,使P1.0 闪亮。

用导线将A2区的P10与D1区的LED1相连。

参考程序:ORG 8000HAJMP MAINMAIN: MOV TMOD,#01H ;T/C0定时,方式1。

MOV TH0,#4CH ;T0 定时50MS。

MOV TL0,#00HMOV R2,#00H ;软件计数器初值SETB TR0LOOP:JBC TF0,T0SSJMP LOOPT0S: MOV TH0,#4CHMOV TL0,#00HINC R2CJNE R2,#20,NEXT ;1S使P1.0取反一次。

定时器中断程序设计实验

定时器中断程序设计实验定时器中断程序设计实验1. 实验目的本实验旨在通过设计一个定时器中断程序,实现定时触发某个操作的功能。

通过此实验,可以熟悉定时器中断的使用方法,了解中断程序设计的基本原理。

2. 实验原理定时器中断是一种常用的硬件中断方式,可以根据设定的时间间隔,在每次定时器溢出时触发一个中断请求。

在中断处理程序中,可以执行一系列操作,如更新计数器、处理数据、控制外设等。

3. 实验器材单片机开发板烧录软件4. 实验步骤步骤1:引入头文件,在程序中引入相应的头文件,包括中断相关的头文件以及需要使用的外设相关的头文件。

cinclude <reg51.h> //单片机寄存器定义include <intrins.h> //特殊函数检测//其他头文件步骤2:初始化定时器在主函数中,初始化定时器,设定定时器的工作模式、计数值等参数。

cvoid InitTimer(){TMOD = 0x01; //定时器工作在模式1,16位定时器自动重装TH0 = 0xff; //定时器初值设定为0xffffTL0 = 0xff; //定时器初值设定为0xffffTR0 = 1; //启动定时器}步骤3:编写中断处理程序编写中断处理程序,即定时器中断的具体操作。

在本实验中,我们将在定时器中断发生时,通过P1口输出一个脉冲信号。

cvoid TimerInterrupt() interrupt 1{P1 ^= 0x01; //P1口取反,输出脉冲信号}步骤4:主程序在主程序中,调用初始化函数,然后进入一个无限循环,保持程序不退出。

cvoid mn(){InitTimer(); //初始化定时器while (1){//其他程序}}5. 实验结果与分析通过上述操作,定时器中断程序设计已经完成。

在本实验中,我们通过定时器中断触发P1口的脉冲信号输出,以验证中断程序的正确性。

6. 实验本实验通过设计一个定时器中断程序,实现了定时触发某个操作的功能。

汇编实验报告

汇编实验报告实验一(1)熟悉汇编语言程序调试环境及顺序程序设计一、实验目的及要求:1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG 等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、熟悉汇编语言程序调试环境1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mov dx, CONTROL
out dx, al
mov ax, 1000
mov dx, COUNT0
out dx, al ; 计数器低字节
mov al, ah
out dx, al ; 计数器高字节
mov al, 76h; 01110110B ; 计数器1,16位,方式3,二进制
mov dx, CONTROL
mov dx, PortC
out dx, al
shr al, 1 ; 移位
mov ah,100
call delay ; 延时
loop OutA
;实验2: PortB 输入 PortA 输出
movቤተ መጻሕፍቲ ባይዱdx, PortB
in al, dx ; 读入PortB
mov dx, PortC
out dx, al
mov dx, PortA
五、实验程序、过程
1.硬件实验七 8255输入、输出实验
程序代码如下:
mode equ 082h ; 方式0,PA,PC输出,PB输入
PortA equ 8000h ; Port A
PortB equ 8001h ; Port B
PortC equ 8002h ; Port C
CAddr equ 8003h ; 控制字地址
七、参考资料
《汇编语言与接口技术》
3、实验电路及连线
1.硬件实验七 8255输入、输出实验
8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。
out dx, al ; 输出到PortA
mov ah, 200
call delay
jmp Start
endp
delay proc near
push ax
mov al,0
push cx
mov cx,ax
loop $
pop cx
pop ax
ret
delay endp
code ends
end start
2、实验目的
1.硬件实验七 8255输入、输出实验
1、了解8255芯片结构及编程方法。
2、了解8255输入/输出实验方法。
2.硬件实验三十六 8253定时器实验
1、学习8253可编程定时器/计数器定时方法。
2、学习8253多级串联实现大时间常数的定时方法。
3、学习8088/86控制8253可编程定时器的方法。
2.硬件实验三十六 8253定时器实验
连线
连接孔1
1MHz
连接孔2
1
8253_CS
CS4
2
8253_OUT0
L0
3
8253_GATE0
VCC
4
8253_CLK0
8253_OUT1
5
8253_GATE1
VCC
6
8253_CLK1
F/4(1M)
7
4MHz
Fin
四、使用仪器、材料
计算机一台
Wave6000试验仪
连接设备后运行。可见如下:
2.硬件实验三十六 8253定时器实验
程序代码如下:
CONTROL equ 0c003h
COUNT0 equ 0c000h
COUNT1 equ 0c001h
COUNT2 equ 0c002h
code segment
assume cs:code
start proc near
mov al, 36h; 00110110B ; 计数器0,16位,方式3,二进制
汇编语言与接口技术实验报告
开课实验室:实验中心微机原理与接口技术实验室2014年11月25日
学院
计算机科学教育软件学院
年级、专业、班
姓名
成绩
课程名 称
汇编语言与接口技术
实验项目名称
简单接口应用实验和定时中断实验。
指导老师签名
古鹏
一、实验要求
1.硬件实验七 8255输入、输出实验
利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。
2.硬件实验三十六8253定时器实验
用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。
out dx, al
mov ax, 1000
mov dx, COUNT1
out dx, al ; 计数器低字节
mov al, ah
out dx, al ; 计数器高字节
jmp $
start endp
code ends
end start
连接设备后运行。可见如下:
六、实验小结
通过本次实验,初步掌握了接口的作用及控制方法。还学会了实现由8253产生的信号引发定时中断,在中断处理过程中通过8255A做接口控制开关或灯这样的简单设备动作。
code segment
assume cs:code
start proc near
Start:
mov al, mode
mov dx, CAddr
out dx, al ; 输出控制字
;实验1:PortA输出
mov al, 80H
mov cx, 08H
OutA:
mov dx, PortA
out dx, al ; 输出PortA
相关文档
最新文档