判断开关闭或断的单片机源程序

作者&投稿:藩泳 (若有异议请与网页底部的电邮联系)
51单片机怎么实现一个按键控制LED灯打开,另外一个按键控制关断?能不能给出程序?~

#include
#include
#define GPIO_LED P2
sbit K1=P3^1;

void Delay10ms( );

void main()
{K1=1;
while(1)
{if(K1==0)
{GPIO_LED=~GPIO_LED;
Delay10ms();
}

}
}
void Delay10ms( )
{
//..................延时函数
}

P1左移动4位再把后四位屏蔽掉,那么此时的temp值就是对应的按键值

估计你要汇编程序吧,我写一个。
你的开关最好接个上拉电阻,这样断开就是高电平,闭合就是低电平。依据这个下下面的程序,假设你的是用P2口的P2.0到P2.5接按键:

MOV A,p2
CJNE A,#3FH,TT
RET
TT:CJNE A,#1FH,L1
SJMP P1
L1:CJNE A,#2FH,L2
SJMP P2
L2:CJNE A,#37H,L3
SJMP P3
L3:CJNE A,#3BH,L4
SJMP P3
L4:CJNE A,#3DH,L5
SJMP P5
L5:CJNE A,#3EH,L6
SJMP P6
L6:
MOV A,#0FFH
RET
P1:MOV A,#1
RET
P2:MOV A,#2
RET
P3:MOV A,#3
RET
P4:MOV A,#5
RET
P5:MOV A,#5
RET
P6:MOV A,#6
RET
这个子程序,调用一下,如果返回值A是ffh,就是没有键按下,如果为1就是一号键按下。

6个轻触按键简单点的:

if(key1==0)
{
;//按键1的功能
}

if(key2==0)
{
;//按键2的功能
}
if(key3==0)
{
;//按键3的功能
}
if(key4==0)
{
;//按键4的功能
}

if(key5==0)
{
;//按键5的功能
}
if(key6==0)
{
;//按键6的功能
}

#include <reg51.h>
unsigned char temp;

void main()
{

temp=P3;
switch(temp)
{
case 0xfe:
key=0;
break;

case 0xfd:
key=1;
break;

case 0xfb:
key=2;
break;

case 0xf7:
key=3;
break;

case 0xef:
key=4;
break;
case 0xdf:
key=5;
break;

}
P0=key;
while(1);
}
自己编的,把键盘接到P3口上,把LED接到P0口上,然后看效果即可。


单片断路器怎么接线? 单片断路器工作原理
单片断路器工作原理 断路器一般由触头系统、灭弧系统、操作机构、脱扣器、外壳等构成。当短路时,大电流(一般10至12倍)产生的磁场克服反力弹簧,脱扣器拉动操作机构动作,开关瞬时跳闸。当过载时,电流变大,发热量加剧,双金属片变形到一定程度推动机构动作(电流越大,动作时间越短)。有电子型的,使用...

空气断路器的灭弧室为什么都是单片的
断路器灭弧片间必须绝缘,以把电弧切成不同段,提高电弧电压,使电弧迅速冷却熄灭,所以灭弧片必须是单片的 空气开关,又名空气断路器,是断路器的一种。是一种只要电路中电流超过额定电流就会自动断开的开关。空气开关是低压配电网络和电力拖动系统中非常重要的一种电器,它集控制和多种保护功能于一身。...

感应开关种类有哪些? 看完你了解了你哪几种?
5、光电感应开关 非接触反射式感应,智能电脑检测近距离反光物体(手掌),自动切换工作状态,主动式红外线工作方式,把手放在传感器的指定部位0.5秒,开关接通(或断开),并一直保持该状态;再次感应时,变为相反状态,断开(或接通)并一直维持该状态,可以穿透玻璃,特别适合厨房用橱柜灯,在厨房安装非接触感应...

用51单片机去控制220V市电开关的断开和闭合中间用什么元件控制好些...
回答:肯定是用继电器了,电流小用一般继电器就可以了,OMRON的不错。电流大的话就用固体继电器了。不过,我想一般的继电器就可以了。

机电一体化的原理是什么
接触器要控制电动机电路的通断,主要是控制其线圈的电源(接触器的线圈通电,其触头改变状态——原来闭合的变成断开,原来断开的变成闭合——可参照《控制电器》了解其原理)。计算机输出的信号一般不能用来控制接触的工作(因为容量太小),需要通过继电器或其它元件对控制信号进行功率放大,放大后的信号就可控制接触器线圈的通...

温度控制器的原理及构造
温控器是根据工作环境的温度变化,在开关内部发生物理形变,从而产生某些特殊效应,产生导通或者断开动作的一系列自动控制元件,也叫温控开关、温度保护器、温度控制器,简称温控器。或是通过温度保护器将温度传到温度控制器,温度控制器发出开关命令,从而控制设备的运行以达到理想的温度及节能效果。其工作原理...

程序中断方式保存现场为什么要分两步
两片8259之间用级联的方法连接起来,即一片8259的输出连接到另一片8259的输入端。因此实际可以使用的中断通道只有15个 。 由于每个设备都要占用一个中断通道,如果有两个或两个以上的设备占用了相同的通道时就会发生冲突,使得设备不能正常工作甚至死机。因此在安装新的设备时,一定要选择那些还没有被占用(保留)的中断...

