完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 dongyumin 于 2013-8-2 07:44 编辑
要求:1、按下按钮K后,5个LED灯由D1、D2、D3、D4、D5依次点亮,间隔1秒,最后全亮; 2、再次按下按钮K后,5个LED灯由D5、D4D、D3、D2、D1依次熄灭,间隔1秒,最后全灭; |
|
相关推荐
5个回答
|
|
回帖奖励 +5 分积分
//======================================================
//假设单片机针脚输出高电平点亮LED,单片机针脚输出低电平使LED灭掉 //当K键按下时,对应K键的单片机针脚收到低电平 //======================================================= #include #include //===========定义D1~D5,K对应针脚=============== ***it D1=P2^0;//定义D1对应针脚 ***it D2=P2^1;//定义D2对应针脚,以下类似 ***it D3=P2^2; ***it D4=P2^3; ***it D5=P2^4; ***it K=P0^0; //==========延时1s函数================== void delay() //误差 0us { unsigned char a,b,c; for(c=167;c>0;c--) for(b=171;b>0;b--) for(a=16;a>0;a--); _nop_(); //if Keil,require use intrins.h } //==========单片机初始化程序============ void init() { D1=D2=D3=D4=D5=0;//各个LED为全灭状态 while(!K);//等待K键放开;一开始按住K键,单片机不能正常工作 } //=========D1到D5依次点亮程序=========== void on() { D1=1; delay(); D2=1; delay(); D3=1; delay(); D4=1; delay(); D5=1; delay(); } //=============D5到D1熄灭程序============= void off() { D5=0; delay(); D4=0; delay(); D3=0; delay(); D2=0; delay(); D1=0; delay(); } //========================================== // 主函数 //========================================== void main() { init();//等待单片机初始化完成 while(1) { while(K);//等待K键被按下 on(); while(K); off(); } } |
|
|
|
本帖最后由 DAOMIN 于 2013-8-2 07:30 编辑
#include #define uchar unsigned char #define uint unsigned int ***it k1=P2^0; uint num; uchar cishu; uchar 0xfe,0xfd,0xfb,0xf7,0xef,0x00; void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; EA=1; TR0=1; num=0; while(1) { if(k1==0) { while(k1==0); cishu++; if(cishu==1) { if(num==0) { P1=0xfe; } if(num==20) { P1=0xfc; } if(num==40) { P1=0xf8; } if(num==60) { P1=0xf0; } if(num==80) { P1=0xe0; } if(num==100) { P1=0x00; } if(cishu==2) { if(num==120) { P1=0xf0 } if(num==140) { P1=0xf8; } if(num==160) { P1=0xfc; } if(num==180) { P1=0xfe; } if(num==200) { P1=0xff; num=0; } } if(cishu==3) { cishu=0; } } } } void t0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; num++; } |
|
|
|
暗夜游侠 发表于 2013-8-2 03:30 我的文本格式有问题,能不能传一个文本附件给我啊?谢谢! |
|
|
|
{:12:}
|
|
|
|
自己粘贴复制吧,实在不行就直接打,程序的注释我也都写有在上面,看懂应该不难 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11977 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 20:10 , Processed in 0.603940 second(s), Total 84, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号