EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程,如图1所示。
2 R3 Q. s7 ]2 H/ x w. x
1 v& ] W+ N9 u
5 F0 c& m" u! H, T5 P
8 m- [+ b$ x% e( L
$ N4 D# f! Y% k& M0 Z" ~(1)明确任务 " U; r- t. b9 | K% H. p
分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维护性及产品的成本等因素,制定出可行的性能指标。 1 [" y2 S, a9 L8 O' m& o- W; I
(2)划分软、硬件功能 9 ~; g" i+ z% ^/ o" P) c0 M5 [
单片机系统由软件和硬件两部分组成。在应用系统中,有些功能既可由硬件来实现,也可以用软件来完成。硬件的使用可以提高系统的实时性和可靠性;使用软件实现,可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。
- ^! Q9 W! t N) A8 d" d(3)确定希望使用的单片机及其他关键部件
1 e# _ Q( W8 x( V3 }根据硬件设计任务,选择能够满足系统需求并且性价比高的单片机及其他关键器件,如A/D、D/A转换器、传感器、放大器等,这些器件需要满足系统精度、速度以及可靠性等方面的要求。
3 b( F8 L S7 Q" H0 G. [+ J! u(4)硬件设计
, X: g( z' X J% ^3 C根据总体设计要求,以及选定的单片机及关键器件,利用protel等软件设计出应用系统的电路原理图。 0 H$ Q O- @! { {& {5 y
(5)软件设计
; K7 ~0 \: h" g$ f; j* ]' A在系统整体设计和硬件设计的基础上,确定软件系统的程序结构并划分功能模块,然后进行各模块程序设计。 / W# Z5 ~4 ^+ a
单片机程序设计语言可分为三类: ) c C7 _' q2 q- S0 Z% x$ R
➢ 机器语言 :又称为二进制目标代码,是CPU硬件唯一能够直接识别的语言(在设计CPU时就已经确定其代码的含义)。人们要计算机所执行的所有操作,最终都必须转换成为相应的机器语言由CPU识别、控制执行。CPU系列不同,其机器语言代码的含义也不尽相同。
M& f; H7 M. ~. o Z➢ 汇编语言 :由于机器语言必须转换为二进制代码描述,不便于记忆、使用和直接编写程序,为此产生了与机器语言相对应的汇编语言。用汇编语言编写的程序执行速度快,占用存储单元少,效率高。 # ]( i2 ?8 D7 q8 W+ a1 F2 v* R7 }7 j
➢ 高级语言 :高级语言具有很好的可读性,使程序的编写和操作都十分方便,目前广泛使用的高级语言是C51。
0 X" }) T" g7 t1 F! V$ u汇编语言和高级语言都必须被翻译成机器语言之后才能被CPU识别。
" ]- Z* ]% W' x: E5 Q(6)仿真调试
- p: s" t, K2 U9 o软件和硬件设计结束后,需要进行进行进入两者的整合调试阶段。为避免浪费资源,在生成实际电路板之前,可以利用Keil C51和Proteus软件进行系统仿真,出现问题可以及时修改。 % {$ R/ \, P; ~7 j
(7)系统调试 ; K l2 w" d+ R2 A$ o8 t* o% M
完成系统仿真后,利用Protel等绘图软件,根据电路原理图绘制PCB(Printed Circuit Board)印刷电路板图,然后将PCB图交给相关厂商生产电路板。拿到电路板后,为便于更换器件和修改电路,可首先在电路板上焊接所需芯片插座,并利用编程器将程序写入单片机。
6 M9 y+ u8 [* A2 }' ?% R& O接下来将单片机及其他芯片插到相应的芯片插座中,接通电源及其他输入、输出设备,进行系统联调,直至调试成功。
" s U5 S) m' n/ ^2 n8 a2 f, [(8)测试修改、用户试用
& R1 X* z5 t8 v! D' E* m经测试检验符合要求后,将系统交给用户试用,对于出现的实际问题进行修改完善,系统开发完成。 , l/ K2 j; D6 O2 l5 @$ o
, X' L8 P' I( g ; N; B& H( y- F
/ k& o9 }3 `6 R- C7 ~' `
|