完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大神们帮我看看为什么按键的延时不能实现长短按?哪里出现了错误,而且不能保存显示
#include #include #define uchar unsigned char uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code WeiMa[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar temp[8]={0,1,2,3,4,5,6,7}; ***it key1=P3^2; void delay(uchar x) //@11.0592MHz { uchar i,j; for(i=x;i>0;i--) for (j=125;j>0;j--); } 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); } main() { uchar i=0,court=0,j; P0=0xc0; P2=0x01; while(1) { if(key1==0) { delay(20); if(key1==0) { while(1) { delay(20); court++; } if(key1==0&&court<4) { i++; P0=table[i]; switch (i) { case 0: P0=table[0]; break; case 1: P0=table[1]; break; case 2: P0=table[2]; break; case 3: P0=table[3]; break; case 4: P0=table[4]; break; case 5: P0=table[5]; break; case 6: P0=table[6]; break; case 7: P0=table[7]; break; case 8: P0=table[8]; break; case 9: P0=table[9]; break; case 10: P0=table[10]; break; default: break; } } if(key1==0&&court>=4) j++ ; P2=WeiMa[j]; P0=temp[table[i]] ; } } ; } }
|
|
相关推荐
6个回答
|
|
错误很明显啊?改过来再编译试试吧。
|
|
|
|
有点乱,看看到底是什么玩意。
|
|
|
|
#include #include #define uint unsigned int #define uchar unsigned char uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code WeiMa[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar temp[8]={0,1,2,3,4,5,6,7}; ***it key1=P3^2; void delay() { uint i=200; while(i--); } 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); } bit bit1=0; uchar i;j=0,count=0; main() { P0=0xc0; P2=0x01; while(1) { if(!key1) { delay(); if(!key1) { Delay500ms(); if(key1==0) { i++; P0=table[temp[j]]; switch (i) { case 0: P0=table[0]; break; case 1: P0=table[1]; break; case 2: P0=table[2]; break; case 3: P0=table[3]; break; case 4: P0=table[4]; break; case 5: P0=table[5]; break; case 6: P0=table[6]; break; case 7: P0=table[7]; break; case 8: P0=table[8]; break; case 9: P0=table[9]; break; default: break; } while(!key1); delay(); temp[j]=table; if(i==9) i=0; } else { i=0; j++; P2=WeiMa[j]; switch(j) { case 0: P2= (1 << 0); break; // 打开第0个数码管 case 1: P2 = (1 << 1); break; // 打开第1个数码管 case 2: P2= (1 << 2); break; // 打开第2个数码管 case 3: P2 = (1 << 3); break; // 打开第3个数码管 case 4: P2 = (1 << 4); break; // 打开第4个数码管 case 5: P2 = (1 << 5); break; // 打开第5个数码管 case 6: P2 = (1 << 6); break; // 打开第6个数码管 case 7: P2 = (1 << 7); break; // 打开第7个数码管 } if(j==8) { j=0; delay(); } } } } } } |
|
|
|
现在可以实现长短按,但是不能实现跳到下一个数码管保存原来数值的功能。求你帮我看看好吗 |
|
|
|
现在可以实现长短按,但是不能实现跳到下一个数码管保存原来数值的功能。麻烦你帮我看看好吗 |
|
|
|
加注释啊,不加注释怎么看得懂
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
787 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1476 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1216 浏览 0 评论
900 浏览 0 评论
963 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11867 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 13:12 , Processed in 0.785749 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号