目录

  • 1、 外设 LED 介绍
  • 2、计算限流电阻
  • 3、USB接口电路介绍
  • 4、点亮LED小灯原理
  • 5、特殊功能寄存器和位定义
  • 6、通过keil软件建立工程
  • 7、编写程序
  • 8、烧录程序
  • 9、收获

1、 外设 LED 介绍

 LED小灯 即发光二极管,发光二极管为二极管中的一种,二极管中有阳极和阴极,电流从正极流向负极导通,反向阻断。其中贴片发光二极管,正向导通电压在1.8V — 2.2V之间,靠电流驱动,工作电流在1mA – 20mA之间,1mA – 5 mA之间LED小灯亮度变化明显,5 mA – 20mA之间LED小灯亮度变化不大,20mA以上LED小灯易烧坏。
      贴片发光二极管

2、计算限流电阻

      LED小灯电路

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

3、USB接口电路介绍

       USB接口电路

 1. 1引脚:VCC,4引脚:GND。 2引脚和3引脚:数据通信引脚。  5引脚和6引脚:GND。
 2. F1为自恢复保险丝,正常情况可以看成导线,短路下保险丝断开保护电路。
 3. C16为470微法的电容,电容:隔直流,通交流。

4、点亮LED小灯原理

 将图二的GND换成一个单片机的IO口 P0.0 , 更换后如图:

  原理:当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.特殊功能寄存器手册
 
Add: 为寄存器地址,地址里h表示16进制。
Reset Value:为上电复位值,1表示高电平,0表示低电平。

6、通过keil软件建立工程

  步骤: 1. 建立工程(注意:选择Inter下的单片机)----> 2. 保存工程 ----> 3. 建立文件(文件名后缀为.c)并保存 ----> 4. 添加文件到工程 ----> 5. 编写程序 ----> 6. 编译 ----> 7. 下载程序。

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窗口说明

  data=9.0 :表示程序使用了内存RAM 9个字节。
  code = 29 :表示程序使用了FLASH资源的29个字节。

8、烧录程序

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


  2. 打开烧录软件,选择好对应单片机种类,调选好对应COM端口号。
  3. 打开生成的.hex文件后下载,
  4. 当烧录软件显示上电后,打开单片机开关即可。结果如图:

9、收获

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

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

【自学51单片机】2 -- LED小灯及点亮原理介绍、keil软件编写程序、烧录程序和点亮 LED 小灯相关推荐

  1. 自学51单片机 - 矩阵按键实验

    自学51单片机 - 矩阵按键实验 1.开发板原理图 2.程序 2.1 行列式扫描法 2.2 线翻转扫描法 3.结果 1.开发板原理图 2.程序 2.1 行列式扫描法 /**************** ...

  2. 设计一个以51单片机为控制器的2位的LED数码管“计时器”,实现倒计时功能。利用Keil软件编写程序,Proteus软件搭建系统仿真模型,

    设计一个以51单片机为控制器的2位的LED数码管"计时器",实现倒计时功能.利用Keil软件编写程序,Proteus软件搭建系统仿真模型,系统要求如下: 1.利用开关Switch1 ...

  3. 【自学51单片机】3 -- 硬件基础知识(电容、三极管、74HC245、74HC138三八译码器)介绍和闪烁LED小灯

    目录 1.电磁干扰 2.电容介绍 3.三极管在数字电路中的应用 3.1.三极管介绍 3.2.三极管的原理 3.3.三极管的应用 4.74HC245介绍 4.1.74HC245引入 4.2.74HC24 ...

  4. 入门51单片机(STC8952RC)定时器、有关中断原理简述、寄存器设置与程序示例(包括流水灯和计时器)

    目录 1.单片机之定时器 1.1 STC89C52RC定时器模式1工作流程 1.1.1 计数部分 1.1.2 时钟部分 1.1.3 中断部分 1.2 定时器T0.T1相关寄存器 1.2.1 TCOM寄 ...

  5. 【自学51单片机】11 -- UART串口通信

    文章目录 1.串行通信的初步认识 2.USB转串口通信 3.UART串口通信的基本应用 3.1 通信的三种基本类型 3.2 UARM模块介绍 3.3编写UART串口步骤及程序 4.串口调试助手 5.通 ...

  6. 【自学51单片机】9 -- 步进电机原理、蜂鸣器原理,单片机IO口的结构,上下拉电阻

    目录 1.单片机IO口的结构 2.上下拉电阻 3.电机 3.1 电机分类 3.2 28BYJ-48型步进电机 3.2 28BYJ-48电机转动原理 3.3 28BYJ-48电机工作模式 3.4 步进电 ...

  7. keil用c语言怎么编辑器,用keil软件编写单片机程序的步骤

    猜你感兴趣: 新手教程:单片机的学习实践步骤 运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制. 运用按钮输入信号,发光二极管 ...

  8. 【51单片机】(三)数码管(原理,静态、动态显示)

    一.数码管基础知识 四位一体数码管: 数码管电路原理: 与之有关的元件--"138译码器": ①想要点亮一个数码管并让其显示数字,我们需要操作两个端口,给两个端口不同的电平.我们的 ...

  9. 51单片机静态数码管和动态数码管原理及实验

    数码管实验 数码管 多位数码管,即是两个或两个以上单个数码管并列集中在一起形成一体的数码管.当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位 ...

最新文章

  1. 手机测试用例-设置测试用例
  2. Go goroutine
  3. 【C语言】Find The Single Dog(标志变量的使用)
  4. tableView 获取网络图片,并且设置为圆角(优化,fps)
  5. Multisim14仿真基本模拟电路之 10.5电压比较器及其应用电路的仿真实验与分析
  6. Qt基于FFmpeg解码本地视频后再编码
  7. c语言的pow函数运用
  8. 如何用虚拟机VMware和Linux路由器搭建一个虚拟网络
  9. PB AcceptText()函数
  10. html用div排版类型table,DIV排版和Table排版的区别
  11. 如何在linux下解压缩rar和zip格式的文件压缩包
  12. RT-Thread内核-__rt_ffs函数
  13. NB-IOT与物联网
  14. 为了救自己,天涯和简书做起了区块链,新闻媒体呢?
  15. 3D人物建模需要哪些软件?资深大牛全方位从入门到实战解析
  16. Tradeoff 是一种针对目标选择有效的路径的思维方式
  17. 运用ArcGIS进行影像分类
  18. 国产充电宝品牌排行,国内最好的充电宝品牌推荐
  19. 通过VLC产生multicast RTP 流
  20. How to Write a Research Proposal

热门文章

  1. 关于前段蛋疼的地方之 IE 和网景 的缠缠绵绵 - 事件篇(1)
  2. 1032 c语言程序设计 作业,西南大学18秋[1032]C语言程序设计作业
  3. Oracle之PL/SQL编程从入门到精通-文心-专题视频课程
  4. 多版本软件管理工具update-alternatives
  5. 宝塔Linux权限设置,宝塔linux面板如何绑定域名
  6. error LNK2001: 无法解析的外部符号 _sscanf 问题 解决方法
  7. eclipse 快捷调整字体_键盘快捷键来改变Eclipse的字体大小?
  8. 华三(H3C)IRF堆叠+LACP MAD检测配置举例
  9. 老外如何看待WEB前端与后端? ---来自QUORA
  10. navicat12破解教程