【单片机应用】项目一 发光二极管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

  1. PROTEUS是英国Labcenter Electronics公司开发的多功能EDA(Electronic design automation,缩写:EDA)软件。
  2. PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。
  3. 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程序项目
  1. 建立工程文件
  2. 建立源文件
  3. 加载源文件
  4. 设置工程的配置参数
  5. 进行编译和连接
  6. 进入调试模式
  7. 全速运行程序

用PROTEUS仿真运行调试

  • 加载“点亮一个LED.hex ”目标代码文件
  1. 打开Proteus“点亮一个LED”电路。
  2. 双击单片机“STC89C52”,在弹出的“编辑元件”对话框中单击“Program File”栏的打开按钮,在弹出的“选择文件名”对话框找到前面编译生成的“点亮一个LED.hex ”HEX文件,单击“打开“按钮,完成“点亮一个LED.hex ”HEX文件加载。
  3. 将“Clock Frequency”栏中的频率设为12MHz,单击“确定”,即可完成加载目标代码文件。
  • 仿真运行调试
    • 单击仿真工具栏“运行”按钮,单片机全速运行程序。
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落羽凉笙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值