STC单片机时钟复位和电源模式原理及实现
stc15单片机工作原理

stc15单片机工作原理
STC15单片机是一款基于8051核心的单片机,具有丰富的外
设资源和强大的功能。
STC15单片机的工作原理是通过上电后,首先执行内部的复
位程序,将单片机的各个寄存器初始化为默认值。
然后,根据程序的设计和设置,单片机开始执行程序。
在程序执行的过程中,单片机会根据指令寄存器中的指令,逐条执行相应的操作。
这些操作可以包括数据的存取、算术运算、逻辑运算、控制流程等等。
单片机还可以通过引脚和外部设备进行通信。
例如,通过I/O
口与外部电路连接,实现数据的输入和输出。
通过串口通信模块与其他设备进行数据的传输。
通过定时器和计数器模块实现定时和计数等功能。
通过ADC模块实现模拟信号的采集等等。
单片机的工作原理是通过不断执行指令,控制各个硬件资源的工作,完成预定的任务。
程序设计的好坏可以直接影响单片机的工作效果和性能。
总的来说,STC15单片机的工作原理是通过执行程序,控制
硬件资源的工作,实现预定的功能。
STC单片机软复位

因学习需要,本人从网上整理了一些STC单片机不断电程序下载的方法,拿出来分享一下。
stc单片机isp实现原理如下:stc单片机每次上电复位后首先执行isp引导程序,如果串口检测到合法的数据流,则进行isp程序下载;串口没有检测的合法的数据流,则跳出isp程序,执行用户程序。
正常情况下,stc单片机只有在上电复位时才执行isp引导程序,其它复位(看门狗复位、rst引脚复位)则直接执行用户程序。
通过阅读stc单片机手册发现,在用户程序运行时,利用软件复位方式,可以让stc单片机复位后从isp引导程序处运行,利用该特性,可以模拟stc单片机上电复位状态,实现不断电程序下载。
STC单片机有热启动和冷启动两种复位形式。
两种复位方式区别如下:用户应用程序在运行过程中,有时会有特殊需求,需要实现单片机系统复位(热启动之一),传统的8051单片机由于硬件上未支持此功能,用户必须用软件模拟实现,实现起来较麻烦。
STC单片机增加了相应的硬件功能,内部的ISP/IAP控制寄存器ISP_CONTR便可以实现此功能。
用户只需简单的控制ISP_CONTR特殊功能寄存器的其中两位SWBS和SWRST就可以实现系统复位。
ISP/IAP控制寄存器(ISP_CONTR)STC单片机ISP/IAP控制寄存器在特殊功能寄存器中的字节地址为E7H,不能位寻址,该寄存器用来管理和ISP/IAP相关的功能设定及是否软件复位等。
单片机复位时该寄存器全部被清0。
其各位的定义如表4.3.1所示。
表1 ISP/IAP控制寄存器(ISP_CONTR)ISPEN:ISP/IAP 功能允许位。
0:禁止ISP/IAP编程改变Flash。
1:允许编程改变Flash。
SWBS:软件选择从用户应用程序区启动(0),还是从ISP程序区启动(1)。
要与SWRST直接配合才可以实现。
SWRST:0:不操作;1:产生软件系统复位,硬件自动清零。
WT2、WT1、WT0:ISP/IAP编程时设定CPU等待的最长时间。
单片机复位电路原理以及复位后各寄存器的状态

单片机复位电路原理以及复位后各寄存器的状态
单片机复位电路原理以及复位后各寄存器的状态
关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。
单片机复位电路原理是在单片机的复位引脚rst 上外接电阻和电容,实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由rc电路计算出时间常数。
单片机复位后各寄存器的状态
A=00H,表明累加器已被清零;PSW=00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;IP=×××00000B,表明各个中断源处于低优先级;IE=0××00000B,表明各个中断均被关断;。
(完整)基于STC单片机的电子时钟毕业设计(DOC)

