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

📄 19_549.asm

📁 可作为接口实验的参考教材
💻 ASM
字号:
;//****************************************************************
;文件名:串行A/D转换器TLC549转换程序  FOR 8088 

;功能:把模拟信号转换成数字量,并通过数码管显示被转换的数字量。

;接线: 对应连接串行模数转换模块的DATA、CLK、CS_549到8255模块的PC0、PC4、PC5
;      8255模块的CS_8255连CPU模块的200H。
;//********************************************************************
;PC0——DATA
;PC4——CLK
;PC5——CS_549

PA8255    EQU 200H        ;8255PA口地址
PB8255    EQU 201H        ;8255PB口地址

PC8255    EQU 202H        ;8255PC口地址
PCTL8255  EQU 203H        ;8255控制口地址
 
Z8279    EQU       239H
D8279    EQU       238H

LEDMOD   EQU       00   ;左边输入,八位显示外部译码八位显示
LEDFEQ   EQU       38H ;扫描频率

CODE    SEGMENT
ASSUME  CS:CODE,DS:code,SS:code
START:
        PUSH    CS
        POP     DS    
        
         MOV       DX,Z8279
         MOV       AL,LEDMOD
         OUT       DX,AL

         MOV       AL,LEDFEQ
         OUT       DX,AL

         MOV       CX,06H
XZ:      MOV       DX,D8279
         MOV       AL,00H
         OUT       DX,AL
         LOOP      XZ

         MOV       DX,D8279
         MOV       AL,5eH
         OUT       DX,AL
         MOV       DX,D8279
         MOV       AL,77H
         OUT       DX,AL           ;以上为写(AD)
         NOP
                               
        MOV     DX,PCTL8255
        MOV     AL,81H             ;设置8255,PA、PC4~5出,PC0入
        OUT     DX,AL

BEGINAD:
        MOV     DX,PCTL8255        
        MOV     AL,08H     ;PC4: CLK 置“0”
       	OUT     DX,AL
       	
        MOV     AL,0AH     ;PC5: CS置“0”
       	OUT     DX,AL       
 
        MOV     AL,0
        MOV     CX,8       ;分八次读一个字节

INPUT:  PUSH    AX 
        MOV     DX,PCTL8255 
        MOV     AL,09H     ;PC4: CLK 置“1”  
        OUT     DX,AL 
        NOP   
        
        MOV     DX,PC8255    ;
        IN      AL,DX
        RCR     AL,1
        POP     AX
        RCL     AL,1
        PUSH    AX
        MOV     DX,PCTL8255 
        MOV     AL,08H     ;PC4: CLK 置“0”
        OUT     DX,AL 
        POP     AX                
       	LOOP    INPUT
       	
        MOV     AH,AL
        MOV     DX,PCTL8255                	
        MOV     AL,0BH     ;PC5:  CS置“1”
       	OUT     DX,AL    
       	    	
DISPLAY:
         MOV       AL,AH
         and       al,0fh
         push      ax
         mov       dx,z8279
         mov       al,80h
         out       dx,al
         pop       ax
         LEA       BX,LED
         XLAT
         MOV       DX,D8279          ;将AL中内容写到数码管上
         OUT       DX,AL
         MOV       AL,AH
         mov       cl,4
         ror       al,cl
         and       al,0fh  
         push      ax
         mov       dx,z8279
         mov       al,81h
         out       dx,al
         pop       ax
         LEA       BX,LED
         XLAT
         MOV       DX,D8279          ;将AL中内容写到数码管上
         OUT       DX,AL                
         call      delay
         
         JMP       BEGINAD      ;重复


delay    proc      near
         push      cx
         mov       cx,05f00h
         loop      $
         pop       cx
         ret 
delay   endp


LED      DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H
         DB  7FH,6FH,77H,7CH,39H,5EH,79H,71H

        CODE    ENDS
END     START


⌨️ 快捷键说明

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