|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习单片机不可欠缺的八个步骤
* f" e) s: B: M7 B/ M. }
9 @( o/ L& z# t7 q4 N6 {5 ^. H+ W+ }1 c; \/ c' q
【导读】学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。9 b) k- } m, a8 t% Y
8 b2 H2 K$ U( G; n) e: U D" F8 q+ W/ g. w+ `! n6 }& R! v: C
第一步:数字I/O的使用6 V- c2 |3 @$ p9 g; v' ]
) B: }0 s0 @; g: H
' [) T+ K& J* c7 x
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
5 x2 V$ g; r" |2 Y& }
# B3 |# Q# |( h* L2 S, z' a* ~% A
! U+ h' f& h. }' U第二步:定时器的使用
% b% C3 m, j8 F: I# S$ [$ ?
3 I, Q; `+ g1 {! |# b
6 Z/ J. F) c$ d1 F8 b, D7 w 学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
; L, l k4 f# l$ n1 a M. t# K; {+ A: n* d5 r! t7 I3 S6 c
6 Z) Y$ O$ m$ z Y定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
; e, ^2 }7 v' K+ T$ D# E! l. ^: J9 o7 E$ H- o
) A. \! z( ^: \7 q! S. l/ o# p' _. x
第三步:中断+ q8 X4 [( O1 H& M2 |2 m
- _2 ?" q' Z+ L
7 K1 `6 Y; j6 k4 t/ \6 ~7 f, r, W 单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等 。0 x; j) ]7 |2 u
9 b5 }; ^+ B/ [
7 F# a/ g( y- z; X, @9 _9 @4 P) F. k 中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
) O/ I/ x* u1 P! n2 Y3 G4 j1 m9 m" A9 p/ v
3 X- \8 g1 T. `1 q' q* B
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
8 o2 n: H, G' U% o$ F+ q+ k! c) d7 m* \/ z
3 ?( z$ R9 V- [! o$ A( e: B: P
% W# ?1 |: ^2 F! q
|
|