收藏 分享(赏)

微机原理报告.doc

上传人:精品资料 文档编号:10817692 上传时间:2020-01-11 格式:DOC 页数:17 大小:178KB
下载 相关 举报
微机原理报告.doc_第1页
第1页 / 共17页
微机原理报告.doc_第2页
第2页 / 共17页
微机原理报告.doc_第3页
第3页 / 共17页
微机原理报告.doc_第4页
第4页 / 共17页
微机原理报告.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、 信息科学与工程学院微机实验报告书课 题: 微机原理与接口技术 班 级: 通信 学 号: 姓 名: 指导教师: 二一 年 十二月phnbriwn 假日无线网密码目录一、绪论 二、双色灯实验 2.1 实验要求,目的, 32.2 实验电路连线 42.3 实验说明和实验步骤 42.4 实验 源代码 42.5 实验结果分析及总结 5三、定时器/计数器实验 53.1 实验要求,目的, 53.2 实验电路连线 63.3 实验说明和实验步骤 73.4 实验 源代码 83.5 实验结果分析及总结 10四、软件实验 五、实验总结分析和感想 11六、参考文献 11二、双色灯实验2.1 实验要求,目的一实验要求编写

2、程序,以 8255 为输出口,控制四个双色灯按要求发光。初始状态 0 为东西红灯,南北红灯。然后转状态 1 南北绿灯通车,东西红灯。过一段时间转状态 2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态,东西绿灯通车,南北灯灯。过一段时间转状态 4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯二、实验目的1学习单板方式下扩展简单 I/O 接口的方法以双色灯的使用。2进一步学习微处理器的编程技术。2.2 实验电路连线8255 的 CS 片选接至适配板上 138 译码处的 200H207H 插孔。2.3 实验说明和实验步骤1、 因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化

3、规律。假设一个十字路口为东西南北走向。初始状态 0 为东西红灯,南北红灯。然后转状态 1 南北绿灯通车,东西红灯。过一段时间转状态 2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态,东西绿灯通车,南北灯灯。过一段时间转状态 4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态 1。2、 双色 LED 是由一个红色 LED 管芯和一个绿色 LED 管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮2.4实验源代码D1 EQU 10H D2 EQU 200HDATA SEGMEN

4、TPB DB ?DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STA STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:PUSH CSPOP DSMOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,200HMOV AL,00OUT DX,AL ;清 LEDMOV DX,200H ;全红MOV AL,0F0HOUT DX,ALMOV BX,7fHCALL DLYBG: MOV AL,01011010B ;南北绿,东西红OUT DX,ALM

5、OV BX,D2CALL DLYMOV CX,03HXH1: AND AL,0F5H ;绿灭OUT DX,ALMOV BX,D1CALL DLYOR AL,0aH ;绿亮OUT DX,ALMOV BX,D1CALL DLYLOOP XH1OR AL,0a0H ;南北黄OUT DX,ALMOV BX,D1CALL DLYMOV BX,D1CALL DLYMOV AL,10100101B ;南北红,东西绿OUT DX,ALMOV BX,D2CALL DLYMOV CX,03XH2: AND AL,0FaHOUT DX,ALMOV BX,D1CALL DLYOR AL,05HOUT DX,ALMOV

6、 BX,D1CALL DLYLOOP XH2OR AL,50HOUT DX,ALMOV BX,D1CALL DLYMOV BX,D1CALL DLYJMP BGDLY PROC NEARPUSH CXDDD: MOV CX,2fffHCCC: LOOP CCCDEC BXCMP BX,0JNE DDDPOP CXRETDLY ENDPCODE ENDSEND START2.5 实验结果分析及总结一,实验结果是看到四个交通灯,按规律交替地变化,以东西南北两两交替地实现了交通控制的功能,二,源代码编写分析:先把 10H 和 200H 赋给两个端口,在数据段定义 PB 的空间,里面内为空,然后在堆栈

7、段定义 50 个字节的内容,并把长度赋值给 TOP。在程序的正文部分,先向控制端口写方式控制字,然后通过 A 端口向外设输出信息,即使 LED 灯全灭。然后分时段向外设写入灯的控制信息实现,双色灯的交替变化,00 是全灭控制,01 控制灯变红,02 控制灯变绿,03 控制变黄,最后通过延迟设计使等每隔几秒就亮和灭。三、定时器/计数器实验3.1 实验要求,目的一、实验要求编程将 8253 定时器 0 设定为方式 3,定时器 1 设定在方式 2,定时器 0 输出作为定时器 1 的输入,定时器 1 的输出接在一个 LED 上,运行后可观察到该 LED 在不停闪烁。二、实验目的了解 8253 定时器的

