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

📄 bujin.asm

📁 一些微机接口的例子
💻 ASM
字号:
;Bujin.asm
;步进电机控制实验

;****************根据查看端口资源修改下列符号值*******************
IOY0         EQU   9C00H          ;片选IOY0对应的端口始地址
;*****************************************************************
MY8255_A     EQU   IOY0+00H*4     ;8255的A口地址
MY8255_B     EQU   IOY0+01H*4     ;8255的B口地址
MY8255_C     EQU   IOY0+02H*4     ;8255的C口地址
MY8255_MODE  EQU   IOY0+03H*4     ;8255的控制寄存器地址

STACK1 SEGMENT STACK
        DW 256 DUP(?)
STACK1 ENDS

DATA  SEGMENT
TTABLE  DB   01H,03H,02H,06H,04H,0CH,08H,09H  
DATA  ENDS

CODE SEGMENT
     ASSUME  CS:CODE,DS:DATA

START:  MOV  AX,DATA
        MOV  DS,AX

MAIN:   MOV  DX,MY8255_MODE         ;定义8255工作方式          
        MOV  AL,80H                 ;工作方式0,A口和B口为输出
        OUT  DX,AL 

A1:     MOV  BX,OFFSET TTABLE
        MOV  CX,0008H                           
A2:     MOV  AL,[BX]
        MOV  DX,MY8255_B              
        OUT  DX,AL

        CALL DALLY                  
        INC  BX                                      
        LOOP A2

        MOV  AH,1                   ;判断是否有按键按下
        INT  16H
        JZ   A1                     ;无按键则跳回继续循环,有则退出

QUIT:   MOV  AX,4C00H               ;结束程序退出
        INT  21H

DALLY PROC NEAR                     ;软件延时子程序
        PUSH CX
        PUSH AX                   
        MOV  CX,0FFFH
D1:     MOV  AX,5000H
D2:     DEC  AX
        JNZ  D2
        LOOP D1
        POP  AX
        POP  CX
	  RET	
DALLY ENDP

CODE  ENDS
      END START
      	

⌨️ 快捷键说明

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