微机原理报告.docx

上传人:b****3 文档编号:10785579 上传时间:2023-05-27 格式:DOCX 页数:20 大小:119.57KB
下载 相关 举报
微机原理报告.docx_第1页
第1页 / 共20页
微机原理报告.docx_第2页
第2页 / 共20页
微机原理报告.docx_第3页
第3页 / 共20页
微机原理报告.docx_第4页
第4页 / 共20页
微机原理报告.docx_第5页
第5页 / 共20页
微机原理报告.docx_第6页
第6页 / 共20页
微机原理报告.docx_第7页
第7页 / 共20页
微机原理报告.docx_第8页
第8页 / 共20页
微机原理报告.docx_第9页
第9页 / 共20页
微机原理报告.docx_第10页
第10页 / 共20页
微机原理报告.docx_第11页
第11页 / 共20页
微机原理报告.docx_第12页
第12页 / 共20页
微机原理报告.docx_第13页
第13页 / 共20页
微机原理报告.docx_第14页
第14页 / 共20页
微机原理报告.docx_第15页
第15页 / 共20页
微机原理报告.docx_第16页
第16页 / 共20页
微机原理报告.docx_第17页
第17页 / 共20页
微机原理报告.docx_第18页
第18页 / 共20页
微机原理报告.docx_第19页
第19页 / 共20页
微机原理报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理报告.docx

《微机原理报告.docx》由会员分享,可在线阅读,更多相关《微机原理报告.docx(20页珍藏版)》请在冰点文库上搜索。

微机原理报告.docx

微机原理报告

信息科学与工程学院

微机实验报告书

 

课题:

微机原理与接口技术

班级:

通信

学号:

姓名:

指导教师:

    

二〇一〇年十二月

 

phnbriwn假日无线网密码

目录

一、绪论............................................................3

二、双色灯实验....................................................3

2.1实验要求,目的,..............................................3

2.2实验电路连线................................................4

2.3实验说明和实验步骤...........................................4

2.4实验源代码..................................................4

2.5实验结果分析及总结..........................................5

三、定时器/计数器实验...........................................5

3.1实验要求,目的,..............................................5

3.2实验电路连线.................................................6

3.3实验说明和实验步骤...........................................7

3.4实验源代码..................................................8

3.5实验结果分析及总结........................................10

四、软件实验........................................................

五、实验总结分析和感想..........................................11

六、参考文献.......................................................11

 

二、双色灯实验

2.1实验要求,目的

一.实验要求

编写程序,以8255为输出口,控制四个双色灯按要求发光。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。

再转状态,东西绿灯通车,南北灯灯。

过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯

二、实验目的

1.学习单板方式下扩展简单I/O接口的方法以双色灯的使用。

2.进一步学习微处理器的编程技术。

2.2实验电路连线

8255的CS片选接至适配板上138译码处的200H~207H插孔。

2.3实验说明和实验步骤

1、因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一

个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通

车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,

东西仍然红灯。

再转状态,东西绿灯通车,南北灯灯。

过一段时间转状态4,东西绿灯闪几

次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

2、双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。

红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平

时,绿灯亮;两端都加高电平时,黄灯亮

2.4.实验源代码.

D1EQU10H

D2EQU200H

DATASEGMENT

PBDB?

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

PUSHCS

POPDS

MOVDX,203H;设置为全输出

MOVAL,80H

OUTDX,AL

MOVDX,200H

MOVAL,00

OUTDX,AL;清LED

MOVDX,200H;全红

MOVAL,0F0H

OUTDX,AL

MOVBX,7fH

CALLDLY

BG:

MOVAL,01011010B;南北绿,东西红

OUTDX,AL

MOVBX,D2

CALLDLY

MOVCX,03H

XH1:

ANDAL,0F5H;绿灭

OUTDX,AL

MOVBX,D1

CALLDLY

ORAL,0aH;绿亮

OUTDX,AL

MOVBX,D1

CALLDLY

LOOPXH1

ORAL,0a0H;南北黄

OUTDX,AL

MOVBX,D1

CALLDLY

MOVBX,D1

CALLDLY

MOVAL,10100101B;南北红,东西绿

OUTDX,AL

MOVBX,D2

CALLDLY

MOVCX,03

XH2:

ANDAL,0FaH

OUTDX,AL

MOVBX,D1

CALLDLY

ORAL,05H

OUTDX,AL

MOVBX,D1

CALLDLY

LOOPXH2

ORAL,50H

OUTDX,AL

MOVBX,D1

CALLDLY

MOVBX,D1

CALLDLY

JMPBG

DLYPROCNEAR

PUSHCX

DDD:

MOVCX,2fffH

CCC:

LOOPCCC

DECBX

CMPBX,0

JNEDDD

POPCX

RET

DLYENDP

CODEENDS

ENDSTART

2.5实验结果分析及总结

一,实验结果是看到四个交通灯,按规律交替地变化,以东西南北两两交替地实现了交通控制的功能,

