1、单片机内部资源
STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中止源
(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢掉,读写速度慢
(2)RAM(内存)——数据存储空间 —— 断电数据丢掉,读写速度快,无限次运用
(3)SFR —— 特别功用寄存器
2、单片机最小体系
最小体系:最少组件组成单片机能够作业的体系。
三要素:
(1)、 电源电路:5V
(2)、 晶振电路:11.0592MHZ、两个30PF
(3)、 复位电路:
P0:开漏输出,有必要加上拉电阻
准双向口:
强推挽输出:电流驱动才能强
高阻态
上下拉电阻:上拉电路便是将不确认的信号经过一个电阻拉到高电平,一起限流效果。下拉电阻便是下拉到低电平。
上下拉电阻选取:从下降功耗方面考虑应该足够大,由于电阻越大,电流越小;驱动才能来看,小电阻
3、硬件根底知识
(1)、电磁搅扰(EMI)——静电放电(ESD)、快速瞬间脉冲群(EFT)、浪涌(Surge)
(2)、去耦电容的运用
低频滤波电容,往常使用最多的事钽电容,电解电容,陶瓷电容,起到去除电源低频纹波,安稳电源的效果。
高频滤波电容,电容邻近,一般用104电容来进行去除高频搅扰。
(3)、三极管(PNP,NPN) b,c,e — 电压驱动
操控使用
驱动使用
4、LED发光二极管——电流驱动
一般赤色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所改变,5mA以上亮度根本不变。
VCC 电压是 5V,发光二极管自
身压降大概是 2V,那么在右边 R34 这个电阻上接受的电压便是 3V。
R = U/I —— 1~20mA —— R:150~3K
5、C言语根底
(1)、根本运算符
+ – * / % ++ — = == != += -= 《《 》》 && “| ! & | ~ ^
(2)、循环(c言语以;表明一条句子)
for/while/do.。.while
for(表达式1;表达式2;表达式3)
{
句子;//能够为空
}
while(表达式)//表达式为真,履行句子
{
句子;//能够为空
}
do
{
句子;//能够为空
}while(表达式);
(3)、函数 (模块化的思维)
类型 函数名(参数类型 参数)
{
函数体;
}
(4)、数组
《1》、具有相同数据类型
《2》、具有相同的类型
《3》、在存储器中接连存储
(5)、51单片机常用延时方法——循环、定时器
(P0 = ~(1 《《 i++);)
5、流水灯
给IO口一个低电平即可点亮LED灯。
注:单片机对外设的操作其实便是对IO口电平的操控。
#include//包括特别功用寄存器界说的头文件
typedefunsignedintuint;
typedefunsignedcharuchar;
intmain(void)
{
uinti=0;//界说循环变量i,用于软件延时
ucharj=0;//界说计数变量j,用于移位操控
while(1)//主循环,程序无限循环履行该循环体句子
{
P0=~(1《
for(i=0;i《20000;++i);//软件延时
if(j》=8)//移位计数超越7后,再从头从0开端
{
j=0;
}
}
return0;
}