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

📄 8251.asm

📁 8259中断程序。接口试验程序
💻 ASM
字号:
code segment
			assume cs:code

			CONTROLPORT EQU 51H
			DATAPORT    EQU 50H

			DATA	    EQU 600H

			ORG 	    1000H
			
START:
			call FORMAT
			call LEDDISP

			;初始化
			out CONTROLPORT,00H	;空操作
			mov al,40H		
			out CONTROLPORT,al	;内部复位
			NOP
			mov al,01001110B	
			out CONTROLPORT,al	;异步1停止位,无校验,8位字符长度,波特率因子16
			mov al,00110111B		
			out CONTROLPORT,al	;RTS,ER,RxE,DTR,TxEN均设置为1

;发送数据55H
LOOP1:
			in  al,CONTROLPORT
			and al,01H					;检查是否能发送
			JZ  LOOP1
			mov al,55H
			out DATAPORT,al			;输出数据
			jmp LOOP1						;循环发送
			
			RET


;显示8251---1
LEDDISP:
				MOV AL,90H
				MOV DX,00DFH
				OUT DX,AL
				MOV BYTE PTR DS:[0600H],00
LED1: 	
				CMP BYTE PTR DS:[0600H],07H
				JA LED2
				mov bl,ds:[0600H]
				mov bh,0h
				MOV AL,ds:[BX+DATA]
				MOV DX,00DEH
				OUT DX,AL
				ADD BYTE PTR DS:[0600H],01H
				JNZ LED1
LED2:   RET

;格式化8251---1
FORMAT: 
				MOV BX,0
				MOV WORD PTR DS:[BX+0600H],4006H	;'8251---1'
				ADD BX,2
				MOV WORD PTR DS:[BX+0600H],4040H
				ADD BX,2
				MOV WORD PTR DS:[BX+0600H],6D06H
				ADD BX,2
				MOV WORD PTR DS:[BX+0600H],7F5BH
				RET

code ends
END START

⌨️ 快捷键说明

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