资源描述:
《微机原理实验指导书(硬件实验)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三8255输入、输出实验一、实验要求利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。二、实验目的1、了解8255芯片结构及编程方法。2、了解8255输入/输出实验方法。三、实验电路及连线8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。连线
2、连接孔1连接孔21CS08255CS2L08255-PA03L18255-PA14L28255-PA25L38255-PA36L48255-PA47L58255-PA58L68255-PA69L78255-PA710K08255-PB011K18255-PB112K28255-PB213K38255-PB314K48255-PB415K58255-PB516K68255-PB617K78255-PB7四、实验说明可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用的是方式0:PA,PC口输
3、出,PB口输入。很多I/O实验都可以通过8255来实现。开始延时置8255工作方式置8255PA口数据左移延时五、实验参考程序、框图开始延时置8255工作方式读8255PB口置8255PA口modeequ082h;方式0,PA,PC输出,PB输入PortAequ8000h;PortAPortBequ8001h;PortBPortCequ8002h;PortCCAddrequ8003h;控制字地址codesegmentassumecs:codestartprocnearStart:moval,modemovdx,CAdd
4、routdx,al;输出控制字;实验1:PortA输出moval,80Hmovcx,08HOutA:movdx,PortAoutdx,al;输出PortAmovdx,PortCoutdx,alshral,1;移位movah,100calldelay;延时loopOutA;实验2:PortB输入PortA输出movdx,PortBinal,dx;读入PortBmovdx,PortCoutdx,almovdx,PortAoutdx,al;输出到PortAmovah,200calldelayjmpStartendpdelay
5、procnearpushaxmoval,0pushcxmovcx,axloop$popcxpopaxretdelayendpcodeendsendstart六、实验步骤(1)在实验箱断电的情况下连好线。(2)输入程序并检查,保存程序。(3)“编译”程序。(4)“全速执行”程序。(5)记录实验结果及分析。实验四8259外部中断实验一、实验要求用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数,并将计数结果用8255的PA口输出到LED。二、实验目的1、学习8088/86
6、与8259的连接方法。1、学习8088/86对8259的控制方法。三、实验电路及连线连线连接孔1连接孔21右8259_CSCS12右8259的IR0单脉冲3右8259的INT8088的INTR(在CPU板左侧)48255_CSCS05PA0L06PA1L17PA2L28PA3L39PA4L410PA5L511PA6L612PA7L7单脉冲四、实验说明8088/86需要外接中断控制器才能对外部中断进行处理。在编程时应注意:1.正确地设置可编程中断控制和工作方式。2.必须正确地设置中断服务程序地址。8259可外接8个中断源
7、,本实验只响应INT0中断,8259也可以多级连接以响应多个中断源。将单脉冲信号接到8259的INT0脚。每次中断时,可以看到LED显示会加1。五、实验参考程序、框图modeequ82h;8255工作方式PA8255equ8000h;8255PA口输出地址CTL8255equ8003hICW1equ00010011b;单片8259,上升沿中断,要写ICW4ICW2equ00100000b;中断号为20HICW4equ00000001b;工作在8086/88方式OCW1equ11111110b;只响应INT0中断CS82
8、59Aequ09000h;8259地址CS8259Bequ09001hdatasegmentCNTdb0dataendscodesegmentassumecs:code,ds:dataIEnterprocnearpushaxpushdxmovdx,PA8255incCNTmoval,CNToutdx,al;输出计数值movdx,C