① STC12的1T模式与12T模式哪个稳定
1T和12T
1T和12T只有在STC12系列以后的单片机里才出现的。前面我们已经说到了,传统的单片机其实就是12T单片机,也就是晶振频率会被12分频后才是指令运行的频率。到时STC12系列以后的STC单片机出现1T模式,也就是有些指令的执行时只需要两个晶振周期就能执行完。理论上来说,这样的运行速度会比传统单片机快6倍,为什么加“理论”,因为不是所有的指令都快6倍,只是一部分,还有些是快4倍,快3倍的。具体的需要看STC官方数据手册,如下图。
仔细的小伙伴会看到在第5列的第一行里有个小括号(采用STC-Y2 CPU内核指令集),STC12用的就是这个内核,而到了STC15系列芯片用的是STC-Y5内核,STC8系列用的是STC-Y6内核,Y后面的数字越大,指令优化的越厉害,表现出来的就是运行的更快,STC-Y5内核的指令集里,大部分的汇编指令到时一个晶振周期就执行完成的了,也就是比传统单片机快12倍。 现在我在做单片机开发的时候,绝大部分都是采用的C语言开发,你还在用汇编,那我只能是膜拜你了。C语言编程的程序方便移植,好理解,容易入门,不需要去记住那些复杂的寄存器,但是确定也明显,就是效率不高,运行速度我们没办法准确的计算出来。编译器在把C语言代码转化为汇编语言的过程我们是没法控制的,这样编译出来的机器代码我们就没办法去计算时间的指令运行时间。 >>>>
软件仿真和实际开发板
仿真软件,外国老表开发的,STC国产(好吧,内核还是人家的)。不知道什么原因,我们不知道,也不敢问,在仿真软件里就是没有STC的单片机芯片可以选择,没有STC的单片机,我们只能选择传统51单片机,这样一来,仿真的时候,程序运行的速度是传统的12T模式,也就是晶振频率12分频后才是执行的实际频率。 单片机开发板运行时,因为提问小伙伴用的单片机是STC12系列的芯片,就算他运行在12T模式下,指令系统还是有优化,速度肯定比传统的指令集要快。更何况呢,他连1T和12T都分不清,运行在1T模式下也是有可能的,所以,今天的问题就来了。实际开发板运行速度肯定会比软件仿真快。 写在最后 在很久之前,我就写过一篇文字,就说了不建议初学单片机的菜鸟从软件仿真开始。现在还有多少高校的单片机课程还在是以仿真运行的呢,希望是没有了,但我想,仅仅是我想想。 其实,小代觉得,学单片机的最终是要自己设计属于自己的东西,比如自己的毕设,更或是亲手做一个小礼物俘获女神的芳心。但是自己写的代码永远都运行在软件里,没有实际电路,你又怎么可能会自己设计电路呢。你不自己看见过电阻,又怎么可能会知道一个长得很像电阻的电子元件它其实是二极管。 最最后,回到今天的问题上,当我们把软件仿真运行完美的代码移植到实际开发板上运行时,代码是需要做单片机的适配的,比如,采用代码方式实现的延时函数,比如IO端口的配置,比如某些中断的入口,比如某些寄存器的定义等等。在移植之前,还是得拿目标芯片的数据手册来看看。
② STC12LE5A32S2-35I-LQFP44属于哪个系列的单片机
STC12C5A60S2系列1T单片机简介
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
1.增强型8051
CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051
2.工作电压:STC12C5A60S2系列工作电压:5.5V-
3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-
2.2V(3V单片机)
3.工作频率范围:0
-
35MHz,相当于普通8051的
0~420MHz
4.用户应用程序空间8K
/16K
/
20K
/
32K
/
40K
/
48K
/
52K
/
60K
/
62K字节......
5.片上集成1280字节RAM
6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)
可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏
每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA
7.
ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器
可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9.
看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)
11.外部掉电检测电路:在P4.6口有一个低压门槛比较器
5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%
12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)
1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟
常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz
3.3V单片机为:
8MHz~12MHz
精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准
13.共4个16位定时器
两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器
做串行通讯的波特率发生器
再加上2路PCA模块可再实现2个16位定时器
14.
2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟
15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,
Power
Down模式可由外部中断唤醒,
INT0/P3.2,
INT1/P3.3,
T0/P3.4,
T1/P3.5,
RxD/P3.0,
CCP0/P1.3(也可通过寄存器设置到P4.2
),
CCP1/P1.4
(也可通过寄存器设置到P4.3)
16.
PWM(2路)/PCA(可编程计数器阵列,2路)
---也可用来当2路D/A使用
---也可用来再实现2个定时器
---也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)
17.A/D转换,
10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口
19.
STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)
20.工作温度范围:-40
-
+85℃(工业级)
/
0
-
75℃(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48
I/O口不够时,可用2到3根普通I/O口线外接
74HC164/165/595(均可级联)来扩展I/O口,
还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
③ stc12c5a60s2单片机能代替12c5a08s2吗
不能,有8通道10位AD转换的STC单片机(51系列腊蔽氏)并神;它是STC12C5AXXS2系列中的一个,与STC12C5A60S2是同系列,但互不包含。这两种区轮散别在于,程序存储器和EEPROM的容量不同...
④ stc系列单片机与stc12系列单片机有区别么
STC为单片机的公司名,它是宏晶的缩写
12是该公司单片机的系列编号
举例:
STC89系列:功能和C52单片机类似
STC11系列:高速运算能力,是89系列的8-12倍
STC12系列:带AD/DA转换或PWM输出,其他和11系列差不多