单片机LED闪烁灯03_第1页
单片机LED闪烁灯03_第2页
单片机LED闪烁灯03_第3页
单片机LED闪烁灯03_第4页
单片机LED闪烁灯03_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、 1第第3讲讲 单片机驱动单片机驱动LEDLED陈妮陈妮数学与信息工程教研室数学与信息工程教研室 23LEDLED显示屏显示屏42.2 单片机并行口驱动单片机并行口驱动LEDLED 我叫发光二极管,我叫发光二极管,我会发光我会发光5LEDLED的发光原理的发光原理阳极阳极阴极阴极1+5V00V(一)(一)LEDLED发光二极管发光二极管6发光二极管实物接线及电路原理图发光二极管实物接线及电路原理图 10什么是单片机?什么是单片机? 单片机单片机 限流限流7CPU输输入入设设备备输输出出设设备备软软件件系系统统+微型计算机系统微型计算机系统硬件系统硬件系统输输入入接接口口电电 路路输输出出接接口

2、口电电 路路运 算 器控 制 器存 储 器在一片集成电路芯片上集成在一片集成电路芯片上集成CPUCPU、存储器存储器、I/OI/O接口接口电路,构成电路,构成了了单片微型计算机,单片微型计算机,即单片机(即单片机(MCUMCU,Micro Controller Micro Controller UnitUnit)。简单说,单片机就是集成在一片芯片上的微型计算机,。简单说,单片机就是集成在一片芯片上的微型计算机,实质是一个实质是一个电子芯片。电子芯片。单片微型计算机单片微型计算机8P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P

3、1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0P3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.712345678910111213141516171819204039383736353433323130292827262524242221单单片片机机CPU 大脑大脑程序程序 思想思想I/O接口接口 四四肢肢手、脚手、脚 P0、P1、P2、P3输入或输出0、1(二)(二)IOIO口介绍口介绍9 P0P0:(:(39-3239-32脚),双向脚),双向8 8位三态位三态I/OI/O口,口,每个口可独立每

4、个口可独立控制,内部无控制,内部无上拉电阻,为上拉电阻,为高阻态不能正高阻态不能正常地输出高低常地输出高低电平,使用时电平,使用时须外接上拉电须外接上拉电阻,一般阻,一般10K10K左右。左右。P0.n锁存器P0.nQQD读锁存器写锁存器内部总线读引脚T1T2VCCMUX地址/数据控制图 P0口的口线逻辑电路图 P0口口10=1控制控制=“1”=“1”,P0P0作为地址作为地址/ /数据分时复用总线使用数据分时复用总线使用P0口口线的工作过程11=0漏极开路漏极开路反相反相反相反相控制控制=“0”=“0”,P0P0作为通用作为通用I/OI/O接口使用接口使用P0口口线的工作过程12P0口作为通

5、用I/O接口时应注意(1)输出数据时,由于V2截止,输出端为漏极开路,要使“1”信号正常输出,必须外接上拉电阻。(2)输入数据前,应先向P0口写“1”,使输出V1、V2均截止。13 当P0口作为输出口使用时,内部总线将数据送入锁存器,内部的写脉冲加在锁存器时钟端CP上,锁存数据到Q端。经过MUX,V1反相后正好是内部总线的数据,送到P0口引脚输出。 当P0口作为输入口使用时,应区分读引脚和读端口两种情况,所谓读引脚,就是读芯片引脚的状态,这时使用下方的数据缓冲器,由“读引脚”信号把缓冲器打开,把端口引脚上的数据从缓冲器通过内部总线读进来。 读端口是指通过上面的缓冲器读锁存器Q端的状态。读端口是

6、为了适应对I/O口进行“读-修改-写”操作语句的需要。例如下面的C51语句: P0=P0&0 xf0;/将P0口的低4位引脚清0输出P0口的结构 14 除了I/O功能以外,在进行单片机系统扩展时,P0口是作为单片机系统的地址/数据线使用的,一般称为地址/数据分时复用引脚。 当输出地址或数据时,由内部发出控制信号,使“控制”端为高电平,打开与门,并使多路开关MUX处于内部地址/数据线与驱动场效应管栅极反相接通状态。此时,输出驱动电路由于两个FET处于反相,形成推拉式电路结构,使负载能力大为提高。输入数据时,数据信号直接从引脚通过输入缓冲器进入内部总线。P0口的结构 15P1.n锁存器P1

7、.nQQD读锁存器写锁存器内部总线读引脚内部上拉电阻TVCC图 P1口的口线逻辑电路图 P1P1:(:(1-81-8脚),脚),准双向准双向8 8位三位三态态I/OI/O口,每口,每个口可独立控个口可独立控制,内部有上制,内部有上拉电阻,其输拉电阻,其输出没有高阻状出没有高阻状态,输入也不态,输入也不能锁存,不是能锁存,不是真正的双向真正的双向I/OI/O口口P1口口16P1口口线的工作过程17P1口是准双向口,只能作为通用I/O口使用。P1口作为输出口使用时,无需再外接上拉电阻。P1口作为输入口使用时,应区分读引脚和读端口。读引脚时,必须先向电路中的锁存器写入“1”,使输出级的FET截止。P

8、1口的结构 18 P2口口P2.n锁存器P2.nQQD读锁存器写锁存器内部总线读引脚TVCC地址控制内部上拉电阻MUX图 P2口的口线逻辑电路图P2口口191P2口口线的工作过程200P2口口线的工作过程21P2口是准双向口,在实际应用中,可以用于为系统提供高8位地址,也能作为通用I/O口使用。P2口作为通用I/O口的输出口使用时,与P1口一样无需再外接上拉电阻。P2口作为通用I/O口的输入口使用时,应区分读引脚和读端口。读引脚时,必须先向锁存器写入“1”。P2口的结构 22 P3口口P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻图 P3

9、口的口线逻辑电路图P3口口23P3口是准双向口,可以作为通用I/O口使用,还可以作为第二功能使用。作为第二功能使用的端口,不能同时当作通用I/O口使用,但其他未被使用的端口仍可作为通用I/O口使用。P3口作为通用I/O的输出口使用时,不用外接上拉电阻。P3口的结构 24P3口的第二功能25输入与输出口的等效模型输入与输出口的等效模型输入口等效模型输出口等效模型26lMCS51的拉电流能力的拉电流能力100uA,灌电流能力,灌电流能力10mAl使用使用MCS51的的IO直接驱动直接驱动LED、数码管等均采用、数码管等均采用“共阳共阳”接接法法灌电流能力:能够流入IO口的最大电流拉电流能力:能够从

10、IO口流出的最大电流共阳接法共阳接法共阴接法共阴接法27能够承受的最大输入电压范能够承受的最大输入电压范围围是否有上拉电阻是否有上拉电阻l MCS51的的IO口输入状态时有弱上拉电阻效应,值为口输入状态时有弱上拉电阻效应,值为100k数量级数量级l 最大输入电压范围:最大输入电压范围:-0.5VVcc+0.5V28设计步骤:设计步骤:v题意分析题意分析v设计硬件电路设计硬件电路v编写源程序编写源程序v调试程序调试程序v下载、运行下载、运行例:例:P1.0P1.0口控制一个发光二极管闪烁?口控制一个发光二极管闪烁?(三)(三)IOIO口控制口控制LEDLED灯程序设计灯程序设计2910 11 1

11、、硬件设计(单片机硬件设计(单片机+ +外围电路)外围电路)30void main(void) while(1) #include头文件头文件无限循环无限循环主函数主函数2 2、软件设计(软件设计(LEDLED闪烁灯)闪烁灯)P10 = 0;/点亮点亮LEDP10 = 1;/熄灭熄灭LEDUSBUSB下载线下载线31void main(void) while(1) P10 = 0; /点亮点亮LED P10 = 1; /熄灭熄灭LED #includeDelay( );Delay( );3 3、运行调试、运行调试LEDLED灯闪烁流程图灯闪烁流程图32运行录像:运行录像: 延时延时0.125s

12、0.125s 延时延时0.5s0.5s 延时延时1s1s33小结:小结:vLED闪烁灯的电路设计闪烁灯的电路设计vLED闪烁灯的源程序设计闪烁灯的源程序设计v延时函数的作用延时函数的作用34思考题:思考题:编程实现8个发光二极管循环顺序闪烁。EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11

13、RXD10AT89C5130p30p10u2002KVCC12MVCC680680680680680680680680VCC35void Delay(char delaytime) /延时函数延时函数 char i=0; char j=0; for(i=0;idelaytime;i+) for(j=0;j100;j+);36void main(void) /主函数主函数 P1=0 xff; / 1、熄灭所有发光二极管、熄灭所有发光二极管 while(1) / 系统主循环系统主循环 LED1=0; /2、点亮第、点亮第1个发光二极管个发光二极管 Delay(100); /3、延时、延时0.1秒秒

14、 LED1=1; /4、熄灭第、熄灭第1个发光二极管个发光二极管 LED2=0; /5、点亮第、点亮第2个发光二极管个发光二极管 Delay(100); /6、延时、延时0.1秒秒 LED2=1; /7、熄灭第、熄灭第2个发光二极管个发光二极管 LED3=0; /8、点亮第、点亮第3个发光二极管个发光二极管 Delay(100); /9、延时、延时0.1秒秒 LED3=1; /10、熄灭第、熄灭第3个发光二极管个发光二极管 LED4=0; /11、点亮第、点亮第4个发光二极管个发光二极管 Delay(100); /12、延时、延时0.1秒秒 37 LED7=1; /22、熄灭第、熄灭第7个发光

15、二极管个发光二极管 LED8=0; /23、点亮第、点亮第8个发光二极管个发光二极管 Delay(100); /24、延时、延时0.1秒秒 LED8=1; /25、熄灭第、熄灭第8个发光二极管个发光二极管 /26、跳回第、跳回第2步开始循环执行步开始循环执行38思考题:改用移位指令如何实现?思考题:改用移位指令如何实现?移位指令移位时,移出的位数全部丢弃。如果是左移,则移出的空位补入的数全部是0;如果是右移,则与被移位的数据是否带符号有关。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部为原符号位。39参考程序void main(void) /主函数主函数unsigned ch

16、ar LED;LED = 0 x01; P1=0 xff; / 1、熄灭所有发光二极管、熄灭所有发光二极管 while(1) / 系统主循环系统主循环 P1 = LED; / LED取反送取反送P1 Delay(100); if(LED) LED =1; else LED = 0 x01; 40#include void Delay(unsigned char delaytime);unsigned char DispBuffer8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf, 0 xbf,0 x7f;void Delay(unsigned char delaytime) /延时函数延时函数 unsigned char i=0; unsigned char j=0; for(i=0;idelaytime;i+) for(j=0;j120;j+); 利用数组改进程序利用数组改进程序41void

温馨提示

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

评论

0/150

提交评论