|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
真正的单片机入门 从处理多任务开始# H; a/ u4 F, \% b$ P! @
! a$ @& a' W- I4 z: v- F. G4 U9 c+ o' X; S( |
我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。; Y5 g$ J: f: U8 e7 @' Z, n- i
% M* m' r- S7 S, {; f1 @同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。
0 h: T, K5 Z) K( H9 t- |
. O3 R% u# X" |# x( _" m- |对于老鸟,我建议直接看那两个表达式,然后自己想想就会懂的了,也不需要听我后面的自吹自擂了,我可没有班门弄斧的意思,hoho~~但是对于新手,我建议将全文看完。因为这是实际项目中总结出来的经验,学校里面学不到的东西。
; S n$ [- ]* z+ G1 y" @
. w/ \! k' ]6 P: W a0 L 以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器平台无关,你可以在MCS-51,AVR,PIC,甚至是ARM平台上面测试这个程序性能。当然,我自己也是在多个项目用过,效果非常好的。7 t8 G! `" D: {* Q6 Z& W6 a
* @8 @7 x& C1 q1 s好了,工程人员的习惯,废话就应该少说,开始吧。以下我以AVR的MEGA8作为平台讲解,没有其它原因,因为我手头上只有AVR的板子而已没有51的。用51也可以,只是芯片初始化部分不同,还有寄存器名字不同而已。( v( W. J8 H {8 n
% |9 m6 \7 T3 `& d5 C, r/ [
核心算法:
" H+ s5 o' f v! C# p
/ l6 f' q/ {- ?; O) O/ V0 V, {& K& n* A% C* ~4 l
|
评分
-
查看全部评分
|