EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习单片机的步骤
- ^5 S0 ]2 t6 a+ t u8 @9 O( W$ Z4 S9 T
, X; e; @/ x0 r
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化
& m. M C6 c; [9 [$ ~
9 Z. W* M( [2 @& f- w9 [) b5 X; `( R# j
设置,以及实现各种功能的程序编制。
; X8 ]# h# h1 K6 [/ N9 t) z9 W! a! U8 P+ Z! {* \! v% q- `, `% y
第一步:数字I/O的使用 4 W+ ^( O3 n; L
; g i* I# h- b( R 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后3 Y9 P* Y: |2 a; Q
( B2 W( r1 u, ?( c6 \) ~
,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程
3 u. }) F" {9 ?& a) p' c. G$ ^. |$ W/ t4 A
思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
+ h& y% _4 S1 x7 Z- d. Z2 |4 u/ L0 z ~" A$ X- L! F
每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕' H5 `! [. k# W! u, @2 z
1 _* W5 r" J$ ]9 R/ }, Q麻烦,所有的单片机都是这样* L9 P; f- m# j; y) @& J6 L
* K/ U/ r ]2 F4 D7 r0 R- Z
第二步:定时器的使用 / t1 a" Q5 _& I
& D7 P( @; E: A) v! j) F; W 学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设
( Y7 g) }" ?1 @! Y7 t
# z- ]8 @( a' [# N8 I- ]备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一: j( }% P+ V- X
* C+ p9 q# J: s/ ?2 {2 R( m9 M! h& Y次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数
# ~3 E& t; y0 H' F" O; c8 o- h6 {, t3 l+ @3 A
字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以
, }. ^2 e c5 W% r
' f) L: ]6 s0 @9 G' z实现时序电路,但是只有单片机实现起来最简单,成本最低。
& [+ r% B, F; J$ F/ p; [8 P/ n) }; u& T9 v
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
5 P- g& p/ y' |7 L7 S" q$ Z* m0 z( C* n$ R/ |7 T2 V6 W& ^
p1 B/ x2 V: s
第三步:中断3 c$ F* w; p1 W( }0 [) g- m
/ ~! Y9 w. T! C& k
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没
! o& J+ [, H: v- L5 E0 \9 T
/ M) } l; ^# Q9 H- G" {5 w有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的
& u# X& T" g: P$ l$ z" `7 j6 X6 f% X
下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功
& X: ]% S& h5 G; o3 p8 C; G1 l0 L% _/ U$ i/ Y5 b5 s
能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行; s- {! ~' L- p" H: f
' E8 T2 b; [6 h正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候, ~" G3 I: N& `2 P+ l P( N4 {
@/ o/ r2 D/ ~$ D, ^- v2 @
允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么
( O& O3 W+ o o
+ ]# I- I3 J, a) X) Y,中断完成后,程序应该干什么等等 。
3 s/ i: K) i( I* S0 t$ G, ?
4 C* G2 h4 E. ?4 H- t) [ 中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视7 m, b0 `6 H& ? h& e0 \8 v
9 Z# V3 Q+ Z: S% ]% ?的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能3 |% z$ |$ b3 q; R+ F0 Z, }
4 [4 }9 [$ m, h7 H# o6 Q. Z
使单片机具有吃着碗里的,看着锅里的功能。, i7 b+ R. e" e6 H8 b9 n# \
3 ~; \6 [. ~; A5 p 以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。 ! K* e' S# m) _; l5 F8 p9 j, s
& S% {; Y2 L5 a第四步:与PC机进行RS232通信 # K" ]) B R( I
1 w- H5 A- S! K$ I1 U/ ]* L6 X- t* D
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接2 w+ Z% Y, m) H& H* R/ x+ D
" a8 }' }4 a" K8 v
与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
, S7 V: \0 q: i/ G) f; r& W8 g
0 @! }) E+ D- \( b& [ L; ` USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并& a* ]/ @. `2 S( x6 Q
/ I4 s2 k* U1 Q9 Z5 H. k' M$ d
不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口
6 m: ^' L4 }$ o1 E6 H. D/ F: O* i* T! |2 b+ G
编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验, W. b' z/ e" s" {9 Q" m5 d7 r# o, A
3 i% r: Q9 L, r' G0 a$ l# _3 _板上得到显示,将是多么有意思的事情啊! 3 V0 \7 _( @7 r1 F
- u) `! X; Y( K5 S1 m+ K6 Z# Y第五步:学会A/D转换 & p5 B2 E1 R s: m
! I) K( e3 \0 I% J6 P8 {& v! m. G7 k MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测4 d( ~$ K( {5 z6 ?
' t. C0 O5 t1 i6 K7 ]' e2 k, S
电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。6 U t7 I; u, t- ~
使用A/D转换功能的简单的例子是设计一个电压表。) C x4 s6 |$ E6 h- F
6 e* |0 x+ \6 ^# ^ w' ^
第六步:学会PCI、I2C接口和液晶显示器接口
, y* O7 r& \# U: `: w 这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。2 v& P7 }) G" I9 E% `2 ~
" u; p( p# Z$ O. X第七步:学会比较、捕捉、PWM功能
8 E8 |, A4 {& V$ N 这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
) b; `4 T% f% D' j7 V% L8 s; {
: S$ a/ B) q5 H& W5 F. w 如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。) M! e. A7 E0 d, H4 O2 F* Q" J: U
* B. n' ?' ^* }% W# n( E% }* p x1 n第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计 8 z- I1 M6 V! a/ V7 ^3 L( L1 E5 e
! g+ n2 F4 q8 F, m6 s
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发! ]' J3 C2 u A
9 s( A+ i* L8 R
的发展方向。 7 t; A7 o" E/ U# L' \' Q6 ?6 F4 F4 y
|