完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如以下代码,我想通过按下k1键来让数码管从数字2进行自增
但是无法实现,求大神解答问题出在哪里? #include ***it key1=P2^0; //***it key2=P2^1; char table1[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void main() { if(key1==0) { P0=~table1[2]++; } } |
|
相关推荐
14个回答
|
|
这肯定不对了啊,你自增的是数组的序号
|
|
|
|
Table[2 ++]
|
|
|
|
LESSON.C(14): error C187: not an lvalue 出现了这个问题 按照你的改过之后 |
|
|
|
|
|
|
|
楼上正解,还有你的按键扫描都不带去抖的吗?这样你的信号太容易误触发了,你按一下没准会跑好几圈。。。。。
|
|
|
|
消抖是么 一直不太明白消抖是用来干什么的 |
|
|
|
#include ***it k1=P2^0; //***it key2=P2^1; char table1[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void main() { char i; for(i=0;i<16;i++) { P0=0; if(k1==0) { i=0; P0=~table1; i++; } } } 这么写完之后 数码管显示的数字一直是8 按下k1键数字也不自增啊 |
|
|
|
你的按键处理也不对,你这相当于按下去后,key一直是等于0的,然后单片机以很快的速度在一直执行显示循环,这肯定不行的
|
|
|
|
你说说你想要的功能,我帮你改改
|
|
|
|
好的 我就是想让每次按下k1之后 数码管的数值都自动加1; 假如现在数码管显示1 我按下k1显示2 ;我再按下k1 又显示三 就这样以此循环 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11780 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:06 , Processed in 0.780497 second(s), Total 68, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号