专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

PIC单片机led灯左移右移

作者:佚名   来源:本站原创   点击数:  更新时间:2013年11月12日   【字体:

程序介绍:每隔100ms,移动一个灯亮

 

//**  Date:          Wednesday, November 21, 2012 21:26:32


#define MX_PIC
//Defines for microcontroller
#define P16F690
#define MX_EE
#define MX_EE_SIZE 256
#define MX_SPI
#define MX_SPI_BCB
#define MX_SPI_SDI 4
#define MX_SPI_SDO 7
#define MX_SPI_SCK 6
#define MX_UART
#define MX_UART_B
#define MX_UART_TX 7
#define MX_UART_RX 5
#define MX_I2C
#define MX_MI2C
#define MX_I2C_B
#define MX_I2C_SDA 4
#define MX_I2C_SCL 6
#define MX_PWM
#define MX_PWM_CNT 1
#define MX_PWM_TRIS1 trisc
#define MX_PWM_1 5
//Functions
#define MX_CLK_SPEED 19660800
#ifdef _BOOSTC
#include <system.h>
#endif
#ifdef HI_TECH_C
#include <pic.h>
#endif
//Configuration data
//Internal functions
#include "F:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h"
//Macro function declarations

//Variable declarations
char FCV_COUNT;
 
//Macro implementations
void main()
{
 
 //Initialisation
 ansel = 0;
anselh = 0;

 //Interrupt initialisation code
 option_reg = 0xC0;

 //Loop
 //Loop: While 1
 while (1)
 {
  //Calculation
  //Calculation:
  //  count = 0x01
  FCV_COUNT = 0x01;
  
  //Loop
  //Loop: While count>0
  while (FCV_COUNT>0)
  {
   //Output
   //Output: count -> PORT C
   trisc = 0x00;
   portc = FCV_COUNT;

   //Delay
   //Delay: 100 ms
   delay_ms(100);

   //Calculation
   //Calculation:
   //  count = count<<1
   FCV_COUNT = FCV_COUNT<<1;
   
  }

  //Calculation
  //Calculation:
  //  count = 0x80
  FCV_COUNT = 0x80;
  
  //Loop
  //Loop: While count>0
  while (FCV_COUNT>0)
  {
   //Output
   //Output: count -> PORT C
   trisc = 0x00;
   portc = FCV_COUNT;

   //Delay
   //Delay: 100 ms
   delay_ms(100);

   //Calculation
   //Calculation:
   //  count = count>>1
   FCV_COUNT = FCV_COUNT>>1;
   
  }

 }

 mainendloop: goto mainendloop;
}
void MX_INTERRUPT_MACRO(void)
{
}

 


 

关闭窗口

相关文章