没有合适的资源?快使用搜索试试~ 我知道了~
首页STC89C52RC单片机的特点.pdf
STC89C52RC单片机的特点.pdf
需积分: 35 26 下载量 36 浏览量
更新于2023-03-03
评论
收藏 131KB PDF 举报
STC89C52RC单片机的特点pdf,STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单 片机,指令代码完全兼容传统 8051 单片机,12 时钟/机器周期和 6 时钟/机器周 期可以任意选择。
资源详情
资源评论
资源推荐
STC89C52RC 单片机介绍
STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单 片机,
指令代码完全兼容传统 8051 单片机,12 时钟/机器周期和 6 时钟/机器周 期可以任意选
择。
主要特性如下:
1. 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任 意选择,
指令代码完全兼容传统 8051.
2. 工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)
3. 工作频率范围:0~40MHz,相当于普通 8051 的 0~80MHz,实际工 作频率
可达 48MHz
4. 用户应用程序空间为 8K 字节
5. 片上集成 512 字节 RAM
6. 通用 I/O 口 (32 个) 复位后为: , P1/P2/P3/P4 是准双向口/弱上拉, P0
口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电
阻。
7. ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无 需专用仿
真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片
8. 具有 EEPROM 功能
9. 具有看门狗功能
10. 共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2
11. 外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部
中断低电平触发中断方式唤醒
12. 通用异步串行口(UART) ,还可用定时器软件实现多个 UART
13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)
14. PDIP 封装
STC89C52RC 单片机的工作模式
掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原 程序
空闲模式:典型功耗 2mA 典型功耗
正常工作模式:典型功耗 4Ma~7mA 典型功耗
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
STC89C52RC 引脚功能说明
VCC(40 引脚):电源电压
VS S(20 引脚):接地
P0 端口(P0.0~P0.7 P0.7,39~32 引脚) :P0 口是一个漏极开路的 8 位双向 I/O
口。作为输出端口,每个引脚能驱动 8 个 TTL 负载,对端口 P0 写入 每个引脚能驱动 写
入“1”时,可 以作为高阻抗输入。在访问外部程序和数据存储器时 在访问外部程序和数据
存储器时,P0 口也可以提供低 8 位 地址和 8 位数据的复用总线 位数据的复用总线。此
时,P0 口内部上拉电阻有效。在 Flash ROM 编 在 程时,P0 端口接收指令字节 端口接
收指令字节;而在校验程序时,则输出指令字节 则输出指令字节。验证时,要求外接上拉
电阻。
P1 端口(P1.0~P1.7,1~8 引脚) :P1 口是一个带内部上拉电阻的 8 位双向 I/O
口。P1 的输出缓冲器可驱动(吸收或者输出电流方式)4 个 TTL 输入。对端 口写入 1 时,
通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为
有内部上拉电阻,那些被外部拉低的引脚会输出一个电 流( ) 。
此外,P1.0 和 P1.1 还可以作为定时器/计数器 2 的外部技术输入(P1.0/T2)
和定时器/计数器 2 的触发输入(P1.1/T2EX) ,具体参见下表:
在对 Flash ROM 编程和程序校验时,P1 接收低 8 位地址。
表 XX P1.0 和 P1.1 引脚复用功能
P2 端口(P2.0~P2.7,21~28 引脚) :P2 口是一个带内部上拉电阻的 8 位
双 向 I/O 端口。P2 的输出缓冲器可以驱动(吸收或输出电流方式)4 个 TTL 输入。 对
端口写入 1 时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。 P2 作为输
入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会 输出一个电流(I) 。
在访问外部程序存储 器和 16 位地址 的外部数据存 储器(如执行 “MOVX
@DPTR”指令)时,P2 送出高 8 位地址。在访问 8 位地址的外部数据存储器(如 执行
“MOVX @R1”指令)时,P2 口引脚上的内容(就是专用寄存器(SFR)区 中的 P2 寄存
器的内容) ,在整个访问期间不会改变。
在对 Flash ROM 编程和程序校验期间,P2 也接收高位地址和一些控制信号。
P3 端口(P3.0~P3.7,10~17 引脚) :P3 是一个带内部上拉电阻的 8 位
双向 I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端 口
写入 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3 做输入口使
用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一 个电流( ) 。
在对 Flash ROM 编程或程序校验时,P3 还接收一些控制信号。
P3 口除作为一般 I/O 口外,还有其他一些复用功能,如下表所示:
表 XX P3 口引脚复用功能 复用功能
RST(9 引脚) :复位输入。当输入连续两个机器周期以上高电平时为有效,
用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST 引脚输出 96 个晶振
周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功 能无效。
DISRTO 默认状态下,复位高电平有效。
ALE/ ROG (30 引脚) 地址锁存控制信号 : (ALE) 是访问外部程序存储
器时, 锁存低 8 位地址的输出脉冲。在 Flash 编程时,此引脚( ROG)也用作编程输入
脉冲。
在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部 定
时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲 将会跳过。
如果需要,通过将地址位 8EH 的 SFR 的第 0 位置“1” ,ALE 操作将无效。
这 一位置“1” ,ALE 仅在执行 MOVX 或 MOV 指令时有效。否则,ALE 将被微弱拉 高。
这个 ALE 使能标志位(地址位 8EH 的 SFR 的第 0 位)的设置对微控制器处于 外部执
行模式下无效。
:外部程序存储器选通信号( SEN)是外部程序存储器选 SEN(29 引脚)
通信号。当 AT89C51RC 从外部程序存储器执行外部代码时, SEN 在每个机器周 期被激
活两次,而访问外部数据存储器时, SEN 将不被激活。 A/VPP (31 引脚) 访问外部程
序存储器控制信号。 : 为使能从 0000H 到 FFFFH 的外部程序存储器读取指令, A 必
须接 GND。注意加密方式 1 时, A 将内部锁 定位 RESET。为了执行内部程序指令, A
应该接 VCC。在 Flash 编程期间, A 也 接收 12 伏 VPP 电压。 XTAL1(19 引脚) :
振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18 引脚) :振荡器反相放大
器的输入端。
#include <reg51.h>
#include <stc89c52_eeprom.h> //_nop_();延时函数用
#define uchar unsigned char
#define uint unsigned int
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit temp_out=P1^5;
sbit humi_out=P1^6;
sbit IO= P3^2 ;
uint count;
uchar ds1,ds2,ds3,ds4;
uchar set_temp_H,set_temp_H_shi,set_temp_H_ge;//设定温度的变量
uchar set_temp_L,set_temp_L_shi,set_temp_L_ge;//设定温度的变量
uchar set_humi_H,set_humi_H_ge,set_humi_H_shi;//设置湿度的变量
uchar set_humi_L,set_humi_L_ge,set_humi_L_shi;//设置湿度的变量
uchar U8FLAG,k,flag;
uchar U8count,U8temp;
uchar U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
uchar
U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_t
emp;
uchar U8comdata;
uint U16temp1,U16temp2;
uchar ser[]={0,0};
uchar i;
uchar code dis_7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//共阳 LED 段码表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
void Delay1(uint j)
{
uchar i;
for(;j>0;j--)
{
for(i=0;i<35;i++);
}
}
void Delay_10us(void)
{
uchar i=6;
for(;i>0;i--);
}
剩余11页未读,继续阅读
weixin_38743968
- 粉丝: 404
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0