完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新手学习单片机的道路总是磕磕绊绊,我刚刚能用矩阵键盘控制板子上的小灯的亮灭(注释部分),但是为什么接上数码管之后,数码管只是显示初始值0,当我按下按键的时候,数码管也没有反应呢?【就是画蓝线的那条语句,逻辑,语法也都没错啊,当按下按键的时候key4=0了难道不对吗?】求大神指教~谢谢大家了 急死我了
|
|
相关推荐
6个回答
|
|
P0口做按钮开关时,要有上拉电阻哦~~~~你添加了么?建议换个端口试试,例如:***it Key4 = P1^3;//希望能帮到你~~~~~
评分
|
||
|
||
没有加……后来我发现是程序的IO口写错了,但是我不太明白上啦电阻有啥用呢……我把低四位接高电平,高四位接低电平,读取高四位的数据,按下就是低电平,不按下就是悬空(高电平)这样也能实现功能。接了上啦电阻的话有什么好处呢? |
|
|
|
生活就像一盒巧克力,你不知道你的下一块口味是什么。
|
|
|
|
/* 名称:K1-K4 按键状态显示
说明:K1、K2按下时LED点亮,松开时熄灭, K3、K4按下并释放时LED点亮,再次按下并释放时熄灭; */ #include #define uchar unsigned char #define uint unsigned int ***it LED1=P0^0; ***it LED2=P0^1; ***it LED3=P0^2; ***it LED4=P0^3; ***it K1=P1^0; ***it K2=P1^1; ***it K3=P1^2; ***it K4=P1^3; //延时 void DelayMS(uint x) { uchar i; while(x--) for(i=0;i<120;i++); } //主程序 void main() { P0=0xff; P1=0xff; while(1) { LED1=K1; LED2=K2; if(K3==0) { while(K3==0); LED3=~LED3; } if(K4==0) { while(K4==0); LED4=~LED4; }
|
|
|
|
这段程序的最后少了两个【{】,不完美~~~~~ |
|
|
|
学习,,,,,,,,,
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于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积木平台
11983 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 04:05 , Processed in 0.642208 second(s), Total 87, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号