发光二极管LED控制
一、LED介绍
LED,即发光二极管,是一种半导体固体发光器件。如图:
二、LED的工作原理
LED的符号为:
LED的工作是有方向性的,只有当正极接到LED阳极,负极接到LED的阴极的时候才能工作,如果反接LED是不能正常工作的。
三、小项目:点亮一个LED
C语言知识点:
bit和sbit都是C51扩展的变量类型。
sbit用法:
sbit 变量名=地址值;
在给某个引脚取名的时候经常会用到。
sbit LED=P1^0; //定义LED是P1.0引脚的位变量名
点亮一个发光二极管
工作任务
STC89C52单片机P1.0引脚接发光二极管LED的阴极;
通过C语言程序控制,从P1.0引脚上输出低电平,使发光二极管LED点亮。
认识PROTEUS
- PROTEUS是英国Labcenter Electronics公司开发的多功能EDA(Electronic design automation,缩写:EDA)软件。
- PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。
- PROTEUS实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB(Printed Circuit Board)的完整的电子设计、研发过程。
用PROTEUS设计第一个LED控制电路
用PROTEUS设计步骤如下
1.新建设计文件
2.保存设计文件
3.选取元器件
4.放置元器件
5.编辑元器件
6.放置终端
7.连线
8.属性设置
9.电气规则检测
从Proteus元器件库中选取元器件:AT89C52(单片机)、CRYSTAL(晶振)、CAP(电容)、CAP-ELEC(电解电容)、RES(电阻)、LED-RED(红色发光二极管)
工作过程
- P1.0引脚接发光二极管(LED)的阴极,P1.0引脚输出低电平时,发光二极管点亮。
- 问题:
为什么 P1.0引脚输出低电平,发光二极管点亮?
- 问题:
- 通过程序控制,使P1.0引脚输出低电平,使发光二极管点亮。
-问题:
程序怎么使P1口的引脚输出低电平?
下面我们来看一下程序,就可以找到答案。
LED点亮程序
#include<AT89X52.H> //包含AT89X52.H头文件
#include"reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
sbit LED=P1^0; //定义LED是P1.0引脚的位变量名
void main(void)
{
LED=0; //P1.0=0,LED点亮
while(1);
}
点亮第一个LED实验
#include"reg52.h"
#include<AT89X52.H>
sbit led=P0^0;
void main()
{
while(1)
{
led=0;
}
}
认识KEIL C51
- Keil C51是德国Keil软件公司开发的基于8051内核的微控制器软件开发平台。
- Keil C51是51系列单片机C语言软件开发系统,是目前开发8051内核单片机的主流工具。
- Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
- Keil C51具有集成开发环境,可以完成从工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。
用KEIL C51编写第一个C语言程序
- 建立第一个C程序项目
- 建立工程文件
- 建立源文件
- 加载源文件
- 设置工程的配置参数
- 进行编译和连接
- 进入调试模式
- 全速运行程序
用PROTEUS仿真运行调试
- 加载“点亮一个LED.hex ”目标代码文件
- 打开Proteus“点亮一个LED”电路。
- 双击单片机“STC89C52”,在弹出的“编辑元件”对话框中单击“Program File”栏的打开按钮,在弹出的“选择文件名”对话框找到前面编译生成的“点亮一个LED.hex ”HEX文件,单击“打开“按钮,完成“点亮一个LED.hex ”HEX文件加载。
- 将“Clock Frequency”栏中的频率设为12MHz,单击“确定”,即可完成加载目标代码文件。
- 仿真运行调试
- 单击仿真工具栏“运行”按钮,单片机全速运行程序。