adconv.asm

来自「Small RTOS51是为51系列单片机而编写的。它是完全免费的、源代码公开的」· 汇编 代码 · 共 48 行

ASM
48
字号
;**************************************************
;    平凡单片机工作室
;  http://www.mcustudio.com
;   (c) Copyright 2003 Pingfan's McuStudio
;    All rights Reserved
;adonve.asm
;作者:周坚   
;功能描述:根据平台模式写的串行A/D转换器AD0831的驱动程序
;**************************************************
;以下根据硬件连线更改
ADCS    BIT P1.0
ADCLK   BIT P1.1
ADDO    BIT P1.2

ADConv:
    CLR     ADCS        ;拉低/CS端
    NOP
    NOP
    SETB    ADCLK       ;拉高CLK端
    NOP
    NOP
    CLR     ADCLK       ;拉低CLK端,形成下降沿
    NOP
    NOP
    SETB    ADCLK       ;拉高CLK端
    NOP
    NOP
    CLR     ADCLK       ;拉低CLK端,形成第2个脉冲的下降沿
    NOP
    NOP
    MOV     R7,#8       ;准备送下后8个时钟脉冲
AD_1:
    MOV     C,ADDO      ;接收数据
    MOV     ACC.0,C
    RL      A           ;左移一次
    SETB    ADCLK
    NOP
    NOP
    CLR     ADCLK       ;形成一次时钟脉冲
    NOP
    NOP
    DJNZ    R7,AD_1     ;循环8次
    SETB    ADCS        ;拉高/CS端
    CLR     ADCLK       ;拉低CLK端
    SETB    ADDO        ;拉高数据端,回到初始状态
    RET
END

⌨️ 快捷键说明

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