8、硬件连接方法及时序关系。掌握 8253 的各种模式编程及原理。3.2 实验电路连线GATE0GATE1 连至电源+5V,CLK0 接 OUT1,OUT1 用线连至一个发光管( L0) , CLK1接 1MHZ, CS53 片选孔用线连至译码处 20820F 这个孔。3.3 实验说明和实验步骤四、实验说明8253 的工作频率为 02MHZ,所以输入的 CLK 频率必须在 2MHZ 以下。3.4 实验源代码;“自由扩展实验例程“ 8253 定时器实验CONTROL equ 20bhCOUNT0 equ 208hCOUNT1 equ 209hCOUNT2 equ 20ahcode segmentas

9、sume cs:codestart proc nearmov al, 36h; 00110110B ; 计数器 0,16 位,方式 3,二进制mov dx, CONTROLout dx, almov ax, 10000mov dx, COUNT0out dx, al ; 计数器低字节mov al, ahout dx, al ; 计数器高字节mov al, 76h; 01110110B ; 计数器 1,16 位,方式 3,二进制mov dx, CONTROLout dx, almov ax, 100mov dx, COUNT1out dx, al ; 计数器低字节mov al, ahout dx

10、, al ; 计数器高字节jmp $start endpcode endsend start3.5 实验结果分析及总结实验结果清晰地显示了,每隔一个固定的时间灯就会亮一次的过程,可以说达到了预期的实验效果。8253 芯片实现定时功能,主要步骤是,先向芯片写入初始计数值,通过初始值控制时间的定时功能,第二步是向相应的端口写入方式控制字,以实现对芯片方式的控制,和中断结束的控制。8253 芯片主要的功能有计数和定时功能,必须要对 8253 芯片进行初始化编程才能实现相应的功能,主要两个内容一是:方式控制字,二是:写入计数初值。这些内容的写入主要是向相应的端口写入。另外要特别注意端口的选择,这需要根

11、据 A0,位来分析判断决定。四、软件实验与数据有关的寻址方式:以 MOV 指令为例 立即寻址 MOV AX , 3069H 寄存器寻址 MOV AL , BH 直接寻址 MOV AX , 2000H 寄存器间接寻址 MOV AX , BX 寄存器相对寻址 MOV AX , COUNT SI 基址变址寻址 MOV AX , BP DI 相对基址变址寻址 MOV AX , MASK BX SI (1) 立即寻址方式* 操作数在指令中给出 指令格式:MOV AL, 5 MOV AX, 3064H MOV AL, A (2) 寄存器寻址方式* 操作数在指定的寄存器中 MOV AX, BX MOV AL

12、, BH MOV AX, 3064H (3) 直接寻址方式* 有效地址 EA 由指令直接给出 例:MOV AX, 2000H EA=2000H, 假设(DS)=3000H, 那么 PA=32000H (4)寄存器间接寻址* EA 在基址寄存器(BX/BP) 或变址寄存器(SI/DI) 中 MOV AX, BX PA = 16d (DS) + (BX) MOV AX, ES:BX PA = 16d (ES) + (BX) MOV AX, BP PA = 16d (SS) + (BP) 5) 寄存器相对寻址方式* 指令格式: MOV AX, COUNTSI 或 MOV AX, COUNT+SI 假

13、设 (DS)=3000H, (SI)=2000H, COUNT=3000H, 则: PA = 35000H 假设(35000H)=1234H, 那么 (AX)=1234H (6) 基址变址寻址方式* 指令格式:MOV AX, BX DI MOV AX, BX+DI MOV AX, ES:BX SI ( 7 ) 相对基址变址寻址方式 MOV AX, MASK BX SI 或 MOV AX, MASK BX+SI 或 MOV AX, MASK+BX+SI数据传送指令: 通用数据传送指令MOV、PUSH、POP、XCHG 累加器专用传送指令IN、OUT、XLAT 地址传送指令LEA、LDS、LES

14、标志寄存器传送指令LAHF、SAHF、PUSHF、POPF 类型转换指令CBW、CWD 例:LEA BX, BX+SI+0F62H LDS SI , 10H LES DI , BX mov dx, 100in al, 61hand al,11111100bsound: xor al, 2 ; 1 0 1 循环out 61h, al ;ON OFF ON 循环 mov cx, 140h ;脉宽Wait1: loop wait1dec dx jne sound例: IN AX, 28H MOV DATA_WORD, AX例: MOV DX, 3FCHIN AX, DX例: OUT 5, AL换码指

