您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC16F628A LED流水灯示例程序 正文
PIC16F628A LED流水灯示例程序

PIC16F628A LED流水灯示例程序

点击数:7377 次   录入时间:03-04 11:50:11   整理:http://www.55dianzi.com   PIC单片机

#include<pIC.h>

  __CONFIG(0x3f38);                 //看门狗关,内部RC震荡,RA6/RA7做I/O

//-----------------------------------
//延时函数
void delay()
{
 int i;                            //定义循环变量
 for(i=5000;i>0;i--)               //循环次数控制
    {
      NOP();                       //消耗一个指令周期的时间
      NOP();
    }
}

//----------------------------------
//初始化函数
void init()
{
    TRISA=0X00;                   //设置A口为输出
    TRISB=0X00;                   //设置B口为输出
}

//---------------------------------
//亮灯函数
void LED()
{
    char i;                      //设置循环变量
    while(1)
      {
        PORTA=1;                 //点亮RA0
        delay();
        delay();
        delay();
        PORTA=2;                 //点亮RA1
        delay();
        delay();
        delay();
        PORTA=4;                 //点亮RA2
        delay();
        delay();
        delay();
        PORTA=8;                 //点亮RA3
        delay();
        delay();
        delay();   
          
         PORTA=0X40;             //点亮RA6
        for(i=2;i>0;i--)         //循环两次(RA6-RA7)
          {
            delay();
            delay();
            delay();             //调用3次延时函数,确定流水灯闪烁的快慢
            PORTA=PORTA<<1;      //点亮下一位LED
          }
         PORTA=0;                //清除A口所有显示
         PORTB=1;                //点亮RB0
        for(i=8;i>0;i--)         //循环8次(RB0-RB7)
          {
            delay();
            delay();
            delay();
            PORTB=PORTB<<1;
           }
         PORTB=0;                //清除B口所有显示
       }
}

//---------------------------------------
//主函数
void main()
{
   init();                       //调用初始化函数
   led();                        //调用亮灯函数
}

PIC16F628A LED流水灯示例程序




本文关键字:程序  PIC单片机单片机-工控设备 - PIC单片机