你可以先测一下三极管的基极电压跟你想的是否一致,因为三极管嵌位的作用,高于0.6V就可以认为是高了。
还有你这程序也有点问题,P2.4一旦变成0就再也回不到1了。
这种电路你最好改用PNP三极管,采用低电平控制。
电路上按键用的是P0口,而程序上用的P1口。
void main()
{
P1=0;//这句应该反过来P1=0xFF;因为你开关接的是地,如果P1口又输出为0的话,那你还怎么检测得到按键按下啊。
D2,led灯的接法是永远都不会点亮的。也不知道放在那里是做什么用的。
要想让继电器工作,就得让p2_4=1,可是你的整个程序下来就是没有一句是它工作的。那继电器又怎么能变化呢。在那么多的if else 后面加个
else
p2_4=1;
继电器就会工作了。
1、先测一下三极管的基极电压跟你想的是否一致,因为三极管嵌位的作用,高于0.6V就可以认为是高了。
2、这个程序也有点问题,P2.4一旦变成0就再也回不到1了。
3、这种电路你最好改用PNP三极管,采用低电平控制。
电路上按键用的P0口
程序上用的P1口..能动作就怪了
兄弟,你的按键用的是P0口