⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8255a.asm

📁 这是接口课程设计时做的一个控制电机转动的程序
💻 ASM
字号:
;-------------------------------------------------------
;                    程序说明
;实现功能:通过8255A(方式0)实现开关对发光二极管的控制
;按回车时,程序退回DOS
;
;	测试专用,适用于唐都TD-PIT实验箱	胖大海
;-------------------------------------------------------
CODE SEGMENT
	ASSUME CS:CODE
START:
        MOV DX,1443H		;定义控制器端口地址
	MOV AL,10001001B	;定义方式字。方式0、A口输出(接发光管D0-D7)、
				;B口输出(接发光管D8-D15)、C口输入(接某组开关)
	OUT DX,AL		;送方式字
	
LOOP1:  MOV DX,1442H		;定义C口地址
	IN AL,DX		;读C口数据
        MOV DX,1440H		;定义A口地址
	OUT DX,AL		;将读到的C口数据送往A口
	MOV DX,1441H		;定义B口地址
	OUT DX,AL		;将读到的C口数据送往B口
	
	MOV AH,11		;调用DOS的11号功能,判断是否有按键按下
	INT 21H
	CMP AL,0		;如果没按键则功能调用返回值AL=0,所以将AL和0比较一下
	JE LOOP1		;相等则循环,反之退出
	
	MOV AH,4CH		;退回到DOS
	INT 21H
CODE ENDS
	END START


;------------------------------------------------------------ 
;		参考接线:
;8255A的D0-D7接ISA仿真借口的XD0-XD7
;8255A的RD、WR、CS分别接ISA仿真借口的XIOR、XIOW、IOY2
;8255A的A0、A1分别接ISA仿真借口的XA0、XA1
;8255A的PA0-PA7接LED显示单元的D0-D7(A口输出)
;8255A的PB0-PB7接LED显示单元的D8-D15(B口输出)
;8255A的PC0-PC7接开关K0-K7(C口输入)
;
;
;		一些说明:
;因为PCI的I/O基地址是系统动态给定的,不同的机型的PCI的I/O基地址各不相同
;而I/O信号线对应的实际地址=基地址+相对偏移。
;IOY2的相对偏移为40-5FH,所以当你选中IOY2时(假设I/O基地址
;为1400),IOY2可使用的I/O地址范围为1440H-145FH
;(即1400H+40H到1400H+5FH)
;
;PCI的I/O基地址可执行D盘根目录下的PCI_BIOS.EXE来查看。
;
;如果线接对了、I/O地址也都对、程序也一样,还是出不来,
;那就是箱子有问题。
;------------------------------------------------------------ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -