您的位置 首页 方案

51手记之STC

STC系列单片机指令代码完全兼容标准8051,但速度快8-12倍;不同型号单片机区别:XRAM大小、外设功能等。1.基本特性工作频率范围:0…

STC系列单片机指令代码彻底兼容规范8051,但速度快8-12倍;不同类型单片机差异:XRAM巨细、外设功用等。

1.根本特性
作业频率规模:0-35MHZ,每个机器周期为一个时钟周期,指令履行速度全面提高,最快的提高24倍,最慢的提高3倍。
内部集成MAX810专用复位电路,内置一个对VCC进行掉电检测的掉电检测电路;
时钟源:外部高精度晶体/时钟,内部R/C振荡器;用户在下载程序时挑选运用外部晶体/时钟或内部R/C振荡器;
2.存储器
1)程序存储器
用户程序存储器空间:1/2/3/4/5/6/8/16/20/32/40/48/52/56/60/62K字节
支撑ISP(在体系可编程)/IAP(在运用可编程),可经过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,
2)数据存储器
片上集成256字节片内暂存和512字节/1K字节的XRAM;XRAM经过清零AUXR.XRAM来使能。
3.通用I/O口
有5个8位I/O口:P0-P4;复位后一切I/O口为准双向口/弱上拉(同一般8051的P1口)。
一切I/O口均可由软件装备成4种作业类型之一:准双向口、推挽输出、仅为输入(高阻)、开漏输出;由寄存器PnM1,PnM0设置。
一般I/O口上电为弱上拉输出高电平,在I/O口处加一个下拉电阻可使I/O口复位时为低电平。
1)准双向口
输出1时驱动才能很弱,输出0时驱动才能很强,准双向口读外部状况前,要下锁存为1,才可读到外部正确的状况。
2)推挽输出
当锁存器为1时供给继续的强上拉。
3)仅为输入(高阻)
输进口带有一个施密特触发输入以及一个搅扰按捺电路。
4)开漏输出
作为一个逻辑输出时,必须有外部上拉,一般经过电阻外接到VDD,这种方法的下拉与准双向口同,开漏端口带有一个施密特触发输入以及一个搅扰按捺电路。
4.中止体系
STC11/10系列供给7个中止源2级中止优先级,STC12C56/STC12C54系列供给7个中止源4级中止优先级,STC12C5A系列供给10个中止源4级中止优先级;中止由中止操控寄存器IE,IE2和中止优先级寄存器IP,IPH,IP2H装备。

中止源中止向量中止优先权

外部中止0 03H 0

守时/计数器0 0BH 1

外部中止1 13H 2

守时/计数器1 1BH 3

串行口 23H 4

ADC/SPI 2BH 5

LVD33H 6

PCA 3BH 7

串行口2 33H 8
SPI 3BH 9

PCA、RXD、T1、T0输出脚可经过寄存器WAKE_CLK0装备为外部中止运用。

5.守时器

有2个16位专用守时器T0、T1;PCA也可用作守时器运用;还有一个看门狗守时器;

守时器0和守时器1彻底兼容传统8051;守时器计数时钟源可挑选为体系时钟的1/12或体系时钟,经过AUXR.T0x12和AUXR.T1x12设置(为0时同传统51,为1时不分频)。

看门狗由寄存器WDT_CONTR操控,置位WDT_CONTR.CLR_WDT看门狗将从头计数。

看门狗溢出时刻=(12*分频值*32768)/体系时钟

6.串行口

2个全双工串行口,功用同规范51;

串口2运用独立波特率发生器,串口1可挑选运用守时器1或独立波特率发生器(AUXR.S1BRS为0时运用守时器1,为1时共用独立波特率发生器);独立波特率发生器的计数时钟源为体系时钟的1/12或体系时钟(AUXR.BRTx12为0时运用体系时钟的1/12,为1时运用体系时钟);两个串口都运用独立波特率发生器时,它们的波特率相同。

独立波特率发生器复位后是封闭的,需经过AUXR.BRTR=1使能。它有一个8位独立波特率计数器BRT。

串行口2波特率计算公式:形式0波特率=体系时钟/12或体系时钟/2(AUXR.UART_M0x6为0时同规范51)

形式1,3波特率=f/(256-BRT),f为波特率发生器计数器时钟源频率

形式2波特率=2S2SMOD*体系时钟/64

7.PCA(可编程计数器阵列)

含有一个独立的16位守时器,2/4个16位捕获/比较模块与之相连,每个模块可编程作业在4种作业形式:上升/下降沿捕获、软件守时器、高速输出、可调制脉冲输出。

PCA守时器的时钟源由CMOD设置,由PCA操控寄存器CCON操控。

每个PCA模块的作业形式由寄存器CCAPMn来设置:

1)捕获形式

CCAPMn=0x20或0x10或0x30,

对模块外部CEXn输入的跳变进行采样,当采样到有用跳变时,PCA硬件就将PCA计数阵列CH,CL的值装载到模块的捕获寄存器CCAPnH,CCAPnL中。

2)软件守时器形式

CCAPMn=0X48,

3)高速输出形式

CCAPMn=0X4C,

4)脉宽调理(PWM)形式

CCAPMn=0x42,

因为一切的PCA模块共用同一个PCA守时器,所以它们的输出频率相同,各个模块的输出占空比是独立改变的,当CL的值小于(EPCnL,CCAPnL)时输出为低,不然输出高。PWM的输出频率=PCA时钟频率/256。

8.A/D转化

有8路10位高精度ADC,速度均可到达100KHZ;8路电压输入型A/D,可做温度检测,电池电压检测,按键扫描,频谱检测。

需作为A/D运用的口需先将其设置为开漏输出或仅为输入形式,

A/D转化由寄存器ADC_CONTR操控,转化成果存放在ADC_DATA(高8位)和ADC_LOW2(低2位)

9.EEPROM运用

片上集成有数据FLASH区,可经过IAP方法对其进行读写和擦除操作。

相关寄存器IAP_CONTR,IAP_CMD、IAP_TRIG、IAP_DATA、IAP_ADDRH、IAP_ADDRL

1)擦除操作

IAP_ADDRH=addrh;
IAP_ADDRL=addrl;
IAP_CONTR=0X81;
IAP_CMD=0x03;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;
2)读操作
IAP_ADDRH=addrh;
IAP_ADDRL=addrl;
IAP_CONTR=0X81;
IAP_CMD=READ;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;
_nop_();
_nop_();
*rdata=IAP_DATA;
3)写操作
IAP_DATA=*wdata;
IAP_ADDRH=addrh;
IAP_ADDRL=addrl;
IAP_CONTR=0X81;
IAP_CMD=WRITE;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/275531.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部