二,源代码编写分析:

先把10H和200H赋给两个端口,在数据段定义PB的空间,里面内为空,然后在堆栈段定义50个字节的内容,并把长度赋值给TOP。

在程序的正文部分,先向控制端口写方式控制字,然后通过A端口向外设输出信息,即使LED灯全灭。

然后分时段向外设写入灯的控制信息实现,双色灯的交替变化,00是全灭控制,01控制灯变红,02控制灯变绿,03控制变黄,最后通过延迟设计使等每隔几秒就亮和灭。

 

三、定时器/计数器实验

3.1实验要求,目的

一、实验要求

编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器0输出作为定时

器1的输入,定时器1的输出接在一个LED上,运行后可观察到该LED在不停闪烁。

二、实验目的

了解8253定时器的硬件连接方法及时序关系。

掌握8253的各种模式编程及原理。

3.2实验电路连线

GATE0~GATE1连至电源+5V,CLK0接OUT1,OUT1用线连至一个发光管(L0),CLK1

接1MHZ,CS53片选孔用线连至译码处208~~20F这个孔。

3.3实验说明和实验步骤

四、实验说明

8253的工作频率为0~2MHZ,所以输入的CLK频率必须在2MHZ以下。

3.4实验源代码

;"自由扩展实验例程"8253定时器实验

CONTROLequ20bh

COUNT0equ208h

COUNT1equ209h

COUNT2equ20ah

codesegment

assumecs:

code

startprocnear

moval,36h;00110110B;计数器0,16位,方式3,二进制

movdx,CONTROL

outdx,al

movax,10000

movdx,COUNT0

outdx,al;计数器低字节

moval,ah

outdx,al;计数器高字节

moval,76h;01110110B;计数器1,16位,方式3,二进制

movdx,CONTROL

outdx,al

movax,100

movdx,COUNT1

outdx,al;计数器低字节

moval,ah

outdx,al;计数器高字节

jmp$

startendp

codeends

endstart

3.5实验结果分析及总结

实验结果清晰地显示了,每隔一个固定的时间灯就会亮一次的过程,可以说达到了预期的实验效果。

8253芯片实现定时功能,主要步骤是,先向芯片写入初始计数值,通过初始值控制时间的定时功能,第二步是向相应的端口写入方式控制字,以实现对芯片方式的控制,和中断结束的控制。

8253芯片主要的功能有计数和定时功能,必须要对8253芯片进行初始化编程才能实现相应的功能,主要两个内容一是:

方式控制字,二是:

写入计数初值。

这些内容的写入主要是向相应的端口写入。

另外要特别注意端口的选择,这需要根据A0,位来分析判断决定。

 

四、软件实验

与数据有关的寻址方式:

以MOV指令为例

•立即寻址MOVAX,3069H

•寄存器寻址MOVAL,BH

•直接寻址MOVAX,[2000H]

•寄存器间接寻址MOVAX,[BX]

•寄存器相对寻址MOVAX,COUNT[SI]

•基址变址寻址MOVAX,[BP][DI]

•相对基址变址寻址MOVAX,MASK[BX][SI]

(1)立即寻址方式*——操作数在指令中给出

•指令格式:

MOVAL,5

•MOVAX,3064H

•MOVAL,‘A’

(2)寄存器寻址方式*—操作数在指定的寄存器中

•MOVAX,BX

•MOVAL,BH

•MOVAX,3064H

•(3)直接寻址方式*—有效地址EA由指令直接给出

•例:

MOVAX,[2000H]

•EA=2000H,假设(DS)=3000H,那么PA=32000H

•(4)寄存器间接寻址*—EA在基址寄存器(BX/BP)

•或变址寄存器(SI/DI)中

•MOVAX,[BX]PA=16d(DS)+(BX)

•MOVAX,ES:

[BX]PA=16d(ES)+(BX)

•MOVAX,[BP]PA=16d(SS)+(BP)

•5)寄存器相对寻址方式*

•指令格式:

MOVAX,COUNT[SI]或

•MOVAX,[COUNT+SI]

•假设(DS)=3000H,(SI)=2000H,COUNT=3000H,

•则:

PA=35000H

•假设(35000H)=1234H,那么(AX)=1234H

•(6)基址变址寻址方式*

•指令格式:

MOVAX,[BX][DI]

•MOVAX,[BX+DI]

•MOVAX,ES:

[BX][SI]

•(7)相对基址变址寻址方式

•MOVAX,MASK[BX][SI]

•或MOVAX,MASK[BX+SI]

