单片机内部资源
STC89C52:8KFLASH、512字节RAM、32个IO三个定时器,一个UART、8个中断源
Flash(硬盘)-程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢
RAM(内存)-数据存储空间 —— 断电数据丢失,读写速度快,无限次使用
SFR —— 特殊功能寄存器
单片机最小系统
最小系统:至少组件组成一个单片机可以工作的系统。

三要素
电源电路:5V
晶振电路:11.0592MHZ、两个30PF
如上图所示
P0:开漏输出,必须加上拉电阻
强推拉输出:电流驱动能力强
上下拉电阻:上拉电路就是将不确定的信号通过一个电阻拉到高电平,同时限流作用,下拉电阻就是下拉到低电平。
上下拉电阻选择:从降低功耗的角度来看,应该足够大,因为电阻越大,电流越小,驱动能力越小。
硬件基础知识
电磁干扰(EMI)——静电放电(ESD)、快速瞬时脉冲群(EFT)、浪涌(Surge)
去耦电容器的使用:低频滤波电容器,通常使用最多的钽电容器、电解电容器、陶瓷电容器,在去除低频纹波、稳定电源、高频滤波电容器、电容器附近,通常使用104电容器来去除高频干扰
三极管(PNP,NPN) b,c,e:电压驱动、控制、驱动应用
LED发光二极管 —— 电流驱动
通常是红色贴片LED, 电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度变化,5mA上述亮度基本不变。
VCC 电压是 5V,发光二极管本身的压降可能是 2V,那么在右边 R34 电阻上的电压是 3V。
R = U/I —— 1~20mA —— R:150~3K
C语言基础
基本运算符
- * / % -- = == != = -= 《《 》》 && “| ! & | ~ ^
循环(c语言表示一个句子)
for/while/do.。.while
for(表达式1;表达式2;表达式3
{
语句;//可以为空
}
while(表达式)//表达式为真,执行句子
{
语句;//可以为空
}
do
{
语句;//可以为空
}while(表达式);
函数 (模块化思想)
类型 函数名(参数类型 参数)
{
函数体;
}
数组
数据类型相同
类型相同
连续存储在存储器中
51单片机常用的延迟方法
循环、定时器
(P0 = ~(1 《《 i );)
流水灯
给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;
}
为何选择信盈达学院?
与其他课程相比,新英达学院有自己的服务体系和课程质量管理,因为编程语言的系统学习,如专业导师、科学课程、实践练习项目和学习指导,将使学习结果用一半的努力得到两倍的结果,这不仅可以节省很多时间,而且可以敦促自己在学习过程中不会放弃一半。信盈达深耕IT12年来,一个注重用户体验和成长的平台,如果你和我一样,是个小白人,那么不妨了解一下信盈达的教学体系。