程序介绍:简单的按键按下,相应的灯亮,按键弹起,灯灭。只有一个按键哦,相应的也只是一个灯亮。
#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
//Configuration data
//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)
{
}
关键字:PIC单片机 模拟开关
引用地址:
PIC单片机模拟开关程序
推荐阅读最新更新时间:2024-03-16 14:04
PIC单片机 定时器初值计算
定时器 初值计算 晶振8M 需定时25us 分频比1:2 初值(EE)=256 - 25/ (4/8*2) + 14/2 = 256- 25 + 7 = 238
[单片机]
PIC单片机模拟读写24C01 EEPROM
//************************************************** //实验目的: //熟悉使用单片机模拟读写24C01 EEPROM //1、首先向24C01 EEPROM写入数据 //2、在从24C01 EEPROM中读取数据,并用LED显示 //************************************************** //************************************************** //硬件设置: //1、SW4开关全部闭合 //2、SW2开关1闭合,其它断开 //3、SW3开关7和8闭合,其它断开 //*******
[单片机]
pic单片机MPLAB安装步骤&工程建立&经验总结
写在前面: pic这款单片机用的也很普遍了,其性能及能做些什么就不必啰嗦去说了。有很多人反映pic的编译器mplab安装出问题,有的是安装后软件打不开,有的是编译时出错,总之都是些常见的问题。我在这里把以前的mplab卸载再安装了一遍,并写下安装步骤和第一个工程建立方法供大家参考。另外,我把自己学习pic的一些经验总结下。 pic是我在51之后接触的的第二款单片机,都说它跟51区别不大,但是突然换了一种芯片就跟换了一个环境一样,开始有些不适应,在摸索了大概一个星期后我才慢慢适应了,凭借着有些51的基础,pic走下来很顺利,我才发现真的和51没太大的区别,出了指令不同,寄存器配置不一样外都差不多。这里也可以延伸一下,那么其他的
[单片机]
Vishay首颗通过AEC-Q100认证的模拟开关提高信号完整性和带宽
日前,Vishay Intertechnology, Inc.(NYSE 股市代号:VSH)宣布,推出新的通过AEC-Q100(Grade 1)认证的双路DPDT/四路SPDT模拟开关--- DGQ2788A ,开关在2.7V下电阻为0.37Ω,带宽338MHz,采用小尺寸2.6mm x 1.8mm x 0.55mm miniQFN16封装。Vishay Siliconix DGQ2788A 非常适合空间有限的汽车应用中的模拟和数字信号开关,具有非常平的电阻和寄生电容曲线,可提高信号完整性,提供更高的带宽。 今天发布的器件是Vishay正在推出的汽车系列模拟开关的首颗产品,着力解决车载智能通信、信息娱乐、高级驾驶辅助系统(A
[汽车电子]
PIC单片机的BootLoader实现
引 言 PIC单片机的BootLoader属于需要自己写程序的那种,可以根据自己的需要写出各种功能的BootLoader程序来。目前,比较常见的BootLoader程序有Microchip公司的C18版本和著名的PICC编译器厂商 HI-TECH公司(以下简称HI-TECH)的PICC18版本。它们的相似之处在于都占用了系统的0x00~0x1FF的程序空间。 Microchip的版本是用纯汇编写的,而HI-TECH的版本是用C语言编写的。 在PIC系列单片机中,只有PIC18系列和PIC16F87X系列的单片机才有IAP功能,才能够使用BootLoader功能。下面只介绍PIC18的BootLoader,PIC16F8
[单片机]
菜鸟学PIC单片机(一)
菜鸟学P IC 单片机 (一):TS1620字符型液晶模块驱动程序编写苦与乐 小弟学习PIC16F87X系列 单片机 已持续半个月了,遇到的困难还是比较多的,幸好单位的图书馆里还有一些相关的书籍,加之购买了第三方的ICD,因此学习起来还是比较充实的。 虽说如此,但在单位里找不到志同道合者一起来琢磨她,不过这里却有许多热心的站友。 今后,小弟打算将自己的一些学习心得和疑问写出来,与论坛里和我一样的初学者一起进步,并殷切希望能得到前辈的指点, 小弟写的第一个程序是控制三位八段 数码管 的显示,还没来得及总结,今天下午调试和总结了一下 LCD 的驱动程序,遇到了很多困难,但也有点小小的收获,拿出来晾晾,大家尽管扔砖,小
[单片机]
关于PIC单片机的一些经验
为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见. 2.PIC单片机的概述 PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率. PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4MHZ,也可以用外部
[单片机]
东模拟开关型史密特触发器
引言
史密特触发器通常由比较器加正反馈电阻构成,或是制作成专门的集成电路,主要用于信号波形的整形和电压电平的监视,是应用极为广泛的基本电路。模拟开关也是数字电路的重要组成部分,它主要用作电子开关,但采用不同的接线方式,划是和其它器件作不同组合,都可以实现不同的功能。下面就介绍用它实现史密特触发器功能的电路。
基本的模拟开关型史密特触发器
基本的模拟开关型史密特触发器如图1所示,它主要由模拟开关G1和电阻器R1、R2等组成。模拟开关G1是一个单刀双置开关,其0输入端接地,1输入端接电源电压E,输出端Q经电阻器R2反馈到控制端C,输入信号U2经电阻器R1也输入到控制端C。
通常G1门的导通电阻及Ron为数欧姆~数百欧姆
[半导体设计/制造]