添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符A型号页 > 首字符A的型号第334页 > AD8303 > AD8303 PDF资料 > AD8303 PDF资料1第14页
AD8303
;AD8303.ASM
;
;该子程序中加载一个AD8303移位寄存器具有12位的
;
DAC值,并将该值传送到DAC A或DAC B.
;
DAC的值被存储在位置的DAC - VAL1 ( MSB),而DAC_VAL0 ( LSB)的
;
该DAC地址( A或B)存储在DAC_ADDR , ( B0 = 0 A,B1 = 0为B)
;
;主要控制
$MOD51
$ TITLE ( AD8303的接口,在模式0使用串行端口)
;
;变量声明
;
PORT1
数据
90H
; SFR寄存器端口1
DAC_VAL0
数据
40H
; 12位DAC值的LSB
DAC_VAL1
数据
41H
; DAC值的最高位
DAC_ADDR
数据
42H
; DAC地址,格式为:
; 1,1,1,1,1,1 ,六味地黄丸, LDA
;设置位低,选择DAC
LOOPCOUNT
数据
43H
;循环计数的字节交换
SHIFTREG
数据
44H
;移位寄存器。字节交换
SENDBYTE
数据
45H
;目标寄存器。对于SR
;
ORG
100H
;任意的起始地址
DO_8303 :
CLR
SCON.7
;设置串行
CLR
SCON.6
;数据模式0
CLR
SCON.5
; CLR SM2为模式0
CLR
SCON.1
; CLR发送标志
MOV
SHIFTREG,DAC_VAL1
;获取最高有效字节
ACALL
SEND_IT
;发送到AD8303
MOV
SHIFTREG,DAC_VAL0
;获取最低有效字节
ACALL
SEND_IT
;将其发送给AD8303
MOV
A,PORT1
;获取I / O端口的内容
ANL
A, DAC_ADDR
; CLR LDA /六味地黄丸,其他位不变
MOV
PORT1,A
;发送到I / O端口
ORL
A,#00000011B
;设置LDA和LDB高
MOV
PORT1,A
;发送到I / O端口
RET
;做
;
;转换的字节LSB优先格式,并将其发送到AD8303
SEND_IT :
MOV
LOOPCOUNT,#8
;移8位
BYTESWAP :
MOV
A, SHIFTREG
;获取源代码的字节
RLC
A
;旋转MSB进行
MOV
SHIFTREG ,A
;保存新的源字节
MOV
A, SENDBYTE
;获得目标字节
RRC
A
;将延续到MSB
MOV
SENDBYTE ,A
;保存
DJNZ
LOOPCOUNT , BYTESWAP
;完成?
MOV
SBUF , SENDBYTE
;发送字节
SEND_WAIT : JNB
SCON.1,SEND_WAIT
;等到8位送
CLR
SCON.1
;清除串行标志
RET
;做
结束
图35.软件上市的AD8303-80CL51接口
–14–
第0版

深圳市碧威特网络技术有限公司