北京科技大学微机原理实验报告.docx

上传人:b****9 文档编号:25125927 上传时间:2023-06-05 格式:DOCX 页数:19 大小:320.91KB
下载 相关 举报
北京科技大学微机原理实验报告.docx_第1页
第1页 / 共19页
北京科技大学微机原理实验报告.docx_第2页
第2页 / 共19页
北京科技大学微机原理实验报告.docx_第3页
第3页 / 共19页
北京科技大学微机原理实验报告.docx_第4页
第4页 / 共19页
北京科技大学微机原理实验报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

北京科技大学微机原理实验报告.docx

《北京科技大学微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《北京科技大学微机原理实验报告.docx(19页珍藏版)》请在冰豆网上搜索。

北京科技大学微机原理实验报告.docx

北京科技大学微机原理实验报告

微机原理及应用实验报告

 

学院:

班级:

学号:

姓名:

微机实验报告书(Ⅰ)

学号:

姓名:

班级:

同组名单:

实验日期:

实验题目:

8253可编程定时器\计数器

实验目标:

掌握8253的基本工作原理和编程方法

实验步骤:

连接电路图

如图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N<=0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

程序框图:

程序清单:

;*************************;

;*8253方式0计数器实验*;

;*************************;

IOPORTEQU0C800H-0280H

IO8253AEQUIOPORT+283H

IO8253BEQUIOPORT+280H

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,00010000B;设置8253工作方式

MOVDX,IO8253A

OUTDX,AL

MOVDX,IO8253B;送计数初值为0FH

MOVAL,0FH

OUTDX,AL

LLL:

INAL,DX;读计数初值

CALLDISP;调显示子程序

PUSHDX

MOVAH,06H

MOVDL,0FFH

INT21H

POPDX

JZLLL;跳转到LLL

MOVAH,4CH;退出

INT21H

DISPPROCNEAR;显示子程序

PUSHDX

ANDAL,0FH;首先取低四位

MOVDL,AL

CMPDL,9;判断是否<=9

JLENUM;若是则为'0'-'9',ASCII码加30H

ADDDL,7;否则为'A'-'F',ASCII码加37H

NUM:

ADDDL,30H

MOVAH,02H;显示

INT21H

MOVDL,0DH;加回车符

INT21H

MOVDL,0AH;加换行符

INT21H

POPDX

RET;子程序返回

DISPENDP

CODEENDS

ENDSTART

运行结果:

每输入一个单脉冲,屏幕上的数值减1,从15减到0后(拨动16次后),检测到OUT0输出由低电平变为高电平。

小结(体会与收获):

通过预习和实验,学会了8253芯片和微机接口原理和方法,掌握8253定时器/计数器的基本工作原理、工作方式和编程原理,熟悉了汇编代码的编写。

实验中,连接电路,利用代码控制实验电路,深对了课本理论的理解。

由于是第一次实验,进程比较缓慢,所以仅进行了8253可编程定时器/计数器的一个实验,下次实验会熟练一些。

微机实验报告书(Ⅱ)

学号:

姓名:

班级:

同组名单:

实验日期:

实验题目:

1.8253可编程定时器\计数器

2.8255可编程并行接口(方式0)

3.七段数码管

实验目标:

1.掌握8253的基本工作原理和编程方法

2.掌握8255方式0的工作原理及使用方法

3.掌握数码管显示数字的原理

实验步骤:

实验一:

连接电路图

按上图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

实验二:

连接电路图

1)实验电路如图,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2)编程从8255C口输入数据,再从A口输出。

实验三:

连接电路图

静态显示:

按图连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

程序框图:

实验一:

实验二:

实验三:

程序清单:

实验一:

;*******************

;*8253分频*

;*******************

IOPORTEQU0C800H-0280H

IO8253AEQUIOPORT+283H

IO8253BEQUIOPORT+280H

IO8253CEQUIOPORT+281H

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,IO8253A;向8253写控制字

MOVAL,36H;工作方式

OUTDX,AL

MOVAX,1000;写入循环计数初值1000

MOVDX,IO8253B

OUTDX,AL;先写入低字节

MOVAL,AH

OUTDX,AL;后写入高字节

MOVDX,IO8253A

MOVAL,76H;设工作方式

OUTDX,AL

MOVAX,1000;写入循环计数初值1000

MOVDX,IO8253C

OUTDX,AL;先写低字节

MOVAL,AH

OUTDX,AL;后写高字节

MOVAH,4CH;程序退出

INT21H

CODEENDS

ENDSTART

实验二:

;*************************;

;*8255A的基本输入输出*;

;*************************;

IOPORT EQU 0C800H‐280H 

IO8255A EQU IOPORT+288H 

IO8255B EQU IOPORT+ 28BH 

IO8255C EQU IOPORT+28AH 

CODE  SEGMENT 

   ASSUME  CS:

CODE 

START:

  MOV  DX,IO8255B              ;对8255进行设定,A输出,C输入  

   MOV  AL,10001001B 

   OUT   DX,AL 

INPUT:

  MOV  DX,IO8255C               ;从C输入 

   IN   AL,DX 

   MOV  DX,IO8255A               ;从A输出 

   OUT   DX,AL 

   MOV  DL,0FFH                  ;判断是否有按键 

   MOV  AH,06H 

   INT   21H    

JZ   INPUT                      ;若无,则继续C输入,A输出 

   MOV  AH,4CH                     ;否则,返回DOS 

   INT   21H 

CODE  ENDS 

   END   START 

实验三:

;************************************;

;*键盘输入数据(0-9)控制LED数码管显示*;

;************************************;

DATASEGMENT

IOPORTEQU0C800H-280H

IO8255AEQUIOPORT+288H

IO8255BEQUIOPORT+28BH

