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

项目4单片机控制LED灯的设计.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. P1口 3. P2口 (2)硬件原理图设计 (3)软件程序设计 (4)软硬件联合调试 (2)硬件原理图设计 (3)软件程序设计 (4)软硬件联合调试 项目拓展 实验板彩灯的花式控制 在任务4.2中设计的流水灯为八个LED按一个方向循环点亮,此外我们还可以通过编程控制LED灯,使它以我们想要的各种方式点亮,而且LED灯点亮频率可以通过改变延时时间来实现。下面编写程序控制实验板上的八个LED灯按照不同花式循环点亮。 (1)实验板8个LED灯电路如图所示。RP1为390欧姆排阻;J9为插针,用于连接需要使用的I/O口,此处用杜邦线连接单片机的P1口。 (2)编写程序,控制八个LED灯使其以1s左右的时间间隔按不同形式循环点亮。 //宏定义 #includereg52.h #define uint unsigned int #define uchar unsigned char void delay(uint); //声明延时函数 uint a; //定义循环用变量 //定义循环用数据表格 uchar code table[]={ 0xff, //全灭 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, //从第0位到第7位依次逐个点亮 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00, //从第0位到第7位/依次全部点亮 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff, //从第7位到第0位依次全部熄灭 0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e, //分别从第7位和第0位向中间靠拢逐个点亮 //然后从中间向两边分散逐个点亮 0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e, //分别从第7位和第0位向中间靠拢全部点亮,//然后从中间向两边分散熄灭 0x00 //全亮 }; //定义循环用数据表格 //延时子函数,通过time值改变延时时间 void delay(uint time) { uint i,j; for(i=time;i0;i--) for(j=110;j0;j--); } //************************************************************************* //主函数,循环点亮LED灯 void main() { while(1) { for(a=0;a42;a++) { P1=table[a]; //以a做索引号,从数组中取值送给P1口 delay(1000); //调用延时子程序,晶振频率12MHz时,延时约1s } } } //************************************************************************* 分析:这个程序中,根据LED灯点亮的方式,将需要送向P1口的数据预先存放到数组中,程序运行中,只要按照顺序将这些数组元素送向P1口,就可以实现不同花式的彩灯。数组定义时,写“code”的含义是告诉单片机,定义的数组要放在ROM(程序存储区)里面,写后就不能再更改。程序可以简单的分为code(程序)区和data(数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断改变的,CPU从code区读取指令,对data区的数据进行运算处理。由于单片机上的RAM区很小,而ROM区相对来说比较大,当需要定义的数据太多时,会存在RAM区放不下的情况。所以编写程序时,对于那些在程序运行中一直不变的数据,可在数据类型名和变量名之间加上“code”,这样数据就会被存放到ROM区,节省了RAM区的空间。 (3)将调试通过的程序下载到实验板观察效果,实验板上的单片机为STC89C52,可直接使用STC-ISP下载软件将程序烧写到单片机上。STC-ISP的打开界面如

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档