- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AD7710使用手册及程序
;最近学用AD7710,用AD7710数据手册中的程序,怎么也不好用,没想到AD这么大公司数据手册中的程序居然很多错误。在网上也没找到什么有价值的资料,无奈只好自己弄,用了好久终于解决,现在拿出来给大家参考。鄙视一下收集网上资料拿来卖的人。
;这个程序烧写后运行通过,如果实际应用还需优化,学习够用了。
;采用单电源0-5V输入,2.5V参考电压,2.5V偏置电压,软件上设置了单极输入,接线图为AD7710数据手册中单电源接线图,只是增加了1602显示,见程序中说明。
;读AD数据时,AD首先输出的是数据最高位,最后是数据最低位;同样在对AD内部寄存器进行写操作时,;;应首先写入最高位,最后写入最低位。AD7710内部有3个独立的24位寄存器,包括控制寄存器、数据寄存器和校正寄存器
;A0为寄存器选择,当A0=0 时,读写操作均为控制寄存器,当A=1时,读操作为数据寄存器,而写操作则
;为校正寄存器
;当1、2通道同时输入23.6MV时,1通道AD数158356,2通道AD数1267582(增益为8)。
;1602连线图:
; *DB0---P2.0* *DB4---P2.4* *RS-------------P3.7*
; *DB1---P2.1* *DB5---P2.5* *RW-------------P3.6*
; *DB2---P2.2* *DB6---P2.6* *E--------------P3.5* (参见说明书)
; *DB3---P2.3* *DB7---P2.7* *VLCD接10K可调电阻到GND*
;注:89S51的晶振频率为6MHz, AD7710的晶振频率为8MHz
;0010 0000 1011;通道 0 AIN1 ,增益为1,24位精度
;0110 0001 1010 ; FS11-FS0=061AH,每秒转换十次
;0010 1110 1011 ;通道 1 AIN2,增益为8,24位精度
;0110 0001 1010 ; FS11-FS0=061AH,每秒转换十次
;当1 2通道同时输入23.6MV时,1通道AD数158356,2通道AD数1267582(增益为8)。
;以下为完整程序
RSPIN EQU P3.7 ;1602LCD RSPIN
RWPIN EQU P3.6 ;1602LCD RWPIN
EPIN EQU P3.5 ;1602LCD EPIN
XPOS EQU 13H ;列方向地址指针(用于LCDPOS子程序)
YPOS EQU 14H ; USE 行方向地址指针(用于LCDPOS子程序)
LCDDATE EQU P2 ;1602LCD DB0-DB7
RFS EQU P1.0 ;Set P1.0, Used as RFS
TFS EQU P1.1 ;Set P1.1, Used as TFS
DRDY EQU P1.2
A0 EQU P1.3
ORG 0000H
lJMP MAIN1
MAIN1:MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
MOV SP,#65H
MOV IE, ;关闭所有中断响应,允许串行口产生中断请求
ACALL LCDRESET
MOV A,#1011100B; ¥
ACALL LCDFILL
ACALL DELAY5MS
ACALL DELAY5MS
ACALL DELAY5MS
ACALL DELAY5MS
MOV A,#20H ;初始化RAM, RAM 30H-3FH存放1602第一行内容,40H-4FH存放1602第二行内容
MOV R1,#32D
MOV R0,#30H
CLEAR1:MOV @R0,A
INC R0
DJNZ R1,CLEAR1
MAIN2:
MOV 28H,;通道 0 AIN1
MOV 29H,; 61ah
MOV 2AH,#1aH;
ACALL WR7710; 写AD7710子程序,28h(HIGH) ,29h(MED) ,2Ah(LOW)
ACALL RE7710; 读AD7710子程序,读出数据置 28h(HIGH) ,29h(MED) ,2Ah(LOW)
MOV R
文档评论(0)