欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用

程序员文章站 2022-06-08 21:36:34
...

1、 外设 LED 介绍

   LED小灯 即发光二极管,发光二极管为二极管中的一种,二极管中有阳极和阴极,电流从正极流向负极导通,反向阻断。其中贴片发光二极管,正向导通电压在1.8V — 2.2V之间,工作电流在1mA – 20mA之间,1mA – 5 mA之间LED小灯亮度变化明显,5 mA – 20mA之间LED小灯亮度变化不大,20mA以上LED小灯易烧坏。
                           贴片发光二极管
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用

2、计算限流电阻

                           LED小灯电路
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用
  1. 限流电阻: 电阻的阻值大小变化可以直接改变整条电路的电流大小,称为限流电阻。
  2. 该开发板VCC电压为5V,GND接地为0V,贴片LED电压大概在2V左右,限流电阻电压为3V左右,要使LED灯亮电流控制在1mA – 20mA之间,从而限流电阻应在150欧姆 – 3K欧姆之间。

3、USB接口电路介绍

                           USB接口电路
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用
   1. 1引脚:VCC,4引脚:GND。 2引脚和3引脚:数据通信引脚。  5引脚和6引脚:GND。
   2. F1为自恢复保险丝,正常情况可以看成导线,短路下保险丝断开保护电路。
   3. C16为470微法的电容,电容:隔直流,通交流。

4、点亮LED小灯原理

   将图二的GND换成一个单片机的IO口 P0.0 , 更换后如图:
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用
  原理:当P0.0输出一个高电平的时候,相当于跟VCC一样的5V电压,此时整个电路路无电压差无电流,LED熄灭。当P0.0输出一个低电平的时候,相当于跟GND一样的0V电压,此时整个电路接通,LED点亮。可以P0.0输出电平可以通过程序控制。

5、特殊功能寄存器和位定义

 1. 单片机内部有多个特殊功能寄存器,编程时必须得先用 sfr 关键字声明后才能使用,例如:

sfr  P0 = 0x80;  // 定义了 P0 模块特殊功能寄存器

  每个模块的特殊功能寄存器地址可以通过单片机手册查询,keil软件已经把这些特殊功能寄存器保存到了 #include<reg52.h> 的头文件中,只需在文件中添加该头文件即可省去特殊功能寄存器的声明。

 2. 每个特殊功能寄存器里有8个开关,即8个IO口(输入和输出口),可以通过 sbit 关键字来定义这些开关。例如:

sbit LED = P0^0; //将 P0 模块寄存器的第0个 IO 口命名为 LED

 3.特殊功能寄存器手册
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用
  Add: 为寄存器地址,地址里h表示16进制。
  Reset Value:为上电复位值,1表示高电平,0表示低电平。

6、通过keil软件建立工程

   步骤:1、建立文件夹
       2、建立工程(注意:选择Inter下的单片机) 
       3、创建新文件,并保存(文件名后缀为.c)后添加到工程中。
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用

7、编写程序

   1. 点亮小灯程序

#include<reg52.h>  //包含特殊功能寄存器定义的头文件

sbit LED = P0^0;	 //为地址声明,sbit小写,P大写
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

void main()
{
	ENLED = 0;
	ADDR3 = 1;
	ADDR2 = 1;
	ADDR1 = 1;
	ADDR0 = 0;
	LED = 0;	//低电平,点亮小灯, 同理将LED = 1,为高电平,熄灭小灯。
	while(1);  //让程序停止在这
}

  程序运行无误后,设置生成 .hex文件后重新编译, 重新编译成功后将生成.hex文件。

   2. output窗口说明
【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用
   data=9.0 :表示程序使用了内存RAM 9个字节。
   code = 29 :表示程序使用了FLASH资源的29个字节。

8、烧录程序

   步骤: 1.硬件连接好后查看开发板使用的COM端口号。

【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用
   2. 打开烧录软件,选择好对应单片机种类,调选好对应COM端口号。
   3. 打开生成的.hex文件后下载,
   4. 当烧录软件显示上电后,打开单片机开关即可。结果如图:

【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用

9、收获

   1. 因有前期的C语言学习,在编程上问题不大。
   2. 今年寒假的时候学到第六课后因个人原因没有坚持在学,现在重温第二课并写博客,对单片机的原理有了更加充分的了解,写了两篇博客后对博客的排版及使用方法也更加娴熟,写博客挺费时间的,要有住够的内心,希望自己能坚持下去,奥里给!!

【自学51单片机】2 -- 点亮 LED 小灯及相关软件的使用

         “不耻最后,即使慢,驰而不息,纵令落后,纵令失败,但一定可以达到他所向往的目标。” ----鲁迅