EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我对单片机的理解+ K M2 X5 A l; k$ k5 j3 T- p6 C
' S% f3 r/ |$ ?, V, K
单片机,single chip microcomputer,单芯片微型计算机。总体来说,他就是一个芯片。但是他是一个特殊的芯片,因为他不是实现单独的逻辑功能。他是将一个整体的计算机系统集成到这个芯片上。这个计算机系统包括运算器,控制器,存储器,输入设备和输出设备。+ a- Y7 i1 [' Y# a- U! I& G' B
其实单片机的学习,和计算机的学习差别不是太大。包括运算器,控制器,存储器,以及输入输出设备的学习。' `" ?6 _, Y7 V. u: v
运算器
5 K; i. `2 B3 d* O8 ^$ A0 m运算器由运算部件--算术逻辑单元(alu)、累加器、计算器等部件组成。; p' j# a2 a- a/ ?5 I9 I
控制器
7 k o+ a4 ?6 ]6 j$ _$ e学习的难点在于涉及到指令方面的操作。控制器由程序计数器,指令寄存器,指令译码器,时序发生器和操作控制器。 ; k4 a3 a% S$ A% ]6 h
单片机的开发过程: 3 c" o. q/ l3 ^; x5 B
- p8 ]' e8 L5 {0 { k; W
这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,2 a1 q# R* ^# \+ L- L
2 _4 j+ |+ E8 V) R4 |* ^+ D) k
; d9 X: m1 U6 P其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。
+ r, ?; P7 P2 A- H5 N, d
+ X, |; G! M( c. n" B4 E
2 M) T( A5 z( h& S4 D% z6 _! Y- }% Q$ W ?
开发语言的选择9 r8 f! a# E& t( k* S4 g {
" R- I5 `7 E: v, c# d+ H
9 k9 m3 r& d1 h$ m# w; E
目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者,因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的。单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在
" i- p" I( H$ z, O+ c h台式PC上写程序,毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。还有就是在单片机编程中C语言虽然编程方便,便于人们阅读,但是在执行效率上是要比汇编语言低10%到20%,所以用什么语言编写程序是要看具体用在什么场合下。总的来说做单片机编程要灵活使用汇编语言与C语言,让单片机的强大功能以最高是效率展示给用户。4 e2 [# @5 u+ H. P6 G' \
常用的单片机类型
. t/ S( o, n5 B# H% w7 Q$ Y ' h9 b4 o) U0 W$ K7 q
6 X* s5 i1 j' d; ]8 y" {3 v
|