基于单片机的LED控制程序.doc

上传人:scccc 文档编号:12026905 上传时间:2021-12-01 格式:DOC 页数:6 大小:26KB
返回 下载 相关 举报
基于单片机的LED控制程序.doc_第1页
第1页 / 共6页
基于单片机的LED控制程序.doc_第2页
第2页 / 共6页
基于单片机的LED控制程序.doc_第3页
第3页 / 共6页
基于单片机的LED控制程序.doc_第4页
第4页 / 共6页
基于单片机的LED控制程序.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于单片机的LED控制程序.doc》由会员分享,可在线阅读,更多相关《基于单片机的LED控制程序.doc(6页珍藏版)》请在三一文库上搜索。

1、附录C:部分程序源代码: #include<reg51.h> #include<intrins.h> /移位函数头文件 #define uint unsigned int #define uchar unsigned char /宏定义 void delay(uint z); /延迟delay函数声明 uchar a,b; /定义a、b、i uint i=0; uchar code table0=0xfe,0xfc,0xf8,0xf0, 0xe0,0xc0,0x80,0x00; /查表0 uchar code table1=0x7f,0x3f,0x1f,0x0f, 0x

2、07,0x03,0x01,0x00;/查表1void main() while(1) P3=0xff;/P3口清零delay(500); a=0xfe;/流水灯逆时针 P3=a;for(i=0;i<8;i+)delay(350); /调用延迟子程序,延时350msa=_crol_(a,1); /P3依次移位(P3.0->P3.7)P3=a; P3=0xff; b=0xfe; P2=b; for(i=0;i<8;i+) delay(350); b=_crol_(b,1);/P2口依次移位(P2.0->P2.7) P2=b; P2=0xff; delay(350);a=0x

3、7f;/流水灯顺时针P2=a;for(i=0;i<8;i+)delay(350);推荐精选a=_cror_(a,1);/P2依次移位P2=a; P2=0xff;b=0x7f;P3=b; for(i=0;i<8;i+) delay(350); b=_cror_(b,1); /P3依次移动 P3=b; P3=0xff;delay(350); for(i=0;i<8;i+) /散光灯,左到右 P3=table0i;/查表table0delay(350); for(i=0;i<8;i+)P3=0x00; /保持P0口全亮P2=table0i;/查表table0delay(350

4、); P2=0xff;P3=0xff; /清P3口delay(350); for(i=0;i<8;i+) /散光灯,右到左P2=table1i; /查表table1delay(500);/延迟500msfor(i=0;i<8;i+) P3=table1i;delay(500); a=0xfe;/双灯左移P3=a;推荐精选b=0xfe;P2=b;for(i=0;i<8;i+)delay(500);a=_crol_(a,1);/移位函数crolP3=a;b=_crol_(b,1);P2=b; P3=0xff; P2=0xff;delay(500);a=0x7f;/双灯右移P3=a

5、;b=0x7f;P2=b;for(i=0;i<8;i+)delay(500);a=_cror_(a,1);/移位函数crolP3=a;b=_cror_(b,1);P2=b;P3=0xff;/内交汇/清P3 P2口P2=0xff;delay(350); /延时350msa=0xfe;P3=a;b=0x7f;P2=b;for(i=0;i<8;i+) delay(500);a=_crol_(a,1);/P3.0移动到P3.7P3=a;b=_cror_(b,1);/P2.7移动到P2.0P2=b; P3=0xff;/外交汇/清P3 P2口 P2=0xff;推荐精选 a=0x7f; /给P3

6、口赋初值P3=a;b=0xfe; /给P2口赋初值P2=b;for(i=0;i<8;i+)delay(500);a=_cror_(a,1);/P3.7移动到P3.0P3=a;b=_crol_(b,1); /P2.0移动到P2.7P2=b;P3=0xff; /清P2 P3口 P2=0xff;delay(500);for(i=0;i<3;i+) /8灯左右闪烁delay(500);P2=0xaa; /点亮P2、P3口的1、3、5、7位灯(1010 1010)P3=0xaa; delay(500);P3=0x55; /点亮P3、P2口的2、4、6、8位的灯(0101 0101)P2=0x

7、55; delay(500);P2=0xff;/清P2、P3口P3=0xff;for(i=0;i<3;i+) /半边半边 delay(500); P3=0x00; /全亮P3口的灯 P2=0xff; /全灭P2口的灯 delay(500); P2=0x00; /全亮P2口的灯 P3=0xff; /全灭P3口的灯for(i=0;i<3;i+) /16盏全灯闪烁3次delay(500);P2=0xff;推荐精选P3=0xff; /P3,P2灯全部熄灭delay(500);P2=0x00;P3=0x00;/P3,P2灯全部打开delay(3000);P2=0xff;/清P2口 void delay(uint z)/1ms延迟子程序 uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); (注:可编辑下载,若有不当之处,请指正,谢谢!) 推荐精选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1