普中科技51单片机,想让一个按键按一下中断0来实现led闪烁,我哪里写错了,为什么不行??。。

普中科技51单片机,想让一个按键按一下中断0来实现led闪烁,我哪里写错了,为什么不行??。。,第1张

你的LED确实是接在P2.0引脚上吗?还是P2的8个脚都有,共8个LED?

用sbit led=P2^0定义,这LED是一个。但程序中,led=0xfe 这又是斌8位数,不符,下边led=_crol_(led,1)更不对啦。

1位灯,分别改成led=0(放在主程序中)

led=!led(放在中断程序中)

最重要的是,用中断,那个按键必须在P3.2脚上,可是你的按键在P3.1,这不是中断脚。在中断程序中,不能写按键程序的。

把if(k1==0)这段删掉。

如果P3.2没有按键,是不能中断的。

你的意思是把不是开发版配套的程序!修改后写入普中科技的板子运行看结果? 这个很容易的!如果是普通的51单片机!那么所有的P口基本都是通用的口!找到程序中 sbit 语句!

比如led 开发版是p1.2口(可通过开发版配套的电路原理图查看)!那么找到程序中 sbit led = x 这句,修改为 sbit= P1^2然后重新编译即可! 然后利用普中的烧录程序工具或者stcisp,将程序烧录入开发板,之后就可以查看程序运行状况!

楼上这些回答也是扯蛋。首先,这板子是普中的,教程是配套郭天祥的板子,普中的板子和郭天祥的板子LED接法不一样。普中连接LED的是P2,郭天祥连接LED的是P1,所以你程序里面改成P2即可。其次,51单片机的程序里,即便不加while(1),单片机也会重复执行main函数里的程序指令,所以楼上那些回答跟没改程序的效果没有任何差别。欢迎追问。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12098983.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存