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

📄 3.asm

📁 这是基于实验板的一个关于交通灯模拟的汇编程序
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;           交通灯             ;;;
;;;PC7-PC5代表南北路口的红黄绿灯 ;;;
;;;PC2-PC0代表东西路口的红黄绿灯 ;;;
;;;且电路板上二极管是高电平亮    ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DATA SEGMENT
  ;IOPORT  equ  0C400H-0288h  ;ioport是TPC卡的IO地址                                                  
  IO8255  equ  0C40BH   ;io8253是8253控制地址                                                    
  IO8255A equ  0C408H   ;io8255A是8255 A口地址    
  IO8255C equ  0C40AH   ;io8255C是8255 C口地址                                                 
DATA ENDS

STACK1 SEGMENT STACK
 DB 100 DUP(?)
STACK1 ENDS

CODE SEGMENT
     ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV BX,0
       MOV DX,IO8255     ;8255初始化
       MOV AL,10000000B  ;C口为输出方式
       OUT DX,AL         ;写控制端
WORKSN:MOV DX,IO8255C
       MOV AL,00100100B  ;南绿灯亮,东红灯亮
       OUT DX,AL         ;送C口显示
       CALL DLAY         ;持续亮3s
       MOV CX,4          ;黄灯亮灭次数控制
WORK1: MOV AL,01000100B  ;南黄灯亮,东红灯亮
       OUT DX,AL
       CALL DLAY1
       MOV AL,00000100B  ;南黄灯灭,东红灯亮    
       OUT DX,AL
       CALL DLAY1
       LOOP WORK1    
       
WORKEW:MOV AL,10000001B  ;东绿灯亮,南红灯亮
       OUT DX,AL         ;送C口显示
       CALL DLAY         ;持续亮3s
       MOV CX,4          ;黄灯亮灭次数控制
WORK2: MOV AL,10000010B  ;东黄灯亮,南红灯亮
       OUT DX,AL
       CALL DLAY1
       MOV AL,10000000B  ;东黄灯灭,南红灯亮    
       OUT DX,AL
       CALL DLAY1
       LOOP WORK2 
       MOV DL,0FFH  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       MOV AH,06H   ;                            ;
       INT 21H      ;                            ; 
       JZ WORKSN    ;看是否有s键按下,有的话结束 ;
       JMP EN
DLAY   PROC        ;延时子程序  3s
       PUSH CX
       PUSH AX
       MOV CX,0FFFFH
    T1:MOV AX,0FFFFH
    T2:DEC AX
       JNZ T2
       LOOP T1
       POP AX
       POP CX
       RET
DLAY1  PROC        ;延时子程序  0.3s
       PUSH CX     ;
       PUSH AX     ; 
       MOV CX,0A000H ; 
    T3:MOV AX,05000H;
    T4:DEC AX      ; 
       JNZ T4      ; 
       LOOP T3
       POP AX
       POP CX
       RET
EN:    MOV AH,4CH  ;返回DOS
       INT 21H        
CODE ENDS
     END START

⌨️ 快捷键说明

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