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

PIC单片机多路开关程序

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

程序介绍:使用同一个IO口进行设置,高字节为按键,低字节为灯,流程中嵌入关系式变化:
 FCV_COUNT = FCV_COUNT>>4;
FCV_COUNT = FCV_COUNT & 0x0f;

//**  Date:          Wednesday, November 21, 2012 20:50:00
//本程序版权所有: 51hei.com
#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)
 {
  //Input
  //Input: PORT C -> count
  trisc = trisc | 0xff;
  FCV_COUNT = portc;

  //Calculation
  //Calculation:
  //  count = count>>4
  //  count = count AND 0x0f
  FCV_COUNT = FCV_COUNT>>4;
  FCV_COUNT = FCV_COUNT & 0x0f;
  
  //Output
  //Output: count -> PORT C
  trisc = 0x00;
  portc = FCV_COUNT;

 }

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

关闭窗口

相关文章