您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > PIC12F508单片机用按键控制LED灯C语言程序 -
本文所属标签:
为本文创立个标签吧:

PIC12F508单片机用按键控制LED灯C语言程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]本文介绍了PIC12F508单片机用按键控制LED灯C语言程序。

u=3516149054,3206186292&fm=23&gp=0.jpg

本文引用地址: http://www.21ic.com/app/mcu/201705/719214.htm

本文介绍了PIC12F508单片机用按键控制LED灯C语言程序。

 #include

#include "main.h"

__CONFIG(MCLRDIS&WDTDIS&UNPROTECT&INTRC); //设置配置位(MCLR脚复位禁止,看门狗关,无代码保护,内部RC振荡)

uint count=0;

uchar Key_Flag=0;

void Delay_US(uchar delay)

{

while(delay--);

}

void Delay_Ms(uchar delay)

{

uchar i;

while(delay--)

{

for(i=0;i<165;i++);

}

}

void Delay_Sec(uchar delay)

{

uchar i;

for(i=0;i

{

Delay_Ms(251);

Delay_Ms(251);

Delay_Ms(251);

Delay_Ms(252);

}

}

void GPIO_Port_Init(void) /*********继电器/传感器端口初始化函数**********/

{

TRIS = 0x1c; //继电器和LED_RED设为输出 压力流量设为输入

OPTION = 0x00; //OPTION复位值为:0xFF

}

void Key_Scan(void) /*********按键扫描函数**********/

{

Key_Flag=0; //扫描键盘之前先将按键标志清零

if(Key==0)

{

Delay_Ms(10); //延时去抖

if(Key==0)

{

while(!Key); //等待K1键释放

Key_Flag=1;

}

}

}

void main()

{

Delay_Ms(200);

GPIO_Port_Init();

Delay_Sec(2);

Relay_Out=1;

while(1)

{

Key_Scan();

Red_Led=1;

if(Key_Flag==1)

{

while(1)

{

Red_Led=0;

Delay_Ms(200);

Red_Led=1;

Delay_Ms(200);

}

}

}

}

#ifndef __MAIN_H__

#define __MAIN_H__

#define uchar unsigned char

#define uint unsigned int

#define Relay_Out GP0

#define Red_Led GP1

#define Fluid_In GP2

#define Press_In GP3

#define Key GP4

void Delay_US(uchar delay);

void Delay_Ms(uchar delay);

void Delay_Sec(uint delay);

void GPIO_Port_Init(void);

void Key_Scan(void);

#endif



              查看评论 回复



嵌入式交流网主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > PIC12F508单片机用按键控制LED灯C语言程序 -
 

"PIC12F508单片机用按键控制LED灯C语言程序 -"的相关文章

网站地图

围观()