在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 6648|回复: 2

[求]8032单片机 ILC7135 AD芯片 的A/D程序

[复制链接]
发表于 2005-4-17 15:16:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
老师要求编一个用8032单片机 ILC7135 AD芯片 的A/D程序,凭我的能力真是撞破头都遍不出来啊,有没有高手会的,能不能给我个程序学习学习啊,只要单路采集就可以了。不胜感激!colin1983@163.com
发表于 2005-4-17 21:51:15 | 显示全部楼层

[求]8032单片机 ILC7135 AD芯片 的A/D程序

次程序已经应用中!!!
CPU是LPC932,51兼容的
;*******************************
;;;AD7714模数转换子程序
;;;转换结果存入40H:低字节;41H:中字节;42H:高字节
;*******************************
     DRDY BIT   P0.2
     DOUT BIT   P0.3
     DIN  BIT   P0.4
     SCLK BIT   P0.5
     ORG  0000H
     AJMP ADZH
     ORG  0080H
ADZH:
     MOV  P0M1,#00H
     MOV  P0M2,#00H
     MOV  R7,#08H  ;32个复位序列复位接口
RESET:
     CLR  SCLK
     NOP
     SETB DIN
     NOP
     SETB SCLK
     DJNZ R7,RESET
     MOV  A,#00100101B   ;写通信寄存器,并选择通道:101,全差分模式
     LCALL WRITE8        ;将下一操作设为写滤波器高寄存器
     MOV  A,#11100001B   ;设置滤波器高寄存器:24位数据、单极性
     LCALL WRITE8
     MOV  A,#00110101B   ;写通信寄存器,并选择通道:101,全差分模式
     LCALL WRITE8        ;将下一操作设为写滤波器低寄存器
     MOV  A,#10000000B   ;设置滤波器低寄存器:第一个凹口频率为50HZ,增益8
     LCALL WRITE8
     MOV  A,#00010101B   ;写通信寄存器,并选择通道:101,全差分模式
     LCALL WRITE8        ;将下一操作设为写模式寄存器
     MOV  A,#00100000B   ;模式寄存器自校准,增益8,禁止滤波器同步
     LCALL WRITE8        ;清除滤波器同步;启动对101通道的自校准
     JB   DRDY,$         ;等待自校准
     MOV  A,#01011101B   ;写通信寄存器,设置下一次操作为读数据寄存器,并选择通道:101
     LCALL WRITE8
     JB   DRDY,$         ;等待数据转换结束
     LCALL READ24        ;此时读24位数据存入40H:高字节;41H;42H:低字节
     MOV  53H,#00H       ;读10次A/D转换结果累加取平均
     MOV  52H,#00H
     MOV  51H,#00H
     MOV  50H,#00H
     mov  54h,#0AH
     MOV  55H,#0AH
AADD:
     JB   DRDY,$
     MOV  A,#01011101B   ;写通信寄存器,下一次操作为读数据寄存器
     LCALL WRITE8
     LCALL READ24        ;读24位数据存入40H:最高字节,41H,42H:最低字节
     MOV  A,50H          ;
     ADD  A,42H
     MOV  50H,A          ;最低字节累加暂存50H
     MOV  A,51H
     ADDC A,41H
     MOV  51H,A
     MOV  A,52H
     ADDC A,40H
     MOV  52H,A          ;最高字节累加暂存52H
     MOV  A,53H          ;累加进位暂存53H
     ADDC A,#00H
     MOV  53H,A
     DJNZ 55H,AADD
     MOV  R0,50H          ;R0:被除数最低字节
     MOV  R1,51H          ;R1:被除数低字节
     MOV  R2,52H          ;R2:被除数高字节
     MOV  R3,53H
     MOV  R4,54H          ;R4:54H用于除数存放
     MOV 20H, #00H
     MOV 21H, #00H
     MOV 22H, #00H
     MOV R7, #18H
     ACALL CHU6
     MOV  40H,20H      ;转换数据低字节
     MOV  41H,21H      ;
     MOV  42H,22H      ;转换数据高字节
     SJMP $
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; 写AD7714 一字节子程序;;;;;;;;;;;;;;;;;;;
;;;;;; 入口A
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRITE8:
     MOV  R7,#08H
XHH:
     RLC  A
     CLR  SCLK
     NOP
     MOV  DIN,C
     NOP
     SETB SCLK
     DJNZ R7,XHH
     RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;读24位AD7714转换数据存入40H,41H,42H中子程序
;;;;;;出口:40H:高字节,41H:中字节,42H:低字节
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
READ24:
     MOV  R7,#08H
YH:
     CLR  SCLK
     NOP
     MOV  C,DOUT
     NOP
     SETB SCLK
     RLC  A
     DJNZ R7,YH
     MOV  40H,A
     MOV  R7,#08H
YHH:
     CLR  SCLK
     NOP
     MOV  C,DOUT
     NOP
     SETB SCLK
     RLC  A
     DJNZ R7,YHH
     MOV  41H,A
     MOV  R7,#08H
YHHH:
     CLR  SCLK
     NOP
     MOV  C,DOUT
     NOP
     SETB SCLK
     RLC  A
     DJNZ R7,YHHH
     MOV  42H,A
     RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Name: CHU6
;Func: 三字节除单字节商为三字节除法了程序
;Input: 被除数放在R0R1R2中, 除数放在R4中,R3存放被除数扩充位,也是余数存放数
;        R0:被除数最低位,R2是被除数最高位
;OutPut:商数放在内部RAM20H-22H单元中,其中20H单元放最低位
;Use:
;;;;;;三字节除单字节除法子程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CHU6:
   MOV A, R0
   ADD A, R0 ; 被除数左移,包括扩充位
   MOV R0, A
   MOV A, R1
   ADDC A, R1
   MOV R1, A
   MOV A, R2
   ADDC A, R2
   MOV R2, A
   MOV A, R3
   ADDC A, R3
   MOV R3, A
   MOV A, 20H; 商数左移
   RLC A
   MOV 20H, A
   MOV A, 21H
   RLC A
   MOV 21H, A
   MOV A, 22H
   RLC A
   MOV 22H, A
   MOV A, R3
   SUBB A, R4
   JC  LOOP
   MOV R3, A     ;建立余数
   INC 20H
LOOP:
   DJNZ R7, CHU6
   RET
   END
 楼主| 发表于 2005-4-18 19:31:26 | 显示全部楼层

[求]8032单片机 ILC7135 AD芯片 的A/D程序

收到,谢谢
先看看,研究学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-19 01:53 , Processed in 0.030660 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表