完善资料让更多小伙伴认识你,还能领取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:}
|
|
|
|
按键使用软件消抖时最好把按下和软延时和二次判定写到一起,执行部分可以在大括号内,这样结构思路好,条例清晰.
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12010 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:00 , Processed in 0.701237 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号