微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机模拟开关程序

PIC单片机模拟开关程序

时间:11-30 来源:互联网 点击:
程序介绍:简单的按键按下,相应的灯亮,按键弹起,灯灭。只有一个按键哦,相应的也只是一个灯亮。


#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
#endif
#ifdef HI_TECH_C
#include
#endif

//Configurationdata

//Internal functions
#include "F:Program FilesMatrix MultimediaFlowcode V4FCDinternals.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: A0 -> count
trisa = trisa | 0x01;
FCV_COUNT = ((porta & 0x01) == 0x01);

//Decision
//Decision: count=1?
if (FCV_COUNT==1)
{
//Output
//Output: count -> C0
trisc = trisc & 0xfe;
if (FCV_COUNT)
portc = (portc & 0xfe) | 0x01;
else
portc = portc & 0xfe;

} else {
//Input
//Input: PORT A -> count
trisa = trisa | 0xff;
FCV_COUNT = porta;

//Output
//Output: count -> PORT C
trisc = 0x00;
portc = FCV_COUNT;

}

}

mainendloop: goto mainendloop;
}

void MX_INTERRUPT_MACRO(void)
{
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top