导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→高手请进[Sandrawan]

 *第20210篇: 高手请进

  
21楼:Sandrawan 2004年3月19日11:50
 S0     电压为零,  那ADC转换
S0     电压为零,  那ADC转换后的二进制值是多少? 应该是0吧,但真确答案为什么是E?不懂装懂的家伙!
  
22楼:guest 2004年3月19日10:38
 能贴张照片出来吗??我能帮你搞定!!
能贴张照片出来吗??我能帮你搞定!!
联系我:playtime@tom.com
  
23楼:Sandrawan 2004年3月19日12:03
 [quote][b]以下是引用[i]Sa
以下是引用Sandrawan在2004-3-18 10:50:46的发言:
楼上各位都没有说清楚,请仔细看原理图,然后将按键的二进制码的计算过程写出来。
高手请进我现在正在做一方案,按键采用ADC输入,怎样计算模数转换之后的键值,我上传一张原理图,他计算的过程我不是很明白,请高手指点.
 
此主题相关图片如下:
按此在新窗口浏览图片


  
24楼:guest 2004年8月9日14:52
 帖二:ADC值计算过程
1)因为VCC作参考电压,打9折
   Vcc=VCC*0.9,   见上一帖,Vcc对应ADC的输出255

2)因为工艺原因,I/O焊点会引起0.75V的电压误差

3)你要抛开这些误差.在噪声允许一情况下,你给ADC的最大值不能超过这个值:
   即:  Vcc-  0.75V

   抛开这个误差后,你得到的编码空间是:0~255* ( Vcc  -  0.75V )/Vcc
   在区域上,你所拥有的区域(area) 是:  0~ ( Vcc  -  0.75V )/Vcc 

4)现将这个区域分成n份.考虑误差原因, 选择每个区域的中间
   第一份,  在0那个位置,因为没有负值,所以,占半份, 这是你看到的在S0下半是空白
   第n份,多留半份,这是在s6上方有一个红色的1/2块
   
   所以,加起来是n块. 
   每份是是面积百分数: A = ( Vcc  -  0.75V )/Vcc/n
   每块的分压为:   ( Vcc  -  0.75V )/n
   电压( Vcc  -  0.75V )/n在ADC的输出为:D=255*( Vcc  -  0.75V )/n/Vcc

   每块范围是:
   BLOCK               RANGE                                 ADC读数
     0                       0~A/2                                 0~D/2
     1                      A/2~3A/2                           D/2~3D/2
   ...


   每块的中间是:
   BLOCK               MIDDLE                          ADC读数
     0                       0                                     0
     1                      A                                      D
     2                      2A                                     2D 
   ...

4) 验算:
    n=7,VCC=3.3得D=27,A=10.6%
ADC的读数应该是:
key0:                0~13                  0~D/2
key1:              14~27                  2/D~3D/2
....


 

    

  
25楼:Sandrawan 2004年3月19日12:41
 嫁不出去的女孩
楼上的各位没有一个是真正回答正确的,希望有真本事的男人认真看图,计算出按键经ADC转换后的二进制码,请务必列出计算过程。
  
26楼:guest 2004年3月19日13:41
 实践出真知!
Sandrawan:
    看了一下你所贴的资料,资料上所说的是理想状态下的情况,每次按键所读的值因为ADC误差等多方面原因也应该不是同一个值,应该是一个范围的,比如S0资料上所说的是14(E),实际上读出来的可能是12,13,15甚至16,所以说你要判断每次读出来的值最接近那个键值,你就判断是什么键按下了!!这些都是要实践一下看看每个键读出来到底在什么范围,知道范围了就好判断了!!!如果还有不清楚的可以和我联系:
playtime@tom.com
  
27楼:Sandrawan 2004年3月19日16:11
 顶!
你说了半天,也没说清楚,就是在理想的状态下,按S0是怎么计算出来的,你能给我说清楚吗?
  