电子时钟[摘要] 本设计是基于STC单片机的电子时钟技术,由STC12C5A16S2芯片和LCD1602液晶显示屏,DS18B20进行温度测量,辅以必要的的电路,构成一个单片机定时闹钟。
电子钟可采用数字电路实现,也可以采用单片机来完成.LCD显示“时”,“分”,LED闪动来做秒计数,定时时间到能发出警报声或者启动继电器,从而控制电器的启停。
现在是自动化高度发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持。
在这次设计中主要是用STC12C5A16S2来进行定时,也结合着其他辅助电路实施控制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分钟加一;到达预设的时间,此电路就会发出报警声音提示已经到点。
[关键词] 定时闹钟STC12C5A16S2 LCD1602Time clock[Abstract] The regular alarm clock designers design, by the microcontroller STC12C5A16S2 chip and LCD1602 display、 DS18B20 , combined with the necessary circuitry to form a single—chip timer alarm clock. Clock can be digital circuit,the microcontroller can also be used to complete。
LCD display "when”, "sub”,LED flash to do the second count, regular time to be able to sound an alarm or start relay to control the electrical start and stop. Now is the era of highly developed automation, especially electronic products are relying on the internal control circuitry to achieve control of the product to achieve the purpose of automatic operation, which requires us to do the design of electrical components and circuits to support 。
第11章 STC计数器和定时器原理及实现(1)

计数器/定时器模块
--概述
定时器/计数器T0和T1
通过特殊功能寄存器TMOD相对应的控制位C/T,确定T0/T1工作 在定时器还是计数器模式。
定时器/计数器T2
通过特殊功能寄存器AUXR中相对应的控制位T2_C/T,确定T2 工作在定时器还是计数器模式。
计数器/定时器模块
--概述
定时器/计数器T3
功能 不启动定时器
启动定时器 不启动定时器
启动定时器 不启动定时器 不启动定时器 不启动定时器
启动定时器
计数器/定时器工作模式原理和实现
--定时器/计数器0工作模式
AUXR.7/T0x12比特位
当该位为0时,通过开关将SYSclk/12后得到的时钟接入到定时器/计数器0 中;当该位为1时,通过开关将SYSclk直接接入到定时器/计数器0中。
区别在于计数脉冲来源不同:
如果计数脉冲来自单片机内的系统时钟,则为定时方式,定时器/计 数器每12个时钟或者1个时钟就得到一个计数脉冲,计数值加1。
如果计数脉冲来自单片机外部引脚,则为计数方式,当每接收到一 个外部的脉冲时,计数值加1。
计数器/定时器模块
--概述
定时器/计数器0有4种工作模式(不要死背,从结构分析)
定时器/计数器2工作模式
定时器/计数器2只有16位自动重加载模式
定时器/计数器3工作模式
定时器/计数器3只有16位自动重加载模式
计数器/定时器工作模式原理和实现
--定时器/计数器4工作模式
定时器/计数器4只有16位自动重加载模式
通过特殊功能寄存器T4T3M中相对应的控制位T3_C/T,确定 T3工作在定时器/计数器模式。
定时器/计数器T4
通过特殊功能寄存器T4T3M中相对应的控制位T4_C/T,确定 T4工作在定时器/计数器模式。
第2章STC系列单片机的结构与原理全

