找回密码
 注册
关于网站域名变更的通知
查看: 775520|回复: 350
打印 上一主题 下一主题

真正的单片机入门 从处理多任务开始

    [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-27 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
真正的单片机入门 从处理多任务开始- p7 Y. t$ @2 V2 y* @+ c- |- O

/ c0 v: x5 ]9 d
& n& d6 s( ~/ F  z7 M( t
我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。* [+ w6 ?' }- L  H4 _$ s
- }! A2 v) I* a6 @; s4 d
同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。
% V0 W9 P" w0 R% b+ q2 Y# r
5 `6 z" @6 G  q5 \# g对于老鸟,我建议直接看那两个表达式,然后自己想想就会懂的了,也不需要听我后面的自吹自擂了,我可没有班门弄斧的意思,hoho~~但是对于新手,我建议将全文看完。因为这是实际项目中总结出来的经验,学校里面学不到的东西。% N6 m5 p$ L! a1 R8 N8 P

8 t/ w. b7 d& C" H, }; r* c4 } 以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器平台无关,你可以在MCS-51,AVR,PIC,甚至是ARM平台上面测试这个程序性能。当然,我自己也是在多个项目用过,效果非常好的。, d7 Q& @# `* M$ U

: G. t3 D8 ^* e! F* u( v, Z好了,工程人员的习惯,废话就应该少说,开始吧。以下我以AVR的MEGA8作为平台讲解,没有其它原因,因为我手头上只有AVR的板子而已没有51的。用51也可以,只是芯片初始化部分不同,还有寄存器名字不同而已。
2 n: V9 E9 ?( m" J1 L& {1 |3 g+ G6 k5 Z6 R' y6 f) }
核心算法:
+ g/ H( T( ]( ^& _3 h$ n% w0 s
3 `. ^2 x" u" w* y
游客,如果您要查看本帖隐藏内容请回复

# i: I, s4 n/ l- {4 @  ?7 O' c

评分

参与人数 2威望 +2 收起 理由
dianzi1987 + 1
wxdjs + 1 请问延时还是用等待延时还是中断延时?

查看全部评分

  • TA的每日心情
    无聊
    2024-1-31 15:19
  • 签到天数: 141 天

    [LV.7]常住居民III

    推荐
    发表于 2020-8-25 10:42 | 只看该作者
    很有意思,学习了。但我用RTOS,延时消抖就好了,让OS自己调度去,哈哈

    该用户从未签到

    推荐
    发表于 2020-7-5 00:35 | 只看该作者
    了解了解

    “来自电巢APP”

  • TA的每日心情
    开心
    2021-6-2 15:49
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    推荐
    发表于 2019-4-8 09:59 | 只看该作者
    不错,谢谢楼主分享

    该用户从未签到

    2#
    发表于 2019-2-27 15:30 | 只看该作者
    不错,谢谢楼主分享

    该用户从未签到

    3#
    发表于 2019-2-27 20:07 | 只看该作者
    不错,谢谢楼主分享

    该用户从未签到

    6#
    发表于 2019-4-29 20:15 | 只看该作者
    这个不错,看了   
    7 j4 j" H  v4 i! |2 x4 t; f8 w. h

    该用户从未签到

    7#
    发表于 2019-4-29 23:10 | 只看该作者

    该用户从未签到

    8#
    发表于 2019-4-30 22:17 | 只看该作者
    请问按照你的思路,消抖处理的话,我如果读键程序放在主循环并且没有不设时间间隔,那是否可以通过中断延时20ms处理,如果那时readdata仍然是第一次读取的值,并且trg为零,是否可以判断有键按下?

    该用户从未签到

    9#
    发表于 2019-4-30 22:18 | 只看该作者
    等级低,加不了好友
    , l) W- h# Q  u

    该用户从未签到

    13#
    发表于 2019-7-30 08:02 | 只看该作者
    谢谢楼主分享

    该用户从未签到

    15#
    发表于 2019-8-1 22:07 | 只看该作者
    谢谢分享,看看
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-26 17:13 , Processed in 0.125000 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表