EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习单片机的步骤! ^9 n M6 i5 u. I, N0 |8 }
. d& d9 @9 ~+ V7 D/ J! s7 N, m) m. \% z
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化
: b1 b9 }4 ^& {2 W+ W Y6 M1 u) S- q5 b0 S& m, _
7 i8 _: t- n- a+ X: m8 r
设置,以及实现各种功能的程序编制。4 Q5 l' M. D0 D ~" A3 C2 k1 }$ g
, l! S5 d+ r& I5 n2 H
第一步:数字I/O的使用 % Z6 t, s. X# a5 b. X/ m! ?
) a( K" f0 V# l9 z8 \! U# K$ u0 A 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后
- Z4 f+ E @ p1 }+ g4 Z# W/ J7 n3 O7 K5 e9 {8 X) h
,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程
( S: u) T# z, M1 r" k% I. w% T- |; Q
思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
* Y' y: y$ Q' i
0 Q. l: x+ E. r3 R2 a- \$ z每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕
. V. N' |- y* k' s. G$ J/ e- ~5 x6 O/ O& q, N C+ h* D4 A; D3 L
麻烦,所有的单片机都是这样- f& Y. k I/ M" q) K) d* S. Q
7 |2 o/ Y0 J) j" x# X
第二步:定时器的使用
, c' w/ D' q! l
! ~5 F: X$ `8 D) n' \ 学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设
1 \. h6 q# ?9 w, g+ \2 R$ c% L. D/ `* E, ^: a1 H, i
备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一
) x% N+ V5 G3 k& A' {$ O4 N5 ?0 U4 \/ {% q/ _& W
次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数
7 u6 ?$ R- `! J9 R
: s( a" |* M! ?: d a( w& j0 e6 c字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以- h, N7 x4 R9 \, S
" o; J8 H! f7 H
实现时序电路,但是只有单片机实现起来最简单,成本最低。
* }' d2 }4 B. J, w, S. R) B* Q0 C* X. }4 I/ Z' m7 O [/ u2 E: j* G
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。+ c" o; s! C, `
$ h+ `- U) p0 k' M
" O; M" X- P7 m Q- u; E* w( i第三步:中断
& r& ?" u3 |1 {+ T9 K+ f4 B; B6 f
! x+ X, W( k4 K$ v/ F. _ 单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没# o/ o( l1 o; O/ N: S
( W' f- T" T+ m, P' d, e' P8 I
有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的
* L/ l9 n; i, {. D/ D' W8 p5 h/ f7 P5 K$ g
下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功
8 A8 M( A( }" b& `( |
/ Y3 [- v; q P6 m3 [% }能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行5 I( x. c; a) s. ?, O; X
$ F: ~4 g* e8 i( l正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候
8 F9 t; }) d! ^! Y s$ N9 l! e8 N
允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么" ?" Z4 O) i2 d( N e
8 r; k: {( b( j% w ?
,中断完成后,程序应该干什么等等 。/ W* J4 _0 i7 K& u
! B* Q8 p% T* u" d. O; Y( d! v
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视
2 z9 V2 Y! z4 k4 t3 U ?
: w) ]; R" ]( s% C的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能
+ d) o+ R% ?9 w3 z! @
4 T3 b4 Y; m- q, C9 `使单片机具有吃着碗里的,看着锅里的功能。: @# z5 |' c" u Z
, K0 T& x1 \" U- R* n: \6 J 以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
, _( X% h( f p* r) B2 ]: P! n2 a O0 g4 y
第四步:与PC机进行RS232通信
% c ^3 O( M9 x* T. P+ o7 w3 o
% B1 z! i! [- I6 n8 O 单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接" t T0 n( T& A$ d2 k+ B3 g
- ^) g3 C8 z5 ?: k( N与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。6 Z5 u0 t, _' n$ E/ q& G+ e
. g5 I% Z% Z9 o/ R
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并' [6 [$ {4 u7 v
( P% B+ F5 O5 G5 g5 a4 Z不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口
" O- o4 _7 E% r4 L- ?# o
/ v3 Q/ W1 D' v( T. G/ c5 V编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验
# o+ ~+ J. X8 ^, b- L [ u" M: k7 [; j/ U7 y; n4 }# G! @, B
板上得到显示,将是多么有意思的事情啊! 9 q% I! [1 b3 Q
4 {2 U8 r) L) K, L& V+ g
第五步:学会A/D转换
& l2 M& H% x) g
. ]3 g1 j8 N; U" j0 Q' F- \ MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测" N7 @8 [4 l+ W2 J
: L$ ^0 ?$ I4 r. y! T8 v0 m电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。+ z: y2 n* w( f) ?( H* K" N/ z& ], Q
使用A/D转换功能的简单的例子是设计一个电压表。( N% y0 n* M! H' C4 r
* x3 ~* M' p9 O4 U; U5 e# d# s
第六步:学会PCI、I2C接口和液晶显示器接口 $ e( O M3 W( }2 K$ n2 _+ D8 j
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。/ J; O3 A1 X, P7 U9 B
3 t1 G: n$ v5 Z1 q
第七步:学会比较、捕捉、PWM功能
6 y* Z- q& ^6 K, C 这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。 7 U# p: {% i H/ |3 x6 C( y
6 b5 I; h" \; L8 X* U+ y3 } 如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
" D6 L: }( _% I/ P* k. O; m4 B, C# k6 M B, n$ c
第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计
8 H7 J+ _0 b; i* G% V' x0 A _+ ]0 X; N8 X, s/ s
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发0 x; j' f j, I P0 {
$ S& n: [ a. D# H4 O
的发展方向。
( ^5 l. O9 Q6 n4 h0 `; q |