为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

流水灯大集合

2011-11-16 7页 doc 48KB 27阅读

用户头像

is_548584

暂无简介

举报
流水灯大集合 单片机LED流水灯闪烁灯程序大集合 作者:佚名   来源:本站原创   点击数:125   更新时间:2011年10月28日   【字体:大 中 小】   /* 点亮LED灯:方1 位操作方式 sbit D1=P1^0; 方2 总线方工 P1=0x??; 让LED灯闪烁 */ /* //方1:位操作方式点亮LED #include sbit D1=P1^0; //P1^0的P必须是大写 void main() { D1=0; //使用...
流水灯大集合
单片机LED流水灯闪烁灯程序大集合 作者:佚名   来源:本站原创   点击数:125   更新时间:2011年10月28日   【字体:大 中 小】   /* 点亮LED灯:方1 位操作方式 sbit D1=P1^0; 方2 总线方工 P1=0x??; 让LED灯闪烁 */ /* //方1:位操作方式点亮LED #include sbit D1=P1^0; //P1^0的P必须是大写 void main() { D1=0; //使用P1^0必须先经过sbit定义,而不能直接用P1^0=0;否则编译过不了 } */ //----------------------------------------------------------------------------------------------------------- /* //方2:总线方式点亮LED #include void main() { P1=0xfd; //1111 1100 LED是共阳的,低电平时点亮,所以就是LED1和2灯被点亮 } */ //----------------------------------------------------------------------------------------------------------- /* 让LED灯闪烁 采用位点亮+内部循环进行延时 #include sbit D1=P1^3; //随便一个你也可改为P1^0,注意P要大写的才可以 unsigned int a; void main() { D1=0; for (a=0;a<=20000;a++) {}; //for循环 {}空操作即可形成延时效果 D1=1; for (a=0;a<=20000;a++) {}; } */ //----------------------------------------------------------------------------------------------------------- /* //让LED灯闪烁 采用位方式+delay延时函数方式 #include sbit D1=P1^0; //位操作方式 unsigned int a; void delay(int x) //延时 { int a,b; for(a=x;a>0;a--) for(b=110;b>0;b--); } void main() { D1=0; delay(50); //调用延时 D1=1; delay(50); / } */ //----------------------------------------------------------------------------------------------------------- /* //让3个灯一起闪烁 ,采用总线方式 #include unsigned int a; void delay(int x) //延时 { int a,b; for(a=x;a>0;a--) for(b=110;b>0;b--); } void main() { P1=0xf8; //1111 1000,点亮前3个灯,3个灯一起闪烁 delay(500); P1=0xff; delay(500); } */ //----------------------------------------------------------------------------------------------------------- /* //让LED灯闪烁 采用wlile方式 #include sbit P10=P1^0; int a; void main() { while(1) { a=51000; P10=0; //点亮灯 while(a--); //程序停在这里,一直执行减法,直到a从51000减到0后退出循环,这就形成延时 a=5100; //前面a已经减成0了,这里再给它个初值 P10=1; while(a--); //又从初值51000减到0为止,形成延时效果 } } */ //----------------------------------------------------------------------------------------------------------- /* //流水灯 ,在PIC单片机里流水灯只要设整个端的0x??值然后采用端口值=端口值<<1左移1位即可形成流水灯 //而在52单片机里却不行,得用_crol关皱字,而这个关键字又是在另一头文件intrins.h里,所以在开头就得先包含它_ #include #include //因为要用到corol这一关键字 #define uchar unsigned char sbit P23=P2^3 ; sbit D1=P1^0; void delay(int x) { int a,b; for(a=x;a>0;a--) for(b=110;b>0;b--); } void main() { uchar a,temp; temp=0xfe; for (a=8;a>0;a--) //循环8次,即流水灯8个循环8次即可点亮8个 { P1=temp; temp=_crol_(temp,1); //移动 delay(100); } } */ //----------------------------------------------------------------------------------------------------------- //流水灯 :正流+倒流;在PIC里流水灯只要设整个端的0x??值然后采用端口值=端口值<<1左移1位即可形成流水灯 //而在52单片机里却不行,得用_crol关皱字,而这个关键字又是在另一头文件intrins.h里,所以在开头就得先包含它 #include #include //因为要用到corol这一关键字 #define uchar unsigned char sbit P23=P2^3 ; sbit D1=P1^0; void delay(int x) { int a,b; for(a=x;a>0;a--) for(b=110;b>0;b--); } void main() { uchar a,temp; temp=0xfe; for (a=8;a>0;a--) //循环8次,即流水灯8个循环8次即可点亮8个 { P1=temp; temp=_crol_(temp,1); //移动 delay(100); } temp=0x7f; //注意这一句,如果没有这一句,下面的语句循环是循环了,却没东西出来 for (a=8;a>0;a--) //循环8次,即流水灯8个循环8次即可点亮8个 { P1=temp; temp=_crol_(temp,-1); //移动 delay(100); } }
/
本文档为【流水灯大集合】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索