廖雪平06013微机原理.docx
- 文档编号:14056739
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:28
- 大小:2.49MB
廖雪平06013微机原理.docx
《廖雪平06013微机原理.docx》由会员分享,可在线阅读,更多相关《廖雪平06013微机原理.docx(28页珍藏版)》请在冰点文库上搜索。
廖雪平06013微机原理
计算机专业类课程
实验报告
课程名称:
微机原理与接口技术
学 院:
计算机科学与工程
专 业:
计算机科学与技术
学生姓名:
廖雪平
指导老师:
王华
学 号:
2011060120003
日 期:
2014年 5月 29日
电子科技大学
实验报告
实验一
1、实验名称:
数据块复制及字符串显示
2、实验学时:
4
3、实验内容和目的:
实验内容:
1、数据块复制
•将某个连续存储区的数据复制到另一个连续的存储区。
复制数据个数为100个。
•注意:
要保证前后数据的完整性。
2、字符串显示
•在显示器上显示问候语,比如:
hello,world!
•技术要点:
运用dos功能调用之9号功能调用,输入参数为:
DS:
DX=显示字符串所在的段基址及偏移地址;AH中置功能调用号9。
实验目的:
熟悉掌握x86汇编语言编程
4、实验原理:
五、实验器材(设备、元器件)
PC机,Dais微机接口实验箱,Intel8088微机实验系统
六、实验步骤:
1、更加实验要求编写汇编程序;
2、对程序进行文件编译与链接生成可执行文件;
七、实验数据及结果分析:
1、程序一:
(1)流程图:
(2)源代码:
DATASEGMENT
VARDW3
DATAENDS
STACKSSEGMENTSTACK
DW128DUP(?
)
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
CODES,ES:
CODES,SS:
STACKS
ORG1000H
START:
MOVAX,DATA
MOVDS,AX
MOVBYTEPTRDS:
[4000H],34H
MOVBYTEPTRDS:
[4002H],45H
MOVCX,64H
MOVSI,4000H
MOVDI,4002H
CMPSI,DI
JALOOP2
ADDSI,63H
ADDDI,63H
LOOP1:
MOVAL,[SI]
MOV[DI],AL
DECSI
DECDI
LOOPLOOP1
JMPDONE
LOOP2:
MOVAL,[SI]
MOV[DI],AL
INCSI
INCDI
LOOPLOOP2
DONE:
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
(3)实验截图:
2、程序二:
(1)程序源码:
STACKSEGMENT
DW20HDUP(?
)
STACKENDS
DATASEGMENT
STRINGDB'HELLOWORLD$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
BEGIN:
MOVAX,DATA
MOVDS,AX
LEADX,STRING
MOVAH,09H
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
(2)实验截图:
八、实验结论、心得体会和改进建议:
本次两个实验最终实现了实验要求,在实验中重拾了快要遗忘的汇编程序编写,加深了对汇编语言的理解和掌握
电子科技大学
实验报告
实验二
1、实验名称:
交通灯实验
2、实验学时:
4
3、实验内容和目的:
1.实验内容
模拟十字路口交通灯工作状态,依次点亮发光二极管(L1~L12),并对七段数码管进行编程控制,使得七段数码管上显示红绿灯余下时间(倒数计数,初值自己定,当计数值为0时红绿灯进行切换)。
2.实验目的
掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
四、实验原理:
通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。
1.十字路口交通灯的具体的工作模式如下(上下对应看):
东西方向:
红绿黄红
南北方向:
绿黄红绿
注意:
在该实验中要求黄灯闪烁5次
2.8255A可编程外围接口芯片具有A、B、C三个并行接口,有以下三种工作方式:
方式0:
基本输入/输出方式
方式1:
选通输入/输出方式
方式2:
双向选通工作方式
由于该实验中只涉及到一些基本的输出操作,因此在选择方式的时候选择方式0。
五、实验器材(设备、元器件)
PC机,Dais微机接口实验箱,Intel8088微机实验系统
六、实验步骤:
1、编写信号灯实现程序;
2、将程序编译并且写入实验箱;
3、链接电路图;
4、测试实验成果;
七、实验数据及结果分析:
1.流程图
2.电路图
3.源代码
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG32F0H
PAEQU0FFD8H
PBEQU0FFD9H
PCEQU0FFDAH
PCTLEQU0FFDBH
H3:
MOVAL,88H
MOVDX,PCTL
OUTDX,AL;MOD:
0,
MOVDX,PA
MOVAL,0B6H
OUTDX,AL
INCDX
MOVAL,0DH
OUTDX,AL
CALLDELAY1
P30:
MOVAL,75H
MOVDX,PA
OUTDX,AL
INCDX
MOVAL,0DH
OUTDX,AL
CALLDELAY1
CALLDELAY1
MOVCX,08H
P31:
MOVDX,PA
MOVAL,0F3H
OUTDX,AL
INCDX
MOVAL,0CH
OUTDX,AL
CALLDELAY2
MOVDX,PA
MOVAL,0F7H
OUTDX,AL
INCDX
MOVAL,0DH
OUTDX,AL
CALLDELAY2
LOOPP31
MOVDX,PA
MOVAL,0AEH
OUTDX,AL
INCDX
MOVAL,0BH
OUTDX,AL
CALLDELAY1
CALLDELAY1
MOVCX,08H
P32:
MOVDX,PA
MOVAL,9EH
OUTDX,AL
INCDX
MOVAL,07H
OUTDX,AL
CALLDELAY2
MOVDX,PA
MOVAL,0BEH
OUTDX,AL
INCDX
MOVAL,0FH
OUTDX,AL
CALLDELAY2
LOOPP32
JMPP30
DELAY1:
PUSHAX
PUSHCX
MOVCX,0030H
DELY2:
CALLDELAY2
LOOPDELY2
POPCX
POPAX
RET
DELAY2:
PUSHCX
MOVCX,8000H
LOOP$
POPCX
RET
CODEENDS
ENDH3
4.实验截图
八、实验结论、心得体会和改进建议:
通过以上实验实现了交通信号灯的基本要求,本实验将所学知识运用于实际生活,对语言的掌握有了更浓厚的兴趣与动力
电子科技大学
实验报告
实验三
一、实验名称:
8259中断实验
二、实验学时:
4
三、实验内容和目的:
1.实验内容
编制程序,利用8259芯片的IR作为中断源,产生单一/多级中断,系统显示中断号。
(说明:
IR7作为中断源则显示7)
2.实验目的
1、能够正确设置8259的工作参数
2、能够正确设计电路连线图
3、能理解中断和调用子程序之间的区别
4、加深同学们对中断优先级的理解
四、实验原理:
•(ICW2是设置中断类型码的初始化命令字。
其中,D7~D3是8086/8088系统中8259A的中断指针地址的高5位,D2~D0的值恒为0。
•
•而系统的中断序号和中断地址对应表如下:
•
五、实验器材(设备、元器件)
PC机,Dais微机接口实验箱,Intel8088微机实验系统
六、实验步骤:
1、编写程序代码;
2、设计实现电路;
3、测试成果;
七、实验数据及结果分析:
1.流程图
2.电路图
3.源代码
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3400H
H8:
JMPP8259
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB?
?
?
?
?
?
Port0EQU0FFE0H
Port1EQU0FFE1H
P8259:
CLI
CALLWP;初始化显示“P.”
MOVAX,OFFSETINT8259
MOVBX,003CH
MOV[BX],AX
MOVBX,003EH
MOVAX,0000H
MOV[BX],AX
CALLFOR8259
movsi,0000h
STI
CON8:
CALLDIS
JMPCON8
;------------------------------------
INT8259:
cli
MOVBX,OFFSETBUF
MOVBYTEPTR[BX+SI],07H
INCSI
CMPSI,0007H
JZX59
XX59:
MOVAL,20H
MOVDX,Port0
OUTDX,AL
movcx,0050h
xxx59:
pushcx
calldis
popcx
loopxxx59
popcx
movcx,3438h
pushcx
STI
IRET
X59:
MOVSI,0000H
CALLWP
JMPXX59
;==============================
FOR8259:
MOVAL,13H
MOVDX,Port0
OUTDX,AL
MOVAL,08H
MOVDX,Port1
OUTDX,AL
MOVAL,09H
OUTDX,AL
MOVAL,7FH;IRQ7
OUTDX,AL
RET
;---------------------------
WP:
MOVBUF,11H;初始化显示“P.”
MOVBUF+1,10H
MOVBUF+2,10H
MOVBUF+3,10H
MOVBUF+4,10H
MOVBUF+5,10H
RET
;--------------------------------
DIS:
MOVCL,20H
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
PUSHBX
MOVBX,OFFSETLED
XLAT
POPBX
MOVDX,ZXK
OUTDX,AL
MOVAL,CL
MOVDX,ZWK
OUTDX,AL
PUSHCX
MOVCX,0100H
DELAY:
LOOP$
POPCX
CMPCL,01H
JZEXIT
INCBX
SHRCL,1
JMPDIS1
EXIT:
MOVAL,00H
MOVDX,ZWK
OUTDX,AL
RET
;--------------------------
CODEENDS
ENDH8
4.实验截图
八、实验结论、心得体会和改进建议:
通过本实验让我对8259的工作参数设置更能够把握准确,对电路链接图得设计更加得心应手,对中断和子程序调用以及中断优先级的的理解更加清晰
电子科技大学
实验报告
实验四
一、实验名称:
8253时钟中断计时实验
二、实验学时:
4
三、实验内容和目的:
实验内容:
利用8253产生固定频率方波信号,该信号作为8259芯片的中断源,产生单一中断,系统显示中断次数(以时钟计数方式进行)。
实验目的:
1、学习掌握8253的参数设置以及电路链接
2、掌握8253与8259电路链接以及协同工作的参数设置
4、实验原理:
1.8253芯片介绍
•8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0~2MHZ,最高可达5MHZ,用+5V单电源供电。
•8253作为计数器的工作原理:
当计数器被赋予一定初值时,由CLK脉冲在GATE开启的状态下对计数器进行减1计数;在一串CLK脉冲的作用下,当计数值减至“0”时,由OUT端输出一信号。
•8253作为定时器的工作原理:
当定时器被赋予初值时,由CLK脉冲在GATE开启的状态下触发定时器开始工作,定时器不间断地产生CLK时钟整数倍的定时间隔。
•计数器是输出“减到0”信号,定时器输出“时间到”信号,但就其内部操作而言,都是利用一个减法器来完成的。
所不同的是,前者只输出一个脉冲,后者则输出连续的定时脉冲。
•8253有六种工作方式:
1)方式0:
计数结束中断2)方式1:
可编程频率发生
3)方式2:
频率发生器4)方式3:
方波频率发生器
5)方式4:
软件触发的选通信号6)方式5:
硬件触发的选通信号
8253的方式控制字决定每个计数器的工作方式,所以要对8253正确地进行初始化设置。
•由于每个计数器都是16位,所以允许用户使用的二进制数为0000H~FFFFH。
计数器是减1操作,当初始计数值为0000时,计数值为最大。
本例中,计数器0的初始值寄存器地址为0FFE0H。
2.8253工作参数
将8253的通道0设置成为工作方式3,周期性地输出方波信号,GATE0门控端接+5v,保证计数0通道始终处于允许计数的状态,而CLK工作时钟接入T1。
在本例中,应该设置的参数为:
00110110B=36H(端口地址为0FFE3H)
在该系统中,计数器电路由一片74LS393组成,实验系统上的T0~T7为分频输出插孔,T为脉冲输入端(已连接脉冲源4.9152MHZ)。
该计数器在上电时由RESET信号清零。
当脉冲输入为4.9152MHZ时,T0~T7输出脉冲频率依次为2.4576MHZ、1.2288MHZ、614.4KHZ、307.2KHZ、153.6KHZ、76.8KHZ、38.4HZ、19.2HZ。
五、实验器材(设备、元器件)
Pc机,dais接口实验平台
6、实验步骤:
1、设计实验电路。
2、编制控制程序。
3、调试并运行。
七、实验数据及结果分析:
1.电路图:
2.源代码:
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3000H
H8:
JMPP8259
JS0EQU0FFE0H
KZZEQU0FFE3H
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB0,0,0,0,0,0
Port0EQU0FFE0H
Port1EQU0FFE1H
P8259:
CLI
CALLWP;初始化显示“P.”
MOVAX,OFFSETINT8259
MOVBX,003CH
MOV[BX],AX
MOVBX,003EH
MOVAX,0000H
MOV[BX],AX
CALLFOR8253
CALLFOR8259
movsi,0000h
STI
CON8:
CALLDIS
JMPCON8
;------------------------------------
INT8259:
cli
MOVBX,OFFSETBUF
ADDBX,1
MOVCL,10
MOVAL,00H
L1:
MOV[BX],AL
INCAL
INCBX
LOOPL1
INCSI
CMPSI,0007H
JZX59
XX59:
MOVAL,20H
MOVDX,Port0
OUTDX,AL
movcx,0050h
xxx59:
pushcx
calldis
popcx
loopxxx59
popcx
movcx,3438h
pushcx
STI
IRET
X59:
MOVSI,0000H
CALLWP
JMPXX59
;==============================
FOR8259:
MOVAL,13H
MOVDX,Port0
OUTDX,AL
MOVAL,08H
MOVDX,Port1
OUTDX,AL
MOVAL,09H
OUTDX,AL
MOVAL,7FH;IRQ7
OUTDX,AL
RET
;---------------------------
FOR8253:
MOVAL,00H
MOVDX,JS0
OUTDX,AL;使用通道0作为方波输出
MOVAL,36H
MOVDX,KZZ
OUTDX,AL
RET
;-----------------------------
WP:
MOVBUF,11H;初始化显示“P.”
MOVBUF+1,0H
MOVBUF+2,1H
MOVBUF+3,2H
MOVBUF+4,3H
MOVBUF+5,4H
RET
;--------------------------------
DIS:
MOVCL,20H
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
PUSHBX
MOVBX,OFFSETLED
XLAT
POPBX
MOVDX,ZXK
OUTDX,AL
MOVAL,CL
MOVDX,ZWK
OUTDX,AL
PUSHCX
MOVCX,0100H
DELAY:
LOOP$
POPCX
CMPCL,01H
JZEXIT
INCBX
SHRCL,1
JMPDIS1
EXIT:
MOVAL,00H
MOVDX,ZWK
OUTDX,AL
RET
;--------------------------
CODEENDS
ENDH8
3.实验截图:
八、实验结论、心得体会和改进建议:
通过本实验让我掌握了8253的参数设置,对与8259协同工作参数设置掌握更深,同时在实验中也得到不少乐趣,加深了对程序编写以及动手操作的喜爱
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 廖雪平 06013 微机 原理