西安北郊做网站公司,免费手机网站制作方法,青岛专业网站制作团队,北京旅游网页设计一、实验目的
掌握可编程并行接口芯片8255的工作原理及初始化方法掌握8255在实际应用中的硬件连接及编程应用
二、实验要求
根据实验室现有条件#xff0c;针对实验任务#xff0c;设计实验方案并进行实现。
三、实验内容
启动0#计数器#xff0c;每计5个数#xff08…一、实验目的
掌握可编程并行接口芯片8255的工作原理及初始化方法掌握8255在实际应用中的硬件连接及编程应用
二、实验要求
根据实验室现有条件针对实验任务设计实验方案并进行实现。
三、实验内容
启动0#计数器每计5个数计数时钟用脉冲源产生产生一次中断在中断服务程序中启动1#计数器工作用其输出控制灯按照10HZ的频率闪烁。同时检测开关状态当某一开关合上时将对应编号的指示灯点亮开关断开时将对应的指示灯熄灭。控制灯闪烁5秒钟用软件延时实现定时后停止1#计数器工作普通中断结束。
四、实验线路图 五、实验程序清单
CSEG SEGMENT
ORG 100H
ASSUME CS:CSEG
START:CLI;关中断
;8259初始化MOV DX,04A0H MOV AL,13H;0001 0011,边沿触发方式单片方式要写入ICW4OUT DX,AL;ICW1MOV AL,20H;0010 0000,设置中断向量号ADD DX,2OUT DX,AL;ICW2MOV AL,01H;0000 0001OUT DX,AL;ICW4
;中断向量设置PUSH DSMOV AX,0MOV DS,AXMOV SI,27h*4MOV AX ,offset INTP MOV [SI],AXINC SIINC SIMOV AX,100HMOV [SI],AXPOP DS
;开放IR7中断
MOV AL,7FHOUT DX,AL;OCW1;8255初始化MOV AL,10000010B;A方式0输出B方式0输入C方式0输出MOV DX,04C6HOUT DX,AL
;8253初始化
mov al,00010101b;计数器0只读写低字节方式二十进制mov dx,04b6hout dx,alMov al,05hMov dx,04b0hOut dx,alMOV AL,00HMOV DX,04C0HOUT DX,ALmov al,01110110b;计数器1先低后高方式三二进制mov dx,04b6hout dx,alMov ax,37500Mov dx,04b2hout dx,almov al,ahout dx,alSTI;开中断
WAITI:JMP WAITI;等待中断
INTP:mov al,01hmov dx,04C0hout dx,alMOV DX,04C2HIN AL,DXMOV DX,04C4HOUT DX,ALMov bx,10
dey: mov cx,0
agn: dec cxjnz agndec bxjnz deymov al,00hmov dx,04C0hout dx,alMOV AL20HMOV DX04A0HOUT DXALIRET
CSEG ENDS
END START
六、实验结论及总结
通过此次实验我对825382558259的理解更加深刻了8255提供了三个端口A,B,C我们可以利用简单的方式0工作方式实现对端口输入输出的控制在本次实验中我利用8255来读取开关状态并反映到对应的灯的状态上8255还起到了对8253的计时器1的门控信号的控制作用。8253定时计数器有6种工作方式在本次实验中我利用了方式2与方式3分别实现了对产生中断的控制与灯闪烁频率的控制。8259是中断控制器一片8259A可以管理8级中断每一级中断都可单独被屏蔽或允许。三者配合使用能完成许多基本功能。
在实验一开始心里还是有点没底的因为无法使用试验台验证只能凭自己的逻辑进行判断。但在温习ppt过后自己开始动手写程序的过程中随着问题被一一克服我对实验的认识逐渐深刻对程序的书写与修改逐渐熟练起来。
在本次实验中我对遇到的问题总结如下
1.一开始对于8253计数器的工作方式确定不下来有考虑到方式0的使用但是对于两个计数器计数器0要不断地产生脉冲进而产生中断不能只产生一次中断就结束了否定。计数器1控制灯的闪烁频率同样也不能只闪一下就结束这样也不好观察否定。最后决定计数器0采用方式2计数器1要控制灯闪烁的频率所以采用方波发生器——方式3。
2.第二个问题是如何控制计数器开始与结束计数的时间。对于计数器0因为计数器0的功能其实就是对中断产生的控制所以可以不用门控信号操控计数器0而利用开关中断实现。对于计数器1我们可以在一开始给GATE1低电压并在中断子程序开始处给其高电压使其开始工作在中断子程序结尾处给低电压结束其工作。
3.关于中断在程序一开始处cli关中断在中断子程序前sti开中断以此来完成对中断的控制。在8259初始化后记得要开放IR7中断(OCW1)在中断子程序结束时写入中断结束字(OCW2)。
经过反复的思考最终设计出了实验线路图与实验程序它们完成的功能并不复杂也可以说是很基础。但正是由这些基础的内容互相配合交互进行才得以完成更复杂的功能。我们需要对这些知识理解并加以掌握才能为我们去研究更复杂的内容奠定牢固的基础。