STC89C52rc是STC公司生产的一种低功耗、高性能的CMOS8位控制器,具有8k字节系统可编程FLASH存储器。stc89c51用的是经典的MCS-51内核,但是做了很多改进,使芯片具有传统51不具备的功能,但单芯上有灵活的8位CPU和系统可编程FLASH。
标准功能:8k字节Flash,512字节Ram,32位I/O口线,看门狗定时器,内置4KBEEPROM,max810复位电路,3个16位的定时器/计数器,4个外部中断,一个向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口,另外,stc89c52可降至0hz静态逻辑操作,支持两种软件可选择节电模式,空闲状态下,CPU停止工作,允许RAM,定时器/计数器,串行口,中断继续工作,掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或者硬件复位为止,最高运作频率35MHz,6T/12T可选(6T模式含义--6个时钟周期就是一个机器周期)。
STC89C52RC是宏晶公司的增强型MCS-51单片机,与Atmel公司的AT89C52相比,有以下优点:
支持STC的2线制下载方式,下载程序更方便
支持6T模式(在6T模式下,6个时钟周期就是一个机器周期)
片内集成了4kB容量的EEPROM
带有P4口,具有更多的I/O
程序存储器拥有更多的擦写寿命(STC标称可以擦写10万次,Atmel标称可以擦写1000次。不过对于批量生产的成品来说,这个擦写寿命没什么意义)
相比于Atmel,STC单片机的缺点:
在某些情况下,抗干扰能力不如Atmel的MCS-51单片机
工作电压:5.5-3.3V(5V单片机)/3.8v-2.0v(3V单片机)
工作频率:0-40MHz,相当于普通51的0-80MHz,实际工作频率可达到48MHz;
用户应用程序空间为8K字节;
片上集成512字节RAM;
通用I/O口,复位为P1/P2/P3是准双向/弱上拉,P0是漏极输出,作为总线扩展口时,不用加上拉;I/O口使用时,需要加上拉电阻。
ISP/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可以通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,秒数可完成一片;
具有EEPROM功能;
共有3个16位定时器,/计数器,T0,T1,T2;
外部中断4路,下降沿或者低电平触发电路,POWER down模式可由外部中断低电平触发中断方式唤醒
通用异步串行(UART),还可以用定时器软件实现多个UART;
PDIP封装;
关键字:STM32 STC89C51RC
引用地址:
STM32学习014_STC89C51RC
推荐阅读最新更新时间:2024-03-16 15:41
STM32的IIC通信原理详解
本文将介绍STM32 IIC的通信原理和协议 ①IIC总线简介 ②IIC总线协议与读写操作 ③STM32 IIC控制器介绍 ①IIC总线简介 IIC是inter integrated circuit的简称,IIC是由PHILIPS公司开发的两线式串行总线;该总线具有接口线少、易于控制、通讯速率高等有点,在微电子控制领域被广泛使用。 IIC总线具备以下特征: 1、同步通信,半双工,以字节为传输单位; 2、两条线路、SDA和SCL; 3、挂载在IIC总线上的设备均可为主设备、亦可为从设备; 4、具有3种传输速率,最高可达3.4Mbit/s;可通过总线时钟的频率和总线上拉电阻来配置传输速率; 5、多主机功能、7位和10位地址模式、可以软
[单片机]
基于CORTEX的STM32的三相电能表方案
背景 电能表是用来测量电能的仪表,又称电度表,火表,电能表,千瓦小时表,指测量各种电学量的仪表。基于ARM的方案已经出现,但是适合应用的ARM7 TDMI在性能上不尽人意,同时外设资源不足;而更高端的ARM9系统的复杂程度很高,成本也较高。所以要研究一种廉价的,满足客户需求的电能表,来填补这个空缺。 一、关于CORTEX-M3与STM32 最新一代ARM v7内核,命名为Cortex,同ARM7/9/10/11相比在架构上有了革命性突破。它采用高效的哈佛结构三级流水线,达到1.25DMIPS/MHz,在功耗上更是达到0.06mW/MHz。Cortex-M3使用Thumb-2指令集,自动16/32位混合排列。单周
[工业控制]
STM32控制WS2812B灯
单片机源程序如下: #include WS2812B.h /* Buffer that holds one complete DMA transmission * * Ensure that this buffer is big enough to hold * all data bytes that need to be sent * * The buffer size can be calculated as follows: * number of LEDs * 24 bytes + 42 bytes * * This leaves us with a maximum string length of * (2^16 by
[单片机]
STM32串口中断接收方式详细比较
简介:本例程通过PC机的串口调试助手将数据发送至STM32,接收数据后将所接收的数据又发送至PC机,具体下面详谈 实例一: void USART1_IRQHandler(u8 GetData) { u8 BackData; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //中断产生 { USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中断标志. GetData = UART1_GetByte(BackData); //也行GetData=USART1- DR; USART1_SendByte(GetData);
[单片机]
STM32_CorTex-M3位带操作的理解
STM32支持了位带操作(bit_band),有两个区中实现了位带。其中一个是SRAM 区的最低1MB 范围,第二个则是片内外设 区的最低1MB 范围。这两个区中的地址除了可以像普通的RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区 把每个比特膨胀成一个32 位的字。 每个比特膨胀成一个32 位的字,就是把 1M 扩展为 32M , 于是;RAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是:(STM32中的SRAM依然是8位的,所以RAM中任一地址对应一个字节内容) 0X220000000 ,0X220000004,0X220000008,0X22000000C,0X2200
[单片机]
STM32学习笔记——SystemInit()函数
第一课 时钟频率 STM32F103内部8M的内部震荡,经过倍频后最高可以达到72M。目前TI的M3系列芯片最高频率可以达到80M。 在stm32固件库3.0中对时钟频率的选择进行了大大的简化,原先的一大堆操作都在后台进行。系统给出的函数为SystemInit()。但在调用前还需要进行一些宏定义的设置,具体的设置在system_stm32f10x.c文件中。 文件开头就有一个这样的定义: //#define SYSCLK_FREQ_HSE HSE_Value //#define SYSCLK_FREQ_20MHz 20000000 //#define SYSCLK_FREQ_36MHz 36000000
[单片机]
STM32学习笔记——外部中断的初步了解
STM32F103有76个中断,包括16个内核中断和60个可屏蔽中断,具有16级16级可编程的中断优先级。 理解 STM32 的中断,要从中断优先级哦分组开始。而理解中断优先级分组,就要理解什么是抢占优先级,什么是响应优先级。 所谓: 抢占优先级:如果有两中断先后出发,已经在执行的中断优先级如果没有后出发的中断优先级高,就会先处理抢占优先级高的中断,也就是说有较高的抢占优先级的中断可以打断抢占优先级较低的中断,这是实现中断嵌套的基础。 响应优先级:只在同一抢占优先级的中断同时触发时起作用。抢占优先级相同,则优先执行响应优先级较高的中断。响应优先级不会造成中断的嵌套,如果中断的两个优先级都一致,那么优先执行位于中断向量表中位置较高的中
[单片机]
基于STM32设计的健康检测设备(测温心率计步)
1. 项目介绍 本文介绍的项目是基于STM32设计的健康检测设备,支持体温测量,心率检测,支持运动计步(采用MPU6050陀螺仪实现),支持WIFI传输数据到手机APP打印显示。 硬件环境介绍: MCU采用STM32F103C8T6 心率传感器采用PulseSensor 体温检测传感器采用红外测温传感器 运动计步功能采用MPU6050陀螺仪实现 OLED显示屏采用0.96寸中景园电子的OLED显示屏-SPI接口 编程软件采用: keil5 心率传感器: MPU6050传感器: 体温测温模块 OLED显示屏: 硬件效果图: 工程源码截图: 项目源码下载地址: 基于STM
[单片机]