单片机上电后,如果晶振正常起震的话,cpu就会在晶振的驱动下开始工作,cpu的工作就是在每个机器周期到指定的地方提取指令,然后解析并执行,51单片机只有一个时钟源所以51单片机永远只能以一种时钟频率工作,单片机一上电单片机的频率就固定了不能更改了,上电后单片机就以固定的频率开始工作了,因此51单片机也没有配置系统时钟的寄存器,stm32等高级单片机就不一样了,这种单片机有多个时钟源,上电后单片机以某种固定的时钟频率开始工作,到指定的地址提取指令,然后解析并执行,在后面的程序中可以更改系统的工作时钟与工作频率,
除非是没有晶振提供时钟,或者是系统没有上电,否则cpu是不可能停止工作的,cpu的任务就是不停的提取指令,然后解析并执行,而且单片机在我们下载程序之前,就已经有程序了,出厂之前厂家就已经下载了一部分程序在单片机里面。单片机上电之后就会先执行这部分程序。例如:stm32系统存储器中的用于ISP串口下载的bootloard程序,这段代码的任务是与下载器通讯将用户写得代码下载到指定地方。
stm32上电后可能在三个不同的地址开始提取指令并解析执行,
一:用户FLASH;里面装载的是用户下载的程序,如果没有程序或者程序不正确,单片机将会跑飞,
二:系统存储器:里面出厂前下载了用于ISP串口下载的bootloard程序,这段代码的任务是与下载器通讯将用户写得代码下载到指定地方。如果这部分代码被破坏这个单片机将再也不能通过串口下载程序了。
三:片上内存SRAM;内存中的代码是掉电不保存的,如果从这里启动, 单片机将会跑飞 因为复位后的内存里面存的都是111111,cpu不认识这些是什么意思。
关键字:单片机 上电 运行
引用地址:
单片机上电后内部发生的事情
推荐阅读最新更新时间:2024-03-16 15:36
用51单片机控制两相四线步进电机
最近学习步进电机的驱动原理,照着教材自己实践了一下用ULN2003驱动28BYJ-48两相5线步进电机,可以正常转动。手头有一个旧光驱,拆开发现里面有三个电机,其中有一个控制激光头寻迹的两相四线步进电机,我就用51的单片机让它也转起来。一开始照葫芦画瓢用ULN2003驱动,结果发现无论如何也不行。原来ULN2003基本没输出电流,只能驱动有公共端的两相五线、两相六线步进电机,不能驱动2相4线步进电机。然后改用L293D驱动,可以转动。通过按钮控制正反转时发现,按键释放后,电机迅速发热,烫手。用万用表测量,发现电机A,A-或B,B-直接存在电位差!应该是按键释放时,IN1-IN4没有归零。找到问题,就容易解决了。修改程序,可以完美运
[单片机]
芯海单片机用CS5817芯片控制16位数码管
;============================================ ; filename: 5817驱动led数码管.asm ; chip : csu1181b ; author : ; date : 2012-07-31 ;============================================ include csu1181b.inc ;============================================ ; program start ;============================================ SDA EQU 80H or
[单片机]
MAXQ3120 混合信号微控制器的应用案例
监视系统的设计者和厂商一直希望微控制器能够为日常监视应用提供不断增加的通用功能,包括满足用电计量、汽车监控、数据搜集和传感器调节等方面的要求。maxq3120 就是为了满足这些要求而开发的低功耗、高速微控制器。它的主要技术规范如下。 监视系统的设计者和厂商一直希望微控制器能够为日常监视应用提供不断增加的通用功能,包括满足用电计量、汽车监控、数据搜集和传感器调节等方面的要求。maxq3120 就是为了满足这些要求而开发的低功耗、高速微控制器。它的主要技术规范如下。 •16 位、每秒8 百万条指令(8mips)、单周期risk 核 •32kb 闪存(flash 存储器) • 512b ram •具有独立波特率产生器的
[应用]
基于stc51单片机的PS\2键盘通信程序
PS2键盘通信(只写了接收部分因为按键码太多译码可以根据需要选择性翻译) #include //STC12C5AxxS2系列单片机头文件 #include//包函_nop_延时函数的头文件 #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 //------------------------------------------------------------------------------------- //全局声明部分 sbit CLK=P3^2; //时钟线 sbit DATA=P1^0; //数据线 sbit LED_zs=P0^0; //运
[单片机]
AVR128单片机最小系统串口,外部中断,跑马灯,uCOS-II移植
实验名称:串口通信实验 功能描述:计算机通过串口向开发板发送数据,开发板将数据原样送回。 实验目的:学习串口通信 实验说明:MCU--M128 内部8M晶振 连接方式:利用串口线将开发板和计算机相连。 单片机源程序如下: /************************************************ 文件:sio.c 用途:结构化串口通信程序 ************************************************/ #include config.h #if USEUART0 siocirqueue RTbuf_UART0; #endif #if USEUART1
[单片机]
基于单片机的电流比任意可调并联电源设计与实现
为了满足大负载功率的要求,电源系统往往需要用若干台开关电源并联 供电。而且在实际应用中,常常存在两个并联电源功率不同、不能平均分摊电流的情况,这就要求功率高的电源模块分担更大的电流的情况。因此有必要采取一种有效的分流控制方案,以保证整个电源系统的输出电流按各个单元模块的输出能力分担,这样既能充分发挥单元电源模块的输出能力,又能保证每个单元电源的工作可靠性 。基于灵活性需求,将单片机运用于开关电源并联分流控制就显得十分必要。本文在并联电源系统主从设置法均流技术 的基础上,设计了一种基于单片机的半智能型并联电源系统,其中的单片机模块可以实时监控各模块的分流情况,并通过人机对话端口实现对并联电源系统分流比的任意可调,极大地拓宽了
[电源管理]
CC2530芯片的主要特性以及它的应用领域
CC2530(无线片上系统单片机)是用于IEEE802.15.4,ZigBee和RF4CE应用的一个真正的片上系统解决方案,它能够以非常低的成本建立起一个强大的无线网络。并且CC530还结合了领先的2.4GHz的RF收发器的优良性能,是业界标准的增强型的8051单片机,所以如果了解过51单片机,要入门CC2530也是很简单的。芯片引脚图如下: 根据芯片内置闪存的容量不容,可以分为四个类型:CC2530F32/64/128/256。编号后缀分别代表:具有32KB/64KB/128KB/256KB的闪存。 CC2530芯片主要特性 1、高性能、低功耗且具有代码预取功能的8051微控制器内核 2、符合2.4GHz IEEE802.1
[单片机]