[51单片机]

从业将近十年!手把手教你单片机程序框架(连载)

[复制链接]
楼主: jianhong_wu
手机看帖
扫描二维码
随时随地手机跟帖
shuiqinghan2012| | 2017-6-2 13:16 | 显示全部楼层
jianhong_wu 发表于 2014-3-6 09:53
我个人认为,做单片机项目开发,初学者最缺的就是如何搭建系统,组织框架。而我现在分享的恰好就是我做所 ...

有道理

使用特权

评论回复
Drake| | 2017-7-19 21:48 | 显示全部楼层
nb顶

使用特权

评论回复
emma2012| | 2017-7-20 15:11 | 显示全部楼层
楼主辛苦了,感谢分享!!!!

使用特权

评论回复
Afei1106| | 2017-7-31 17:29 | 显示全部楼层
本帖最后由 Afei1106 于 2017-8-1 10:33 编辑

继续学习中.....

使用特权

评论回复
山房@半壁| | 2017-8-2 09:54 | 显示全部楼层
内容很多啊,mark下

使用特权

评论回复
shuiqinghan2012| | 2017-10-19 11:44 | 显示全部楼层
jianhong_wu 发表于 2014-3-8 08:31
坦白地讲,这将近十年的时间里,我的收入很普通,比大多数的电子工程师的收入还要低,银行存款也没有100W ...

让我想起了海阔天空,一生放诞不羁爱自由,也许真爱和自由才是我们每个人应该追求的东西

使用特权

评论回复
caijie001| | 2017-10-19 13:11 | 显示全部楼层
很不错。转发师弟师妹

使用特权

评论回复
hunancjz| | 2017-11-26 15:04 | 显示全部楼层
初学者勉强可以看一看

使用特权

评论回复
李劲均| | 2017-12-14 11:02 | 显示全部楼层
你好吴工,我有一个机械手的单片机程序想通过你分享给大家,有PCB图,原理图和说明书,还有源程序。

使用特权

评论回复
Dalarl2008| | 2017-12-31 22:07 | 显示全部楼层
李劲均 发表于 2017-12-14 11:02
你好吴工,我有一个机械手的单片机程序想通过你分享给大家,有PCB图,原理图和说明书,还有源程序。 ...

maik

使用特权

评论回复
Dalarl2008| | 2017-12-31 22:07 | 显示全部楼层
不错。mark

使用特权

评论回复
zqx1000| | 2018-4-10 22:21 | 显示全部楼层
kankan

使用特权

评论回复
wdliming| | 2018-7-27 12:42 | 显示全部楼层
太厉害了~~~赞一个楼主,提升变成思想,比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!

使用特权

评论回复
panqh| | 2018-11-16 13:35 | 显示全部楼层
初学者为楼主无私的行为点赞

使用特权

评论回复
leejack| | 2018-11-26 15:46 | 显示全部楼层
jianhong_wu 发表于 2014-3-7 11:48
第十二节:按住一个独立按键不松手的连续步进触发。

开场白:

  if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
  {
     ucKeyLock1=0; //按键自锁标志清零
     uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。   
     uiKeyCtntyCnt1=0; //连续累加的时间间隔延时计数器清零
  }
  else if(ucKeyLock1==0)//有按键按下,且是第一次被按下
  {
     uiKeyTimeCnt1++; //累加定时中断次数
     if(uiKeyTimeCnt1>const_key_time1)
     {
        uiKeyTimeCnt1=0;
        ucKeyLock1=1;  //自锁按键置位,避免一直触发
        ucKeySec=1;    //触发1号键
     }
  }
  else if(uiKeyTimeCnt1<const_time_1s) //按住累加到1秒
  {
     uiKeyTimeCnt1++;
  }
  else  //按住累加到1秒后仍然不放手,这个时候进入有节奏的连续触发
  {
     uiKeyCtntyCnt1++; //连续触发延时计数器累加
         if(uiKeyCtntyCnt1>const_time_0_25s)  //按住没松手,每0.25秒就触发一次
         {
             uiKeyCtntyCnt1=0; //
         ucKeySec=1;    //触发1号键
         }
   
  }
大师,还在吗?这个程序在第一个 else if中已经将案件触发  锁住了  第三个else if 如何能继续执行呢?
初学者  很疑惑,望解答,谢谢

使用特权

评论回复
leejack| | 2018-11-26 15:46 | 显示全部楼层
jianhong_wu 发表于 2014-3-7 11:48
第十二节:按住一个独立按键不松手的连续步进触发。

开场白:

  if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
  {
     ucKeyLock1=0; //按键自锁标志清零
     uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。   
     uiKeyCtntyCnt1=0; //连续累加的时间间隔延时计数器清零
  }
  else if(ucKeyLock1==0)//有按键按下,且是第一次被按下
  {
     uiKeyTimeCnt1++; //累加定时中断次数
     if(uiKeyTimeCnt1>const_key_time1)
     {
        uiKeyTimeCnt1=0;
        ucKeyLock1=1;  //自锁按键置位,避免一直触发
        ucKeySec=1;    //触发1号键
     }
  }
  else if(uiKeyTimeCnt1<const_time_1s) //按住累加到1秒
  {
     uiKeyTimeCnt1++;
  }
  else  //按住累加到1秒后仍然不放手,这个时候进入有节奏的连续触发
  {
     uiKeyCtntyCnt1++; //连续触发延时计数器累加
         if(uiKeyCtntyCnt1>const_time_0_25s)  //按住没松手,每0.25秒就触发一次
         {
             uiKeyCtntyCnt1=0; //
         ucKeySec=1;    //触发1号键
         }
   
  }
大师,还在吗?这个程序在第一个 else if中已经将案件触发  锁住了  第三个else if 如何能继续执行呢?
初学者  很疑惑,望解答,谢谢

使用特权

评论回复
莫的感情| | 2018-11-30 16:45 | 显示全部楼层
leejack 发表于 2018-11-26 15:46
if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
  {
     ucKeyLock1=0;  ...

我感觉能理解你想问什么,不过这里面没有三个else if 可以确定下我再看看吗?

使用特权

评论回复
quanquan86| | 2019-5-14 16:08 | 显示全部楼层
谢谢大神无私的分析,收益匪浅。

使用特权

评论回复
癫子高| | 2019-5-17 16:04 | 显示全部楼层
很棒棒的分享,谢谢楼主。

使用特权

评论回复
jintomm| | 2019-7-23 10:31 | 显示全部楼层
mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则