微机接口实验文档格式.docx
- 文档编号:18791986
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:31
- 大小:1.90MB
微机接口实验文档格式.docx
《微机接口实验文档格式.docx》由会员分享,可在线阅读,更多相关《微机接口实验文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259工作原理填写并验证,然后将所填容写在实验报告中,并分析所填数据的形成原理。
(1)实验2-1:
计数器应用实验
①将计数器0设置为方式3,计数器初值为4,用手动逐个输入单脉冲,用LED灯观察OUT0电平变化。
将代码中划横线的部分填上相应的代码,并在实验报告中对所填代码做原理分析。
②如果令计数器0工作在方式0,其实验现象有什么不同,在报告中进行分析说明。
(2)实验2-2:
自设计实验
参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以1MHz为时钟源,应用8254的定时功能,将其分频为1Hz。
以LED灯作为输出显示。
经过实际验证后,在报告中画出接线图,并给出源代码。
(1)实验3-1:
可编程并行接口8255方式0应用实验
编写程序,自行设定A、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
根据原理补全代码中缺失的部分,根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。
(2)实验3-2:
自设计试验
自行设计完成本实验,要求,8255A口工作在方式一输入,B口工作在方式一输出,利用方式一的控制信号,使数据从输入到输出人为可控。
在实验报告中画出接线图,并说明设计的原理,给出对应的程序代码。
二、实验设备(环境)及要求
Windows7系统下的HQFC集成开发环境,CZ-CIUS微机接口实验系统。
三、实验容与步骤
实验1-1
(1)实验容
PC机中断实验。
使用单次脉冲模拟中断产生。
验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。
(2)主要步骤
①按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象。
考虑PC机中断级联的方式,参看前面的原理说明)。
接线图:
本实验只需要一根连线,一端接系统总线区的IRQ引脚,一端接到单脉冲单元的引脚上,接线如图1-1所示。
参考流程图:
程序源代码:
(1)
;
数据段
DATASEGMENT
MESSDB'
TPCAinterrupt!
'
0DH,0AH,'
$'
需要显示的数据,以'
结束,方便系统调用。
0DH,0AH为换行
DATAENDS
代码段
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,CS;
系统调用25是设置中断
MOVDS,AX
MOVDX,OFFSETINT3;
采用间接修改法,设置中断向量
MOVAX,250BH;
设置IRQ3对应的中断向量,25是系统调用功能
号,在AL里放中断向量号,0B*4=2C,是中断程序的地址所在位置,DS放中断程序的段
基址,DX放偏移地址
INT21H
中断设置完成
INAL,21H;
读中断屏蔽寄存器,21H是该寄存器的端口号
ANDAL,0F7H;
开放IRQ3中断,允许IRQ3的中断申请
OUT21H,AL;
写OCW1
MOVCX,10;
记中断循环次数为10次
STI;
允许中断发生
WAIT:
JMPWAIT
INT3:
MOVAX,DATA;
中断服务程序
MOVDX,OFFSETMESS
MOVAH,09
在屏幕上显示每次中断的提示信息,DS:
DX中存放显示的字符串的地址
INT21H
MOVAL,20H
发出EOI结束中断到PC主片的地址20H
OUT20H,AL
LOOPNEXT;
LOOP每次跳转CX自动减1
INAL,21H;
读中断屏蔽寄存器,获取中断屏蔽字
ORAL,08H;
关闭IRQ3中断
OUT21H,AL;
将中断屏蔽字送到中断屏蔽寄存器
STI;
置中断标志位
MOVAH,4CH;
返回DOS
NEXT:
IRET;
中断返回
CODEENDS
ENDSTART
(2)
DATASEGMENT
MESSDB'
DATAENDS
CODESEGMENT
ASSUMECS:
DATA
START:
MOVAX,CS
MOVDS,AX
MOVDX,OFFSETINT3;
采用间接修改法,设置中断向量
MOVAX,2572H
INT21H
INAL,21H;
主片
ANDAL,0FBH;
11111011
OUT21H,AL
INAL,0A1H;
从片
OUT0A1H,AL
MOVCX,10;
记中断循环次数为10次
STI;
允许中断发生
WAIT:
JMPWAIT
INT3:
MOVAX,DATA;
中断服务程序
MOVDX,OFFSETMESS
MOVAH,09;
在屏幕上显示每次中断的提示信息
MOVAL,20H;
发出EOI结束中断到PC主片的地址20H
OUT20H,AL;
关闭主片
OUT0A0H,AL;
关闭从片
LOOPNEXT
INAL,21H;
读中断屏蔽寄存器,获取中断屏蔽字
ORAL,04H;
关闭IRQ3中断
OUT21H,AL;
将中断屏蔽字送到中断屏蔽寄存器
ORAL,04H;
关闭IRQ10中断
OUT0A1H,AL;
置中断标志位
MOVAH,4CH;
返回DOS
NEXT:
IRET;
中断返回
CODEENDS
ENDSTART
实验1-2
PC机中断嵌套实验。
使用单次脉冲模拟两个中断源的中断产生,填写
中断处理程序,体会中断嵌套的过程。
本实验接线图如图1-3所示,从单脉冲单元引出两根导线,一根接到系统总线单元区的IRQ引脚,一根接到USB核心卡的IRQ10端。
CODE,DS:
DATA
.386;
告诉汇编器生成intel80386指令集
CLI;
关中断
MOVAX,CS
设置中断向量表INT10
MOVDS,AX;
将CS段基址给DS
MOVDX,OFFSETINT10;
int10的偏移地址给DX
MOVAX,2572H
INT21H;
系统调用25号设置中断功能,中断号72H
设置完成
设置中断向量表INT3
MOVDX,OFFSETINT3
MOVAX,250BH
INT21H;
系统调用25号设置中断功能,中断号0BH
INAL,21H
ANDAL,0F3H;
11110011
OUT21H,AL;
写OCW1,开放2,3号端口
INAL,0A1H
ANDAL,0FBH;
11111011
OUT0A1H,AL;
写OCW1,开放10号端口
MOVCX,10STI
JMPWAIT;
CPU等待中断
INT10代码
INT10:
CLI;
PUSHAD
PUSHFD;
将各种寄存器的值入栈,保存现场
MOVCX,10;
给CX赋值,循环10次
NEXT10_1:
MOVDX,31H
MOVAH,02H
系统调用02功能,DL为显示容ASCII31H:
1
MOVDX,30H
MOVAH,02H;
0
MOVDX,20H;
系统调用02功能,DL为显示容ASCII20H:
<
空格>
CALLDELAY1;
调用DELAY1子程序
LOOPNEXT10_1;
在CX>
0之前跳转,并使CX=CX-1
换行操作
MOVDX,0DH;
系统调用02功能,DL为显示容ASCII0DH:
归位键>
MOVDX,0AH;
系统调用02功能,DL为显示容ASCII0AH:
换行>
MOVAL,20H
OUT0A0H,AL
OUT20H,AL;
发送OCW2结束到主片(偶地址为20H)和从片(偶地址为A0H)
POPFD
POPAD;
将之前入栈的恢复,恢复现场
STI;
开中断
IRET;
INT3代码
CLI;
PUSHAD;
PUSHFD
MOVCX,10;
NEXT3_1:
MOVDX,33H;
系统调用02功能,DL为显示容ASCII33H:
3
CALLDELAY1;
LOOPNEXT3_1;
0之前跳转,并使CX=CX-1
MOVDX,0DH;
MOVAL,20H
OUT20H,AL;
POPAD;
STI;
IRET;
DELAY1PROC
MOVCX,0FH;
给CX赋值,循环15次
DELAY_LOOP1:
MOVBX,0FFFFH;
BX给成FFFFH,每次减一到0跳出循环以此来达到延时的效果
DELAY_LOOP2:
DECBX
NOP
JNZDELAY_LOOP2
LOOPDELAY_LOOP1
恢复现场
RET
DELAY1ENDP
实验1-3
扩展多中断源查询方式应用实验。
利用实验平台上8259控制器作为中断
扩展源,编写程序对8259控制器的中断请求进行处理。
接线图如图1-5所示,以逻辑电平开关模拟单次脉冲,开关置高电平,代表一次脉冲,8259模块相应管脚分别与系统总线、I/O地址单元和+5V相连。
源程序代码:
*****************************************************************
8259中断查询方式应用实验
请根据所学原理推断横线处需填写的源代码
I8259_1EQU2B0H;
8259的ICW1端口地址
I8259_2EQU2B1H;
8259的ICW2端口地址
I8259_3EQU2B1H;
8259的ICW3端口地址(奇地址)
I8259_4EQU2B1H;
8259的ICW4端口地址(奇地址)
O8259_1EQU2B1H;
8259的OCW1端口地址(奇地址)
O8259_2EQU2B0H;
8259的OCW2端口地址(偶地址)
O8259_3EQU2B0H;
8259的OCW3端口地址(偶地址)
DATASEGMENT
MES1DB'
YOUCANPLAYAKEYONTHEKEYBOARD!
'
0DH,0AH,24H
24H='
MES2DDMES1
MESS1DB'
HELLO!
THISISINTERRUPT*0*!
0DH,0AH,'
MESS2DB'
THISISINTERRUPT*1*!
MESS3DB'
THISISINTERRUPT*2*!
MESS4DB'
THISISINTERRUPT*3*!
MESS5DB'
THISISINTERRUPT*4*!
MESS6DB'
THISISINTERRUPT*5*!
MESS7DB'
THISISINTERRUPT*6*!
MESS8DB'
THISISINTERRUPT*7*!
DATAENDS
STACKSSEGMENT
DB100DUP(?
)
STACKSENDS
STACK1SEGMENTSTACK
DW256DUP(?
STACK1ENDS
CODESEGMENT
DATA,SS:
STACKS,ES:
.386
MOVAX,DATA
MOVES,AX;
DS,ES段基址都设为DATA
MOVAX,STACKS
MOVSS,AX ;
SS段基址都设为STACKS
MOVDX,I8259_1;
初始化8259的ICW1
MOVAL,13H;
0001:
ICW10011:
边沿触发、单片8259、需要ICW4
00010011(IR7-3=000:
无意义;
IR4=1:
ICW1标识位;
IR3=0:
边沿;
IR2=0:
IR1=1:
单片8259;
IR0=1:
需要ICW4)
OUTDX,AL
MOVDX,I8259_2;
初始化8259的ICW2
MOVAL,0B0H;
10110000
MOVAL,03H;
ICW400000011
MOVDX,O8259_1;
初始化8259的中断屏蔽操作命令字
MOVAL,00H;
打开屏蔽位
写OCW1,打开屏蔽位
QUERY:
MOVAH,1;
判断是否有按键按下
INT16H
JNZQUIT;
有按键则退出
MOVDX,O8259_3;
向8259发送查询命令
MOVAL,0CH;
00001100
先向8259发送一个OCW3,其中查询位P为1,则下一条指令中可以从同样的地址中取得一个查询字,得到的查询字中最高位(D7)为1代表有中断请求,第三位为请求的来源。
INAL,DX;
读出查询字
TESTAL,80H;
判断中断是否已响应
若最高位为1,则有中断请求
JZQUERY;
没有响应则继续查询
ANDAL,07H
CMPAL,00H
JEIR0ISR;
若为IR0请求,跳到IR0处理程序
CMPAL,01H
JEIR1ISR;
若为IR1请求,跳到IR1处理程序
CMPAL,02H
JEIR2ISR;
若为IR2请求,跳到IR2处理程序
CMPAL,03H
JEIR3ISR;
若为IR3请求,跳到IR3处理程序
CMPAL,04H
JEIR4ISR;
若为IR4请求,跳到IR4处理程序
CMPAL,05H
JEIR5ISR;
若为IR5请求,跳到IR5处理程序
CMPAL,06H
JEIR6ISR;
若为IR6请求,跳到IR6处理程序
CMPAL,07H
JEIR7ISR;
若为IR7请求,跳到IR7处理程序
JMPQUERY
IR0ISR:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMESS1;
显示提示信息
MOVAH,09
JMPEOI
IR1ISR:
MOVDX,OFFSETMESS2;
IR2ISR:
MOVDX,OFFSETMESS3;
IR3ISR:
MOVDX,OFFSETMESS4;
IR4ISR:
MOVDX,OFFSETMESS5;
IR5ISR:
MOVDX,OFFSETMESS6;
IR6ISR:
MOVDX,OFFSETMESS7;
IR7ISR:
MOVDX,OFFSETMESS8;
EOI:
MOVDX,O8259_2;
向8259发送中断结束命令
向8259发OCW2,D5位为EOI中断结束命令位,20H表示清除当前中断服务寄存器的ISn位,在非自动结束中断方式中使用。
MOVAL,20H
JMPQUERY
QUIT:
MOVAX,4C00H;
结束程序退出
INT21H
CODEENDS
实验2-1
计数应用实验。
应用8254的计数功能,用开关模拟计数,使每当按照计数初值的次数按动单次脉冲后,观察LED的变化。
运行源程序8254.asm,按接线图接线,实现计数器功能。
IO8254_MODEEQU283H;
8254控制寄存器端口地址
IO8254_COUNT0EQU280H;
8254计数器0端口地址
CODE
MOVDX,IO8254_MODE;
初始化8254工作方式
MOVAL,17H;
计数器0,方式300010111;
方式000010001:
11H
OUTDX,AL;
01只写低8位
MOVDX,IO8254_CO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 实验