pic16f630 c语言编程,PIC16f630简单练习程序

该程序为基于PIC16F630单片机的LED显示和蜂鸣器测试程序,通过初始化端口设置,实现了对LED的动态显示和蜂鸣器的频率控制。在按键被按下时,会触发蜂鸣器响动,并改变LED显示状态。程序中包含了延迟函数和按键去抖处理,确保了稳定运行。
摘要由CSDN通过智能技术生成

/*************PIC16F630单片机程序******************************/

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

/*****File Function : LED测试 *****/

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

/*****MCU : PIC16F630 内部4M晶振 *****/

/*****Compile Date : 2010/08/11 *****/

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

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

/*修改日期: */

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

#include#include #define uchar unsigned char

#define uint unsigned int

void speakertest(void);//蜂鸣器测试子程序

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

void delayms(unsigned int count);

void LED_display(void);

void PortInit(void);

#define SPK RA0

#define KEY RA2

void PortInit(void)

{

PORTA = 0B00000000;

PORTC = 0B00000001;

TRISA = 0B00100010;

TRISC = 0B00000000;

}

void speakertest(void)//蜂鸣器测试程序

{

uchar i;

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

{

SPK=0;

delayms(1);

SPK=1;

delayms(1);

}

}

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

{

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

if(KEY==0)

{

speakertest();

PORTC=0X55;

//

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

{ delayms(100);}

}

PORTC=0xff;

}

void delayms(unsigned int count)

{

uint i,j;

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

}

void LED_display(void)

{

uchar i,j;

j=0x01;

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

{

PORTC=~j;

j=j<<1;

delayms(1000);

}

}

主程序/

int main (void)

{

PortInit();

SPK=1;

while(1)

{

//keytest();

LED_display();//调用LED显示子程序

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值