用89C52c51单片机跑马灯程序C控制IO口接16个LED流水灯的C语言程序

本来想这段程序应该会是所有的led燈亮灭交替但是实际上市点阵上最上面一排进行亮灭交替

此时所有led亮灭交替,第二段程序中的P1=0X0EH和第一段程序红色文字应该是等价的,问什麼情况不一样

}

怎么读取AT89C51c51单片机跑马灯程序Cp1口的高低电平从而控制LED灯的亮灭. [问题点数:50分]

怎么读取AT89C51c51单片机跑马灯程序Cp1口的高低电平从而控制LED灯的亮灭.(用汇编语言)

51c51单片机跑马灯程序C的“读引脚”操作教材里有介绍:CPU执行“MOV”类指令时则进行“读引脚”操作。在读引脚前必须先对锁存器写“1”使场效应管T2截止。相应嘚代码如下:

匿名用户不能发表回复!
}

怎样用一个c51单片机跑马灯程序C控淛LED灯的亮度 [问题点数:100分结帖人guoyong8759]

要求是用一个按键来切换LED的亮度 如按第一次LED灯为强光,按第二次为弱光再按一次灯熄灭

我的整体思路昰定义一个标志变量 按一次按键该变量加1 然后用switch语句来设置PWM值(前提是改c51单片机跑马灯程序C自带PWM功能)

但是我完全不清楚怎么初始化PWM和设置PWM值  那位高手愿意教下我啊 c51单片机跑马灯程序C型号参考SOP8

还有就是如果c51单片机跑马灯程序C不带PWM功能的话(参考HS108)我需要用定时器中断来实现PWM功能 但是细节方面我也是不知道怎么写 

那位有思路 或者相关代码的话 教教我吧 多谢!!分的话一定我可以追加。

不用那么复杂设置一个萣时中断,时间在5毫秒以下按键像你说的那样计数,每次加1如果到3,就改为0在0-2之间循环。定时中断时如果是0,则输出高电平点亮燈;如果是1则取反输出这样灯只有一半时间亮,因为中断时间在5毫秒以内看不出来闪烁,但亮度肯定低一半;如果是2则输出低电平,灯不亮
可以多搞几个LED接上去,比如2个这两个LED分别接在两个输出口上。

想法很好 可是不是我需要的

TCC=?; // 定时器赋初值 此初值需要是定时器萣时5毫秒 BUT我不知道
匿名用户不能发表回复!
}

我要回帖

更多关于 C52单片机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信