專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

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

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月12日   【字體:

程序介紹:簡(jiǎn)單的按鍵按下,相應(yīng)的燈亮,按鍵彈起,燈滅。只有一個(gè)按鍵哦,相應(yīng)的也只是一個(gè)燈亮。

 

#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: 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)
{
}


 

關(guān)閉窗口

相關(guān)文章