51单片机的内部内部资源和最小系统解读

嵌入式系统 时间:2018-11-12来源:网络

  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;

  }

关键词: 51单片机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版