EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我对单片机的理解
: z8 ?4 s, C7 ]) L2 a4 t: A* _* r! \3 y3 C9 R; r1 h
单片机,single chip microcomputer,单芯片微型计算机。总体来说,他就是一个芯片。但是他是一个特殊的芯片,因为他不是实现单独的逻辑功能。他是将一个整体的计算机系统集成到这个芯片上。这个计算机系统包括运算器,控制器,存储器,输入设备和输出设备。; G0 T8 {- j4 J
其实单片机的学习,和计算机的学习差别不是太大。包括运算器,控制器,存储器,以及输入输出设备的学习。6 Q1 t* L4 t! e% S; ~- S- F# x0 _
运算器& ~* T# q: Y- Z$ U6 M# Z% }
运算器由运算部件--算术逻辑单元(alu)、累加器、计算器等部件组成。: ?/ @% e3 I* S4 T# T: E
控制器
S1 j2 S" W8 x) h) q学习的难点在于涉及到指令方面的操作。控制器由程序计数器,指令寄存器,指令译码器,时序发生器和操作控制器。 ) [% W- u5 m; X) O. h! f
单片机的开发过程:
% L N# u! m0 q- ]$ }+ s
$ R/ \7 X/ `! \; G6 A 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,; Z/ ^* _+ X! ?5 m0 E
6 i5 h' _5 A( I
' k/ ^$ ~1 c, U3 \1 N' r其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。
" _& d8 R( ^+ z4 o/ k! a( C: N# \8 W+ P
' w3 o: o( ^ O! B2 t
/ H4 K1 r: R( \' q! O7 Y0 j开发语言的选择' z. E3 n- H5 b& t
: @- Y. T% e( @6 U
! s- p. p( h) |. T# b$ h
目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者,因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的。单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在( D6 h. W- e7 |5 N% I
台式PC上写程序,毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。还有就是在单片机编程中C语言虽然编程方便,便于人们阅读,但是在执行效率上是要比汇编语言低10%到20%,所以用什么语言编写程序是要看具体用在什么场合下。总的来说做单片机编程要灵活使用汇编语言与C语言,让单片机的强大功能以最高是效率展示给用户。
8 V8 C* s6 v! S1 q常用的单片机类型
3 p2 M9 r2 t V- ?0 b% \1 @8 { 1 m% r0 a1 M' P/ F( G) s3 g
# l( q; M1 l9 X( e# E |