单片机控制LED灯的设计教学课件PPT.ppt_第1页
单片机控制LED灯的设计教学课件PPT.ppt_第2页
单片机控制LED灯的设计教学课件PPT.ppt_第3页
单片机控制LED灯的设计教学课件PPT.ppt_第4页
单片机控制LED灯的设计教学课件PPT.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子工业出版社,单片机控制技术 项目式教程 (C语言版),电子工业出版社,项目4 单片机控制 LED灯的设计,能了解51单片机I/O口的结构; 能掌握51单片机I/O口的特点及应用; 能掌握51单片机控制LED灯的硬件设计方法; 能熟练编写单片机控制LED灯闪烁的程序。,学习目标,工作任务,叙述51单片机I/O口的结构和特点; 设计单片机控制单个LED灯闪烁的电路和工作软件; 设计单片机控制多个循环LED灯的电路和工作软件。,任务4.1 单片机控制单个LED灯 任务4.2 单片机控制多个循环LED灯 项目小结,项目4 单片机控制LED灯的设计,任务4.1 单片机控制单个LED灯,4.1.1 M

2、CS-51单片机的I/O口介绍,MCS-51系列单片机有4个8位的并行I/O接口:P0、P1、P2和P3口。它们是特殊功能寄存器中的4个。这4个口,既可以作输入,也可以作输出,既可按8位处理,也可按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。,1P0口,P0口是一个三态双向口,包括一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成 ,它的一位结构如图 :,输出驱动器,控制电路,P0口功能,1、通用IO接口:不需要外部扩展时,内部控制信号将使MUX开关接通到锁存器。此时,由于P0口没有内部上拉电阻,通常要在外部加一个上拉电阻来提高驱动能力。,2、地址/数据分时复用:需要进行外

3、部扩展时,内部控制信号将使MUX开关接通到内部地址数据线。此时,P0口在ALE信号的控制下,分时输出低8位地址和8位数据信号。,P0口的工作原理,(1)通用I/O口,作为通用I/O使用,是一个准双向口: “在输入数据时应先把口置1,使V1、V2都截止,引脚处于悬浮状态, 可作高阻抗输入”,(2)地址/数据总线口 输出:地址/数据为1,P0 x 高 地址/数据为0,P0 x 低 输入:经缓冲器1读入,(1)P0口既可作地址/数据总线使用,也可作通用I/O口使用。当P0口作地址/数据总线使用时,就不能再作通用I/O口使用了。 (2)P0口作输出口使用时,输出级属漏极开路,必须外接上拉电阻,才有高电

4、平输出。 (3)P0口作输入口读引脚时,应先向锁存器写1,使V1、V2截止,不影响输入电平。,P0口特点,2. P1口,P1口是准双向口,它只能作通用I/O接口使用。结构与P0口不同, 它的输出只由一个场效应管V1与内部上拉电阻组成。,(1)P1口是唯一的单功能口,仅能作为通用I/O口使用。因在其输出端接有上拉电阻,可以直接输出而无需外接上拉电阻。 (2)同P0口一样,当作输入口时,必须先向锁存器写“1”,使场效应管V1截止。,P1口特点,3. P2口,P2口也是准双向口,它有两种用途:通用I/O接口和高8位地址线。,P2口作I/O端口使用时:内部控制信号使MUX开关接通到锁存器,此时P2口的

5、用法与P1口相同。 P2口作外部地址总线使用时:内部控制信号使MUX开关接通到内部地址线,此时P2口的引脚状态由所输出的地址决定。,需要特别指出的是,由于对片外地址的操作是连续不断的,只要进行了外部系统扩展,此时P0口和P2口就不能再用作I/ O端口了。,4. P3口,P3口用作通用I/O口时,其工作原理同P1口类似。 此外,它的每一根线还具有第二种功能。, 在真正的应用电路中,P3口的第二功能显得更为重要 。,4.1.2 单片机控制单个LED灯闪烁的设计,1任务要求 设计一个电路,AT89C52单片机的P1.7引脚连接一个LED灯,控制LED闪烁。 2任务分析,以单片机为核心的电子设计,硬件

6、设计,软件设计,单片机最小系统加上最简单的输出电路来驱动LED,编程控制P1.7引脚的电平状态,使其持续一段时间的高电平,再持续一段时间的低电平,3任务设计,(1)器件的选择,发光二极管,发光二极管:单向导电性,通过5mA左右电流即可发光,电流越大,亮度越强,但若电流过大会烧毁二极管,一般控制在320mA。 工作电压: 红色发光二极管1.7-2.5V 绿色发光二极管2.0-2.4V 黄色发光二极管1.9-2.4V 蓝/白色发光二极管3.0-3.8V,限流电阻,二极管串联电阻的目的是为了防止发光二极管和P1.7引脚流过的电流过大,烧毁二极管或单片机,所以该电阻也称为“限流电阻”。 限流电阻的选择

