导航:首页 > 操作系统 > 单片机的运行程序

单片机的运行程序

发布时间:2022-08-23 06:57:43

单片机如何运行程序的

你只要把程序下载到单片机里,上电它会自己运行的。

⑵ 单片机定时计数器程序运行过程

程序运行到这里就死循环了,
while
(1)
{
led2
=
0;
}
后边的代码是无缘运行的。
程序运行首先从地址0000H开始,跳转到主程序入口也就是main()那里开始,所以真正有意义的运行第一条是:

=
0x01;
依次往下执行,到TR0=1;开始定时器开始计数,根据你的赋值,计数到50000之后,定时器0溢出,开始申请中断,进入中断服务程序
void
intt0()
interrupt
1
using
2
执行完中断后返回到主程序,你现在的情况是在while(1)那个死循环之中。
你说的那个while(1)后边的{
}里边的程序在执行完TR0=1之后就执行了,并一直在执行到中断开始。中断结束后又一直执行下去,一直反复如此。

⑶ 51单片机执行程序的过程

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。
下面我们将举个实例来说明指令的执行过程:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取

出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。
例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,

0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:
1 程序计数器的内容(这时是0000H)送到地址寄存器;

2 程序计数器的内容自动加1(变为0001H);
3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;
4 CPU使读控制线有效;

5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。
至此,取指阶段完成,进入译码分析和执行指令阶段。
由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC=0002H,PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。

⑷ 单片机上电后程序从哪开始执行

1、单片机上电后程序从0000H开始执行。
2、如果是用C51编程,不用指定语句的地址。编译后编译器会给你自动安排地址。
3、如果用汇编语言编程,应该指定第一条语句的地址是0000H,然后在0000H处写一条跳转指令,跳到你的主程序处。
4、至于startup.a51中的内容,不同的编译器应该不一样,但和你的程序制定的第一条语句的地址是0000H不会矛盾。
5、编译后产生的.HEX文件代码,在烧写时要从0000H地址开始烧写。

⑸ 求教:单片机怎么同时运行几个程序啊

你说的是状态机。你可以立一个flag表示模式,模式一,模式二,模式三,这样循环运行,那你可能要问了,我每个模式程序的有延时怎么办?
这时可以用定时器,定时器flag时间到了,主程序判断运行某一个模式的下一步。
又或者你是比较简单的程序不用定时器,比如电机,每4S开关,蜂鸣器每2S开关,取你最小的延时时间。那么程序只需要放一个2S延时对应的flag,flag%1==0,蜂鸣器开关,flag%2==0,电机开关。

⑹ 单片机上电后如何运行

单片机上电后的流程:
第一步,硬件晶振起振(有内部rc振荡的,一般是先启动rc,然后待稳定后切换到晶振),这一步需要1-10ms.
第二步,硬件复位脚复位,如果采用rc复位,这个时间约为2-50ms,这个时间与rc的时间常数有关。如果是专门的复位芯片,则以芯片的时间为准。
第三步,单片机本身初始化,pc指针按向量表执行,然后跳转到指定程序位置。这个时间比较短一般少于1ms
第四步,软件初始化,清ram,设定寄存器等用户程序。这个时间也比较短,少于1ms。
第五步,执行数据发送,如果有按键的,还需要检测按键。数据发送也需要有点时间。这个时间看软件如何写的。有快有慢。同时和单片机的晶振速度有也关
最后pt2262这个芯片,也有复位时间,还有数据发送的前期等待时间等。需要看芯片资料才知道。
所以,延时100ms以内,基本上不会太多。如你所说延时1s,估计有点多。你可以用老波器把各个段的时间全部抓出来分析。

⑺ 什么程序是单片机能够直接执行的程序

只有 ROM 中的机器语言程序,才是单片机能够直接执行的。

⑻ 单片机能够直接运行的程序是

存在于 ROM 中的,机器语言程序。

⑼ 单片机的运行方法是什么呀

如果让单片机运行起来需要两个条件:硬件平台和程序代码。
硬件平台可以动手搭建一个最简51系统,也可以网上买块实验板,这就是硬件的准备。
程序代码至少要有C语言编写技能和学会一款编写程序的软件。
1、编写C语言程序
2、编译成单片机识别语言
3、如果编译通过,接下来就需要调试运行,单片机工作状况是否是自己预期的。
4、如果调试通过,下载程序到单片机
5、下载成功,正常运行

⑽ 单片机运行的程序是RAM中的还是RoM中的

常规上ROM是用来存储固化程序的,RAM是用来存放数据的。由于FLASH ROM比普通的ROM读写速度快,擦写方便,一般用来存储用户程序和需要永久保存的数据。譬如说,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的。电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后再采集下一次,因此这些值就没必要永久存储,就把它放在RAM里边。然而计算完的电度,是需要永久保存的,单片机会定时或者在停电的瞬间将电度数存入到FLASH里。
罗素了这么多,不知道楼主看明白了没有。

阅读全文

与单片机的运行程序相关的资料

热点内容
vc6查看编译的错误 浏览:595
心理大全pdf 浏览:1002
区域链加密币怎么样 浏览:341
查找命令符 浏览:95
压缩工具zar 浏览:735
白盘怎么解压 浏览:474
辰语程序员学习笔记 浏览:47
程序员被公司劝退 浏览:523
java三子棋 浏览:692
加密空间怎么强制进入 浏览:345
ug分割曲线命令 浏览:209
学码思程序员 浏览:609
自考云学习app为什么登不上 浏览:410
domcer服务器昼夜更替怎么搞 浏览:436
plc和单片机哪个好 浏览:535
帝国神话组建云服务器 浏览:827
邓散木pdf 浏览:199
方舟怎么直连服务器图片教程 浏览:563
假相pdf 浏览:336
找对象找程序员怎么找 浏览:976