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

94f5455ad70d0307ac6020c113f10760.png

本文介绍了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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值