- 10
- 0
- 约2.19千字
- 约 6页
- 2017-02-05 发布于湖北
- 举报
左右来回循环的流水灯
设计要求
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个灯点亮后开始右移程序,LED从右向左点亮
delay();
P1=temp;
}
}
}
void delay() //延时子程序
{
int i,j; //定义局部变量i,j
for(i=200;i0;i--) //i,j不断计数占用CPU时间,达到延时目的
for(j=1;j150;j++);
}
电路连接如下:
void delay()(){ unsigned int i;for(i=0;i1500;i++)}void fun(void){ unsigned char i;for (i=0;i8;i++){ P0=1i;delay()();}while(--i){P0=1i;delay()();}}void main(){ while(1){fun();}}
void L_M()//左{unsigned char a,b,i,temp;unsigned int s;temp=0xfe;P1=temp;for(s=0;s300000;s++);for(i=0;i8;i++){a=tempi;b=temp(8-i);P1=a|b;for(s=0;s300000;s++);} }
void R_M()//右{unsigned char a,b,i,temp;unsigned int s;temp=0x7f;P1=temp;for(s=0;s300000;s++);for(i=0;i8;i++){a=tempi; b=temp(8-i);P1=a|b;for(s=0;s300000;s++);}}
#includereg52.h#include intrins.h //intrins.h库中含有循环移位函数 #define uint unsigned int#define uchar unsigned char uchar temp; //定义全局变量tempdelay() //延时子函数{uint i,j;for(i=1;i400;i++)for(j=1;j400;j++
您可能关注的文档
- 初三英语件_Unit_7._1.ppt
- 初三英语末完型阅读配题_20121219113914805.doc
- 初升高英高一新课张阳.doc
- 初一入学试语文试卷.doc
- 初一上生期中复习课件(人教版).ppt
- 初一数学复习(五).ppt
- 初一英语态专练之用动词适当形式填空.doc
- 初一至高学生心理课程主题内容.doc
- 初中第一数学课(新).ppt
- 初中化学验题考前15天专项冲刺复习.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)