
单片机由运算器、控制器、存储器、输入输出设备构成。
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种 *** 作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本 *** 作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。
下载程序到单片机需要下载软件和下载线。下载软件一般都是ISP的 网上有很多的 使用的下载线是并口的 需要主机上有并口才可以使用。还有串口的下载线,那个ISP的软件一样可以支持串口下载。现在还有USB口的下载方式。但是,其稳定性是依次降低的。USB的是最差的,串口剧中,并口最好。
单片机里如果有程序,那么,当单片机上电复位后,在晶振正常,电压正常的情况下,单片机就会开始工作了。不需要由人启动它。
最后这个问题让我有点无语了。一个单片机里不可能有多段完全独立的程序。单片机里的程序只有主程序和子程序之分。主程序是有且只有一个的。其他子程序都在主程序的调用下共同完成工作。所以,按照你所说的,其实就是几段子程序。比如一个数字钟里面,有显示子程序、按键检测子程序、闹钟子程序、中断计时子程序等。互不相干的子程序都是由主程序调用的。可以是在主程序中编写好执行的顺序,或是通过按键进行控制。按键的控制就是检测相应端口的电平状态,然后根据电平的状态转到相应的子程序。这个不是很难。
学习单片机不是一撮而就的事,需要慢慢来。任何一个高手都是由菜鸟开始的。加油!
和PLC类似循环扫描执行?孩子,你学反了,你该先学单片机再学PLC。单片机是PLC的底层核心,PLC比为汽车的话 单片机就是汽车的发动机。单片机语言的 *** 作码和 *** 作数相当于英文字母,PLC的语言相当于是拿句子组合文章。至于循环的问题,单片机没有限制啊,自由的很,你爱编程循环就循环,不过一个实用程序除了循环你还能需要其他的运行方式吗?
单片机里的程序是从main函数开始执;一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main()
函数”,也就是“主函数”。比如有个“做菜”程序,那么“
做菜
”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
while{}是一个死循环,然后定时器要先设定定时时长。程序在死循环里跑然后每当定时时间到的时候就中断来处理定时器的程序,同时重新更改定时值。然后跳出中断再回到主程序while{}中中断的位置继续执行。如此往复!
要运行Keil编写的程序,首先应该将程序编译,然后下载到单片机中,最后通过烧录器将程序烧录到单片机中,即可运行程序。
拓展:Keil的编译器支持C、C++以及汇编语言,用户可以通过编译器将程序编译成目标文件,并下载到单片机中,最后通过烧录器将目标文件烧录到单片机中,从而实现程序的运行。
以上就是关于单片机的工作原理是什么全部的内容,包括:单片机的工作原理是什么、单片机是怎么实现程序调用的、请问51单片机执行程序时是怎么执行的,我感觉是和PLC类似,循环扫描执行(如果主程序中没有死循环的话)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)