28楼:blueled 2004年3月20日12:02
 philps 的说明很详细
philps 的说明很详细,好好看看.
1.  存在0.75V的死区, 最大分压比 1-0.2525=0.7475
2. 六个键 六等分 0.7475/6 见右下表蓝字栏, 可得分压电阻
3.实际分压电阻有偏差, 实际分压比见红字栏, centen 是分压比,Hi-limit是临界比,
  所以S0 :0-E      S1:F-29;   S2:2A-44   ,键值在CENTEN附近,最大不超过HI-LIMIT!!!!
  
29楼:guest 2004年6月23日18:09
 [quote][b]以下是引用[i]bl
以下是引用blueled在2004-3-20 12:02:37的发言:
philps 的说明很详细philps 的说明很详细,好好看看.
 1.  存在0.75V的死区, 最大分压比 1-0.2525=0.7475
 2. 六个键 六等分 0.7475/6 见右下表蓝字栏, 可得分压电阻
 3.实际分压电阻有偏差, 实际分压比见红字栏, centen 是分压比,Hi-limit是临界比,
   所以S0 :0-E      S1:F-29;   S2:2A-44   ,键值在CENTEN附近,最大不超过HI-LIMIT!!!!


呵呵
聪明
楼主笨死
嫁我也不要~~~~~~~
:)
  
30楼:Sandrawan 2004年3月22日10:18
 谢谢各位,我只看中一位,不好意思
次问题到此结束
  
31楼:guest 2004年8月9日15:01
 HI
--  作者:Sandrawan
--  发布时间:2004-3-22 10:18:57
--  标题:谢谢各位,我只看中一位,不好意思
--  内容:次问题到此结束 


我帖了好多遍.原来是一个旧帖.....

  
32楼:guest 2004年3月22日10:46
 谁的说法对你最有益?该告诉大家嘛。
  
33楼:sunsky 2004年3月20日13:32
 你可以规定嘛!在程序里用if来判定范围,
你可以规定嘛!在程序里用if来判定范围,比如你说的,当检测到为0V时,你可以规定他为“E”
1V时为“D”
。。。。。
  
34楼:luckbug 2004年11月30日15:56
 你要看看ADC转换的精度
你看看MCU的ADC功能的精度,假如是10bits,那么2的10次方0x4FF对应参考电压(3.3V);

0x4FF   -->     0x3.3V
0x260   -->     0x1.96V     -->     key6
0x1B7   -->     0x1.59V     -->     key5
0x18A   -->     0x1.27V     -->     key4
0x127   -->     0x0.95V     -->     key3
0x0C4   -->     0x0.63V     -->     key2
0x064   -->     0x0.32V     -->     key1
0x000   -->     0x0.00V     -->     key0

设定的电压除参考电压乘精度值(1024)就是输出的ADC转换后的值(为16进制),

  
35楼:guest 2004年3月21日20:44
 嫁给我,是处女吗?
嫁给我,是处女吗?
  
36楼:guest 2004年3月21日21:56
 这都不懂,还搞什么设计?哈哈...[em
这都不懂,还搞什么设计?哈哈...
  
37楼:guest 2004年3月22日08:57
 她什么都不知道!不要给她说了
她什么都不知道!不要给她说了
  
38楼:guest 2004年3月22日15:32
 各位:不要理他了,这厮是个片子,什么都不
各位:不要理他了,这厮是个片子,什么都不懂!
  
39楼:guest 2004年3月22日15:38
 哪有这样开玩笑的,看到他,我抽这娘们!
哪有这样开玩笑的,看到他,我抽这娘们!
  
40楼:guest 2004年3月31日17:25
 可恶!抽他!给他变性。
可恶!抽他!给他变性。

>>>>>>对该主题发表你的看法

本主题贴数45,分页: [第1页] [第2页] [第3页]


[上一篇主题]:诸位:请推进一款ARM的开发板

[下一篇主题]:我使用的是5000系列的dsp,怎样做以太网?