stc89c51单片机

      从一个小白接触51单片机并不是一件容易的事,在我看来,学习51最主要的是学习其内部电路以及各个引脚功能。

      51的 主要性能:

      与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器 、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。

  功能特性描述::::

  STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K字节在系统可编程 Flash

       51内部电路图


 

VCC/GND:供电电源。
P0口:可以被定义为数据/地址的低八位,能够用于
外部程序/数据存储器。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:标准输入输出I/O,P1口管脚写入1后,被
内部上拉为高,可用作输入。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。P2口在FLASH编程和校验时接收高八位地址信号控制信号。P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口, 管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
RST:复位输入。当
振荡器复位器件时,要保持RST脚两个机器周期高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的
输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有
内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部
时钟工作电路的输入。
XTAL2:来自反向振荡器的输出

  • 9
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/*******************说明:************************** 单片机进入掉电模式后,外部时钟停振, CPU/定时器/串口全部停止工作,只有外部中断处于工作状态 使单片机进入掉电模式的方法是:将PCON寄存器的PD位置1 -------------------------------------------------- 实验现象:系统复位后,P0口所有LED灯被点亮,无闪烁.说明 单片机进入了掉电模式,按下中断按键INT0后,所有LED灯 闪烁,说明单片机从掉电模式中被唤醒 -------------------------------------------------- 相关资料请参考STC89C51RC.pdf第78页 -------------------------------------------------- 基于开发板ZS001编写 开发板购买地址: http://shop60591679.taobao.com/ QQ:284083167 Email:284083167@qq.com 对此程序有任何疑问可QQ或者邮件联系 **************************************************/ #include <reg52.h> #define uchar unsigned char #define uint unsigned int //功能:延时1毫秒 //入口参数:x //出口参数:无 //说明:当晶振为12M时,j<112;当晶振为11.0592M时,j<122 void Delay_xms(uint x) { uint i; uchar j; for(i=0;i<x;i++) for(j=0;j<112;j++); } //外部中断0函数,中断方式:下降沿中断 void INT0_L(void) interrupt 0 { PCON|=0x02; //进入掉电模式 } void INT1_fall(void) interrupt 3 { //PCON|=0x02; //进入掉电模式 } //主函数 void main(void) { Delay_xms(50);//等待系统稳定 EA=0; //关总中断 IT0=1; //下降沿中断 EX0=1; //开INT0中断 IT1=1; //下降沿中断 EX1=1; //开INT1中断 EA=1; //开总中断 P0=0x00; //点亮所有LED //PCON|=0x02; //进入掉电模式 while(1) { P0=0x00; //点亮P0口所有LED Delay_xms(1000); P0=0xff; //关闭P0口所有LED Delay_xms(1000); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值