完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、功能
此次实验实现了,LED灯5种不同的显示样式。不同的显示样式模拟了,不同的霓虹灯显示效果。 霓虹灯控制 二、硬件电路 1.所用到的硬件电路为:LED模块、独立按键模块、主控芯片和(程序烧写、供电、串口通信)模块: (1)LDE模块: (2)独立按键模块: (3)主控芯片 (4)供电、程序烧写、串口通信三合一模块: 三、软件设计流程图 四、源代码 //导入51头文件 #include 《reg51.h》 //循环移位函数库 #include 《intrins.h》 #define uint unsigned int #define uchar unsigned char ***it sk_2 = P3^0; ***it sk_3 = P3^1; ***it sk_4 = P3^2; ***it sk_5 = P3^3; //毫秒延时 void delay(uint x ){ uint a,b; for(a=x;a》0;a--) for(b=114;b》0;b--); } void ls1(void){ while(1){ uint d=0xAA; P1 = d; delay(300); P1 = 0x55; delay(300); if(sk_2==1) break; } } void ls2(void){ uchar e=0xfe; while(1){ P1=e; e = _crol_(e,1); delay(350); if(e==0x7f){ while(1){ P1=e; e=_cror_(e,1); delay(350); if(e==0xfe) break; } } if(sk_3==1){ break; } } } void ls3(void){ uint i=0; uint f[20] ={0x6f,0xaf,0xcf,0xcd,0xe5,0xf1,0xd1,0xd8,0x5c,0x1e,0x1a,0x0b,0x83,0x82,0xc0,0x40,0x00,0xff,0x00,0xff}; while(1){ for(i=0;i《=19;i++){ P1=f[i]; delay(1000); if(sk_4==1) break; } if(sk_4==1) break; } } void ls4(void){ uint i=0; uint f[10] ={0xff,0xe7,0xdb,0xbd,0x7e,0x7e,0x3c,0x18,0x00}; while(1){ for(i=0;i《=9;i++){ P1=f[i]; delay(300); if(sk_5==1) break; } if(sk_5==1) break; } } void main(){ uchar c=0xFE; while(1){ //样式1-流水 P1 = c; c = _crol_(c,1); delay(200); //样式2-交替闪烁 if(sk_2==0){ ls1(); } //样式3-led回旋 if(sk_3==0){ ls2(); } //样式4-贪吃蛇 if(sk_4==0){ ls3(); } //样式5-由内向外闪烁 if(sk_5==0){ ls4(); } } } 五、说明 由于单品机型号各不相同,所以晶振也会不同,我的单片机型号是:TC89C52(适用于其他51单片机)-晶振是11.0592(与我的不同的话改一下延时函数就可以了) |
|
|
|
只有小组成员才能发言,加入小组>>
2555 浏览 0 评论
1155浏览 2评论
758浏览 1评论
509浏览 0评论
270浏览 0评论
443浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 12:32 , Processed in 1.585712 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号