网站大量收购独家精品文档,联系QQ:2885784924

项目四LED广告灯设计.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目四LED广告灯设计

任务1 流水广告灯的设计 广告灯是一种常见的装饰,常用于街上的广告及舞台装饰等场合。最简单的流水广告灯就是各个灯依次发光。本任务利用AT89S51单片机来实现这一功能。 用AT89S51的P1口做输出口,接八只发光二极管D1、D2、D3、D4、D5、D6、D7、D8,编写程序,使发光二级管循环点亮,时间间隔为0.2s。即刚开始时D1点亮,延时0.2s后,接着是D2点亮,接着依次点亮D3、D4、D5、D6、D7、D8,然后再点亮D7、D6、D5、D4、D3、D2、D1,重复循环。 任务1 流水广告灯的设计 硬件电路设计 电路组成。这里选择具有内部程序存储器的AT89S51单片机作为控制电路,其P1口接8个发光二极管(LED)和8个限流电阻,电路如图所示。 任务1 流水广告灯的设计 任务1 流水广告灯的设计 点亮第一个D1发光二极管 #include reg52.h //52系列单片机头文件 sbit led1=P1^0; //声明单片机P1口的第一位 void main() //主函数 { led1=0; /*点亮第一个发光二极管*/ } 任务1 流水广告灯的设计 点亮第1、3、5、7发光二极管 #include reg52.h //52系列单片机头文件 void main() //主函数 { P1=0xaa; } 任务1 流水广告灯的设计 点亮第1、3、5、7发光二极管 #include reg52.h //52系列单片机头文件 void main() //主函数 { P1=0xaa; } 一个完整点亮第一个发光二极管的程序 #include reg52.h //52系列单片机头文件 void main() //主函数 { P1=0xfe; While(1); //注意比较前面的写法 } 任务1 流水广告灯的设计 编写一个让D1以间隔1S亮灭闪烁的程序 #include reg52.h //52系列单片机头文件 #define uint unsigned int //宏定义 sbit led1=P1^0; //声明单片机P1口的第一位 uint i,j; void main() //主函数 { while(1) //大循环 { led1=0; /*点亮第一个发光二极管*/ for(i=1;i0;i--) //延时 for(j=110;j0;j--); led1=1; /*关闭第一个发光二极管*/ for(i=1000;i0;i--) //延时 for(j=110;j0;j--); } } 任务1 流水广告灯的设计 说明:延时程序,设f0=11.0592MHZ,每执行 一次for语句所需时间1.09us,根据实验得出在 保持内for语句数值不变,只要改变外for语句的 数值,就可以得出所需的延时时间为ms级,一 般定义延时程序变量的数据类型为无符号整型数 据,最大为65536,若为无符号字符型只能最大 255,这个关系只有在数据类型为无符号整型数 据才成立,原因是这两种变量在运行的时间不一 样。 任务1 流水广告灯的设计 #define 宏定义指令 格式:#define 新名称 原内容 后面无分号 #define uint unsigned int 前面的程序中出现延时程序相同重复,可以把该重复部分用一个 函数形式来描述,到时直接调用,即子函数的应用。 说明:子函数可以写在主函数的前面或者后面,但是不可以写在 主函数体内,当子函数写在主函数后面,必须在主函数之前声明 子函数。 声明方法:将返回值特性、函数名、及后面的小括号完全复制。 若无参数,则小括号内为空,若有参数函数,则括号依次写上 参数类型,参数类型之间用逗号隔开,最后在小括号加分号, 在主函数之前无需声明。 任务1 流水广告灯的设计 编写一个让D1以间隔500mS亮灭闪烁的程序 #include reg52.h //52系列单片机头文件 #define uint unsigned int //宏定义 sbit led1=P1^0; //声明单片机P1口的第一位 void delays(); //声明子函数 void main() //主函数 { while(1) //大循环 { led1=0; /*点亮第一个发光二极管*/ delays

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档