EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习单片机的步骤5 a7 q7 `) Z* Y- Q- \2 P& S
) t$ I- p: y( V: ` z! s
! T9 }7 _( L, S2 Y学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化
- u7 x' D; D, t" S6 `$ l/ C+ ^$ b
, H' s! k$ q1 S# @& S- Y( _( b% z, X0 Z8 c7 n* g
设置,以及实现各种功能的程序编制。
& \$ U3 n" M, h5 c* w; A- _( d; S# O @
第一步:数字I/O的使用
+ s! w a5 a- }% k' T' a) O
9 T. Y( s7 ~/ k& l/ D/ v 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后
* y, q' \4 }8 i0 q9 F F; _" P" y! E1 @2 a+ Z9 q
,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程
; E) ~0 F; [, k- m" d& Q b
7 K3 H1 a5 m3 V思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
6 |5 n1 _9 i/ \$ m+ U; W
' ?' j. r2 d- N% p每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕) i9 I0 E- S5 T- B% v
9 |8 K8 R) R7 _( [0 x- s/ G& ~
麻烦,所有的单片机都是这样 ~- h- I( A8 A; g( K: A) _/ V
7 X) h: A; t5 b8 g I
第二步:定时器的使用
$ }- i9 y+ H1 Z5 _( x' b8 `, F* R* Z/ P. G, n2 j8 K6 G
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设
& `5 z$ N3 p, M8 u" V
! {1 ` V+ {" \, l3 s4 a备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一
- ?0 _# g* s; N& P A$ W, @3 A- V w* F* V7 q9 W
次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数( n4 I% \& |4 a/ D$ W0 h
`* d) O' w4 l8 c% S0 ]1 S
字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以
$ {' a- K3 P" S+ ?' s% y4 K9 H1 V* v1 R% g
实现时序电路,但是只有单片机实现起来最简单,成本最低。
1 t+ v; e3 ~ d: u7 E$ h' t+ _- e
' I2 j0 O3 c u5 d) W 定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
( y8 k% G' ?9 T0 d3 j2 d3 R2 ^2 L$ W. p- d2 E2 \) }% |; j
) s2 t5 o$ S2 C7 X第三步:中断
* ]! b3 k* F0 W3 E5 s# o7 g1 J; s3 I; f
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没 p% k1 T* c% V) R, Y
1 [3 j1 ^7 w. q) V2 O& ~ k P7 P
有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的' t8 X' C# W" i; G3 R+ A' t0 g
) E+ l5 ?1 C) {$ x* Y& V5 ?下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功
. z" F; }/ a: S. s9 N& p |" I& Q% p0 d& h6 K1 y
能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行) G6 i! f9 ~; R1 \) w3 w/ _
& F- \6 \: c/ g8 k
正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候
' a+ W" Z" Q5 X7 F- n6 ?1 f6 o9 x
允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么: w3 M5 X& n p% u
: t' q0 j0 S/ Y0 @* ^,中断完成后,程序应该干什么等等 。5 j" B8 o2 T* {% o) |# I/ ]
) m& E9 R- M* d1 Q# \" `7 n8 I
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视
7 ~$ b& h k/ R( K! i
6 \4 x. ]! Q3 m" k! s的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能' o V5 m& R% E" g
6 z$ \8 b; X6 O! N: z, `7 i& ]8 f使单片机具有吃着碗里的,看着锅里的功能。
, [% S& y. N, _0 f; ?- Z5 Y9 x! x4 w; Y
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。 0 H7 m; C! s* m( n
1 O% {# _- @) Z, a
第四步:与PC机进行RS232通信
. ~( b/ R, F3 w: E! }% \
$ Y" L4 f0 R# r1 O! a; R6 t 单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接
& a; q3 w" t$ p4 n
+ s% U! I7 [ B' R2 M R; f与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。, c2 L/ C$ f" i7 s; N
6 [! ^3 E8 n/ L3 u USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并" P- o$ n; v* j$ _( Y9 c9 y
' \6 S( y1 x# v3 \. r
不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口9 R; f. R" D+ `1 Y/ h3 @" r
. I# P, V, _1 F; I; G! ^) s- D+ F9 L
编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验9 P1 B$ D* b% I% ?5 Q- s+ N
1 s# D2 P( h2 i, J板上得到显示,将是多么有意思的事情啊!
5 d' u F" j$ d- h1 @8 D5 x" K9 i% f% c, |! Q5 N
第五步:学会A/D转换 8 z) x8 T9 |! |1 h' u3 k! z3 J# N
/ I- h, R, Y- ]9 z; M& s- M) R MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测
& I9 I; L4 w# i+ \6 z: ?% ]4 f
) V% g" l0 u, v: J7 M电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
1 c. Y, y6 s l+ G3 y 使用A/D转换功能的简单的例子是设计一个电压表。
& U7 G" y [9 e
- E( g9 s; d$ E4 I8 B第六步:学会PCI、I2C接口和液晶显示器接口 6 L% S( p* `& m
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
' Z+ J% J3 Z1 L( z6 j% h+ P" T
" c! p9 q; r3 J/ T \5 a% g+ Y, Y第七步:学会比较、捕捉、PWM功能 4 R% H& g8 P! u2 S# j F
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
' }# A D7 O: ?" q3 g$ p: v2 `. [: r6 b; f
如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
) h( ^0 i1 f- K0 o* Y. Q
& O' p1 m# e/ h! Y2 v, y第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计 4 P0 _! }! D0 ?0 U9 j/ N, C4 i4 R
9 r+ A4 B" o- D8 {6 R2 m* i
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发
, E; Q4 R9 c7 U& c4 h. c/ l) k! |
的发展方向。 - ~" [2 S& q. U, b
|