有关ATD的问题

[复制链接]
2074|1
 楼主| hlhfootbal 发表于 2007-7-29 10:25 | 显示全部楼层 |阅读模式
void&nbsp;main(void)&nbsp;{&nbsp;<br />unsigned&nbsp;char&nbsp;number;<br />char&nbsp;AD_value;<br /><br />Mark=0;<br />Content=0;//这两位是串口显示函数里的标志位<br />SCI0Init();<br /><br />ATD0CTL2=0xC0;<br />ATD0CTL3=0x08;<br />ATD0CTL4=0x07;<br />ATD0CTL5=0xB0;<br />ATD0DIEN=0x00;<br /><br />EnableInterrupts;<br />&nbsp;&nbsp;<br />DDRB=0XFF;<br />while(1){<br />&nbsp;&nbsp;while(!(ATD0STAT1&nbsp;&&nbsp;0x01));&nbsp;&nbsp;&nbsp;//等待转换结束<br />&nbsp;&nbsp;AD_value=ATD0DR0;//读取转换结果<br />&nbsp;&nbsp;PORTB_BIT3=!PORTB_BIT3;<br />&nbsp;&nbsp;delay_ms(10);<br />&nbsp;&nbsp;WritedataToSCI0(100.3456,4);<br />&nbsp;&nbsp;WritestrToSCI0(&quot;
&quot;);<br />&nbsp;&nbsp;WritedataToSCI0(AD_value*0.0037,6);<br />&nbsp;&nbsp;WritestrToSCI0(&quot;
“)<br />}<br />参考电压是3.84V。因为串口能正常显示100.3456,所以我认为串口显示函数没有问题。但是串口显示的AD值不正常,比如给测的是在参考电压范围之内的电压值,但是它显示的是负值,而且值也不对。请各位路过的大虾指点指点。
张明峰 发表于 2007-8-3 22:34 | 显示全部楼层

变量定义

char&nbsp;AD_value&nbsp;为符号数。AD结果可能大于0x80,对于此变量来讲就是负数了。<br /><br />用&nbsp;unsigned&nbsp;char
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

417

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部