15、令:XLAT 或 XLAT OPR执行操作:(AL) ( (BX) + (AL) )例:MOV BX, OFFSET TABLE ; (BX)=0040HMOV AL, 3XLAT TABLE(此处 TABLE 仅为提高可读性)指令执行后 (AL)=33H(3的 ASCII 码)算术指令: 加法指令ADD、ADC、INC 减法指令SUB、SBB、DEC、NEG、CMP 乘法指令MUL、IMUL 除法指令DIV、IDIV 十进制调整指令DAA、DAS、AAA、AAS、AAM、AAD 加法指令加法指令: ADD DST, SRC 执行操作: (DST) (SRC) + (DST)带进位加法指令:

16、ADC DST, SRC 执行操作: (DST) (SRC) + (DST) + CF加 1 指令: INC OPR 执行操作: (OPR) (OPR) + 1 减法指令减法指令: SUB DST, SRC 执行操作: (DST) (DST) - (SRC)带借位减法指令: SBB DST, SRC 执行操作: (DST) (DST) - (SRC) - CF减 1 指令: DEC OPR 执行操作: (OPR) (OPR) - 1求补指令: NEG OPR 执行操作: (OPR) - (OPR)比较指令: CMP OPR1, OPR2 执行操作: (OPR1) - (OPR2例:x、y、z

17、均为双精度数,分别存放在地址为 X, X+2;Y, Y+2;Z, Z+2 的存储单元中,用指令序列实现w x + y + 24 - z ,并用 W, W+2 单元存放 wMOV AX, XMOV DX, X+2ADD AX, YADC DX, Y+2 ; x+y ADD AX, 24ADC DX, 0 ; x+y+24SUB AX, ZSBB DX, Z+2 ; x+y+24-zMOV W, AXMOV W+2, DX ; 结果存入 W, W+2 单元逻辑指令: 逻辑运算指令AND、OR、NOT、XOR、TEST 移位指令SHL、SHR 、 SAL 、SAR、ROL、ROR、RCL、RCR例:

18、屏蔽 AL 的第 0、1 两位AND AL, 0FCH例:置 AL 的第 5 位为 1OR AL, 20H例:使 AL 的第 0、1 位变反XOR AL, 3例:测试某些位是 0 是 1TEST AL, 1JZ EVEN逻辑左移 SHL OPR, CNT逻辑右移 SHR OPR, CNT算术左移 SAL OPR, CNT(同逻辑左移)算术右移 SAR OPR, CNT例:(BX) = 84F0H(1) (BX) 为无符号数,求 (BX) / 2SHR BX, 1 ; (BX) = 4278H(2) (BX) 为带符号数,求 (BX) 2 SAL BX, 1 ; (BX) = 09E0H, OF

19、=1(3) (BX) 为带符号数,求 (BX) / 4MOV CL, 2 SAR BX, CL ; (BX) = 0E13CH例:(AX)= 0012H,(BX)= 0034H,把它们装配成(AX)= 1234HMOV CL, 8ROL AX, CLADD AX, BX(3) (BX)=84F0H,把 (BX) 中的 16 位数每 4 位压入堆栈MOV CH, 4 ; 循环次数MOV CL, 4 ; 移位次数NEXT: ROL BX, CLMOV AX, BXAND AX, 0FHPUSH AXDEC CHJNZ NEXT串处理指令: 设置方向标志指令CLD、STD 串处理指令 串重复前缀MO

20、VSB / MOVSW REPSTOSB / STOSW REPE / REPZLODSB / LODSW REPNE / REPNZCMPSB / CMPSWSCASB / SCASW 五、实验总结分析和感想这次微机实验时间虽然较短但由于自己对微机的兴趣和自己的认真准备这次实验做得轻松,也许是因为是实验简单的缘故吧,不过从这次实验中学到了许多的东西包括汇编语言的应用和微机的基础硬件知识。这次实验主要的实验内容是 8253 芯片和 8255 芯片的应用和利用汇编语言来实现编程控制实际的硬件电路的工作和状态,通过这两个实验的芯片对上述两个芯片有了进一步的了解和掌握,更加明确了学习相关理论知识的重要性和紧迫性。今后不能死学书本上的知识,要多于实践,多于理解和逻辑掌握。通过这两次微机实验的学习,我不仅学会了基本的汇编编程语言,也亲手实现了理解了一些微机理论的知识,明白很多东西并不像我们预期的那么难,只要把握好,一些看来不可能实现的东西其实可以做很好,不管做什么,最重要是要有信心。六、参考文献一, 微机原理与接口技术 . 梁建武主编二, IBMPC 汇编程序设计 沈美明,温冬婵编著

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报