完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
蓝桥杯stc15f2k60s2芯片编程(流水灯)
(1)简单的流水灯 左移之后右移 #include 《stc15f2k60s2.h》 #include 《intrins.h》 ***it BUZZ=P0^6; ***it RELAY=P0^4; void delay10ms(unsigned int); void main () { unsigned char n; P2=0XA0;P0=0X00;P2=0X80;P0=0XFF; P0=0xfE; while(1) { for(n=0;n《7;n++) { P0=_crol_(P0,1); delay10ms(50); } for(n=0;n《7;n++) { P0=_cror_(P0,1); delay10ms(50); } } } void delay10ms(unsigned int c) { unsigned char a,b; for(;c》0;c--) for(b=38;b》0;b--) for(a=130;a》0;a--); } (2)较高级流水灯 从两边向中间流,然后从中间向两边流① #include 《stc15f2k60s2.h》 #include 《intrins.h》 void Delay500ms(); void main() { unsigned char code abile[]={0x7E,0xBD,0xDB,0xE7,0XE7,0XDB,0XBD,0X7E}; unsigned char l; // LED=0X81; P2=0XA0;P0=0X00;P2=0X80;P0=0XFF; while(1) { for(l=0;l《8;l++) { P0=abile[l]; Delay500ms(); } } } void Delay500ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); _nop_(); i = 22; j = 3; k = 227; do { do { while (--k); } while (--j); } while (--i); } 从两边向中间流,然后从中间向两边流② #include 《stc15f2k60s2.h》 #include 《intrins.h》 unsigned char i; void Delay500ms(); void main() { P2=0XA0;P0=0X00; P2=0X80;P0=0XFF; while(1) { for(i=0;i《4;i++) { P0=0xff《《i&0xff》》i; delay500ms(); } for(i=4;i》0;i--) { P0=0xff《《i&0xff》》i; delay500ms(); } } } void Delay500ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); _nop_(); i = 22; j = 3; k = 227; do { do { while (--k); } while (--j); } while (--i); } (3)通过独立按键控制流水灯流动速度 #include 《stc15f2k60s2.h》 #include 《intrins.h》 void Timer0Init(); unsigned int a,n,i,qq; void Delay1ms(); void anjian(); ***it S7=P3^0; ***it S6=P3^1; ***it S5=P3^2; ***it S4=P3^3; void main() { P2=0XA0;P0=0X00; Timer0Init(); while(1) { anjian(); qq=0XFE; qq=_crol_(qq,i); P2=0X80;P0=qq;} } void Timer0Init(void) //1??@11.0592MHz { AUXR |= 0x80; //?????1T?? TMOD &= 0xF0; //??????? TL0 = 0xCD; //?????? TH0 = 0xD4; //?????? TF0 = 0; //??TF0?? TR0 = 1; //???0???? EA=1; ET0=1; } void ding() interrupt 1 { a++; if(a==n) { a=0;i++; if(i》8)i=0; } } void anjian() { if(S7==0) { Delay1ms(); if(S7==0) { a=0;n=300; }while(!S7); } if(S6==0) { Delay1ms(); if(S6==0) { a=0;n=600; }while(!S6); } if(S5==0) { Delay1ms(); if(S5==0) { a=0;n=900; }while(!S5); } if(S4==0) { Delay1ms(); if(S4==0) { a=0;n=1200; }while(!S4); } } void Delay1ms() //@11.0592MHz { unsigned char i, j; _nop_(); _nop_(); _nop_(); i = 11; j = 190; do { while (--j); } while (--i); } |
|
|
|
只有小组成员才能发言,加入小组>>
4522个成员聚集在这个小组
加入小组3339 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4268 浏览 1 评论
4295 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 11:08 , Processed in 0.673317 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号