EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机AD转换后的值
$ T) R# `' x l' Y+ E5 N7 P2 S3 t0 w# p/ ~9 n& t2 l+ n7 D
) q: w: e" W1 m1 j用TL549 AD芯片来处理。它是8位的芯片。
* z0 d% E. j, @" x5 Huint ad_549() //TLC549处理) m! V b1 ~- i
{
( n" Z' {- t/ z+ h6 ?* m/ z5 Y uchar i;
6 f7 N, B5 Q( k5 B5 y$ d' h uint data_ad = 0;
/ N4 n7 O3 b( L$ K3 \+ k cs = 1; //初始化,启动
8 S2 h5 o% q# i' O sclk = 0;
! T5 @ U2 b3 y B. J' n2 t( t$ @# j cs = 0;
+ s+ c: i4 N4 m5 v0 P _nop_();
2 V. [" y W; _2 Z for(i = 0;i < 8;i++) //读取采集数据,读取的是上一次采集数据' Q: v* f/ A, M3 B4 L7 o) ^' s
{
$ C4 Y3 B, |" X: A: H, z0 F sclk = 1; , M a2 @# E! U. C6 e& j
3 E2 A3 H8 I6 X& K/ q% \3 ~# I8 s if(data_temp)data_ad |= 0x01;2 o: S6 U. ~ Z, k+ _
sclk = 0;
3 Q: u u$ `5 f1 U# @8 ~ data_ad = data_ad << 1;
# V; j+ U3 M+ G* _ } $ V/ ]+ x9 T! e: |2 U$ x v" K1 u
cs = 1;* _* f1 ^/ ^0 D; Q6 O
data_ad = data_ad * (500/ 256);
1 v. T4 C8 z+ N7 Y return(data_ad); 5 J ]9 _" ]( O9 Z7 X8 U2 V& B+ d
}
5 E6 b/ }1 t% Z) ^# ~* |, x. B F; S2 w# {& c9 H
+ g# h5 U6 y2 N
为什么转换后的值要 * (500/ 256),这部分该怎么理解? 谁能说下+ i* l2 Q6 C0 c& @/ p% c
|