•或MOVAX,[MASK+BX+SI

数据传送指令:

通用数据传送指令

MOV、PUSH、POP、XCHG

累加器专用传送指令

IN、OUT、XLAT

地址传送指令

LEA、LDS、LES

标志寄存器传送指令

LAHF、SAHF、PUSHF、POPF

类型转换指令

CBW、CWD

例:

LEABX,[BX+SI+0F62H]

LDSSI,[10H]

LESDI,[BX]

movdx,100

inal,61h

andal,11111100b

sound:

xoral,2;101循环

out61h,al;ONOFFON循环

movcx,140h;脉宽

Wait1:

loopwait1

decdx

jnesound

例:

INAX,28H

MOVDATA_WORD,AX

例:

MOVDX,3FCH

INAX,DX

例:

OUT5,AL

换码指令:

XLAT或 XLATOPR

执行操作:

(AL)((BX)+(AL))

例:

MOVBX,OFFSETTABLE;(BX)=0040H

MOVAL,3

XLATTABLE(此处TABLE仅为提高可读性)

指令执行后(AL)=33H(‘3’的ASCII码)

算术指令:

加法指令

ADD、ADC、INC

减法指令

SUB、SBB、DEC、NEG、CMP

乘法指令

MUL、IMUL

除法指令

DIV、IDIV

十进制调整指令

DAA、DAS、

AAA、AAS、AAM、AAD

加法指令

加法指令:

ADDDST,SRC

执行操作:

(DST)(SRC)+(DST)

带进位加法指令:

ADCDST,SRC

执行操作:

(DST)(SRC)+(DST)+CF

加1指令:

INCOPR

执行操作:

(OPR)(OPR)+1

减法指令

减法指令:

SUBDST,SRC

执行操作:

(DST)(DST)-(SRC)

带借位减法指令:

SBBDST,SRC

执行操作:

(DST)(DST)-(SRC)-CF

减1指令:

DECOPR

执行操作:

(OPR)(OPR)-1

求补指令:

NEGOPR

执行操作:

(OPR)-(OPR)

比较指令:

CMPOPR1,OPR2

执行操作:

(OPR1)-(OPR2

例:

x、y、z均为双精度数,分别存放在地址为X,X+2;

Y,Y+2;Z,Z+2的存储单元中,用指令序列实现

wx+y+24-z,并用W,W+2单元存放w

MOVAX,X

MOVDX,X+2

ADDAX,Y

ADCDX,Y+2;x+y

ADDAX,24

ADCDX,0;x+y+24

SUBAX,Z

SBBDX,Z+2;x+y+24-z

MOVW,AX

MOVW+2,DX;结果存入W,W+2单元

逻辑指令:

逻辑运算指令

AND、OR、NOT、XOR、TEST

移位指令

SHL、SHR、SAL、SAR、

ROL、ROR、RCL、RCR

例:

屏蔽AL的第0、1两位

ANDAL,0FCH

例:

置AL的第5位为1

ORAL,20H

例:

使AL的第0、1位变反

XORAL,3

例:

测试某些位是0是1

TESTAL,1

JZEVEN

逻辑左移SHLOPR,CNT

逻辑右移SHROPR,CNT

算术左移SALOPR,CNT(同逻辑左移)

算术右移SAROPR,CNT

例:

(BX)=84F0H

(1)(BX)为无符号数,求(BX)/2

SHRBX,1;(BX)=4278H

(2)(BX)为带符号数,求(BX)×2

SALBX,1;(BX)=09E0H,OF=1

(3)(BX)为带符号数,求(BX)/4

MOVCL,2

SARBX,CL;(BX)=0E13CH

例:

(AX)=0012H,(BX)=0034H,把它们装配成(AX)=1234H

MOVCL,8

ROLAX,CL

ADDAX,BX

(3)(BX)=84F0H,把(BX)中的16位数每4位压入堆栈

MOVCH,4;循环次数

MOVCL,4;移位次数

NEXT:

ROLBX,CL

MOVAX,BX

ANDAX,0FH

PUSHAX

DECCH

JNZNEXT

串处理指令:

设置方向标志指令

CLD、STD

串处理指令串重复前缀

MOVSB/MOVSWREP

STOSB/STOSWREPE/REPZ

LODSB/LODSWREPNE/REPNZ

CMPSB/CMPSW

SCASB/SCASW

五、实验总结分析和感想

这次微机实验时间虽然较短但由于自己对微机的兴趣和自己的认真准备这次实验做得轻松,也许是因为是实验简单的缘故吧,不过从这次实验中学到了许多的东西包括汇编语言的应用和微机的基础硬件知识。

这次实验主要的实验内容是8253芯片和8255芯片的应用和利用汇编语言来实现编程控制实际的硬件电路的工作和状态,通过这两个实验的芯片对上述两个芯片有了进一步的了解和掌握,更加明确了学习相关理论知识的重要性和紧迫性。

今后不能死学书本上的知识,要多于实践,多于理解和逻辑掌握。

通过这两次微机实验的学习,我不仅学会了基本的汇编编程语言,也亲手实现了理解了一些微机理论的知识,明白很多东西并不像我们预期的那么难,只要把握好,一些看来不可能实现的东西其实可以做很好,不管做什么,最重要是要有信心。

 

六、参考文献

 

一,《微机原理与接口技术》.梁建武主编

二,《IBM—PC汇编程序设计》沈美明,温冬婵编著

 

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2