一个小白,开始学习单片机,从C51/52开始,
我学习的型号是STC98C52单片机。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。
和atmel的对比 STC89C52RC单片机: 8K字节程序存储空间; 512字节数据存储空间; 内带4K字节EEPROM存储空间; 可直接使用串口下载; at89s52单片机: 8K字节程序存储空间; 256字节数据存储空间; 没有内带EEPROM存储空间;
单片机引脚图即引脚功能:
单片机最小系统连接图:
(格人建议再没有开发板的情况下可以是用Protues8.13绘图,它的电源引脚都是事先连接好的,不需要自己再去连接)
最小系统介绍:
1、电源设计
关于电源,如果使用Protues设计,无需再设计外部电源,内部已经为单片机连接好了,有些开发板也是连接好的,直接由数据线的连接口为单片机供电。
2、复位电路
复位电路是一种用来使电路恢复到起始状态的电路设备,它的操作原理与计算器有着异曲同工之妙,只是启动原理和手段有所不同。复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。
目前为止,单片机复位电路主要有四种类型:
(1)微分型复位电路;(2)积分型复位电路;
(3)比较器型复位电路;(4)看门狗型复位电路。
复位电路的目的就是在上电的瞬间提供一个与正常工作状态下相反的电平。一般利用电容电压不能突变的原理,将电容与电阻串联,上电时刻,电容没有充电,两端电压为零,此时,提供复位脉冲,电源不断的给电容充电,直至电容两端电压为电源电压,电路进入正常工作状态。
3、晶振电路
晶振电路犹如人类的心脏,没有它单片机是无法正常工作的
(主要是小编第一次做电路板没有加晶振电路,被老师说了一通)
匹配电容的计算,通常按照下面的公式进行计算:
CL = (CL1 * CL2) /(CL1 + CL2) + CS
CL负载电容
CL1匹配电容1
CL2匹配电容2
CS寄生电容,一般取3~5pF。
这些资料可以通过查找芯片手册获得
例子:
若其负载电容CL为6~12.5pF,CS此处取4pF:
当CL为6pF时,CL1=CL2=(6-4) * 2pF = 4pF;
当CL为12.5pF时,CL1=CL2=(12.5-4) * 2pF = 17pF
因此,该晶振的匹配电容为4~17pF。
有些晶振电路在设计时,会需要添加电阻
因此,电阻的添加可以分为以下两种方式,这两种方式都是相对于晶振的串并联。
并联电阻的功能:
降低晶体的Q值;
抑制EMI,EMI不过时,可减小阻值;
提供直流工作点;
使门电路工作于线性区。
串联电阻的功能:
降低晶体的激励功率,防止损坏。
限制振荡幅度。
以上是对电路简单的介绍。
本文的电路图还连接了一个led灯,这是测试的一个小功能。
#include <reg52.h>
#include <intrins.h>//引用他是因为之间只用了_nop_()
sbit led=P1^0;
void delay(unsigned int i)//自定义延时函数
{
unsigned int a,b,c;
for(a=0;a<i;a++)
for(b=a;b<i;b++)
for(c=0;c<b;c++);
}
void main()
{
while(1)
{
led=1;//闪烁
delay(100);
led=0;
delay(100);
}
}