广告灯的左移右移

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
temp=0xfe;
P3=P2=P0=P1=temp;//直接对1/0口p3赋值,使批p3.0输出低电平。
delay();//延时
for(i=1;i<8;i++)//实现广告灯的从右到左移动
{
a=temp<<i;
b=temp>>(8-i);
P3=P2=P0=P1=a|b;
delay();
}
for(i=1;i<8;i++)//实现广告灯的从左到右移动
{
a=temp>>i;
b=temp<<(8-i);
P3=P2=P0=P1=a|b;
delay();
}
}Leabharlann Baidu
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
#include "reg52.h"
#include "intrins.h"
{ unsigned char OutData=0xfe;
for(;;)
{
P1=OutData;
OutData=_crol_(OutData,1); //循环左移
mDelay(1000); // 1000延时1s
}
}
广告灯的左移右移
[实验任务]
做广告灯的左移右移,八个发光二极管分别接在单片机的P3.0-P3.7接口
上,输出“0”时,发光二极管亮,开始时P3.0→P3.1→P3.2→P3.3→┅→P3.7
→P3.6→┅→P3.0亮,重复循环。(当然,四个输出口可以同时实现广告灯)
[硬件电路]
#include<reg52.h> /*广告灯的左移右移*/
#define uchar unsigned char
#define uint unsigned int
void mDelay(unsigned int Delay)
{ unsigned int i;
for(;Delay>0;Delay--)
{ for(i=0;i<124;i++)
{;}
}
}
void main()
unsigned char i;
unsigned char temp;
unsigned char a,b;
delay()//延时程序
{unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
main()
{
while(1)
相关文档
最新文档