最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

MCP3204 3208 测试程序

IT圈 admin 61浏览 0评论

2024年11月6日发(作者:圭语诗)

MCP3204/3208 测试程序

CS EQU P1.0 ; MCP3204/3208 CS脚

DIN EQU P1.1 ; MCP3204/3208 DIN脚

DOUT EQU P1.2 ; MCP3204/3208 DOUT脚

CLK EQU P1.3 ; MCP3204/3208 CLK脚

CHANNEL0 EQU 0C0H ; MCP3204/3208 第一个通道控制字

CHANNEL1 EQU 0C8H ; MCP3204/3208 第二个通道控制字

CHANNEL2 EQU 0D0H ; MCP3204/3208

CHANNEL3 EQU 0D8H ; MCP3204/3208

CHANNEL4 EQU 0E0H ; MCP3208

CHANNEL5 EQU 0E8H ; MCP3208

CHANNEL6 EQU 0F0H ; MCP3208

CHANNEL7 EQU 0F8H ; MCP3208

ORG 0000H

AJMP INIT

ORG 0100H

INIT: MOV A,#CHANNEL0 ;

MOV R0,#30H ;R0

ACALL READ ;

MOV A,#CHANNEL1 ;

MOV R0,#32H ;R0

ACALL READ ;

MOV A,#CHANNEL2 ;

MOV R0,#34H ;R0

ACALL READ ;

MOV A,#CHANNEL3 ;

MOV R0,#36H ;R0

ACALL READ ;

MOV A,#CHANNEL4 ;

MOV R0,#38H ;R0

ACALL READ ;

MOV A,#CHANNEL5 ;

MOV R0,#3AH ;R0

ACALL READ ;

第三个通道控制字

第四个通道控制字

第五个通道控制字

第六个通道控制字

第七个通道控制字

第八个通道控制字

通道一控制字送ACC

指向12位AD转换结果

读AD转换值

通道二控制字送ACC

指向12位AD转换结果

读AD转换值

通道三控制字送ACC

指向12位AD转换结果

读AD转换值

通道四控制字送ACC

指向12位AD转换结果

读AD转换值

通道五控制字送ACC

指向12位AD转换结果

读AD转换值

通道六控制字送ACC

指向12位AD转换结果

读AD转换值

MOV A,#CHANNEL6 ;通道七控制字送ACC

MOV R0,#3CH ;R0指向12位AD转换结果

ACALL READ ;读AD转换值

MOV A,#CHANNEL7 ;通道八控制字送ACC

MOV R0,#3EH ;R0指向12位AD转换结果

ACALL READ ;读AD转换值

SJMP $

READ: MOV R2,#5

SETB CS

CLR CS

READ1: RLC A ;

;

MOV DIN,C

CLR CLK

SETB CLK

DJNZ R2,READ1

CLR CLK

SETB CLK

CLR CLK

MOV C,DOUT ;

JC READER ;

MOV R2,#4

CLR A

READ2: SETB CLK ;

;

CLR CLK

MOV C,DOUT

RLC A

DJNZ R2,READ2

MOV @R0,A ; R0

INC R0 ; R0+1

MOV R2,#8

READ3: SETB CLK ;

;

CLR CLK

MOV C,DOUT

RLC A

DJNZ R2,READ3

MOV @R0,A ; R0

发送 5 Bits

分别为 /DIFF.D2.D1.D0

;上升沿输入

读 Null Bit

无 Null Bit 转出错

读 4 Bits

分别为 B11.B10.B9.B8

;下降沿输出

指向AD转换结果的高4位

读 8 Bits

分别为 B7.B6.B5.B4.B3.B2.B1.B0

指向AD转换结果的低8位

SETB CLK

SETB CS

CLR CS

CLR A

RET

READER: CLR A

DEC A

SETB CLK

SETB CS

RET

END

2024年11月6日发(作者:圭语诗)

MCP3204/3208 测试程序

CS EQU P1.0 ; MCP3204/3208 CS脚

DIN EQU P1.1 ; MCP3204/3208 DIN脚

DOUT EQU P1.2 ; MCP3204/3208 DOUT脚

CLK EQU P1.3 ; MCP3204/3208 CLK脚

CHANNEL0 EQU 0C0H ; MCP3204/3208 第一个通道控制字

CHANNEL1 EQU 0C8H ; MCP3204/3208 第二个通道控制字

CHANNEL2 EQU 0D0H ; MCP3204/3208

CHANNEL3 EQU 0D8H ; MCP3204/3208

CHANNEL4 EQU 0E0H ; MCP3208

CHANNEL5 EQU 0E8H ; MCP3208

CHANNEL6 EQU 0F0H ; MCP3208

CHANNEL7 EQU 0F8H ; MCP3208

ORG 0000H

AJMP INIT

ORG 0100H

INIT: MOV A,#CHANNEL0 ;

MOV R0,#30H ;R0

ACALL READ ;

MOV A,#CHANNEL1 ;

MOV R0,#32H ;R0

ACALL READ ;

MOV A,#CHANNEL2 ;

MOV R0,#34H ;R0

ACALL READ ;

MOV A,#CHANNEL3 ;

MOV R0,#36H ;R0

ACALL READ ;

MOV A,#CHANNEL4 ;

MOV R0,#38H ;R0

ACALL READ ;

MOV A,#CHANNEL5 ;

MOV R0,#3AH ;R0

ACALL READ ;

第三个通道控制字

第四个通道控制字

第五个通道控制字

第六个通道控制字

第七个通道控制字

第八个通道控制字

通道一控制字送ACC

指向12位AD转换结果

读AD转换值

通道二控制字送ACC

指向12位AD转换结果

读AD转换值

通道三控制字送ACC

指向12位AD转换结果

读AD转换值

通道四控制字送ACC

指向12位AD转换结果

读AD转换值

通道五控制字送ACC

指向12位AD转换结果

读AD转换值

通道六控制字送ACC

指向12位AD转换结果

读AD转换值

MOV A,#CHANNEL6 ;通道七控制字送ACC

MOV R0,#3CH ;R0指向12位AD转换结果

ACALL READ ;读AD转换值

MOV A,#CHANNEL7 ;通道八控制字送ACC

MOV R0,#3EH ;R0指向12位AD转换结果

ACALL READ ;读AD转换值

SJMP $

READ: MOV R2,#5

SETB CS

CLR CS

READ1: RLC A ;

;

MOV DIN,C

CLR CLK

SETB CLK

DJNZ R2,READ1

CLR CLK

SETB CLK

CLR CLK

MOV C,DOUT ;

JC READER ;

MOV R2,#4

CLR A

READ2: SETB CLK ;

;

CLR CLK

MOV C,DOUT

RLC A

DJNZ R2,READ2

MOV @R0,A ; R0

INC R0 ; R0+1

MOV R2,#8

READ3: SETB CLK ;

;

CLR CLK

MOV C,DOUT

RLC A

DJNZ R2,READ3

MOV @R0,A ; R0

发送 5 Bits

分别为 /DIFF.D2.D1.D0

;上升沿输入

读 Null Bit

无 Null Bit 转出错

读 4 Bits

分别为 B11.B10.B9.B8

;下降沿输出

指向AD转换结果的高4位

读 8 Bits

分别为 B7.B6.B5.B4.B3.B2.B1.B0

指向AD转换结果的低8位

SETB CLK

SETB CS

CLR CS

CLR A

RET

READER: CLR A

DEC A

SETB CLK

SETB CS

RET

END

发布评论

评论列表 (0)

  1. 暂无评论