SS
SPI同步串行接口的从机选择信号端
P1.4
CCP1
PCA模块1的外部捕获触发信号输入、脉 冲输出及PWM输出
P1.5
MISO
SPI同步串行接口的主入从出(主器件的 输入和从器件的输出)
P1.6
MOSI
SPI同步串行接口的主出从入(主器件的 输出和从器件的输入)
P1.7
SCLK
SPI同步串行接口的时钟信号
P3.1 TxD
P3.2
INT 0
P3.3
INT1
T0
P3.4 CLKOUT0
INT T1
P3.5 CLKOUT1
INT
P3.6
WR
P3.7
RD
功能
串行口1数据接收端 串行口1数据发送端 外部中断0触发端,低电平或下降沿有效 外部中断1触发端,低电平或下降沿有效 定时/计数器T0工作在计数状态时外部信号输入端 时钟输出端 T0外部引脚下降沿触发中断 定时/计数器T1工作在计数状态时外部信号输入端 时钟输出端 T1外部引脚下降沿触发中断
• (3)VCC:电源正极。 • (4)GND:电源负极
19
2.4程序状态字寄存器
• 程序状态字寄存器PSW
D7 D6 D5 D4 D3 D2 D1 D0
CY AC F0 RS1 RS0 OV F1 P
C当C当位A在有YY运运时O在超表C—=执进P用A偶算算,—V1执出示——行位寄—;于数结结—C行溢8进—加或存—位记 则Y果 果辅加 出位奇法 借器溢有=录清的的助法,或用0偶或位中出符A零最最。进或O借户校减,寄1标号。高高位V的减位标验法则存志置数只位位标个法标识标指A器位1表要产没志数,运志C位志令中。示A生有位置为否算位0R位时1寄的择进产。位奇的S则时。。,存范1位生,数个O,、若器围,或进工V否,数若RD中清-用者位作则1S则的运3的零20位来借或寄A奇P8算:数。C-置向选位者存偶的寄清据+位D择时借器性结存1零4发,2当,组位。果用器。7生为前,若户组改的标选识位1 变,就会影响奇偶校验位P。
第 章 STC单片机时钟 复位和电源模式原理及实现

注:在STC-ISP软件中推荐选择“低电压时禁止EEPROM操作”前面的复选框。 下面给出与低压检测有关的电源控制寄存器PCON。该寄存器在特 殊功能寄存器地址为0x87H的位置,当上电复位后该寄存器的值为 00110000。
比特 B7
B6
B5
B4
B3
B2
B1
B0
名字
SMOD
SMOD 0
在低压检测复位结束后,不影响特殊功能寄存器IAP_CONTR中 的 SWBS/IAP_CONTR.6 位 的 值 , 单 片 机 根 据 复 位 前 SWBS/IAP_CONTR.6的值选择从用户应用程序区启动,还是从 系统监控区启动。
STC单片机复位
-- 内部低压检测复位
对于5V和3V供电的单片机都提供了内置8级可选的内部低电压 检测门限电压。对于宽电压供电的STC单片机来说,内置了16级可 选的内部低电压检测门限电压值。用户可以根据工作频率和供电电 压,选择合理的门限电压。典型地: 对于5V供电的单片机来说,常温下工作频率大于20MHz时,可
P47=0;
//P4.7置低,灯亮
for(j=0;j<999999;j++);
//软件延迟
IAP_CONTR=0x60;
//软件复位指令
}
注:读者可以进入本书所提供资料的stc_program_example\例子18-2目录下, 打开并参考该设计。
STC单片机复位
--掉电/上电复位
当电源电压VCC低于掉电复位/上电复位检测门限电压时,将单 片机内的所有电路复位。该复位属于冷启动复位的一种。当内部 VCC电压高于掉电复位/上电复位检测门限电压后,延迟32768个时 钟后结束掉电/上电复位过程。当该过程结束后,单片机将特殊功能 寄存器IAP_CONTR中的SWBS/IAP_CONTR.6位置1,同时从系统 ISP监控区启动程序。
第6章STC15F2K60S2单片机定时器及可编程时钟输出《单片机原理及应用》

