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

📄 交通灯_接口.asm

📁 接口实验程序
💻 ASM
字号:
data segment
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
num db 9h,8h,7h,6h,5h,4h,3h,2h,1h,6h,5h,4h,3h,2h,1h,3h,2h,1h,0
light db 1b,1b,1b,1b,1b,1b,1b,1b,1b,100b,100b,100b,100b,100b,100b,10b,10b,10b
data ends
code segment
assume cs:code,ds:data
start:
	mov ax,data
	mov ds,ax
	mov dx,28bh
	mov al,88h
	out dx,al 
	
ll0:	lea si,num
	lea di,light

ll1:	mov bl,[si]
	cmp bl,0
	jz  ll0		;大循环
	mov dx,288h
	mov al,byte ptr led[bl]
	out dx,al	;点数码管
	mov dx,28ah
	mov al,[di]
	out dx,al	;点灯
	call delay
	inc  si
	inc  di
	jmp  ll1	;下一秒,小循环

delay   proc near       ;延时子程序
	push dx
	mov dx,283h     ;设8253计数器0为方式3
	mov al,36h
	out dx,al
	mov dx,280h
	mov ax,1000     ;写入计数器初值1000
	out dx,al
	mov al,ah
	out dx,al
	mov dx,283h
	mov al,70h      ;设计数器1为工作方式0
	out dx,al
	mov dx,281h
	mov ax,1000     ;写入计数器初值1000
	out dx,al
	mov al,ah
	out dx,al
ll2:	mov ah,06       ;是否有键按下
	mov dl,0ffh
	int 21h
	jne exit        ;若有则转exit
	mov dx,28ah
	in  al,dx       ;查询8255的Pc7是否为高电平
	test al,80
	jz  ll2         ;若不是则继续
	pop dx
	ret 
exit:   mov ah,4ch
	int 21h
delay   endp
	code ends
	end start

⌨️ 快捷键说明

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