① 我的51单片机怎么没有反应的
你买的是个单片机开发学习板吧,是一个做好的裸体电路板吗?是的话你先给他通上5V直流电压,估计就有反应了,和电脑连接是用来下载自己编写的程序的。
光盘坏了可以让厂商把电子资料给你发过来。
这里有个单片机调试的小经验,也许有所帮助:
《51单片机完全不工作,我该怎么入手去检查?》
首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如,常用的5V。
接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。
然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。
另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。
另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因之一)。
经过上面几点的检查,一般即可排除故障了。
如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。
② 51单片机键控四种流水灯,但是仿真时候按按键没反应,求大佬解答
那key是用bit定义成了位变量,只能是0和1,可你程序却让key=1,2,3,4,这是错误的。很简单的事,定义成8位无符号数变量,unsigned char key;
这就行了,为什么用bit?
③ 51单片机独立按键控制LED,经常无响应
代码修改一下:
main()
{
while(1)
{
if(key1==0)
{
delay(30);
if(key1==0)
{
d1=~d1;
while(key1==0);
}
}
}
}
④ 单片机在执行其他程序的时候按键就没反应了怎么办
有可能是这个按键连接的引脚和别的引脚直接有关系,尤其是那些开发板,上面跳冒很多,很复杂。如果是独立的单片机最小系统,应该不会有这种问题。
⑤ 单片机,关于独立按键问题
程序最好重新发一份,太乱了
⑥ 51单片机独立按键问题
独立按键根本就是你这么写的哈,一般的学习板子都是没有硬件去抖的,这样就需要你进行软件去抖,否则就会是误判严重,不知道你会不会软件去抖哈
⑦ 为什么在单片机lcd1602显示时 加入独立按键为什么没反应啊
因为你没有设置中断或者轮询的按键响应函数。所以按下之后没有响应。
⑧ 51单片机,以下代码哪里错了数码管可以计数,但独立按键不好使
deplay(); 是显示子程序吧,为什么有while(1)呢,这是不进入死循 环了吗?就一直在显示子程序中了,不回到主程序了,也就不会调用键盘程序:key(); 当然那按键就不好使了。
把显示程序中的while(1) 删掉,这只能写在主程序中。
⑨ 求助大神,51单片机程序量很大,低电平检测按键没反应。怎么办
那是在执行其它程序呢,没时间检测按键。看你的按键程序是写成了子程序了,还是放在主程序中了?
按键的作用是什么?什么时候要用。主程序中可根据不同运行状态调用部分子函数。需要开机按键设置时,优先执行按键程序,其它需要设置以后才能运行的子函数暂时不调用,减少单片机被占用过多。
设置后,不需要按键了,就不调用按键程序了。
如果需要随时按键都要反应,可以把按键接到外部中断上,以中断方式响应按键,不受其他子函数影响。
⑩ 51单片机 独立按键问题
while(1)就是一个死循环啊,就是让程序在这while里一直循环运行,不在跳出去。除非复位。。。没有这个while(1),程序就进来执行一次main后就会出去再从头开始执行,那些数据就被重新初始化了。。。。一般是在main进来后,把要只需初始化一次的变量、只要执行一次的初始化函数 放在这个while(1)外面,程序就一直在while(1){}里面运行,不会每次都得重新进来又把那些变量初始化。。。。。over。。。。