PIC16F C语言测频率程序,PIC16F72单片机---按键测试程序

/*************PIC16F72单片机程序******************************/

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

/*****File Function : 按键测试程序 *****/

/*****Program Author : ZhengWen(ClimberWin) *****/

/*****MCU : PIC16F72 外部晶振6MHZ *****/

/*****Compile Date : 2010/11/9 *****/

/*****Edition Info : V1.0 *****/

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

//

/*修改日期: */本文引用地址:http://www.eepw.com.cn/article/201611/316065.htm

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

#include //配置字

__CONFIG(11111110111001);//bit13-bit7=1;bit6 欠压使能(1 enable);bit5=1;bit4 代码保护(0保护);

//bit3 上电延时(0 enable);bit2 看门狗(1 enable);bit1-bit0 时钟选择 (11 RC 10 HS 01 XT OO LP)

#define uchar unsigned char

#define uint unsigned int

void Init(void); //初始化子程序

void LCD_init(void); //LCD初始化程序

void LCD_clear(void);

void LCD_write_english_string(unsigned char X,unsigned char Y,const char *s);

void LCD_write_byte(unsigned char data, unsigned char command);

void delayms(unsigned int count);

void leddisplay(void);

void keytest(void); //按键测试程序

#define LED1 RC0

#define LED2 RC1

#define KEY1 RB0

#define KEY2 RC2

#define KEY3 RC3

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

void delayms(unsigned int count)

{

uint i,j;

for(i=0;ifor(j=0;j<120;j++);

}

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

void Init(void)

{

PORTA = 0B00000000;

PORTB = 0B00000000;

PORTC = 0B00000000;

TRISA = 0B00000000;//设置PORTA口为输出,作为LCD显示口

TRISB = 0B00100001;//设置RB0为输入,作为按键口

TRISC = 0B00001100;//设置RC2,RC3为输入,作为按键口

RBPU=0;//PORTB上拉使能

}

///LED显示程序///

void leddisplay(void)//LED切换显示

{

LED1=0;

LED2=1;

delayms(300);

LED1=1;

LED2=0;

delayms(300);

LED1=1;

LED2=1;

}

按键测试程序/

void keytest(void) //按键测试程序

{

if(KEY1==0)

{

LED1=!LED1;

while(KEY1==0) //按键去抖

{ delayms(100);}

}

/

if(KEY2==0)

{

LED2=!LED2;

while(KEY2==0) //按键去抖

{ delayms(100);}

}

if(KEY3==0)

{

LED1=!LED1;

LED2=!LED2;

while(KEY3==0) //按键去抖

{ delayms(100);}

}

}

主程序/

void main (void)

{

Init();//初始化程序

leddisplay();//LED显示程序

while(1)

{

keytest();

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值