7、: 假设电源电压为VCC,发光二极管的导通压降为VDD,导通时流过二极管的电流为I,则限流电阻R为: R = (VCC-VDD)/I 例如,若二极管的导通压降为2.2V,导通时流过的电流为5mA,则限流电阻为560。,器件清单,(2)硬件原理图设计,再次强调:图中的单片机元件没有“VCC”和“GND”引脚,这是因为Proteus软件中,元件模型中的“电源”和“地”已经进行了连接,“VCC”接到了“+5V”电源,“GND”接到了“地”,所以隐藏了这两个引脚。,(3)软件程序设计,#include /宏定义 sbit led=P17; / 用sbit 关键字定义P1.7引脚 / 延时子函数 voi

8、d Delay(unsigned int t) while(-t); /主函数,控制P1.7引脚的LED灯闪烁 void main (void) while (1) /主循环 led=0; /将P1.7引脚置0,对外输出低电平 Delay(20000); /调用延时程序 led=1; /将P1.7引脚置 1,对外输出高电平 Delay(20000); /调用延时程序 ,在软件编程中,通常使用空循环来达到延时的效果。延时时间的长短可以在Keil C51的调试状态下分析。,(4)软硬件联合调试,1任务要求 设计一个电路,AT89C52单片机的P1口连接8只LED灯,首先控制P1.0到P1.7连接的

9、8只LED灯逐个点亮,接下来再从P1.0到P1.7连接的8只LED依次全部点亮,然后控制从P1.7到P1.0连接的8只LED灯逐个点亮,最后再从P1.7到P1.0连接的8只LED依次全部点亮,形成流水灯的效果。,任务4.2 单片机控制多个LED灯,2任务分析 任务要求单片机控制8个LED灯,当需要对某个I/O口的八位一起操作时,一般采用整体操作的方式,即总线的方式。在软件设计时可以定义一个变量来给P1口赋值,赋的值不同点亮的LED灯不同。由于8只LED灯要按一定规律点亮,这就要求对给P1口赋的变量进行移位,移位操作既可以用标准C中的左移、右移运算符来实现,也可以用C51库自带的函数来实现。,移

10、位运算符,循环移位函数,注意:循环移位函数_crol_( )和_cror_( )包含在intrins.h头文件中,因此如果在程序中要用到这类函数,就必须在程序的开头处包含intrins.h这个头文件。,由于用到的发光二极管较多,每个发光二极管都需要限流电阻,硬件电路会显得比较复杂,所以这里使用了排阻。 排阻,就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。如果一个排阻是由n个电阻构成的,那么它就有n+1个引脚,一般来说最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。,直插式排阻 贴片式排阻,排阻一般用在数字电路上,比如作为某个并行口的上拉或者下拉

11、电阻用。使用排阻比用若干只固定电阻更方便。,3任务设计,(1)器件的选择,器件清单,(2)硬件原理图设计,(3)软件程序设计,#include /宏定义,52单片机头文件 #include/包含_crol_、_cror_函数所在的头文件 #define uint unsigned int #define uchar unsigned char /延时子函数 void Delay(unsigned int t) while(-t); /主函数,循环点亮LED灯 void main() uchar k,recy; while(1) /大循环 recy=0 xfe; for(k=1;k=8;k+)

12、/8只LED灯从P1.0到P1.7逐个点亮 P1=recy; /先点亮P1.0的LED灯 Delay(50000); /延时一段时间 recy=_crol_(recy,1); /将recy循环左移1位后再赋给recy ,recy=0 xfe; for(k=1;k1; /将recy右移1位后再赋给recy P1=0 xff; /全部熄灭 Delay(50000); ,(4)软硬件联合调试,将编写的程序在Keil C51中编译成*.hex后调入Proteus硬件电路图的AT89C52中运行,八只LED灯从P1.0到P1.7逐个点亮,接下来再从P1.0到P1.7依次全部点亮,然后全部熄灭后又从P1.7到P1.0逐个点亮,最后再从P1.7到P1.0依次全部点亮,如此反复形成流水灯。,项目小结,本项目主要介绍了51单片机I/O口结构和应用,通过两个任务实现了单片机对单个LED灯闪烁和多个循环LED灯的控制。 51单片机有4个8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论