单片机在工业操控中运用十分的广泛,如单片机化的电气传动及操控体系中,单片机恰当于体系中的一个零部件,体系不需求额定添加体积、质量及能耗,为体系向小型化、智能化、节能化方向翻开打下根底。这些操控体系中对于按键输入的的运用是最为一再的,按键的运用看似简略,可是有些事项假定你稍不留神,就会构成很大的丢掉。以下是自个在按键的实习运用中碰到的疑问及处理期望能对单片机初专家有所帮忙。
以简略的单机单转为例
1、电路图如下:
1、 程序如下:
#include
#define uint unsigned int
#define uchar unsigned char
sbit key_1=P0^4;
sbit key_2=P0^5;
sbit jidianqi=P1^0;
void delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i
{
for(j=0;j
}
}
/******主函数**********/
void main()
{
P0=0XFF;
while(1)
{
if(!key_1)
{
delay(十);
if(!key_1)
{
jidianqi=0;
}
}
if(!key_2)
{
delay(十);
if(!key_2)
{
jidianqi=1;
}
}
}
}
2、 由于P1至P3端口都被占用只能用P0端口作为按键的输入,有程序可知P0^4、P0^5别离作为继电器的吸合及断开按钮,P0.X端口的内部结构如下:
假定单片机的P1至P3端口都被占用,只能用P0端口作为按键的输入,从上图知道P0端口与别的三个端口纷歧样,其内部没有上拉电阻的,别的三个内部都有上拉电阻【跋涉电阻】,从P0端口的原理能够知道,当P0端口作为I/O端口时,CPU 内部宣告操控电平“0”,关闭“与”门则场效应管VT0截止,所以假定不接上拉电阻R则P0口的处于悬浮状况,使程序不能正常施行,实习引证中会呈现继电器一会吸合一会断开重复如此,构成继电器的误动作。假定加上上拉电阻,在按键没有按下的状况下,则相应的P0端口为高电平,就不会施行相应的程序,继电器不会动作,当有按键按下时相应的端口为低电平,施行相应的程序然后使继电器动作,这么就避免了继电器的误动作。所以咱们在实习运用中在P0端口作为输入端口是也应加上跋涉电阻,而不是书上说的再只需作为输出时才加上拉电阻。