SH79F166 AD用法问题

[复制链接]
2150|13
 楼主| wangpe 发表于 2012-7-3 22:42 | 显示全部楼层 |阅读模式
手册里ADDL  和  ADDH  中分别存放的AD 数据,

需要移位操作吧,把2个寄存器合并之后,再转化成10进制数据吧?
 楼主| wangpe 发表于 2012-7-3 22:44 | 显示全部楼层
uchar adh,adl;
uint advalue;

adl=ADDL;                       //读取低8位转换数据              
adh=ADDH;                       //读取高2位转换数据
advalue=(adh&0x03)*256+adl;     //将高低位数据进行合并


这样用对吧?


如果不用中断,应该怎样读取标志位来判断是否转换完成?
langgq 发表于 2012-7-3 22:55 | 显示全部楼层
advalue=(adh<<2)+adl
zhuww 发表于 2012-7-3 22:57 | 显示全部楼层
http://www.sinowealth.com/zh/sof ... =8BIT%20FLASH%20MCU
有一个adc例程,你可以看一下
 楼主| wangpe 发表于 2012-7-3 22:59 | 显示全部楼层
不知道 sh79f166提供查询模式么?不想用中断模式
zhanglli 发表于 2012-7-3 23:02 | 显示全部楼层
查询模式就是 不把中断打开,照样进行转换,启动转换后,不停查询ADCIF是否变成1,变成1则表示转换完成。
lium 发表于 2012-7-3 23:05 | 显示全部楼层
楼上说得对,读取AD DATA后,请将ADCIF清0,再次开始转换。
 楼主| wangpe 发表于 2012-7-3 23:06 | 显示全部楼层
GO/DONE   AD状态标志位, 在查询状态 是否有用?
 楼主| wangpe 发表于 2012-7-3 23:09 | 显示全部楼层
比如我什么时候用到  GO/DONE   AD状态标志位
还有,ADCIF  和 GO/DONE  应该怎么理解这2个的区别和相同的地方
lium 发表于 2012-7-3 23:11 | 显示全部楼层
可以说,他们对于AD转换结束,产生的效果是一样的。
 楼主| wangpe 发表于 2012-7-3 23:14 | 显示全部楼层
谢谢,可否详细说说 2者的 区别和相同  的地方,我想弄得更明白一些,谢谢了
lium 发表于 2012-7-3 23:15 | 显示全部楼层
他们只是两个不同的标志位而已。
GO/DONE表示ADC开始与结束,如果写1,则转换开始,如果被清0,则转换结束在结束的同时,ADCIF置1,如果同时中断允许打开,则会同时产生中断。
ADCIF表示中断请求,置1表示中断请求已经有了,这个是中断系统的。
 楼主| wangpe 发表于 2012-7-3 23:17 | 显示全部楼层
哦,明白了
sunzp0229 发表于 2012-7-24 16:17 | 显示全部楼层
4# zhuww
想看看例程,怎么链接打不开啊:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

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