新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)模擬開(kāi)關(guān)程序

PIC單片機(jī)模擬開(kāi)關(guān)程序

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
程序介紹:簡(jiǎn)單的按鍵按下,相應(yīng)的燈亮,按鍵彈起,燈滅。只有一個(gè)按鍵哦,相應(yīng)的也只是一個(gè)燈亮。


本文引用地址:http://m.butianyuan.cn/article/201611/323993.htm
#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)
{
}


評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