搜索
bottom↓
回复: 25

刚刚写PIC不久出现了一个问题想不通

[复制链接]

出0入0汤圆

发表于 2009-12-13 18:43:09 | 显示全部楼层 |阅读模式
刚刚学到ADC 部分了,PIC 有8个AD

请问一下怎么样 开八个AD

我只能一次开一个

那位大虾有程序麻烦给我 参开下
谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-12-13 18:56:21 | 显示全部楼层
8路
任意时刻只能转换1路

出0入0汤圆

发表于 2009-12-13 19:38:23 | 显示全部楼层
PIC有8个AD通道,但是之后一个AD,因此任何一个时刻只能转换一路AD信号。

出0入0汤圆

发表于 2009-12-13 19:48:47 | 显示全部楼层
确实很低级,呵呵!
其实单片机只有一个ADC,但是这个ADC接了几个通道,你可以在程序里面自己选择哪个通道接到ADC。
给你一个汇编程序:
        ;AD转换器
        BCF CHS3
        BCF CHS2
        BCF CHS1
        BSF CHS0        ;首先切换到an1
        CALL adelay     ;延时,等待所需的采集时间
        BSF GO
waitad
        BTFSC GO
        GOTO waitad
        BSF RP0         ;BANK 1
        MOVF ADRESL,W
        BCF RP0         ;BANK 0
        MOVWF logl
        MOVF ADRESH,W
        MOVWF logh

出0入0汤圆

 楼主| 发表于 2009-12-14 11:41:53 | 显示全部楼层
有 C语言程序没有啊

我没有学过汇编

出0入0汤圆

发表于 2009-12-15 08:23:56 | 显示全部楼层
其实你认真看一下datasheet,里面都有的

出0入0汤圆

发表于 2009-12-16 21:34:33 | 显示全部楼层
没有学过汇编?那可就难了>

出0入0汤圆

发表于 2009-12-16 22:18:26 | 显示全部楼层
拿到新东西,首先看datasheet

有ADC 通道选择寄存器。

出0入0汤圆

发表于 2009-12-19 01:27:21 | 显示全部楼层
自己去下些视频教程,这样会学得快些...

出0入0汤圆

发表于 2009-12-21 20:13:41 | 显示全部楼层
鄙视问这种问题 ,  一开始什么资料都不看, 有资料也不看,  就跑到这里来问!  数据手册上有程序也不看看

出0入0汤圆

发表于 2009-12-21 20:29:10 | 显示全部楼层
请楼上的这位兄弟不要使用这种口气,谁不是从菜鸟阶段爬过来的,即使是个老手也有疏忽最基础东西的时候。一个芯片的手册也许内容不多,假如你脑袋你装上1000种芯片的数据手册你还能分得清每个芯片的具体参数吗?所以请以平常的心态积极的态度去帮助疏忽大意的人,假如你十分不喜欢帮助别人那么请你闭嘴。

出0入0汤圆

发表于 2009-12-21 20:58:08 | 显示全部楼层
微芯的这种例程装了c编译器就带

出0入0汤圆

发表于 2011-11-8 15:39:45 | 显示全部楼层
各位大哥,ADC部份怎樣編寫讀取轉換數值10次再取個平均值程序?C源代碼的。謝謝!

出0入0汤圆

发表于 2011-11-16 12:40:41 | 显示全部楼层
老大那是8路!!哪有8个~~别混淆了·~

出0入0汤圆

发表于 2011-11-22 10:10:02 | 显示全部楼层
呵呵,9楼被鄙视了。
我觉得在问问题前可以先搜搜看看,我们遇到的很多问题前人已经有问过了,找不到答案再问也是一种美德,哈哈。。

出0入0汤圆

发表于 2011-12-8 10:49:24 | 显示全部楼层
看下逻辑图比较直观

出0入0汤圆

发表于 2011-12-10 17:22:35 | 显示全部楼层
对,看逻辑比较好

出0入0汤圆

发表于 2011-12-16 11:43:58 | 显示全部楼层
八路和八嘎是不一样的。

出0入0汤圆

发表于 2011-12-30 18:24:14 | 显示全部楼层
回复【9楼】halin88  
-----------------------------------------------------------------------
人家是初学者,万事起头难,包容一下嘛!!
片内一搬只有1个ADC模块,只是有多个输入通道而已,同一时刻只能有一个通道选通,通过寄存器来配置。

出0入0汤圆

发表于 2012-2-1 10:27:28 | 显示全部楼层
片内有一个AD转换器,一个时间段只能转换一个通道输入的模拟信号(就好像一个拨码开关一样)。下面是16F452的一段程序代码。
  ADON=0;
  ADCON0=0x41;                                                             //选择A/D通道为RA0,打开A/D转换器0100,0001   
  ADCON1=0X8E;                                                             //转换结果右移,及ADRESH寄存器的高6位为"0"                         
  delayms(5);
  ADIF=0;
  GODONE=1;  
  while(GODONE){;}              
  dy_cj.adre[0]=ADRESL;
  dy_cj.adre[1]=ADRESH;

出0入0汤圆

发表于 2012-5-4 22:09:21 | 显示全部楼层
halin88 发表于 2009-12-21 20:13
鄙视问这种问题 ,  一开始什么资料都不看, 有资料也不看,  就跑到这里来问!  数据手册上有程序也不看看 ...

严重同意,如果自己不能潜心钻研,别人再怎么指点也没什么用!

出0入0汤圆

发表于 2012-5-7 09:28:11 | 显示全部楼层
portx 发表于 2009-12-21 20:29
请楼上的这位兄弟不要使用这种口气,谁不是从菜鸟阶段爬过来的,即使是个老手也有疏忽最基础东西的时候。一 ...

传说中的大好人啊

出0入0汤圆

发表于 2012-5-7 16:07:53 | 显示全部楼层
portx 发表于 2009-12-21 20:29
请楼上的这位兄弟不要使用这种口气,谁不是从菜鸟阶段爬过来的,即使是个老手也有疏忽最基础东西的时候。一 ...

GOODMAN OHOH

出0入0汤圆

发表于 2012-5-7 16:37:32 | 显示全部楼层
pangzi0801 发表于 2011-11-8 15:39
各位大哥,ADC部份怎樣編寫讀取轉換數值10次再取個平均值程序?C源代碼的。謝謝! ...

都知道原理了何不自己写写看

出0入0汤圆

发表于 2012-5-12 16:17:31 | 显示全部楼层
写个子函数,专门用来切换通道就ok了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-11 22:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表