单片机应用技术项目教程项目2_闪烁灯教材教学课件.pptVIP

单片机应用技术项目教程项目2_闪烁灯教材教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料

项目2 闪烁灯;知识目标: 1.掌握51单片机并行输入/输出(I/O)端口的结构和功能; 2.掌握P0、P1、P2、P3口的操作方法; 3.理解单片机的时钟和时序; 4.掌握C语言源程序结构; 5.掌握C语言基本语句; 6.重点掌握循环语句while、do…while、for的语法特点; 7.掌握延时程序设计和调试方法。 技能训练目标: 1.熟练使用C51对并行I/O端口操作的编程方法; 2.熟悉延时程序、子函数、循环语句的概念及熟练其设计方法; 3.熟练使用单片机仿真软件及开发系统的能力; 4.熟悉单片机应用系统的一般开发流程。;技术要求: 设计一个基于单片机控制的LED闪烁灯光控制系统,即在单片机的P2端口上接8个发光二极管,使8个发光二极管不断亮灭以产生闪烁效果。; 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成LED灯的输出显示;软件主要完成信号的处理及控制功能等。 本系统的硬件采用模块化设计,以AT89C52单片机为核心,与LED接口电路组成控制系统。该系统硬件主要包括以下几个模块:AT89C52单片机最小系统、LED接口电路模块等。其中AT89C52主要完成外围硬件的控制以及一些运算功能,LED接口电路完成灯光的闪烁功能。系统组成方框图如图2-1所示。 该系统软件主要由主程序、延时功能函数模块等组成,系统软件结构框图如图2-2所示。; 51系列单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0~P3。在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。;P0口;P1口: 用作通用I/O口,用作输入时,均须先写入“1”; P2口: 用作通用I/O口,用作输入时,均须先写入“1”; P2口用于高8位地址总线;;P3口;小结;CPU时序;用一对花括号{ }将多条语句组合在一起,在语法上相当于一条语句。组合在一起形成具有一定功能的模块。 1、一般形式: { [内部数据说明;] 语句1; …… 语句n; } 注意: (1)在复合语句中说明的变量,是局部变量, 仅在复合语句中有效。 (2)复合语句的 } 之后,不能有分号。 (3)复合语句之间用“{}”分隔,内部各语句以;结束。 (4) 复合语句允许嵌套。即{}中或嵌套{}。;/*P1口8个LED灯依次点亮*/ main( ) { P1=0xff; P1=0xfe; P1=0xfd; …… P1=0x7f; } ;选择分支语句;循环语句;循环控制语句: for([变量赋初值表达式]; [循环继续条件表达式]; [循环变量增值表达式]) { 循环体语句组;} ;循环控制语句while;在程序当中,有时候需要循环体条件不会真的时候也执行一次语句的情况下。这样就不能用while循环,使用do…while循环。 do…while循环语句格式: do { 语句; } while(循环体) 例:用do…while循环实现延时255μs(反复执行255次空操作)。 void delaymS() //延时函数 { unsigned char i=255; //定义变量 do { i--; } while(i); //循环 };【活动一】硬件电路设计;算法设计 根据系统工作原理图2-5可知:当P0口输出高电平,即P0=0xff时,根据发光二极管的单向导电性可知,这时发光二极管全亮; 当P0口输出低电平,即P0=0x00时,发光二极管D1~D7全熄灭;发光二极管闪烁过程实际上就是发光二极管交替亮、灭的过程,单片机运行一条指令的时间只有几微秒,时间太短,眼睛无法分辨,看不到闪烁的效果。因此,用单片机控制发光二极管闪烁时,需要增加一定的延时时间。 ;单色灯闪烁:8只单色灯亮,然后8只单色灯灭 #include reg51.h void main() { P2 = 0x00; //全亮 (1) P2 = 0xff; //全灭 (2) } P1=0xff;是什么呢?0xff对应二进制的数值对应的引脚为1是熄灭单色灯,8个1,代表的就是熄灭8个单色灯。录入程序后我们通过单步运行程序,就可以看到当程序走过第(1)条语句后单色灯全亮,走过第二条语句后单色灯全灭了。 单片机执行的速度实在是太快了,我们跟本分辨不出单色

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档