资讯详情

PIC单片机模拟开关程序

程序介绍:简单的按键按下,相应的灯亮,按键弹起,灯灭。只有一个按键哦,相应的也只是一个灯亮。

#define MX_PIC //Defines for microcontroller #define P16F690 #define MX_EE #define MX_EE_SIZE 256 #define MX_ I #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_C 1 #define MX_PWM_ S1 trisc #define MX_PWM_1 5 //Functions #define MX_CLK_SPEED 19660800 #ifdef _BOO C #include <system.h> #endif #ifdef HI_ CH_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_I RRUPT_MACRO(void) { }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台