第6章STC15F2K60S2单片机定时器及可编程时钟输出《单片机原理及应用》本文介绍了STC15F2K60S2单片机的定时器和可编程时钟输出功能。
单片机定时器是单片机中常用的功能模块之一,可以用于定时、计时、延时等应用。
STC15F2K60S2单片机具有多个定时器,包括定时/计时器的选择,工作模式的设置,定时器中断的配置等。
另外,该单片机还具备可编程时钟输出功能,可以用于生成各种频率的时钟信号。
一、STC15F2K60S2单片机定时器概述STC15F2K60S2是一款杰出的8051内核单片机,它具有多种功能和丰富的接口资源,适用于各种应用场景。
定时器是其中一个重要的功能模块,可以用于实现各种定时任务,例如周期性的数据采集、定时触发等。
STC15F2K60S2单片机具有4个定时器,分别为T0、T1、T2和T3。
每个定时器又分为两个独立的计时/定时模块,通常称之为T0高速定时器和T0低速定时器等。
这些定时器的工作频率由系统时钟频率决定,可以通过定时器控制寄存器来设置时钟来源和分频系数。
二、STC15F2K60S2单片机定时器的工作模式定时器有多种工作模式可供选择,常用的有定时器模式和计数器模式。
定时器模式主要用于实现定时功能,可以根据需求设置定时时长和触发条件。
计数器模式主要用于计数功能,可以将外部事件转换为内部计数脉冲,用于测量时间间隔或者脉冲频率。
STC15F2K60S2单片机定时器的工作模式可以通过相关的寄存器位进行配置。
例如,可以通过T2CON寄存器的T2M0和T2M1位来选择定时器2的工作模式,可以选择定时器模式、16位自动重载模式、13位同步计数器模式,或者外部事件计数器模式。
三、STC15F2K60S2单片机定时器中断的配置定时器中断是使用定时器功能的常用方法之一,可以在定时达到设定值时触发中断,执行相应的中断服务程序。
STC15F2K60S2单片机的定时器可以设置使能定时器中断,并通过相关的中断使能寄存器来控制定时器中断的使能和优先级。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "reg51.h"
sfr CLK_DIV =0x97;
//声明CLK_DIV寄存器的地址
void main()
{
CLK_DIV=0xc5;
//给CLK_DIV寄存器赋值0xc5
while(1);
//无限循环
}
STC单片机时钟
注:读者可以进入本书所提供资料的stc_program_example\例子18-1目录下, 打开并参考该设计。
STC单片机复位
-- 内部低压检测复位
IDL 将其置位为1,进入IDLE模式(空闲),除系统不给CPU提供时钟, 即:CPU不执行指令外,其余功能部件仍然继续工作,可以由外部 中断、定时器中断、低压检测中断及ADC转换中断的任何一个中断 唤醒。 GF1和GF0 两个通用工作标志位,用户可以任意使用。 SMOD0和SMOD1 与电源控制无关,与串口有关,后面详细介绍。
在低压检测复位结束后,不影响特殊功能寄存器IAP_CONTR中 的 SWBS/IAP_CONTR.6 位 的 值 , 单 片 机 根 据 复 位 前 SWBS/IAP_CONTR.6的值选择从用户应用程序区启动,还是从 系统监控区启动。
STC单片机复位
-- 内部低压检测复位
对于5V和3V供电的单片机都提供了内置8级可选的内部低电压 检测门限电压。对于宽电压供电的STC单片机来说,内置了16级可 选的内部低电压检测门限电压值。用户可以根据工作频率和供电电 压,选择合理的门限电压。典型地: 对于5V供电的单片机来说,常温下工作频率大于20MHz时,可
该例子中,0xc5=(1100,0101)2,通过查看第三章CLK_DIV寄 存器的内容,最高两位11对应于B7和B6,用于控制主时钟对外分 频 输出控制位。该设置表示,主时钟为对外输出时钟,但时钟被4 分频,输出时钟频率=SYSclk/4。CLK_DIV寄存器的 B2~B0=“101”,表示对单片机内的主时钟进行32分频,该32分 频后的时钟作为单片机的系统主时钟SYSclk。 所以,输出时钟的频率为:
看门狗复位是热启动复位中的软件复位的一种方式。STC15系列单 片机引入了看门狗机制,使单片机的系统可靠性设计变得更加简单。 当看门狗复位状态结束后,不影响特殊功能寄存器IAP_CONTR中 SWBS/IAP_CONTR.6位的值。至于看门狗复位状态结束后,从 ISP监控区启动,还是从用户应用程序区启动,读者可以参考STC 数据手册以获取相关信息。
对于5V供电的单片机来说,它的掉电复位/上电复位检测门限电 压为3.2V;对于3.3V供电的单片机来说,它的掉电复位/上电复位检 测门限电压为1.8V。
STC单片机复位
-- STC单片机复位
STC15系列单片机内部集成了MAX810专用复位电路。若在 STC-ISP软件中,允许MAX810专用复位电路 。当选中“上电复位 使用较长延时”选项前面的复选框时,允许使用STC单片机内 MAX810专用复位电路。否则,不使用该专用复位电路。当使能使 用该专用复位电路时,在掉电复位/上电复位后产生约180mS复位 延时,然后才结束复位过程。当该过程结束后,单片机将特殊功能 寄存器IAP_CONTR中的SWBS/IAP_CONTR.6位置1,同时从系统 ISP监控区启动程序。
f输出=f主时钟/(32×4)
STC单片机时钟
主时钟频率由STC-ISP软件在烧写程序代码时确定。在硬件选 项标签中,在“输入用户程序运行时的IRC频率”右侧通过下拉框 设置STC单片机内部主时钟频率,也可以手动输入任意频率
STC单片机复位
STC15系列单片机提供了7种复位方式,包括:外部RST引脚复 位、软件复位、掉电复位/上电复位、内部低压检测复位、MAX810 专用复位电路复位、看门狗复位和程序地址非法复位。
压检测门限时,将中断请求标志位LVDF/PCON.5)自动置位为1, 与低压检测中断是否被允许无关。特别需要注意的是,该位必须 用软件清0。在清零后,如果内部工作电压VCC继续低于检测门 限电压,则将该位再次自动设置为1。
STC单片机复位
-- 内部低压检测复位
当进入掉电工作状态前,如果低压检测电路未被允许产生中断, 则在进入掉电模式后,该低压检测电路不工作以降低功耗。如果 允许可产生低压检测中断,则在进入掉电模式后,该低压检测电 路将继续工作,在内部工作电压VCC低于低压检测门限电压时, 产生低压检测中断,可以将MCU从掉电状态唤醒。
以选择4.32V作为复位门限电压;常温下工作频率低于12MHz时, 可以选择3.82V电压作为复位门槛电压。 对于3.3V供电的单片机来说,常温下工作频率大于20MHz时,可 以选择2.82V作为复位门限电压;常温下工作频率低于12MHz时, 可以选择2.42V电压作为复位门槛电压。
STC单片机复位
STC单片机复位
--看门狗复位
-- 内部低压检测复位
注:在STC-ISP软件中推荐选择“低电压时禁止EEPROM操作”前面的复选框。 下面给出与低压检测有关的电源控制寄存器PCON。该寄存器在特 殊功能寄存器地址为0x87H的位置,当上电复位后该寄存器的值为 00110000。
比特 B7
B6
B5
B4
B3
B2
B1
B0
名字
SMOD
SMOD 0
P47=0;
//P4.7置低,灯亮
for(j=0;j<999999;j++);
//软件延迟
IAP_CONTR=0x60;
//软件复位指令
}
注:读者可以进入本书所提供资料的stc_program_example\例子18-2目录下, 打开并参考该设计。
STC单片机复位
--掉电/上电复位
当电源电压VCC低于掉电复位/上电复位检测门限电压时,将单 片机内的所有电路复位。该复位属于冷启动复位的一种。当内部 VCC电压高于掉电复位/上电复位检测门限电压后,延迟32768个时 钟后结束掉电/上电复位过程。当该过程结束后,单片机将特殊功能 寄存器IAP_CONTR中的SWBS/IAP_CONTR.6位置1,同时从系统 ISP监控区启动程序。
特别要说明的是,外部RST引脚复位是热启动复位中的硬复位。
STC单片机复位
--软件复位
当STC单片机正在运行用户程序时,有时需要对单片机系统进 行软件复位。在传统单片机上并没有提供此功能,用户必须用软件 模拟实现。在STC推出的单片机中提供了软件复位的功能,该功能 通过设置IAP_CONTR寄存器中SWBS位(第6位)和SWRST位 (第5位)实现。
STC单片机复位
--看门狗复位
在一些对可靠性要求比较苛刻的场合,例如:工业控制、汽车电 子、航空航天等,为了防止“系统在异常情况下受到干扰,即:我 们经常所说的程序跑飞,引入了看门狗(Watchdog机制。所谓的 看门狗机制是指,如果MCU/CPU不在规定的时间内按规定访问看 门狗,则认为MCU/CPU处于异常工作状态,看门狗就会强迫 MCU/CPU进行复位,使系统重新从头开始按规律执行用户程序。
STC单片机复位
-- 内部低压检测复位
STC单片机复位
-- 内部低压检测复位
使能低电压检测中断时,当电源电压VCC低于内部低电压检测 LVD门限电压时,硬件将中断请求标志位LVDF/PCON.5)置位。 如果ELVD/IE.6(低压检测中断允许位)设置为1,就将向8051单片 机的CPU发出低电压检测中断信号。 当正常工作和空闲工作状态时,如果内部工作电压VCC低于低电
STC单片机复位
--软件复位
【例18-2】控制STC单片机产生软件复位C语言描述的例子
程序清单18-2 main.c文件
#include "reg51.h"
sfr IAP_CONTR=0xc7;
//声明IAP_CONTR寄存器地址为0xc7
void main() { long unsigned int j;
注:对于STC15系列5V单片机来说,I/O口的对外输出时钟的频率不要超过 13.5MHz;对于STC15系列3.3V单片机来说,I/O口的对外输出时钟的频率不要 超过8MHz。如果频率过高,需要进行分频才能输出。
STC单片机时钟
【例18-1】控制STC单片机输出时钟频率C语言描述的例子
程序清单18-1 main.c文件
对于掉电/上电复位来说,可选择增加额外的复位延迟18mS,也 叫做MAX810复位电路,实质就是在上电复位后增加180mS的额外 复位延时。
STC单片机复位
--外部RST引脚复位
在STC15系列单片机中,复位引脚设置在P5.4引脚上(除 STC15F100W系列单片机复位引脚在P3.4上)。
当外部给该引脚施加一定宽度的脉冲后,就可以对单片机进行 复位。STC其余单片机可以在ISP烧录程序时可以进行设置,将其 设置为复位引脚。当选中“复位脚用作I/O口”前面的复选框时,引 脚是普通I/O,不能用于RST引脚,否则,P5.4引脚为RST引脚。
LVDF
POF
GF1
GF0
PD
IDL
STC单片机复位
-- 内部低压检测复位
其中: LVDF 低电压检测标志位,同时也是低压检测中断请求标志位。 POF 上电复位标志位。当单片机停电后,上电复位标志位为1,可由软 件清零。 PD
STC单片机复位
-- 内部低压检测复位
将其置位为1时,进入掉电(Power Down)模式,可以由外部 中断上升沿或者下降沿触发唤醒。进入掉电模式时,内部时钟停止 振荡,由于时钟不工作,因此CPU、定时器等功能部件停止工作, 只有外部中断继续工作。在STC单片机中,可以将CPU从掉电模式 进行唤醒的外部引脚有:INT0/P3.2、INT1/P3.3,INT2/P3.6、 INT3/P3.7、INT4/P3.0、CCP0/CCP1/CCP2、 RxD/RxD2/RxD3/RxD4、T0/T1/T2/T3/T4。其中有些单片机还有 内部低功耗掉电唤醒专用定时器。掉电模式也称为停机模式,此时 电流<0.1μA。