完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,小弟今年准备毕业 学的是电子信息工程 尝试用C编写了个16个灯的流水灯+按键转换效果的程序
一开始从左往右 按了一下就从右至左。用的是中断实现 我现在向用另外一个按键来实现第三种效果 不知道该怎么编写 下面附上源程序 求帮忙 #include #define uchar unsigned char #define uint unsigned int #include void delay(int a) { uint x,y; for(x=0;x<100;x++) for(y=0;y } void main() { uchar a=0xfe,b=0xfe,c=0x7f,q; IT0=0; EX0=1; EA=1; while(1) { for(q=0;q<8;q++) { P0=a; a=_crol_(a,1); delay(50); } P0=0xff; for(q=0;q<8;q++) { P2=a; a=_crol_(a,1); delay(50); } P2=0xff; /*P0=b; delay(100); b=_crol_(b,1); delay(100); P0=0xff;*/ /*P2=0xff; P2=a; delay(100); a=_crol_(a,1); delay(100); P2=0xff;*/ } } int0() interrupt 0//外部中断0服务子程序 { uchar a=0xfe,b=0xfe,c=0x7f,q; for(q=0;q<8;q++) { P2=c; c=_cror_(c,1); delay(50); } P2=0xff; for(q=0;q<8;q++) { P0=c; c=_cror_(c,1); delay(50); } P0=0xff; } /*P0=0x00; //16个灯闪烁 P2=0x00; delay(100); P0=0xff; P2=0xff; delay(100);*/ |
|
相关推荐
6个回答
|
|
第三种效果是从两边向中间逐个点亮 谢谢
|
|
|
|
|
|
|
|
比如说从中间向两边散,再由两边向中心聚
int1() interrupt 1//外部中断1服务子程序 { uchar a=0xfe,b=0xfe,c=0x7f,q; for(q=0;q<8;q++) { P0=a; P2=c; c=_crol_(c,1); c=_cror_(c,1); delay(50); } P2=0xff; P0=0xff; for(q=0;q<8;q++) { P0=c; P2=a; a=_crorr_(c,1); c=_crol_(c,1); delay(50); } P2=0xff; P0=0xff; } PCB打样找华强 http://www.hqpcb.com 样板2天出货 |
|
|
|
说明哦,我不知道你的灯啥顺序的,顺序不对的话把a与c,_cror_与_crol_换换就好了
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
82 浏览 0 评论
141 浏览 0 评论
串口发送中断中对发送I/O口定义为GPIO输出,出现发送数据不完整,缺少2个字节,求解答
1862 浏览 3 评论
824 浏览 0 评论
【xG24 Matter开发套件试用体验】10-Bluetooth示例1
972 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10872 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-27 14:12 , Processed in 0.710022 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191