关于8路A⼀D转换的问题,求好心人帮助!

2024-11-02 07:33:03
推荐回答(1个)
回答1:

使用任意一款STC的单片机,只要型号尾部带有AD即可!然后通过软件切换内部的数据路选择器以实现8路模拟量读取!循环读取!然后设立检查条件,比如某个值发生异常(该功能可以进行设置!比如,按下设置可以设定第几路的参数,可以慢慢研究,很有趣!当然可以存进存储区)8路模式尽量不要选择中断方式采集数据!说不好听的,你让第一路去准备数据,很短的时间即可完成,如果设置中断,这8路就要中断8次,你的单片机还用干啥活?加入增加将数据发送给串口,再由串口发给电脑的条件的话,这要求神也达不到!题目要合理!stc有他自身的存储代码和指令!错一个字都不行!所以直接用他自己的代码即可!这个没人去背诵的!考试不应该用这样的题目,这样的题目至少需要学生背诵单片机的存储功能代码函数,以及分码存储函数写法,还有8路单片机数据采集段,这些都不是要求死记硬背的,而且部分单片机还支持速度可调,或者其他的高级状态位!这就更不用死记硬背了!所有的一切都是根据状态位来的!stc单片机的硬件资源说明很详尽,你可以参照他的说法去改变,然后你只需负责编写好控制代码以及数据传送代码即可!单片机属于嵌入式编程!全部模块化!很多都有现成的,如果你想较真,那么可以按照自己的意愿改下,也没什么可改,至少8位单片机的状态位最多也就8个!

以下为注意事项:
1,存储时,由于存储单元只能存储255以下的数,大了唯一的办法就是拆分!实在不行拆分成按位存储也行,反正纯磨读的时候,得倒过来组回去!
2,8路往往单片机使用了一个A/D转换器(内部集成)然后通过选择散尘器或者对选择寄存器赋值来实现对哪一路采集数据!,所以,会导致8次中断挨的很近,因为是循环扫描!从下命令,到数据溢出位置1中断产生,用不了几个基准脉冲,也就几百个,连千分之一秒都不到!其实没必要中断方式!8路循环读,循环判断即可!存储直接更新或者如果空间足够大,可以指定规则存进去,比如第几次...连序号都存进去!
题目很笼统,没有固定单片机的型号,也没有使用哪一个引脚.....无法做掘斗写出程序!最多给出编程框架!