沉思的牛 发表于 2014-5-5 23:32:59

从51单片机到电子工程师

本帖最后由 沉思的牛 于 2014-5-10 20:04 编辑

如果你有一定的单片机的基础;
并且想上升一个台阶,那么我劝你认真学学这本资料(见附件);

相信大家都看到过类似的代码:
注:其他函数和宏以及管脚都已经定义
void main(void)
{
      LedInit() ;            
      While(1)
      {
            LED = ON ;       //点亮LED
            DelayMs(500) ;//延时500ms
            LED = OFF ;       //关闭LED
            DelayMs(500) ;//延时500ms
      }
}程序很简单对吧?是让LED以1HZ的频率闪烁;

但是众鱼油发现问题所在没有:
1:在延时的时候CPU全部时间花在上面等待,白白浪费500ms的时间;
2:如果你的程序里面还有其他任务,你怎么办?
带着疑问去看资料吧,教你如何解放CPU;


谈谈按键识别程序吧:
if(0 == io_KeyEnter) //如果有键按下了
{
   Delayms(20) ; //先延时20ms避开抖动时间
   if(0 == io_KeyEnter) //然后再检测,如果还是检测到有键按下
   {
            return KeyValue ; //是真的按下了,返回键值
   }
   else
   {
          return KEY_NULL //是抖动,返回空的键值
   }
   while(0 == io_KeyEnter) ; //等待按键释放
}
//乍看上去,确实挺不错其实这样的代码是伪代码~~~;
出现抖动意味着什么?当然是按键已经按下了;
大家觉得那个延时有没有必要呢?
等待按键释放其他的程序怎么执行呢?
按键的长按功能怎么实现呢?
带着疑问去看资料吧,基于状态转移的按键识别程序,讲得非常详细;

所以此类代码只适合在演示,或简单实验用;
写程序要想到工程性;

资料里面谈到如何模块化编程,我相信只要认真学过甲鱼的C/C++的朋友应该做的比较好;

新手写出来的程序:


老手写出来的程序:

资料里面讲到操作系统的基本知识,多任务程序的基本思想;
所以我推荐大家学习;

附件:
**** Hidden Message *****





骑着蜗牛狂奔 发表于 2014-5-6 08:37:17

给力。。。。。。。。。。。。。

沉思的牛 发表于 2014-5-6 08:39:32

骑着蜗牛狂奔 发表于 2014-5-6 08:37 static/image/common/back.gif
给力。。。。。。。。。。。。。

挺早的哦~~~~

骑着蜗牛狂奔 发表于 2014-5-6 10:18:45

沉思的牛 发表于 2014-5-6 08:39 static/image/common/back.gif
挺早的哦~~~~

上班滴。。。:mad:

沉思的牛 发表于 2014-5-6 12:18:33

骑着蜗牛狂奔 发表于 2014-5-6 10:18 static/image/common/back.gif
上班滴。。。

楼主也是天天加班 不爽啊~~~~

80311237@qq.com 发表于 2014-5-6 16:06:06

支持一下,好东西

liuwenzhi 发表于 2014-5-6 18:10:49

看看。。。。。。。。。。。

小焓焓222 发表于 2014-5-6 18:24:54

呼啦啦,看看

沛林 发表于 2014-5-6 18:31:13

感谢分享{:1_1:}

lizi4355 发表于 2014-5-6 19:10:41

:lol:感觉不错,下载啦

lizi4355 发表于 2014-5-6 19:13:41

:lol:感觉不错,下载啦   。。。。。

makefile 发表于 2014-5-6 19:56:16

真想明天回复!今天不给加分了!!!

沉思的牛 发表于 2014-5-6 20:21:16

lizi4355 发表于 2014-5-6 19:13 static/image/common/back.gif
感觉不错,下载啦   。。。。。

谢谢支持啦~~~

大黑鱼 发表于 2014-5-6 20:26:10

学习,,,,,,,

小周周 发表于 2014-5-6 20:29:03

谢谢楼主分享

心灵的灼烧 发表于 2014-5-6 21:00:12

给力呀~~~~~~~~~~~:lol:

ルー鵬 发表于 2014-5-6 22:09:27

51单片机到电子工程

null1578 发表于 2014-5-6 22:34:47

近日在学51,但一直进步不大,看看别人的经验吧。谢谢!

ghort_rider 发表于 2014-5-6 22:40:42

好东西 收了

C瓶 发表于 2014-5-6 22:41:29

就看看看看
页: [1] 2 3 4 5
查看完整版本: 从51单片机到电子工程师