EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学习单片机的步骤; d$ s7 S5 v0 e' }2 ^1 [6 T
% v) Z9 A% W! O# b! S# I& D; F
( C+ X& o; u& w9 e( x
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化
- ]0 C5 @, X+ i/ [
5 i8 G8 H- ~! H$ g. b* y& Z
; X' p$ b/ ~- g- n b0 N8 n9 n设置,以及实现各种功能的程序编制。
& B, t0 |6 ^" ~% e. n& N0 K/ q8 o- l* _: V: N+ e% S+ {! G
第一步:数字I/O的使用
& V$ {9 m9 [& |4 A+ f ^$ l: ?* n% Y j) F" I1 @
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后+ ]: m2 I2 b9 V" \' w8 J, w0 ]
7 f7 S" k% H3 W* D3 P5 j, B,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程! G) n4 z. x4 y4 _
8 f5 @3 k) s/ ]& E思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
% w: L" ^; u1 W F3 P( O% X5 m6 u4 C" ^: j6 Y) T
每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕
0 y) ?" I0 q; ?% |: N. t) D; x* F
4 N6 u2 ^% j! z* n5 E$ u' \麻烦,所有的单片机都是这样
' f8 x) l( ~5 \! A! v- _
8 Z3 u. U+ W, p6 q* S5 f- P第二步:定时器的使用 5 M8 ?+ E7 e3 h. `
! ?$ y) d: h$ n
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设
; t# ?, ^2 X0 a2 |. c
0 n8 F% B& W6 h/ m9 @备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一6 |9 Z% T( o' d3 I' p# A
# X L5 q. ]% \$ B; |- K次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数6 \) I* z9 @- p" J. F1 }
: z" S; R- D( t. `& ^1 E3 B0 w
字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以* d, F! N; U" Z% e/ ]) Y3 Q' Z
# @4 O3 C9 P1 e& R7 _! D实现时序电路,但是只有单片机实现起来最简单,成本最低。 f! V2 s; L$ R5 K' r" F
" b& _4 R8 S8 Z. r: G( ]$ @2 z" r
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
# w0 X4 B0 Z$ V# p! G) D* c' v4 d; _$ s+ _
" ^+ ^0 s7 K" I; {第三步:中断
6 l4 H* \5 q8 E
/ X" \8 D1 N6 g5 I p) }9 i 单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没# Q1 C5 [% l* o+ y, l
# \# P! c, A% y+ K% [1 Q/ @有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的/ n) ?0 t( F5 Y8 b! T( I
* O: ~' J) _- h3 s
下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功
! ?7 L! T$ K# m* k2 s& a+ v( m0 J9 r: `+ P6 l1 Q% v( y
能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行6 t& A8 r4 l1 q
$ r$ f. I0 b2 p0 H4 l. ] `; m正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候, k/ X1 |8 J" |' @
! F" U$ _) r% z1 u: y允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么- f; I! \1 l5 e2 B
" V8 d, `6 G+ j/ f
,中断完成后,程序应该干什么等等 。
( B% q! e( o) s1 ], g5 Q! ~: Y3 s* R) @0 }' c% j" ?3 b
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视/ i n/ p. i; ]4 H1 _
2 e. d7 X% w( ?的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能
, g- P1 w( F% {8 B" P/ n, B
6 g/ f, ?( s7 W- X( U使单片机具有吃着碗里的,看着锅里的功能。
. D' S0 Q* u% q0 Q& U3 O
( E; k, h6 ]# q( g 以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。 4 F q+ Q& [9 G) V6 u; N4 ]' M7 a
, _8 A' Z, s( c- u* p
第四步:与PC机进行RS232通信
. T( m. d$ ~# \8 p! T; p* Y3 A; p1 j# p
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接/ d8 y3 S m3 J* c" @, X. p; v
# }/ x# U g% X- L0 K
与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。+ o2 ]2 D8 s! N: [: i m
5 O0 `0 k# ]8 t/ U! x, _
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并
) x) w R2 N$ `4 e; W: P8 W: ]7 \# i4 y
不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口
. v3 F* E1 \; [, w/ S/ h' R% t" ~- s; U& J( b0 \3 ] K0 ]
编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验
" K$ y% s6 b0 _9 y5 L) x/ m4 W, l4 n; ^% E( ]0 f
板上得到显示,将是多么有意思的事情啊! $ B5 }6 g+ W0 r9 d
( Z4 y; C {) [, U" {. c0 F% l
第五步:学会A/D转换 9 I: V9 D3 O2 H
2 I6 ^ [) R) G MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测
9 K7 I! g' g. j9 {' R8 @" q& G: S
电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
0 B5 |8 |( A% Z- l- X$ y' ] 使用A/D转换功能的简单的例子是设计一个电压表。
$ u+ M% o$ t0 F. t) L. |1 H1 x; ~- p; ~. n$ A6 d# J
第六步:学会PCI、I2C接口和液晶显示器接口 8 W. u! j4 | C9 F
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。$ v4 R4 }9 d D) J2 `3 L) z
8 S W9 F5 B( d2 p! o' g, u5 z- l
第七步:学会比较、捕捉、PWM功能
0 ^4 @5 F( `2 k5 w 这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。 8 [. Z7 H" v% P1 S: T: z
2 i* [& C0 L, N Z, V
如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。% v( F+ n3 q5 t0 L
- x; ~+ Q2 Y! {/ @1 o第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计
$ x9 y! b l6 ^' h6 }& y {1 Y
$ P1 J- j% B" j- K/ R( f* ~# ^ 学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发
c2 @. B+ R+ @, g, k! w% }" k, L5 y8 E) c/ C' V9 V
的发展方向。
1 v4 T# ]+ k' B3 m( |. t9 e( o |