标题: 单片机程序的设计逻辑,求助! [打印本页]

作者: gaoshouujd    时间: 2017-12-28 22:31
标题: 单片机程序的设计逻辑,求助!
功能要求:mcu上电,led指示灯闪烁5秒,然后熄灭,接着运行ad检测,根据检测结果实现led闪烁或常亮。流程是这样,求教代码怎么设计(独立的led闪烁,ad检测,常亮都可以实现,就是这么结合起来)
新手自学的,请大家帮忙说说怎么实现(中断?定时?还是……)

作者: david888    时间: 2017-12-29 08:33
初始化后做延时  5S的,希捷运行ADC  ,判断到了IO 输出
作者: HC6800-ES-V2.0    时间: 2017-12-29 08:42
每个单独的功能你都会,只差组合起来,是吧?
建议:找一个别人的复杂程序,如1602显示、1302计时等,看看别人的程序中,是怎样将多个单一功能的C文件,通过头文件,组合成一个复合功能的工程,你就可以试着将自己的程序组合了。

作者: gaoshouujd    时间: 2017-12-29 10:13
HC6800-ES-V2.0 发表于 2017-12-29 08:42
每个单独的功能你都会,只差组合起来,是吧?
建议:找一个别人的复杂程序,如1602显示、1302计时等,看看 ...

对,就是不会组合,我业余学的能否指点一下?谢谢!
作者: 立里    时间: 2017-12-29 11:03
先后关系很明确,可以做成状态机,状态1里面做LED的闪烁,同时计时,5s时间到进入状态2;状态2就是AD采样,同时控制LED。
作者: gaoshouujd    时间: 2017-12-30 14:03
立里 发表于 2017-12-29 11:03
先后关系很明确,可以做成状态机,状态1里面做LED的闪烁,同时计时,5s时间到进入状态2;状态2就是AD采样, ...

对!我已经搞定了!
说说流程,大家指点一下:一开机就计时,运行状态1;时间到了,中断除非,进入状态2,开始AD采样,处理LED等的状态。
谢谢所有人!
作者: gaoshouujd    时间: 2018-1-2 10:49
立里 发表于 2017-12-29 11:03
先后关系很明确,可以做成状态机,状态1里面做LED的闪烁,同时计时,5s时间到进入状态2;状态2就是AD采样, ...

请教另外一个问题:AD检测到2V或以上,led持续闪烁,检测到电压下降到1.5V LED常亮;现在我的问题是,2V或以上,可以闪烁,但是小于2V,到1.5V之间不动作了,1.5V可以常亮
if(AD>=2V)
{
  LED1=1;
  DELAY.
  LED1=0;
  DELAY.
}
else
{
  if(AD<=1.5V)
   {
     LED1=0;
     LED2=1;
   }
}
作者: david888    时间: 2018-1-4 17:13
实际 算下寄存器的值是多少,V




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1