单片机 > 单片机程序设计 > 详情

PIC16F785 LED流水灯程序

发布时间:2020-05-16 发布时间:
|

#include

IC.h> 

  __CONFIG(0x33f4);   
//看门狗关,复位脚做复位,内部RC振荡,RA4/RA5做I/O 

//------------------------------------ 
//延时函数 
void delay() 

 int i;                       //定义循环变量 


 for(i=5000;i>0;i--)          //循环次数控制 
    { 
      NOP();                  //消耗一个指令周期时间 
      NOP(); 
    } 


//------------------------------------ 
//初始化函数 
void init() 

    TRISA=0X00;               //设置A口为输出 
    TRISC=0X00;               //设置C口为输出 
    TRISB=0X00; 


//------------------------------------ 
//亮灯函数 
void LED() 

    char i;                   //设置循环变量 
    while(1) 
      { 
        PORTA=1;              //点亮RA0 
        for(i=3;i>0;i--)      //循环次数(RA0-RA2) 
          { 
            delay(); 
            delay(); 
            delay();          //调用3次延时函数 
            PORTA=PORTA<<1;   //点亮下一位LED 
          } 
         PORTA=0X10;          //点亮RA4 
        for(i=2;i>0;i--)      //循环2次(RA4-RA5) 
          { 
            delay(); 
            delay(); 
            delay(); 
            PORTA=PORTA<<1; 
          } 
         PORTA=0;            //清除A口的所有显示 

          PORTB=0X10;            //点亮RC0 
        for(i=4;i>0;i--)     //循环6次(RB0-RB5) 
          { 
            delay(); 
            delay(); 
            delay(); 
            PORTB=PORTB<<1; 
           } 
         PORTB=0x40;           //清除所有RB口的显示 
         PORTC=1;            //点亮RC0 
        for(i=8;i>0;i--)     //循环6次(RB0-RB5) 
          { 
            delay(); 
            delay(); 
            delay(); 
            PORTC=PORTC<<1; 
           } 
         PORTC=0;           //清除所有RB口的显示 
       } 


//-------------------------------------- 
//主函数 
void main() 

   init();                  //调用初始化函数 
   led();                   //调用亮灯函数 




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PIC单片机基础知识之二