当前位置:文档之家› 微机原理实验报告(数码显示)

微机原理实验报告(数码显示)

实验三8255并行接口实验

一、实验目的

1、学习并掌握8255的工作方式及其应用。

2、学习在系统接口实验单元上构造实验电路。

二、实验设备

TDN86/51或TND86/88教学实验系统。

三、实验内容与实验步骤

1、基本输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成波动开

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

实验原理:

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。

图3-1 8255的内部结构和外部引脚

(a)工作方式控制字(b)c口按位置位/复位控制字

图3-2 8255控制字格式

8255实验单元电路图如下图所示:

图3-3 8255实验单元电路图

实验步骤

1. 基本输入输出实验

本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

(1)按图连接实验线路图;

8255基本输入/输出实验接线图

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV AL,82H

OUT 63H, AL

A1: IN AL, 61H

OUT60H, AL

JMPA1

CODE ENDS

END START

(2)编写实验程序,经编译、连接无误后装入系统;

(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。

(4)点机“调试”下拉菜单中的“固定程序”项,将程序固化到系统存储器中。

实验二 数制转换实验

一、实验目的

1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。

2. 熟悉程序调试的方法。

3. 熟悉键盘使用方法

二、实验设备

TDN86/51或TND86/88教学实验系统。

三、实验内容及步骤

计算机输入设备输入的信息一般是由ASSII 码或BCD 码表示的数据或字符,CPU 一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII 码、BCD 码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。

计算机与外设间的数制转换关系如图所示。

数制转换关系

1. 将ASCII 码表示的十进制数转换为二进制数

十进制表示为:

Di 代表十进制数0,1,2, (9)

上式转换为:

由此可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn 开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。

键盘 数据开关 光电机 拨码开关 主 机 CRT 显示

位显示 多段显示 打印机 ASCII 码 BCD 码 ASCII 码 BCD 码 ASCII 码 ASCII 码 二进制 二进制

参考流程:

实验程序:

PUBLIC SADD

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

DATA SEGMENT

SADD DB 30H,30H,32H,35H,36H ;十进制数:00256 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV AX, OFFSET SADD

MOV SI, AX

MOV BX, 000AH

MOV CX, 0004H

MOV AH, 00H

MOV AL, [SI]

SUB AL, 30H

A1: IMUL BX

MOV DX, [SI+01]

AND DX, 00FFH

ADC AX, DX

SUB AL, 30H

INC SI

LOOP A1

A2: JMP A2

CODE ENDS

END START

实验步骤:

(1)编写实验程序,经编译、链接无误后装入系统;

(2)待转换数据存放于数据段,根据自己要求输入;

(3)用D3510(回车)查看结果C;

(5)反复试几组数据,验证程序的正确性。

实验截图如下:

2.编程实现如下功能:

计算首地址为STR1的100个有符号字变量数组的平均值,并将它存在CX中。实验程序:

data segment

str dw 1000h,2100h,3200

dw 1101h,2012h

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

lea bx,str

mov cx,100

mov ax,0

mov dx,0

lp: add ax,[bx]

adc dx,0

inc bx

inc bx

loop lp

mov bx,100

idiv bx

mov cx,ax

mov ah,4ch

int 21h

code ends

end start

实验步骤:

(1)编写实验程序,经编译、链接无误后装入系统;

(2)待转换数据存放于数据段,根据自己要求输入;

(3)用D3510(回车)查看结果C;

(5)反复试几组数据,验证程序的正确性。

实验截图如下:

3、按如下要求编程

编程实现将数据段中地址的STR1开始的200个数组拷贝到STR2开始的区域中去,传递过程中需要剔除其中为0的数。

程序如下:

data segment

str1 dw 1000h,2100h,3200h

str2 dw 1101h,2012h

data ends

code segment

assume cs:code ,ds:data

start:mov ax,data

mov ds,ax

lea si, str1

lea di, str2

mov cx,200

lp:mov ax,[si]

cmp ax,0

jz next

mov [di],ax

add di,2

next:add si,2

loop lp

mov ah,4ch

int 21h

code ends

end start

实验步骤:

(1)编写实验程序,经编译、链接无误后装入系统;

(2)待转换数据存放于数据段,根据自己要求输入;

(3)用D3510(回车)查看结果C;

(5)反复试几组数据,验证程序的正确性。

实验截图如下:

微机原理上机实验(七+十四)实验报告 8253方波实验 电子钟设计实验

微机原理上机实验报告实验七:8253方波实验 实验十四:电子钟

微机原理上机实验(七)实验报告 实验七:8253方波实验 一、实验目的 了解8253的内部结构、工作原理;了解8253与8086的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。 二、实验内容 1、编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得 到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。 2、连接线路,验证8253的功能,熟悉它的使用方法。 三、实验原理图

四、实验步骤 1、连线说明: C4区:CS、A0、A1 ——A3区:CS2、A0、A1 C4区:CLK0 ——B2区:2M C4区:OUT0 ——C4区:CLK1 C4区:OUT1 ——F8区:Ctrl(蜂鸣器) 2、测试实验结果:蜂鸣器发出时有时无的声音;用逻辑笔测试蜂鸣器的输入端口,红 绿灯交替点亮。 实验代码 COM_ADD EQU 0263H R T0_ADDR EQU 0260H T1_ADDR EQU 0261H _STACK SEGMENT STACK DW 100 DUP(?)

_STACK ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, SS:_STACK MOV DX,COM_ADDR MOV AL,35H OUT DX,AL ;计数器T0设置在模式2状态,BCD码计数 MOV DX,T0_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL ;CLK0/1000 MOV DX,COM_ADDR MOV AL,77H OUT DX,AL ;计数器T1为模式3状态,输出方波,BCD码 计数 MOV DX,T1_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL ;CLK1/1000

微机原理上机实验(八+十二)实验报告 8086中断实验 步进电机实验

微机原理上机实验报告实验八:8086中断实验 实验十二:步进电机实验

微机原理上机实验(八)实验报告 实验八:8086中断实验 一、实验目的 1、了解8086内部响应中断的机制;掌握中断向量的作用。 2、利用实验仪上单脉冲、74HC244电路,不使用8259,实现一个中断实例。 3、复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。 二、实验内容 1、编制程序:拨动单脉冲开关,“”送给8086的INTR,触发中断;8086通过INTA信 号,读取中断向量;8086计数中断次数,显示于F5区的数码管上 注意:给INTR高电平信号,8086就会相应中断,所以实验开始前,保证单脉冲开关给8086低电平;中断程序中,加一个较长的延时程序,在中断结束前,有时间拨动单脉冲开关,恢复给8086低电平。 三、实验原理图

本实验,通过F4区的8个拨动开关,给74HC244设定中断向量;本实验的中断向量是08H,即IN7-IN0位数据是00001000。同学可以自定义中断向量,实验程序中处理中断向量部分程序作相应调整 四、实验步骤 1、连线说明:

2、运行程序 3、实验开始前,保证单脉冲开关给8086低电平;运行程序;向下拨动开关(触发中断),立即向上拨动开关,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。 五、实验代码 EXTRN InitKeyDisplay:NEAR, Display8:NEAR _STACK SEGMENT STACK DW 100 DUP(?) _STACK ENDS _DATA SEGMENT WORD PUBLIC 'DATA' BUFFER DB 8 DUP(?) Counter DB ? ReDisplayFlag DB 0 _DATA ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, DS:_DATA, SS:_STACK MOV AX,_DATA MOV DS,AX

微机原理 实验报告

微机原理实验报告 099074 姓名安徽工业大学计算机学院实验一存贮器读写实验 一、实验内容对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。 二、实验步骤 l、将实验系统与PC机连接; 2、在PC机上启功DJ-8086k软件,实验系统进入联机状态; 3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过; 4、运行程序。 5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH 中的内容和5000~53FFH中的内容应都是55AA。 三、实验程序清单CODE SEGMENT ;RAM、ASMASSUME CS:CODEPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG1850hSTART: JMP START0BUF DB ?,?,?,?,?,?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c 6h,0a1h db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200HRAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOV

AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffhcon1: push cx call disp pop cx loop con1 call buf2con2: call disp jmp con2DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CXDIS2: MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,06H MOV BUF+1,02H MOV BUF+2,02H MOV BUF+3,05H MOV BUF+4,06H MOV BUF+5,17H RETBUF2: MOV BUF,17H MOV BUF+1,17H MOV BUF+2,09H MOV BUF+3,00H MOV BUF+4,00H MOV BUF+5,0dH RETCODE ENDSEND START 四、实验总结 通过该实验让我们了解了如何对存储器进行读写,写入存储器后,如何通过机器检查存储单元内的内容,通过该实验让我对计算机的存储器有了更进一步的认识。实验二8259单级中断控制器实验 一、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。 二、实验步骤

微机原理实验报告

微机原理实验报告 院别:物理与电子工程学院 专业:电子信息工程0911班

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图

四、实验所用程序 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX

MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX

微机原理综合实验报告

微机原理综合实验报告 随着计算机技术的不断发展,微机已经成为了我们日常工作和 生活中不可或缺的一部分。为了更好地了解微机的工作原理和实 践应用,我们进行了微机原理的综合实验,本文将对此次实验进 行详细的讲解和总结。 一、实验目的 本次实验的主要目的是通过搭建计算机系统的全部硬件及连接,熟悉和掌握微机的工作原理和实际应用,实践操作模拟简单的计 算机应用程序等。 二、实验步骤 1.准备工作:搭建计算机实验系统所需的硬件和软件,包括主板、处理器、硬盘、内存、显示器等,同时,将各部件连接起来。 2.开机自检:按下计算机开机键后进行自检,检查各部件是否 正常工作。 3.进入BIOS:进入BIOS设置,为系统配置提供支持。 4.安装操作系统:安装Windows操作系统 5.应用程序:安装并应用简单的计算机应用程序,如表格制作、文档编辑等。

三、实验结果分析 通过本次实验,我们深入了解了微机的硬件构成和软件运行原理,加深了对微机工作原理的认识。在实践操作中,我们对计算 机系统在实际应用中的硬件和软件环境有了深刻的认识和了解。 四、实验中遇到的问题及解决方法 在实验中,我们遇到了一些问题,如计算机开机时无法启动、 操作系统无法正常安装、硬件连接不正确等。这些问题的出现主 要是由于我们操作时没有细心和认真,没有按照实验指导书的步 骤操作。针对这些问题,我们仔细检查操作过程中的每一个步骤,重新进行操作,直至问题得到解决。 五、结论 通过本次实验,我们深刻了解了微机的硬件构成和软件运行原理,了解了微机在实际应用中的硬件和软件环境。同时,我们还 掌握了微机应用的基本技能,如软件安装、简单文件的制作和编 辑等。通过实验的过程,我们深入体验了计算机系统的基本构成 及实践应用,并发现并解决了其中存在的问题和疑问,从而加深 了对计算机系统的理解和认识,为今后我们的进一步学习和实践 打下了坚实的基础。

微机原理实验报告

微机原理实验报告 目录 一、专项实验题目 (3) 实验1 拨动开关和LED显示实验 (3) 实验 2 六位数码管显示实验 (3) 实验 5 8254定时/计数器实验 (4) 实验 6 8259中断控制器实验 (5) 实验12 继电器实验 (6) 实验18 直流电机实验 (7) 二、实验题目:保安监控控制系统(三) (8) 三、题目分析: (8) 四、原理分析: (9) 五、时间模块 (9) 六、中断模块 (10) 七、显示模快 (10) 八、程序框图:进入报警状态 (11) 九、电路图 (12) 十、程序清单 (12) 十一、实验结果 (13) 十二、总结及体会 (17)

一、专项实验题目: 实验1 拨动开关和LED显示实验 【实验目的】 掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。 【实验内容】 按图3-2将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择8255 为方式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。 编程涉及8255端口地址有四个,由于8255片选信号线与地址译码区的0~FH 连接,即8255的I/O偏移地址为0~3,加上前一个实验所获知的I/O基址,两者相加之后才是最终访问8255的I/O地址。注意,该地址一定是一个16位数,所以I/O操作要使用IN AL,DX 和OUT DX, AL指令。 【实验电路】 【实验流程】 实验 2 六位数码管显示实验 【实验目的】

了解共阴级数码管显示数字的原理,掌握六位共阴级数码管动态显示的控制方法。 【实验内容】 0-9数字按照从右到左的顺序在6位数码上循环步进显示,即0从最右端开始显示,然后按一定间隔时间向左步进移动显示,显示到数码管最左端后变换数字,然后按同样方法显示1、2….9,以此循环往复。 【实验电路】 【实验流程】 实验 5 8254定时/计数器实验 【实验目的】 熟悉8254在系统中的电路接法,掌握8254的工作方式及应用编程。 【实验内容】 使用8254两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二极管各0.5秒。 【实验电路】

32位微机原理上机实验报告:显示程序实验

西北工业大学明德学院 实验报告 实验项目微机原理及应用 班级 121204 姓名田家豪王辰硕 学号 121566 121567 指导老师伍明高 时间 2015-3-17

实验题目 显示程序实验 实验目的 (1) 掌握在PC机上以十六进制形式显示数据的方法。 (2) 掌握部分DOS功能调用使用方法。 (3) 熟悉Tdpit集成环境和调试器的使用。 实验内容及说明 一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL=输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,’$’为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数:AL=输出字符 (4) 返回DOS系统 入口:AH=4CH 调用参数:AL=返回码 实验步骤 (1) 运行Tdpit软件,选择文件菜单,点击新建,进入一个源文件编辑界面。根据实验内容的描述编写实验程序。 (2) 使用编译菜单中的编译和链接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,检查程序的正确性。 程序如下: DATA SEGMENT MES DB 'Show a as hex:',0AH,0DH,'$' SD DB 'a' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

微机原理上机实验(六+十)实验报告 74HC138译码器实验 16x16点阵显示实验

微机原理上机实验报告实验六:74HC138译码器实验实验十:LED 16x16点阵显示实验

微机原理上机实验(六)实验报告 实验六:74HC138译码器实验 一、实验目的 1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了 解74HC138是如何译码的。 2、认真预习本节实验内容,尝试自行编写程序,填写实验报告 二、实验内容 1、编写程序:使用8255的PC0、PC1、PC2控制74HC138的数据输入端,通过译 码产生8选1个选通信号,轮流点亮8个LED指示灯。 2、运行程序,验证译码的正确性。 三、实验原理图

四、实验步骤 1、连线说明: F7区:A、B、C ——D3区:PC0、PC1、PC2 F7区:G1、G2A、G2B ——C1区:VCC、GND、GND F7区:JP63 ——F4区:JP18(LED指示灯) D3区:CS、A0、A1 ——A3区:CS1、A0、A1 2、调试程序,查看运行结果是否正确 五、实验代码 Con_8255 EQU 0273H ;8255控制口PC_8255 EQU 0272H ;8255 PC口_STACK SEGMENT STACK ;设置堆栈段 DW 100 DUP(?) _STACK ENDS CODE SEGMENT

START PROC NEAR ASSUME CS:CODE, SS:_STACK MOV DX,Con_8255 MOV AL,80H OUT DX,AL ;8255初始化,PC口作输出用,向 8255的控制口输入置位/复位控制字 10000000B,PC0~PC7全部复位MOV DX,PC_8255 MOV AL,0 START1: OUT DX,AL 将00000000B输入8255的PC口CALL Delay 延时 INC AL AL加一 JMP START1 循环 Delay PROC NEAR ;延时 Delay1: XOR CX,CX ;CX清零 LOOP $ 当前位置循环一次后推出 RET Delay ENDP START ENDP CODE ENDS END START 六、实验思考题

微机原理实验报告

微机原理实验报告

微机原理实验报告 班级:自动化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 显示,验证程序功能。 图2-6-3 8255基本输入输出实验接线图 程序如下: ;========================================================= ; 文件名: A82551.ASM ; 功能描述: A口为输入,B口为输出,将读入的数据输出显示 ; IOY1

(完整word版)微机原理完整实验报告+程序

实验题目8253定时/计数器实验 一、实验目的与要求: 1. 学会8253芯片和微机接口原理和方法。 2. 掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容: 1、实验原理 本实验原理图如图1所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表1所示。8253A的片选地址为48H~ 4FH。因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ,输出OUTO 要求为1KHZ的方波,并要求用接在GA TE0引脚上的导线是接地("0"电平)或甩空("1"电平)来观察GA TE对计数器的控制作用,用示波器观察输出波形。 2、实验线路连接 (1) 8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。 (2) 8253A的GATE0接+5V。 3、实验步骤 (1) 按图1连好实验线路 (2) 运行实验程序 1.按“调试”按钮 2。选“窗口”“进入示波器窗口”,然后最小化 3.按“运行按钮” 4.将模拟示波器窗口打开,选择“串行口2”,再按 ctrl+F2 按钮即可看到波形图1 显示“8253-1”用示波器测量8253A的OUT2输出插孔,应有频率为1KHZ的方波输出,幅值0~4V 三、实验代码: CODE SEGMENT ASSUME CS:CODE TCONTRO EQU 004BH TCON2 EQU 004AH CONTPORT EQU 00DFH DA TAPORT EQU 00DEH DA TA1 EQU 0500H START: JMP TCONT TCONT: CALL FORMAT CALL LEDDISP MOV DX,TCONTRO

微机原理实验报告

微机原理实验报告实验名称:MIPS汇编程序设计 院系:电信学院 班级: 姓名: 指导老师: 一、实验目的: 1.熟悉MIPS汇编程序开发环境,学习使用Qtstim工具。知道如何查看内存空间分配。 2. 了解C语言语句与汇编指令之间的关系。

3. 掌握MIPS汇编程序设计,掌握QTSPIM的调试技术。 4. 了解MIPS汇编语言与机器语言之间的对应关系。 5. 熟悉常见的MIPS汇编指令 6. 掌握程序的内存映像。 二、实验内容 1.用汇编程序实现以下伪代码:要求使用移位指令实现乘除法运算。Int main () { Int K,Y; Int Z[50]; Y=56; For(k=0;k<50;K++) Z[k]=Y-16*(k/4+210); } 三、程序设计及分析 1.C语言分析: 有两个变量是int型,一个数组型;还有一个循环执行过程。 2.汇编程序实现分析: 首先需要定义用户数据段,获得一个内存空间作为数组空间。 再选定几个存放器作为K,Y以及输出,其中输出输出和Y可以合用一个存放器。 3.设计思路: 分配完空间地址后,最重要的是完成循环控制。循环控制有

两个思路:可以是先判断后循环;或者是先循环后判断 即如图 slti $t2,$t0,50 #判断k 是否于50 beq $t2,$t3〔$t2=1循环,否那么结束。〕 四、程序实现及调试分析 1. 汇编程序代码实现: 方法一

.data #定义用户数据段 z:.space 200 #数组为int型,大小为50,所以占内存4*50 str:.asciiz " "#输出结果之间的空隙 .text main: la $s0,z #$s0 #为数组在z[] li $t0,0 #$s1 #代表k计数,初始值为0 li $t1,56 #$t2 #代表Y,初值为56 loop: slti $t2,$t0,50 #判断k是否于50 beq $t2,$0,done #当k大于等于50,跳转结束 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210 sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] li $v0,1 #输出 addi $a0,$s0,0 syscall li $v0,4 #输出间隔 la $a0,str syscall addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0,10 syscall 2.调试过程 1.编写程序:详细见代码 2.装载程序

微机原理与应用-实验报告

《微机原理与应用》实验报告 姓名:*** 学号:********** 年级:2014 专业:电子

2016年春季学期 实验一.熟悉单片机开发环境 1.功能要求 在 P1 端口接8 个LED,并编程依次循环点亮。要求用软件延时程序控制LED 的亮灭时间,并能精确地计算和用软件测量延时时间。 2.硬件原理

3.程序清单 ORG 0000H LJMP START ORG 0030H START: MOV R2,#8 MOV A,#01H LOOP1: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP1 MOV R2,#8 RR A LOOP2: MOV P1,A LCALL DELAY RR A DJNZ R2,LOOP2 LJMP START DELAY: MOV R5,#20 D1: MOV R6,#80 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2

DJNZ R5,D1 RET END 4.实验心得 首次接触开发板,通过实验1加强了对单片机的了解,学会使用仿真软件,学会搭线的各种技巧,并且掌握了LED亮灭的原理。 实验二.并行口输入输出实验——循环彩灯控制 1.功能要求 P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开 关状态,开关闭合时,灯亮。开关断开时,灯灭。 用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求 如下: (1)K1~K2 分别选择灯的四种闪动方式; (2)K3 用于控制灯的循环方向(顺时针或逆时针);

(3)K4 用于选择灯的两种循环速度; (4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定 的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。当K0 没有引发 中断时,保持上一次的循环方式。 2.硬件原理 3.程序清单 ORG 0000H LJMP MAIN DELAY2: MOV R0,#200 D4: MOV R1,#200

微机原理数码显示实验报告

广东海洋大学寸金学院学生实验报告书 实验名称数码显示课程名称微机原理与接口技术系机电工程系专业机械设计制造及其自动化班级14机械2班学生姓名陈瑞玲学号20141032102 实验地点实验楼103 实验日期 一、实验目的: 了解LED数码管动态显示的工作原理及编程方法。 二、实验内容: 编制程序,使数码管显示“GOOD88”字样。 三、实验结果: 实验程序框图 实验步骤 联机模式: (1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S6.ASM文件,单击“确定”即可装入源文件,再单击工

具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)数码管显示“GOOD88”字样。 脱机模式: 1、在P.态下,按SCAL键,输入2DF0,按EXEC键。 2、数码管显示“GOOD88”字样。 实验程序清单 CODE SEGMENT ;S6.ASM display "GOOD88" ASSUME CS:CODE ORG 2DF0H START: JMP START0 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 BUF DB ?,?,?,?,?,? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0H START0: CALL BUF1 ;缓冲区写初值 CON1: CALL DISP ;调显示子程序 JMP CON1 ;循环 DISP: MOV AL,0FFH ; 位码 MOV DX,PA ;数码管字位口 OUT DX,AL ;关位码 MOV CL,0DFH ; 最高位位码;显示子程序 ,5ms MOV BX,OFFSET BUF ;取缓冲区首址 DIS1: MOV AL,[BX] ;取缓冲区数字 MOV AH,00H ;清零 PUSH BX ;压栈 MOV BX,OFFSET DATA1 ;字表首址 ADD BX,AX ;加偏移量 MOV AL,[BX] ;取字形代码 POP BX ;出栈 MOV DX,PB ;字形口 OUT DX,AL ;送字形码 MOV AL,CL ;取位码 MOV DX,PA ;位口 OUT DX,AL ;送位口 PUSH CX ;压栈

单片机数码管动态显示实验报告

单片机数码管动态显示实验报告单片机数码管动态显示实验程序(汇编) 单片机数码管动态显示实验程序 org 00h ajmp head org 0030h head: mov sp,#0070h num equ p0 ;p0口连接数码管 reset: mov dptr ,#tab mov r0,#4 sh: acall show_tab call dptr_add djnz r0,sh mov r0 ,#4 sjmp reset dptr_add: inc dptr inc dptr inc dptr inc dptr

ret tab : db 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H, 0A1H,86H,8EH ;;;;;;;;;;;;;;;;;;;;; 函数的功能是用来动态显示dptr上的四个数 据 ;;;;;;;;;;;;;;;;;;;;;; show_tab: clr a mov r2,#0 mov r3,#148 mov p2,#238 loop: movc a,@a+dptr mov num ,a acall delay_5ms inc r2 mov a,r2;调用片选函数前注意A的变化acall select_mov cjne r2,#4,loop mov r2,#0 clr a djnz R3,loop ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;

微机原理8098实验实验报告

实验一加减乘除基本运算 ORG 2080H LD SP,#00C0H;设置栈指针 LDB AL,#11H;11H给AL LDB BL,#7FH;7FH给BL ADDB CL,AL,BL;11H+7FH结果存入CL LCALL CLEAR;清空数据 LDB AL,#11H LDB BL,#7FH SUBB CL,AL,BL;11H—7FH结果存入CL LCALL CLEAR LD AX,#1111H LD BX,#7FFFH ADD CX,AX,BX;1111H+7FFFH结果存入CX LCALL CLEAR LD AX,#1111H LD BX,#7FFFH SUB CX,AX,BX;1111H—7FFFH结果存入CX LCALL CLEAR LDB AL,#11H LDB BL,#7FH MULB CL,AL,BL;11H*7FH结果存入CL LCALL CLEAR LD AX,#1111H LD BX,#7FFFH MUL CX,AX,BX;1111H*7FFFH结果存入CX LCALL CLEAR LD AX,#1111H LDB BL,#7FH DIVUB AX,BL;1111H/7FH结果存入AX LCALL CLEAR LD AX,#7FFF1111H LDB BL,#5FFFH DIVUB AX,BL;7FFF1111H/5FFFH结果存入AX LCALL CLEAR H:SJMP H;循环 CLEAR :CLR AX ;清空原有数据 CLR BX CLR CX CLRB CL CLRB AL CLRB BL RET END

实验二显示程序设计 EX EQU 26H ORG 2080H MAIN: LD SP,#0100H;设置堆栈指针 LD AL,#0FH STB AL,6100H[0];将OFH送入8155命令/状态寄存器 LD 30H,#5678H;56H存入31H,78H存入30H LD 32H,#1234H;12H存入33H,34H存入32H LCALL DATACH;调用DA TACH子程序 MAIN1:LCALL DISPLAY;调用DISPLAY子程序 SJMP MAIN1;循环 DA TACH:LD AX,#30H;30H给AX LD BX,#4;4给BX LD CX,#38H;38H给CX DA TALOOP:LDB DL,[AX]+;AX的内容给DL,且AX内容加一 LDB DH,DL;把DX低字节内容给高字节 ANDB DL,#0FH;把DX低字节内容前4位清零 SHRB DH,#4;把DX高字节内容右移4位 ST DX,[CX]+;将变换后的DX的内容送入CX,CX内容加一 DJNZ BX,DA TALOOP;BX内容减1非零循环 RET DISPLAY:LD AX,#38H;38H给AX LDB BL,#8;8给BL LDB BH,#07FH;01111111给BH DISPLOOP:LDB CX,[AX]+;AX内容给CX并加1 LDB DX,TAB[CX];将CX内容对照字形表写入DX STB DX,6101H[0];A口控制字形 STB BH,6102H[0];B口控制字位 SHRB BH,#1;BH右移1位 ORB BH,#80H;使显示数码管右移1位 LCALL DELAY;调用DELAY DJNZ BL,DISPLOOP;BL减1非零跳转到DISPLOOP RET DELAY:LDB 60H,#205;205给60H DELAY1:NOP NOP;延时8个状态周期 DJNZ 60H,DELAY1 循环等待205*(8+9+12)个状态周期RET TAB:DCB 0FCH,60H,0DAH,0F2H,66H DCB 0B6H,0BEH,0E0H,0FEH,06H END

四川大学微机原理实验报告

《微机原理及接口技术实验报告》 学院:电气信息学院 班级: 109班 老师:罗江陶 学号: 1143031270 姓名:

实验一汇编语言程序的上机步骤 一、实验目的: 1、了解汇编语言程序的执行流程。 2、熟悉和使用DEBUG调试工具,分析和读懂一些及硬件相关的小程序。 3、通过对程序的分析,理解计算机程序的执行过程。 4、了解并逐步熟悉汇编语言的编辑方法及特点. 5、复习8086汇编语言的段结构、常用的指令及伪指令、存储空间的分配等。 6、掌握汇编语言的编辑、汇编及连接的过程。 7、了解并逐步掌握运用DEBUG进行调试汇编语言程序 二、实验内容: 以文件名为1.asm源程的序为例,学习汇编语言的上机步骤。汇编语言程序MASM软件由https://www.doczj.com/doc/5b19350861.html,编辑器,汇编MASM.EXE程序,连接LINK.EXE程序以及DUEBUG.EXE调试程序四个部分组成。汇编语言编制完成后,在计算机上的操作过程就分为四个阶段。 1. 编辑https://www.doczj.com/doc/5b19350861.html,:首先输入源程序:在记事本里录入,注意在保存时文件格式必须选择所有文件,文件后缀名为.ASM, 即保存时文件名为XXX.asm。 2.用汇编程序MASM.Exe对源程序.ASM文件汇编,生成目标文件.OBJ:双击MASM软件中的MASM.Exe文件框,在命令行后键入源程序名XXX.asm,(如果源程序及MASM软件在同一路径下,可以只键入文件

名,而不要后缀) 3.连接LINK.EXE双击MASM软件中的LINK.Exe文件框,在命令行后键入目标文件名XXX.OBJ(如果源程序,目标文件及MASM软件在同一路径下,可以只键入文件名,而不要后缀)如果连接没有错误,就会产生一个XXX.EXE的可执行文件,如果.OBJ文件有错误,连接时会指出错误的原因。 4.运行和调试DEBUG.exe运行可执行文件,即双击XXX.EXE文件框即可,或在DOS下运行此程序,E:\XXX.EXE。 三、程序流程图: 四、程序清单及注释: DATA SEGMENT NUM1 DB 35,35H NUM2 DW 35,35H NUM3 DB 4 DUP (34,3 DUP (34H)) NUM4 DB '34AB'

相关主题
文本预览
相关文档 最新文档