这是什么电视机,键盘被锁定了panel locked,怎么解锁
1.用菜单键解锁:按“MENU”键(或“FUNC”键),选择功能显示菜单(系统设定菜单),在子菜单里有童锁一项,按P+\/-来移动光标移动到“童锁”字样处,按V+\/-键将童锁设置为“关”,即将童锁功能关闭; 2.按屏显键解锁:此类机器童锁后屏幕上无锁定标志,但是按屏显键节目号是红色:此类机器的解锁方法很简单:按遥控...

单片机数字钟毕业中期检查表中的一个问题
可先对录放音设备录入一段音乐或其他报时方式,当到设定时间时,单片机控制录放音设备放音。方案二:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出低电平,蜂鸣器响铃。采用蜂鸣器闹铃结构简单,只需要单路信号控制,发出的闹铃声音可以根据响和不响的不同的软件延时时间来控制,当然也能发出音乐声音。基于两种方案分析...

什么是中断?
1、中断,是一种法律法规术语,是指在诉讼时效期间进行中,因发生一定的法定事由,致使已经经过的时效期间统归无效,待时效中断的事由消除后,诉讼时效期间重新起算。2、中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被...

南江县18075746912: 单片机做判断电路通断的程序,有五个点需要判断,如果为高电平绿灯亮,如果不是(低电平)红灯亮. -
脂柴溴吡: 你写的程序还可以.没有看出来什么问题.你问的问题说是“如果某个点不是高电平(没连通),我们是否就可以说他一定是低电平呢?”.答:还要看你用的是什么单片机,意思是你单片机的i/o口是什么结构有关,例如你用的是51单片机的话,要是p1、p2、p3输出是的高电平的话,你要对这个口什么都不接,那么读的话就是高电平.要是这几个口输出是低电平的话,在什么都不接的情况下,那么读的话就是低电平.要是p0口的话就有点不一样了.p0口没有上啦电阻,所以p0口的输出是高阻态和低电平

南江县18075746912: 单片机控制开关通断 -
脂柴溴吡: 可以利用继电器或者光耦 通过单片机引脚来控制继电器或光耦的通断来控制开关的通断.

南江县18075746912: 单片机中的开中断,关中断是什么意思? -
脂柴溴吡: 中断是指单片机在运行别的代码是,系统可以通过中断方式打断连续的运行,先运行中断服务函数,开中断就是指系统可以在连续运行是中断,去运行中断服务函数,关中断就是指关闭系统中断,不允许系统打断连续的运行.

南江县18075746912: 请问,51单片机在检测到开关1打开时启动电机 电机行程中碰到2自动停止,什么写C程序? -
脂柴溴吡: 把开关1的引脚定义一个名字,假设开关1在P1.0引脚,只是假设,实际在哪个脚你自己改.以下都是假设的引脚.sbit k1=P1^0; //这是在主程序前要先定义 sbit k2=P1^1; //开关2,应该是行程序开关 sbit dianji=P1^2; //假设电机用P1.2控制 ...

南江县18075746912: c51单片机如何使用中断 -
脂柴溴吡: 将按键接到P3.2(INT0)或P3.3(INT1) main(){EA=1; //EA总中断控制,EA=0关,EA=1开EX0=1;//INT0中断控制.0关1开,按键接P3.2用这个EX1=1;//INT1中断控制.0关1开,按键接P3.3用这个//默认情况下,直接使EX0=1或EX1=1来打开中...

南江县18075746912: 求一个单片机中断的C语言程序 -
脂柴溴吡: 程序大致这样:uchar a=0;//计中断次数 EX0=1;EX1=1;EA=1;//开相应中断 IT0=1;IT1=1;//下降沿触发 P0=0;//全灭//中断程序 void zhongduan1(void) interrupt 0 { a++; if(a==9) a=0; P0=~(0XFF<<a); } void zhongduan2(void) interrupt 2 { if(a!=0) a--; P0=~(0XFF<<a); }

南江县18075746912: 单片机怎样判断两个开关同时关上的程序 -
脂柴溴吡: 这样吧 加上一个与门,用单片机监测他的输出,这样不就是一路了吗?不明白再联系又来看了 说白了 就是我提供的这样的方法!应为有些事情软件做不了 要硬件来完成,好比定时器延时和纯软件延时一样,好好体会

南江县18075746912: 单片机外部中断设置 -
脂柴溴吡: 1.中断允许寄存器--IE IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H-AFH. EA:全局中断允许位.EA=0,关闭全部中断;EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关...

南江县18075746912: 单片机c语言中断程序 -
脂柴溴吡: #include <reg51.h> void init(void)//声明中断初始化 { EA=1;//中断总开关 EX0=1;//开中断0开关.中断1为,EX1=1; IT1=1;//采用边沿触发,下降沿有效.IT1=0为低电平触发中断. } main() { init();调用中断初始化函数 == ===主程序; } void in_0(void)interrupt 0//中断服务函数 { == ==要服务的程序 }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网