完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 minDragon 于 2012-8-4 09:58 编辑
是这样的,我P1上接了限流电阻和8个小的LED灯,写入程序到STC52单片机里去点亮P1上的LED灯时,亮度很亮。 但,当我P3接了独立键盘,去控制8个小LED灯亮灭时,却发现按下键盘,灯是亮了 但亮度很暗 很暗。。键盘控制的程序如下。 我是真实写入单片机里面测试的,不是仿真。。求高手。。 #include void delay(unsigned char x) //延时 { unsigned char i; while(x--) for(i=0;i<125;i++){} } void main() { unsigned char i=0; do { if(P3==0xfb) //P3.3接键盘 { delay(10); if(P3==0xfb) P1=0x0f; //LED阳极接VCC,阴极接P1端口,这里是P1.4~P1.7的灯点亮 } } while(i>0); } |
|
相关推荐
4个回答
|
|
改成这样试一下do
{ if(P3==0xfb) //P3.3接键盘 { delay(10); if(P3==0xfb) P1=0x0f; //LED阳极接VCC,阴极接P1端口,这里是P1.4~P1.7的灯点亮 } } while(1); |
|
|
|
{:soso_e121:}谢啦 原来是程序的问题。。我本来是想讲程序写成 while(1) { if(P3==0xfb) //P3.3接键盘 { delay(10); if(P3==0xfb) P1=0x0f; //LED阳极接VCC,阴极接P1端口,这里是P1.4~P1.7的灯点亮 } } 但不知道为什么keil总是提示那个while语法错误..或者直接写成while()也不行。。但我很多程序用while()就可以 这个却不行,会提示语法错误,不知道是不是软件的问题。。 |
|
|
|
{:1:}
|
|
|
|
按键使用软件消抖时最好把按下和软延时和二次判定写到一起,执行部分可以在大括号内,这样结构思路好,条例清晰.
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
364 浏览 0 评论
356 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
526 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
574 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
542 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10692 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 13:44 , Processed in 0.880193 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号