点亮LED灯

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一点亮你的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之间。

上图是开发板上的USB接口电路,通过USB线,计算机给开发板供电和下载程序以及实现计算机和开发板之间的通信。从图可以看出USB 有6个接口,其中2,3引脚是数据通信引脚,1,4是电源引脚,1是VCC正电源,4是GND即地线。5,6是外壳,直接接到了GND上。

现在主要来讲1,4引脚,1引脚通过F1(自恢复保险丝,作用是当后级电路发生短路时,八年四自动切断电路,保护开发板及计算机的USB口,当电路正常后,保险丝会恢复畅通,正常工作)接到右侧,在正常情况下保险丝可看为导线,因此左右两边都是USB电源+5V。

右侧有两条支路,第一条是在+5V和GND接了一个100μF的电容,电容是隔离直流的,所以这条支路是没有电流的;第二条支路,发光二极管,和普通二级管一样,这个二极管也有阴极和阳极,也称负极和正极,正向导通,方向接对了才会有电流通过,让LED发光,LED1自身的压降大概是2V,那么下方的R34这个电阻上承受的电压就是3V,如果要求电流范围为1~20mA,根据欧姆定律,就可以算出R34的取值范围是150~3kΩ。这个电阻大小的变化,直接限制这条电路上电流的大小,因为这个电阻通常称为“限流电阻”。图中的R34为1KΩ,这条电路的电流大小就可以轻松算出来,3V/1000Ω=3 mA,这个发光二级管的作用只是电源指示灯,使用USB线将开发板和计算机连起来,这个灯就亮了。

同理,板子后级开关控制电路,又添加了一个LED10发光二极管,作用是当打开开关时,这个二极管才亮起,他也是指示灯的作用。

那么今天的实验,把右侧的GND去掉,改成一个单片机的IO口,如下图;

由于电源从正极到负极有电压差,并且电路是导通的,所以就会有电流通过,LED 小灯因为有了电流通过,所以会直接发光,把右侧原GND处接到P0.0口引脚上,如果单片机输出一个低电平,就是跟GND一样的0V电压,就可以让LED小灯发光了。

因为单片机是可以变成控制的,可以让P0.0这个引脚输出一个高电平,就是跟VCC 一样的5V电压,那么这个时候,左侧VCC电压和右侧P0.0的电压是一致的,么就没有电压差,就不会产生电流,LED灯就不会亮,处于熄灭状态。下面可以用编程软件来实现控制小灯的亮和灭。

3.4 51单片机特有的程序语法

1)特殊功能寄存器

sfr P0 = 0x80;

其中,sfr是关键字,是51单片机特有的,作用就是定义一个单片机特殊功能寄存器,51单片机内部有很多小模块,每个模块居住在拥有唯一房间号的房间内,

同时每个模块有8个控制开关。P0就是一个功能模块,就住在了0x80这个房间里,

人们就是通过设置P0内部这个模块的8个开关,来让单片机的P0这8个IO口输

出高电平或低电平的。

而51单片机内部有很多寄存器,如果想使用的话,都要提前声明。好在,keil 软件已经把所有这声明预先写好并保存到一个专门的文件中区,要用的话,只要程

序开头,加一行#include即可,

2)位定义

sbit LED = P0^0;

sbit就是对刚才所说的SFR里边8个开关其中一个进行定义,以后只要程序里

写LED,就代表P0^0口,也就是给P0^0口取了一个更形象的名字。

四、实验步骤

4.1使用编程软件keil C51新建一个工程

1)打开keil软件,单击Project ->New μV ision Project,出现新建工程的界面,

2)为工程起名字,例如LED, 保存工程到指定目录,便于管理

3)单片机型号选择,由于51内核是由Intel公司创造的,这里直接选择Intel公

司的名下的80/87C52来代替,点击OK, 接着选择”是”即可。

相关文档
最新文档