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

📄 20_1446.asm

📁 可作为接口实验的参考教材
💻 ASM
字号:
;//*******************************************************************
;文件名: DA1446  FOR  8088
;功能: 输出正弦波
;接线: 对应连接串行数模转换模块的DIN、CLK、CS_1446到8255模块的PC0、PC1、PC2
;      8255模块的CS_8255连CPU模块的200H。
;//********************************************************************
;PC0——DIN
;PC1——CLK
;PC2——CS_1446

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

PC8255    EQU 202H        ;8255PC口地址
PCTL8255  EQU 203H        ;8255控制口地址

CODE    SEGMENT
ASSUME  CS:CODE,DS:code,SS:code
START:
        PUSH    CS
        POP     DS                           
        MOV     DX,PCTL8255
        MOV     AL,80H     ;设置8255 为输出
        OUT     DX,AL
        CLD
DA1446:   
        MOV     SI,OFFSET SINE_DATA        
        MOV     CX, 361
BEGIN: 
        PUSH    CX
        LODSB
        MOV     AH,AL
        MOV     AL,0
        CALL    STARTOUT
        CALL    OUT12BIT     ;通道1
        MOV     AX,0
        CALL    OUT12BIT     ;通道2
        CALL    ENDOUT
        POP     CX
        LOOP    BEGIN
        JMP     DA1446



STARTOUT:
        PUSH    AX
        MOV     AL,05H     ;PC2: CS置“1”
        OUT     DX,AL
        MOV     AL,02H     ;PC1: CLK置“0”
        OUT     DX,AL        
        MOV     AL,04H     ;PC2: CS置“0”
        OUT     DX,AL 
        POP     AX
        RET
        
OUT12BIT:
        PUSH    CX
        MOV     CX,12      ;12BIT
TOOUT:
        RCL     AX,1
        PUSH    AX
        JC      OUTBIT1
OUTBIT0:        
        MOV     AL,00H     ;PC0: DIN置“0”
        OUT     DX,AL 
        JMP     OUTCLK
OUTBIT1:
        MOV     AL,01H     ;PC0: DIN置“1”
        OUT     DX,AL              
OUTCLK:        
        MOV     AL,02H     ;PC1: CLK置“0”
        OUT     DX,AL         
        MOV     AL,03H     ;PC1: CLK置“1”
        OUT     DX,AL 
        POP     AX        
        LOOP    TOOUT  
        POP     CX      
        RET
        
ENDOUT:
        MOV     AL,05H     ;PC2: CS置“1”
        OUT     DX,AL
        RET
        
;******************************
;正弦波数据表,8位DAC的数据
;******************************
SINE_DATA:
        DB 128,130,132,135,137,139,141,144,146,148
        DB 150,152,155,157,159,161,163,165,168,170
        DB 172,174,176,178,180,182,184,186,188,190
        DB 192,194,196,198,200,201,203,205,207,209
        DB 210,212,214,215,217,219,220,222,223,225
        DB 226,227,229,230,232,233,234,235,237,238
        DB 239,240,241,242,243,244,245,246,247,247
        DB 248,249,250,250,251,252,252,253,253,254
        DB 254,254,255,255,255,255,255,255,255,255
        DB 255,255,255,255,255,255,255,255,255,254
        DB 254,254,253,253,252,252,251,250,250,249
        DB 248,247,247,246,245,244,243,242,241,240
        DB 239,238,237,235,234,233,232,230,229,227
        DB 226,225,223,222,220,219,217,215,214,212
        DB 210,209,207,205,203,201,200,198,196,194
        DB 192,190,188,186,184,182,180,178,176,174
        DB 172,170,168,165,163,161,159,157,155,152
        DB 150,148,146,144,141,139,137,135,132,130
        DB 128,126,124,121,119,117,115,112,110,108
        DB 106,104,101,99,97,95,93,91,88,86
        DB 84,82,80,78,76,74,72,70,68,66
        DB 64,62,60,58,56,55,53,51,49,47
        DB 46,44,42,41,39,37,36,34,33,31
        DB 30,29,27,26,24,23,22,21,19,18
        DB 17,16,15,14,13,12,11,10,9,9
        DB 8,7,6,6,5,4,4,3,3,2
        DB 2,2,1,1,1,0,0,0,0,0
        DB 0,0,0,0,0,0,1,1,1,2
        DB 2,2,3,3,4,4,5,6,6,7
        DB 8,9,9,10,11,12,13,14,15,16
        DB 17,18,19,21,22,23,24,26,27,29
        DB 30,31,33,34,36,37,39,41,42,44
        DB 46,47,49,51,53,55,56,58,60,62
        DB 64,66,68,70,72,74,76,78,80,82
        DB 84,86,88,91,93,95,97,99,101,104
        DB 106,108,110,112,115,117,119,121,124,126
        DB 128

        CODE    ENDS
END     START

⌨️ 快捷键说明

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