51单片机项目教程项目 3 点亮一个LED灯
- 格式:pptx
- 大小:2.28 MB
- 文档页数:18
实验一点亮你的LED灯一、实验目的1.学会使用51单片机开发的两大软件:编程软件Keil μVision4(简称Keil C51)和下载软件STC-ISP。
2.理解单片机最小系统、单片机外围电路、Flash、RAM和SFR概念。
3.了解普通发光二级管的参数,掌握限流电阻的计算方法。
二、实验内容通过对单片机编程来实现LED小灯的亮和灭。
三、实验参考原理3.1 单片机内部资源1)Flash 程序存储空间2)RAM 数据存储空间3)SFR 特殊功能寄存器3.2 单片机最小系统单片机最小系统的三要素是电源、晶振、和复位电路。
1)电源目前主流单片机分为5V和3.3V这两个标准,本实验中的STC89C52为5V供电系统,开发板是使用USB口输出的5v直流直接供电的。
从上图可以看到,供电电路在40引脚和20引脚,40引脚接的是+5V,通常也成为VCC或VDD,代表的是电源正极,20引脚接的GND,代表的是电源负极。
2)晶振晶振,又叫晶体振荡器,它起到的作用是为单片机提供基准时钟信号,单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的。
SRC89C52单片机的18号引脚和19号引脚是晶振引脚,接了一个11.0592MHZ的晶振(每秒振荡11059200次),外加两个20pf的电容,电容的作用是帮助晶振起振,并维持震荡信号的稳定。
3)复位电路复位电路接到了单片机的9号引脚RST复位引脚上。
单片机复位一般分为3种情况:上电复位、手动复位和程序自动复位。
总之,一个单片机具备这三个条件就可以运行下载的程序,开发板上其它的比如LED小灯、数码管、液晶等设备都是属于单片机的外设设备,最终用户想要的功能,就是通过对单片机编程来控制各种各样的外设实现的。
3.3 LED小灯LED,即发光二极管,俗称LED小灯。
种类很多,KST使用的是普通的贴片发光二极管。
这种发光二极管的正向导通电压是1.8~2.2V之间,工作电流一般在1~20mA之间。
51单片机点亮一盏LED灯的原理解析单片机是指一种集成了微处理器核、存储器和外设接口的制作技术、封装技术等多种技术的集成电路芯片。
其中,51单片机是一种以Intel公司的80C51为核心的单片机。
点亮一盏LED灯是单片机入门的基础实验,通过这个实验可以学习到单片机的基本原理和操作方法。
点亮一盏LED灯的实验原理是通过单片机的I/O口控制LED的亮灭。
I/O口是单片机用于与外部设备进行数据交换的通道,可以通过它控制外部的电子元件。
LED是一种基本的显示元件,用来指示设备的运行状态。
在51单片机中,I/O口分为P0、P1、P2、P3四个8位I/O口,每一位可以控制一个LED。
其中P0口用来与外部设备进行数据交换,P1口是输入/输出口,P2口和P3口是专用输入/输出口。
首先,我们需要连接单片机与LED灯。
将单片机的VCC端连接到LED灯正极,将单片机的GND端连接到LED灯负极。
然后,选择一个合适的I/O口,将单片机的I/O引脚与LED的另一端连接。
接下来,我们需要编写程序控制LED的亮灭。
首先,需要包含头文件。
例如,在Keil C编译器中,我们需要使用“#include <reg52.h>”来包含51单片机的寄存器定义。
然后,我们需要定义LED的连接位置和状态。
例如,我们可以使用“sbit LED = P1^0;”来定义LED连接到P1口的第0位。
接着,我们需要编写主函数。
在主函数中,我们可以使用赋值语句来控制LED的亮灭。
例如,我们可以使用“LED = 1;”使LED亮起,使用“LED = 0;”使LED熄灭。
我们可以使用延时函数来控制LED的亮灭时间。
例如,我们可以使用“delay(1000);”使程序暂停1000毫秒。
综上所述,51单片机点亮一盏LED灯的原理是通过单片机的I/O口控制LED的亮灭,并通过编写程序来实现。
这个实验是单片机入门的基础实验,可以帮助初学者了解单片机的基本原理和操作方法。
单片机试验一:点亮一个发光二极管拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89S52 的芯片,下面就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V 电源,其中正极接40 引脚,负极(地)接20引脚。
2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19 脚。
只要买来晶振,电容,连上就可以了,按图1 接上即可。
3、复位引脚:按图1 中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA 引脚:EA 引脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
当然:您并不一定完全需要一片89S52, 实际上我们用8051 系列的任何一种芯片都是可以的。
例如89s51,89c52 等等。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED 必须要和单片机的某个引脚相连,否则单片机就没法控制它了,那么和哪个引脚相连呢?单片机上除了刚才用掉的5 个引脚,还有35 个,将这个LED 和1脚相连。
(见图1,其中R2 是限流电阻)按照这个图的接法,当1 脚是高电平时,LED 不亮,只有1 脚是低电平时,LED 才发亮。
因此要1 脚要能够控制,也就是说,要能够让1 引脚按要求变为高或低电平。
即然要控制1 脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51 芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不可以由我们来更改。
名字有了,又怎样让它变高或变低呢?叫人做事,说一声就可以,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。
让一个引脚输出高电平的指令是SETB,让一个引脚输出低电平的指令是CLR。
因此,要P1.0 输出高电平,只要写SETB P1.0,要P1.0 输出低电平,只。
8051单片机c语言置位与复位操作点亮led方法8051单片机作为一种经典的微控制器,被广泛应用于工业控制、嵌入式系统等领域。
C语言因其高效性和易读性,成为编写8051单片机程序的首选语言。
本文将详细介绍如何使用C语言对8051单片机进行置位和复位操作,以点亮LED灯。
### 8051单片机C语言置位与复位操作点亮LED方法#### 1.硬件环境准备在开始编程之前,需要确保硬件环境搭建正确。
所需硬件包括:- 8051单片机开发板- LED灯一个- 电阻(与LED灯的电压和电流匹配)- 面包板(用于搭建电路)将LED灯的一个引脚连接到8051单片机的某个I/O口(如P1.0),另一个引脚通过电阻接地。
#### 2.软件环境准备- 使用Keil uVision IDE作为开发环境,编写和编译C语言代码。
- 确保安装了适用于8051单片机的C编译器。
#### 3.C语言代码编写以下是使用C语言对8051单片机进行置位(点亮LED)和复位(熄灭LED)操作的示例代码:```c#include <reg51.h> // 包含8051寄存器定义的头文件#define LED P1_0 // 定义LED连接的I/O口,这里以P1.0为例void delay(unsigned int); // 延时函数声明void main() {while(1) { // 无限循环LED = 1; // 置位P1.0,LED点亮delay(10000); // 延时LED = 0; // 复位P1.0,LED熄灭delay(10000); // 延时}}// 延时函数定义,具体的延时时间取决于单片机的晶振频率void delay(unsigned int count) {unsigned int i,j;for(i=0; i<count; i++)for(j=0; j<1275; j++); // 空循环实现延时}```#### 4.置位与复位操作说明在上面的代码中,`LED = 1;` 对应的是置位操作,将P1.0口置为高电平,电流流经LED,使其点亮。