完善资料让更多小伙伴认识你,还能领取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个回答
|
|
第三种效果是从两边向中间逐个点亮 谢谢
|
|
|
|
可以从硬件电路上改进,比如两个开关都接中断口,同时又分别接两个io口,触发中断后,再检测按的是哪个开关,实现对应效果。
|
|
|
|
比如说从中间向两边散,再由两边向中心聚
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_换换就好了
|
|
|
|
|
|
|
|
像楼上说的,io口和中断口搭配可以实现n中顺序
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
690 浏览 0 评论
735 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
624 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1099 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1092 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11793 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 02:07 , Processed in 0.742809 second(s), Total 83, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号