完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
17个回答
|
|
#include
#include void delay(int x) { int i,j; for(i=110;i>=0;i--) for(j=x;j>=0;j--); } void main() { int a,b; while(1) { a=0xfe; for(b=1;b<8;b++) { P1=a; a=_crol_(a,1); delay(300); } delay(300); a=0xfc; for(b=1;b<7;b++) { P1=a; a=_crol_(b,1); delay(300); } delay(300); a=0xf8; for(b=1;b<6;b++) { P1=a; a=_crol_(a,1); delay(300); } delay(300); a=0xf0; for(b=1;b<5;b++) { P1=a; a=_crol_(a,1); delay(300); } delay(300); a=0xe0; for(b=1;b<4;b++) { P1=a; a=_crol_(a,1); delay(300); } delay(300); a=0xc0; for(b=1;b<4;b++) { P1=a; a=_crol_(a,1); delay(300); } delay(300); a=0x80; for(b=1;b<3;b++) { P1=a; a=_crol_(a,1); delay(300); } delay(300); a=0x00; P1=a; delay(300); } } |
|
|
|
谢谢,你的是8种灯亮的情况都写出来,有没有简单一些的 |
|
|
|
|
|
|
|
看不见你发的程序
|
|
|
|
#include #include #include void Delay(unsigned int c); void main() { int a,b; while(1) { P0=0x01; for(b=8;b>0;b--) { for(a=8;a>0;a--) { Delay(3); P0=_crol_(P0,1); } P0=P0+pow(2,8-b); } } } void Delay(unsigned int c) { int a,b; for(;c>0;c--) { for(a=123;a>0;a--) { for(b=100;b>0;b--); } } } |
|
|
|
顶一贴,我是新手,感觉对啊,我的开发板坏了,等我试试哈
|
|
|
|
不好意思,第一次发的程序有误,这是正确的,亲测无误。
#include #include void delay(int x) { int i,j; for(i=110;i>=0;i--) for(j=x;j>=0;j--); } void main() { int a,b; while(1) { a=0xfe; for(b=0;b<8;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xfc; for(b=0;b<7;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xf8; for(b=0;b<6;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xf0; for(b=0;b<5;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xe0; for(b=0;b<4;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xc0; for(b=0;b<3;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0x80; for(b=0;b<2;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); P1=0; delay(100); } } |
|
|
|
不好意思,第一次发的程序有误,这是正确的,亲测无误。
#include #include void delay(int x) { int i,j; for(i=110;i>=0;i--) for(j=x;j>=0;j--); } void main() { int a,b; while(1) { a=0xfe; for(b=0;b<8;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xfc; for(b=0;b<7;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xf8; for(b=0;b<6;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xf0; for(b=0;b<5;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xe0; for(b=0;b<4;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xc0; for(b=0;b<3;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0x80; for(b=0;b<2;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); P1=0; delay(100); } } |
|
|
|
不好意思,第一次发的程序有误,这是正确的,亲测无误。
#include #include void delay(int x) { int i,j; for(i=110;i>=0;i--) for(j=x;j>=0;j--); } void main() { int a,b; while(1) { a=0xfe; for(b=0;b<8;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xfc; for(b=0;b<7;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xf8; for(b=0;b<6;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xf0; for(b=0;b<5;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xe0; for(b=0;b<4;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0xc0; for(b=0;b<3;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); a=0x80; for(b=0;b<2;b++) { P1=a; a=_crol_(a,1); delay(100); } delay(100); P1=0; delay(100); } } |
|
|
|
这个应该满足你的要求,前提是将硬件设置好
#include void delay(); void main() { P0 = 0xFF; //此行可不要,是我的习惯 while(1) { unsigned char i, j; unsigned char shift; //设定临时变量,通过改变变量值为P0口赋值 for(i=1; i<9; i++) { j = i; shift = 0x01; while(j--) { P0 = ~shift; shift = shift << 1; delay(); } } } } void delay() //时间自己确定改变i的值即可 { unsigned int i; for(i=0; i<35000; i++); } |
|
|
|
不好意思,可能是我没表达清楚,第一次只有一个灯在流动,第二次两个灯一起流动,以此类推。。。还是谢谢你的回答,有兴趣的话就继续帮想下这题怎么做。 |
|
|
|
本人亲测,符合你的要求。
#include #include #define uint unsigned int #define uchar unsigned char uchar code dat[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; void Delayms(uint n) { uint i,j; for(i=n;i>0;i--) for(j=115;j>0;j--); } void main() { uchar a,b,c; while(1) { for(a=0;a<7;a++) { c=dat[a]; for(b=8-a;b>0;b--) { P0=c; Delayms(300); c=_crol_(c,1); } } a=4; while(a--) { P0=0x00; Delayms(300); P0=~P0; Delayms(300); } } } |
|
|
|
我的板子是低电平点亮,如果你的是高电平点亮的话,就将数组改为以下数据:
uchar code dat[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; |
|
|
|
赤焰火狐正解,我的板子没问题
|
|
|
|
|
|
|
|
|
|
|
|
赤焰火狐 发表于 2015-8-18 16:47 谢谢,正解!!! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
816 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
789 浏览 0 评论
880 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1615 浏览 0 评论
1272 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12063 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 02:41 , Processed in 1.253588 second(s), Total 103, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号