按键控制继电器通断1秒启动停止

来源:本站
导读:目前正在解读《按键控制继电器通断1秒启动停止》的相关信息,《按键控制继电器通断1秒启动停止》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《按键控制继电器通断1秒启动停止》的详细说明。
简介:实现功能:按键控制继电器通断1秒启动停止
使用芯片:STC15F104E
晶振:12MHZ
波特率:9600
编译环境:Keil

/********************************************************************实现功能:按键控制继电器通断1秒启动停止使用芯片:STC15F104E晶振:12MHZ波特率:9600编译环境:Keil*********************************************************************//********************************************************************/#include<reg52.h>          //库文件#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int  //宏定义无符号整型/********************************************************************                            初始定义*********************************************************************/uchar sec; //定义计数值,每过1/10 秒,sec 加一uchar keycnt=0;//按下次数值uint tcnt; //键值判断/********************************************************************                            I/O定义*********************************************************************/sbit P33=P3^3;   //定义单片机P3口的第3位 (即P3.3)sbit P3_5=P3^5;/********************************************************************                            延时函数*********************************************************************/void delay(uchar t){  uchar i,j;   for(i=0;i<t;i++)   {     for(j=13;j>0;j--);     { ;     }   }}/********************************************************************                            按键扫描函数*********************************************************************/void KEY() //按键扫描程序{uchar i,j;if(P3_5==0)    {    delay(20);    if(P3_5==0)        {            keycnt++;/********************************************************************                            按下次数判断函数*********************************************************************/switch(keycnt) //按下次数判断    {    case 1: //第一次按下    TH0=0x06; //对TH0 TL0 赋值    TL0=0x06;    TR0=1; //开始定时    break;    case 2: //第二次按下    TR0=0; //定时结束    keycnt=0; //重新开始判断键值    break;    }    while(P3_5==0);        }     }}/********************************************************************                            定时中断服务函数*********************************************************************/void t0(void) interrupt 1 using 0 //定时中断服务函数{    tcnt++; //每过250ust tcnt 加一    if(tcnt==400) //计满400 次(1/10 秒)时    {        tcnt=0; //重新再计        sec++;        if(sec==10) //定时10 秒,在从零开始计时        {            sec=0;            P33=!P33;  //取反 P3.3        }    }}/********************************************************************                            主函数*********************************************************************/void main(){    TMOD=0x02; //定时器工作在方式2    ET0=1;    EA=1;    sec=0;    TR0=0;    while(1)    {     KEY();    }}           /********************************************************************                              结束*********************************************************************/

提醒:《按键控制继电器通断1秒启动停止》最后刷新时间 2024-03-14 01:02:37,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《按键控制继电器通断1秒启动停止》该内容的真实性请自行鉴别。