在学习AVR单片机模数转换的时候遇到问题,多通道采集的时候总是采集不到连续的电压值,求高手帮忙发一段
帮忙发一段8通道轮询采集电压的示例程序,如果可以的话,帮忙按下列要求编写,小弟愿将所有的分值赠送,现在用的单片机是ATmega16,外部晶振为8M:1、定时8小时,8小时...
帮忙发一段8通道轮询采集电压的示例程序,如果可以的话,帮忙按下列要求编写,小弟愿将所有的分值赠送,现在用的单片机是ATmega16,外部晶振为8M:
1、定时8小时,8小时以后闭合portC端口的所有继电器,
2、闭合所有继电器后分别采集每个ADC通道的数值,然后与一个常数相比较(如电压低于1V)当某个通道的电压值小于该常数时断开与当前通道号相同的portC端口的继电器,并记录每个通道从闭合继电器到断开继电器用去的时间,将每个通道用去的时间设定为一个数组,
3、将整个过程中包括定时的8小时及在闭合到断开继电器之间采集到的8个通道的电压数据、每个通道从闭合继电器到断开继电器用去的时间在接受到主机端的请求信号后发送给上位机,最好能用MODBUS协议用ASCII码的格式传送给上位机;
小弟先谢谢各位了,百度最大只能悬赏100财富值,等完成后我再额外附送100财富值,感谢大侠的帮忙。。。。。
采集0-5V的直流电压值,采集到的电压值不需要保存,上位机每3秒发送一段采集信号过来,如果单片机接收到的话就将采集到的数据发送过去,如果没收到上位机的采集信号,就只是比较每个通道采集到的数据是否小于常数1V,如果小于该常数时断开与当前通道号相同的portC端口的继电器,并记录每个通道从闭合继电器到断开继电器用去的时间,将每个通道用去的时间设定为一个数组保存起来(就是说需要保存的只有这8个通道从闭合到断开的时间,其余不需要保存),先谢谢了,小弟这还有300多财富值,到时候全部奉上感谢大哥的帮助,,,感谢感谢.... 展开
1、定时8小时,8小时以后闭合portC端口的所有继电器,
2、闭合所有继电器后分别采集每个ADC通道的数值,然后与一个常数相比较(如电压低于1V)当某个通道的电压值小于该常数时断开与当前通道号相同的portC端口的继电器,并记录每个通道从闭合继电器到断开继电器用去的时间,将每个通道用去的时间设定为一个数组,
3、将整个过程中包括定时的8小时及在闭合到断开继电器之间采集到的8个通道的电压数据、每个通道从闭合继电器到断开继电器用去的时间在接受到主机端的请求信号后发送给上位机,最好能用MODBUS协议用ASCII码的格式传送给上位机;
小弟先谢谢各位了,百度最大只能悬赏100财富值,等完成后我再额外附送100财富值,感谢大侠的帮忙。。。。。
采集0-5V的直流电压值,采集到的电压值不需要保存,上位机每3秒发送一段采集信号过来,如果单片机接收到的话就将采集到的数据发送过去,如果没收到上位机的采集信号,就只是比较每个通道采集到的数据是否小于常数1V,如果小于该常数时断开与当前通道号相同的portC端口的继电器,并记录每个通道从闭合继电器到断开继电器用去的时间,将每个通道用去的时间设定为一个数组保存起来(就是说需要保存的只有这8个通道从闭合到断开的时间,其余不需要保存),先谢谢了,小弟这还有300多财富值,到时候全部奉上感谢大哥的帮助,,,感谢感谢.... 展开
展开全部
这工作量未免太大了。
再则,采集的是直流信号还容易一些,如果采集的是交流电信号,还得做很多处理,计算出有效值来。
定时的8个小时内,还采集数据?这么大的数据量ATMEGA16好像保存不下吧?
再则,采集的是直流信号还容易一些,如果采集的是交流电信号,还得做很多处理,计算出有效值来。
定时的8个小时内,还采集数据?这么大的数据量ATMEGA16好像保存不下吧?
更多追问追答
追问
采集0-5V的直流电压值,需要保存的只有这8个通道从闭合到断开的时间,其余不需要保存),先谢谢了,小弟这还有300多财富值,到时候全部奉上感谢大哥的帮助,,,感谢感谢....
追答
我也帮不上你啥忙,只是帮你理理思路。
我刚学AVR,以前一直在玩51。
定时8小时,好像定时器很难达到,记录时间也不容易实现。这两个难题,好像只能依赖增加类似DS1302的时钟芯片实现了。
AD采集与判断,端口继电器吸合与释放,这些应该非常容易实现。
单片机与PC通信,看过不少例子,我还没做过。
帮助别人是目的,不图别的。财富值你就留着给别人吧。我自己有23000多呢,没地方花销。
展开全部
avr单片机的多路采集不是并行的。就我自己做的项目,只能多路时分复用,交换采集。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AVR单片机的特点 1、速度快 AVR单片机在单一时钟周期内执行功能强大的指令,每MHz可实现阶段MIPS的处理能力,是具有最高MIPS/mW能力的确良8位单片机。 AVR单片机采用了大型快速存取寄存器文件和快速单周期指令。其快速存取RISC寄存器文件由32个通用工作寄存器组成。AVR用32个通用寄存器代替累加器,避免了传统的累加器与存储器之间的数据传送,可在一个时钟周期内执行一条指令来访问两个独立的寄存器,代码效率比常规CISC微控制器快十倍。AVR单片机是用一个时钟周期执行一条指令的,即在执行前一条指令时就取出下一条指令,然后以一个周期执行指令(与DSP类似),是8位单片机中第一种真的RISC单片机。 2、性能价格比高 AVR单片机中既有引脚少的器件(8脚),也有存储容量较大、引脚较多的器件,给用户以充分的选择佘地。 AVR单片机采用Harvard结构,程序存储器和数据存储器是分开的,可以直接访问8M字节程序存储器和8M的数据存储器。 AVR单片机片内资源丰富。包括:1K-128K字节可下载的Flash存储器、64-4K字节EEPROM、128-4K字节RAM、5-32条通用的I/O线,32个通用工作寄存器、摸拟比较器、定时器/计数、可编程异步串行口、内部及外部中断、带内部晶振的可编程看门狗定时器、为下载程序而设计的SPI串行口、10位AD转换器、以及闲置摸式和掉电摸式2个可选择的省电摸式等。 AVR单片机具有高度保密性。程序存储器FLASH具有多重密码保护锁死(LOCK)功能,绝不可能解密。 3、系统内从新编程(ISP In-System Programming) 功能 AVR单片机片内可下载FLASH存储器,可以通过SPI串行接口或一般的编程器进行系统内重新编程(ISP In-System Programming),给新产品的开发、老产品的 级和维护带来极大的方便。 4、工作电压范围宽(2.7-6V)、抗干扰能力强 总之,AVR单片机在一个芯片内将增强性能的RISC 8位CPU与可下载的FLASH相结合使其成为适合于许多要求、具有高度灵活性和低成本的嵌入式高效微控制器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上网查
追问
唉,都找了一个星期了,像楼上说的那样,可能比较难实现,而且多数都是自己编的协议,定时也没有。。。。。。
追答
那就问知道的人吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询