EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习单片机的步骤
7 t" k( J7 I. o4 {
* C2 c, a I3 [5 \1 d! [# d$ p( n
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化
% @& J& H$ U' z+ W% V, p- u9 |8 ~, g! n- y
: R& i K* w! \& _7 u- z
设置,以及实现各种功能的程序编制。
& ~6 M% k1 ]' D
* P) l! q/ `1 y第一步:数字I/O的使用 e- y* t1 k5 _( D- ^6 J
X2 w( Z" B6 j' n/ ]; t/ R 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后$ j7 a9 q: h( x. V5 L. `/ k8 i j
7 m; e" P, K0 V$ D: _: ?7 A k* {,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程6 {" a% w) M# s3 i1 ^: p
8 p1 f$ K6 V y4 Q( x5 u思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
: f% s' l- `" Q, P+ S* T) o: L9 f5 B# Q5 ~0 E& q% R K2 x5 ^# A
每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕8 V4 j8 ~3 p% f7 R
3 ]0 l+ N% `7 h9 g麻烦,所有的单片机都是这样6 y+ C! {% w6 ^' A
! k! |3 C2 F3 k, i
第二步:定时器的使用
+ W8 d( z) {0 o; R1 f. L
% W/ M( `6 p- i+ f 学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设
) L8 T- S' D4 Y( q0 K% z3 @" M |
备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一1 @) C R; r0 q$ b0 q
" d1 O! m. Y- ?" h3 ^3 j2 \( x) n次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数
7 L( J7 E2 y5 p; H6 P+ ]$ U
3 X$ M @& B( B/ W& i, z; G( @字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以# ^' Q2 ~' B2 Z1 z8 a9 Z
2 F6 x& ]( U1 X. P: `7 y$ z3 M
实现时序电路,但是只有单片机实现起来最简单,成本最低。
/ i+ |7 [5 y& ~% I$ Z: q
; T: W- t9 s% `7 I( C! Y 定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。5 s8 w- u7 P7 A5 g
+ d% e2 R3 \, i1 h
1 ^3 U! I; ?) N! _5 B# c第三步:中断
0 B2 z$ S: E2 O" B1 o0 W5 s9 v
& c ]! V; g2 F a, Y# \4 K$ b g) ~& \ 单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没
. Q0 b: T9 D; K4 t7 T. X% {( \9 B$ K* m. S# p4 E& q( ]; N) V8 U7 _
有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的, [; ~5 s0 C2 x# e* d! q
5 S/ S M! c9 W5 f
下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功. j3 P) T! \7 s! w* Z$ \
: k& g3 o# }2 M7 ? d5 y能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行. t4 p- t) T8 O1 H
) E& K! F, S$ l. v9 e6 |" j
正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候' o+ k' B% a. D, b( d9 [9 I
# h" |1 c7 c7 y! R& ]允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么
; \. H! ?. _- w- a/ I# q" c1 g" d1 k
4 L9 M* m7 P! Y2 U% `* ],中断完成后,程序应该干什么等等 。) u( L* N3 l( R
* s* b% q9 `) I% K9 v 中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视5 E" |% ^4 J5 ~5 ~( w. X
8 x: N8 o8 N3 ? h) D) r5 L的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能
4 [. e3 j* v# {9 c$ ~5 g
) D" d) s9 i5 v; \' L1 f8 D3 J使单片机具有吃着碗里的,看着锅里的功能。
: E s, t5 ~7 D: W( |0 r- s# `+ |: Z5 n) j9 Q
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
, I, [: J" T, i3 B% a* G$ }+ S( P& `: l
第四步:与PC机进行RS232通信
* f7 f2 d6 ~2 r1 c0 j
& `9 y7 ]3 L) t0 {! K! k 单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接
& c% L1 {/ `" m* `9 _& c) Y' u2 x2 H
# [( S" P Q% F8 o与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
/ @' z) L2 _! K: u6 Q
5 B$ o5 H- G9 h/ O. C$ L Q7 o% R USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并
3 g+ s% G% b& w" h+ N, P
3 u' T/ `7 a) J不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口! o2 r, O$ y. Q4 W3 m0 e& P5 }. I
- o# B0 V. g* d% J6 L+ a编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验
' P# {0 g- m+ p& _3 y+ F1 F3 N( O: s0 v" H/ _5 P
板上得到显示,将是多么有意思的事情啊! $ [; `- D) x6 q& B; J) E
0 i7 M; I) e9 L3 i# O
第五步:学会A/D转换
+ h4 o5 `% D0 i: Z) F; X) @+ Z- E% @8 t. j. X# k5 r- f
MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测4 T0 o' S1 g+ J( Q
& Q% k& b/ G; k电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
, u( u. ~% k" g Y( I5 F% w 使用A/D转换功能的简单的例子是设计一个电压表。
' i+ D# s0 E4 R H& V
( [0 I( }2 `# c- z6 G第六步:学会PCI、I2C接口和液晶显示器接口 + v; z0 N. w- V
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
% a. z, @& g2 y9 \/ P( _ |0 `9 y4 V) L2 f8 N" l8 K9 e2 ^
第七步:学会比较、捕捉、PWM功能
8 c1 [5 n! m. F2 x2 ]' o+ q 这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
& r9 @) G a* r
. Q$ o& v6 ?$ I 如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
! o0 A) o. L* ~& ?! [
$ K# V1 T! ]. V; R第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计
* T% G, z" p$ n2 I! b. _$ A' J3 s9 F5 h2 O T- O9 p# v# p, r
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发8 e6 b' d. T3 l( g& {
& ~# Q" @( x- ]" b) l; _的发展方向。 6 w6 V1 D2 h8 w$ x3 D
|