简单的按键继电器控制

发布者:快乐舞步最新更新时间:2018-08-12 来源: eefocus关键字:按键  继电器控制 手机看文章 扫描二维码
随时随地手机看文章

/***************************

    独立按键控制继电器

***************************/

#include



#define uchar unsigned char



sbit KEY = P1 ^ 0;

sbit RelayEN = P0 ^ 0;                 //定义继电器开启信号



void Timer0Init();                     //声明定时器0初始化函数

void RelayProcess();                   //声明断电器处理函数



uchar count = 0;                       //计秒数



void main()                            //主函数

{

    RelayEN = 1;                       //开机时关闭继电器,否则一上电继电器有动作;



    Timer0Init();

    RelayProcess();



}



void Timer0Init()                      //定时器初始化函数

{

    TMOD |= 0x01;                      //“|”使用多个定时器时不受影响

    TH0 = 0xFC;                        //定时1MS

    TL0 = 0x67;

    TR0 = 1;                           //开启定时器0

    EA = 1;                            //开启总中断

    ET0 = 1;                           //开启定时器0中断

}



void RelayProcess()                   //继电器处理函数

{

    KEY = 0x01;                       //读外部状态时,先使端口输出高电平;

    while (1)

    {

        if(!KEY)                      //判定有无按键按下

        {

            if(count >= 20)           //判定秒数是否达到20MS,即去抖

            {

                count = 0;

                if(!KEY)

                {

                    RelayEN = ~RelayEN;//当按键按下时,改变继电器的状态

                    while(!KEY);       //等待按键释放;

                }

            }

        }

    }



}



void Timer0() interrupt 1               //定时器0中断函数

{

    TH0 = 0xFC;                         //重新赋值给定时器0

    TL0 = 0x67;

    count++;                            //计秒数

}


关键字:按键  继电器控制 引用地址:简单的按键继电器控制

上一篇:单片机控制继电器 使LED灯交替闪烁
下一篇:C51单片机定时器T0,T1的常用基本设置

推荐阅读最新更新时间:2024-03-16 16:10

单片机按键的三种方法
分享单片机按键的三种方法 方法一: #include reg52.h typedef unsigned int uInt16;sbit LED1 = P2^0; sbit KEY1 = P3^4; sbit KEY2 = P3^5;void DelayMS(uInt16 ValMS) { uInt16 uiVal,ujVal; for(uiVal = 0; uiVal ValMS; uiVal++) for(ujVal = 0; ujVal 113; ujVal++); }// 函数功能:毫秒延时// 函数功能:扫描按键并做出相应LED灯亮灭动作void main(void) { w
[单片机]
基于Small RTOS51的PS/2键盘驱动程序开发
引言   随着嵌入式系统的发展,嵌入式软件设计向软件平台靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想。实时操作系统使得实时应用程序的设计、扩展和维护变得更容易,无需大的改动就可以增加新的功能。然而随着任务的增加,要求输入的数据也会增加,类型也呈多样化。如果仍然用矩阵式扫描键盘,势必浪费单片机巨大的资源,且增加了成本。若用PC机标准PS/2键盘取而代之,将可解决以上矛盾。本文介绍基于实时操作系统Small RTOS51的PS/2键盘驱动程序的设计,具有响应快,移植性强,占用资源少等优点。 1 驱动的设计   驱动的实现一般可用以下几种方法:① 使用任务编写;② 使用消息编写;③ 使用信号量编写。PS
[嵌入式]
Bridgetek发布新智能控制设备的PanL继电器
随着 PanL 继电器的发布,Bridgetek 进一步拓展了其 PanL 智能家居连接平台解决方案的适用范围。这个最新单元的作用是为已安装的系统带来更强大的功能,从而提高舒适度。它是通过 PanL 系统的 HMI 触摸显示屏为智能切换功能提供的一种手段。由于在智能家居实施中加入了 PanL 继电器,用户将能够打开或关闭家用电器(如洗衣机、微波炉、洗碗机、烤面包机、电饭锅、水壶等)和其他电气设备(如风扇、灯和室外加热器)。 Bridgetek 的 PanL 继电器的外壳紧凑、轻薄(尺寸为 145.7 毫米 x 96.7 毫米 x 29.50 毫米),技术先进。主控采用一颗高性能,频率 100MHz,32 位的 FT903 RI
[嵌入式]
用扫描法读出4×4矩阵键盘,在数码管显示按键
//电路说明如下。 //单片机:使用51系列兼容的即可; //4 4矩阵键盘:接在P1口; //两位数码显示器: P0口输出七段码,P2口输出位选码。 //============================================================== //C语言程序如下。 /************************************************************* * 文件名: KEY_LED.c * 功能 : 对4 4矩阵键盘进行输出,在数码管后两位显示按键值。 ***************************************************
[单片机]
用扫描法读出4×4矩阵键盘,在数码管显示<font color='red'>按键</font>值
STM32按键的检测
STM32的按键检测相对比较简单,首先按部就班的初始化连接的到的i/o,然后写一个按键扫描函数,这个和51单片机的差不多。 以下是一个比较典型的例子: 利用按键控制LED: key.h文件 #ifndef__KEY_H #define__KEY_H #include sys.h“ #defineKEY0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//读取按键0 #defineKEY1 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)//读取按键1 #defineKEY2 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)//读取
[单片机]
基于51单片机的四路抢答器仿真
当主持人按下开始按键后,开始倒计时60秒,选手开始抢答,当有选手抢答后其它选手抢答无效。 并且选手抢答后倒计时停止。 由于我没有设置新一轮按键,如果需要使用新一轮抢答可以加按键开启新一轮抢答 定时器配置代码 #include REGX52.H void Timer0_Init(void) { TMOD &= 0xF0; //配置定时器模式 TMOD |= 0x01; //设置定时器0模式 TL0 = 0x3c; //设置定时初值50ms产生一次中断 TH0 = 0xb0; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计
[单片机]
基于51单片机的四路抢答器仿真
按键处理与按键防抖动例子
/***************************************************** 本程序的目标是这样的: 1:不使用INTn中断功能,按键接在普通IO上 2:由定时器T/C2每隔一段时间检测按键一次, 并具有防抖动功能 3:每点击按键一次,在按键松开后,变量A=A+1 4:如果按键按下后不放,则每隔 n ms 就做A=A+1运算一次 5:在按键按下期间,CPU除了处理按键外,还必须能正常运行主程序 6:本程序的系统时钟是1MHz *****************************************************/ #include #include #include
[单片机]
Tiny210按键分层分离(总线-驱动-设备模型)
led_dev.c驱动源码: #include linux/module.h #include linux/version.h #include linux/init.h #include linux/kernel.h #include linux/types.h #include linux/interrupt.h #include linux/list.h #include linux/timer.h #include linux/init.h #include linux/serial_core.h #include linux/platform_device.h // 分配/设置/注册一个platfo
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved