完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 elecfans跑堂 于 2015-9-7 09:12 编辑
#include ***it KEY18=P1^4; ***it KEY19=P1^5; ***it KEY20=P1^6; ***it KEY21=P1^7; ***it beep = P3^5; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9; void delay_ms(uint t) { uchar i; for(;t>0;t--) for(i=110;i>0;i--); } uchar num1 = 99;//定义一个全局变量,用来实现按键产生的值和数码管显示函数之间的值的传递; void Display() { static uchar i=0;//定义i为局部静态变量 P2 = 0xFF;//位消隐 switch (i) { case 0:P0=~table[num1%10];break; case 1:P0=~table[num1/10];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; } P2=~(0x80>>i);//动态扫描 i++; if(i==2)i=0;//打开右边两个数码管 } uchar key_scan() { static uchar sta = 1;//设置一个状态,表示按键是否按下,1为抬起 if(sta == 1&&(KEY18 == 0||KEY19 == 0||KEY20 ==0||KEY21 ==0))//如果有一个按键按下,则进入下面程序,注意此时使用的逻辑或的关系 { // delay_ms(10);//消抖10ms sta = 0;//设置一个状态,表示按键是否按下,0为按下 if(KEY18 == 0) return 1; else if(KEY19 ==0) return 2; else if(KEY20 ==0) return 3; else if(KEY21 ==0) return 4; } else if (KEY18 == 1&&KEY19 == 1&&KEY20 ==1&&KEY21 ==1) sta = 1;//表示没有按键按下,注意此时使用的是逻辑与的关系; return 0;//没有按键按下 } void main() { uchar key=key_scan(); while(1) { Display(); delay_ms(10); if(key_scan()==1) { num1=num1+1; beep = ~beep; delay_ms(1000); beep = ~beep; if(num1==100)num1=0; } if(key_scan()==2) { num1--; beep = ~beep; delay_ms(1000); beep = ~beep; if(num1==1)num1=10; } } } 问题为什么自有key_scan()==1有用,而key_scan()==2没有起作用?求解释?
|
|
相关推荐
4个回答
|
|
单步调试看看问题出在哪里。
|
|
|
|
else if(KEY19 ==0) return 2; 应该是这步的条件始终没有成立,看看你的硬件连接
|
|
|
|
|
|
|
|
看看函数返回值方面的书,记得函数应该只有一个返回值
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
203 浏览 0 评论
761 浏览 0 评论
806 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
743 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1195 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11806 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 17:34 , Processed in 0.615953 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号