单片机控制左右来回循环的流水灯.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
左右来回循环的流水灯 设计要求 8 个发光二极管 LED0~LED7经限流电阻分别接至 P1 口的 P1.0~ P1.7引脚上, 阳极共同接高电平。 编程实现制作左右来回循环的节日彩灯, 显示规律如下图所 示。 题 37 图 节日彩灯的花样显示的规律 为了使显示效果更加绚丽多彩, P1端口 8 个引脚分别接有不同颜色的发光二 极管。具体如题 37 表所示。 题 37 表 P1 口 8 个引脚的不同颜色的发光二极管 P1 口引脚 发光二极管的颜色 P1.0 红色 LED P1.1 蓝色 LED P1.2 绿色 LED P1.3 黄色 LED P1.4 红色 LED P1.5 蓝色 LED P1.6 绿色 LED P1.7 黄色 LED 使用 C51 编流水灯程序以及设计相应的硬件电路十分简单, 且有多种方法。 本方案力求程 序最简化最清晰原则,用 NS 图(盒图)表示算法如下: 程序中设置中间变量 temp 用来给 P1 口赋值,命令 _crol_ 和_cror_ 用于使 temp左移或右移, 例如当 temp 时,执行 _crol_(temp,1) 之后 temp应用此两条语句必须 把头文件 intrins.h包含进来。 全部代码如下: #includereg51.h #includeintrins.h unsigned char temp; // 定义字符变量 temp,temp 左移或右移并给连接 LED 的 P1 口赋值 int a; // 定义延迟函数 delay() void delay(void); void main() { temp=0xfe; //给 temp 赋初值 P1=temp; //temp 赋值给 P1 口,第一个 LED (红色)点亮 while(1) // 主程序,括号中的程序将一直循环 { for(a=0;a7;a++) // 左移部分, LED 从左到右依次点亮 { temp=_crol_(temp,1); //_crol_ 语句控制变量 temp 左移 delay(); // 每个灯点亮之后延迟一会在点下一个灯 P1=temp; } for(a=0;a7;a++) // 右移部分, LED 从右到左依次点亮 { temp=_cror_(temp,1); // 第 8 个灯点亮后开始右移程序,

文档评论(0)

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

至若春和景明,波澜不惊,上下天光,一碧万顷,沙鸥翔集,锦鳞游泳,岸芷汀兰,郁郁青青。

1亿VIP精品文档

相关文档