IO8255CEQUIOPORT+28AH

LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

MESG1DB0DH,0AH,'Inputanum(0--9),otherkeyisexit:

',0DH,0AH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,IO8255B;使8255的A口为输出方式

MOVAX,10000000B

OUTDX,AL

SSS:

MOVDX,OFFSETMESG1;显示提示信息

MOVAH,09H

INT21H

MOVAH,01;从键盘接收字符

INT21H

CMPAL,30H;是否小于0

JLEXIT;若是则退出

CMPAL,39H;是否大于9

JGEXIT;若是则退出

SUBAL,30H;将所得字符的ASCII码减30H

MOVBX,OFFSETLED;BX为数码表的起始地址

XLAT;求出相应的段码

MOVDX,IO8255A;从8255的A口输出

OUTDX,AL

JMPSSS;转SSS

EXIT:

MOVAH,4CH;返回

INT21H

CODEENDS

ENDSTART;

运行结果:

实验一:

8253通道0和通道1均工作在方式3,计数初值均为1000。

通道0的时钟输入为1MHz标准脉冲,产生1000Hz的方波;通道1以通道0输出的1000Hz方波脉冲为输入,产生1Hz的方波。

用逻辑笔发现,OUT1输出电平呈规律性高低变化(显示灯闪烁),时间间隔为1s,说明输出频率为1Hz,实现计时器功能。

实验二:

当逻辑开关K0~K7中的一个或几个打开时,对应的LED灯就会亮起来,即利用8255A实现了基本的输入输出控制。

实验三:

静态显示:

当从键盘输入0~9任一数字时,七段数码管上便

会显示相应的数字,按下其他按键则退出程序。

小结(体会和收获):

通过本次实验,进一步了解了8253可编程定时器/计数器;巩固了可编程并行接口8255的基本知识点,了解了该芯片的应用。

通过编程实现,熟悉了8255方式控制字,了解了方式0和基本工作原理。

通过这三次实验的学习,对于可编程接口芯片有了更深的认识,掌握了基本的微机接口方法。

在实验过程中要细心,当编译、链接或者运行的时候遇到错误的时候,要仔细检查程序的输入是否正确,很容易输错字母数字。

 

微机实验报告书(Ⅲ)

学号:

姓名:

班级:

同组名单:

实验日期:

实验题目:

步进电机控制实验

实验目标:

1.了解步进电机控制的基本原理

2.掌握控制步进电机转动的编程方法

实验步骤:

连接电路图

1)按图14连接线路,利用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向。

8255CS接288H~28FH。

PA0~PA3接BA~BD;PC0~PC7接K0~K7。

2)编程:

当K0~K6中某一开关为“1”(向上拨)时步进电机启动。

K7向上拨电机正转,向下拨电机反转。

程序框图:

 

程序清单:

;*******************************;

;*步进电机*;

;*******************************;

DATASEGMENT

IOPORTEQU0E400H-280H

IO8255AEQUIOPORT+288H;8255A输出端口

IO8255BEQUIOPORT+28BH;8255B控制端口

IO8255CEQUIOPORT+28AH;8255C输入端口

BUFDB0

MESDB'K0-K6ARESPEEDCONTROL',0AH,0DH

DB'K6ISTHELOWESTSPEED',0AH,0DH

DB'K0ISTHEHIGHESTSPEED',0AH,0DH

DB'K7ISTHEDIRECTIONCONTROL',0AH,0DH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,CS

MOVDS,AX

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMES

MOVAH,09

INT21H

MOVDX,IO8255B

MOVAL,10001001B

OUTDX,AL;8255C输入,A输出

MOVBUF,33H

OUT1:

MOVAL,BUF

MOVDX,IO8255A

OUTDX,AL

PUSHDX

MOVAH,06H

MOVDL,0FFH

INT21H

POPDX

JEIN1

MOVAH,4CH

INT21H

IN1:

MOVDX,IO8255C

INAL,DX;输入开关状态

TESTAL,01H

JNZK0

TESTAL,02H

JNZK1

TESTAL,04H

JNZK2

TESTAL,08H

JNZK3

TESTAL,10H

JNZK4

TESTAL,20H

JNZK5

TESTAL,40H

JNZK6

STOP:

MOVDX,IO8255C

MOVAL,0FFH

JMPOUT1

K0:

MOVBL,40H

SAM:

TESTAL,80H

JZZX0

JMPNX0

K1:

MOVBL,50H

JMPSAM

K2:

MOVBL,70H

JMPSAM

K3:

MOVBL,80H

JMPSAM

K4:

MOVBL,0A0H

JMPSAM

K5:

MOVBL,0C0H

JMPSAM

K6:

MOVBL,0FFH

JMPSAM

ZX0:

CALLDELAY

MOVAL,BUF

RORAL,1

MOVBUF,AL

JMPOUT1

NX0:

CALLDELAY

MOVAL,BUF

ROLAL,1

MOVBUF,AL

JMPOUT1

DELAYPROCNEAR

DELAY1:

MOVCX,0FFFFH

DELAY2:

LOOPDELAY2

DECBL

JNZDELAY1

RET

DELAYENDP

CODEENDS

ENDSTART

运行结果:

当K0~K6中任意一开关向上拨时步进电机启动,且K1速度最快,K6速度最慢;当K7向上拨电机正转,向下拨电机反转。

当键盘中有任意键输入的时候则程序终止。

小结(收获与体会):

实验和理论是相互检验,相互补充和相互促进的,在实际动手动脑运用理论知识的时候,能更深入地领会概念,熟练运用,在此基础上方能进行创新和自由发挥。

通过本次实验,我了解了步进电机控制的基本原理,掌握了控制步进电机转动的编程方法。

更加深入地了解了微机原理这门课程。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1