PIC16F877A内部比较器使用Demo

发布者:温柔心情最新更新时间:2019-01-31 来源: eefocus关键字:PIC16F877A  内部比较器 手机看文章 扫描二维码
随时随地手机看文章

内部比较器的用途是检测外部传感器的状态变化,例如霍尔开关,有金属接近的时候输出高电平,没有则输出低电平,为什么不直接用IO口来检测呢? 我想比较器跟普通 IO 检测一个很不同的地方就它有参考电压,设置一个合理的阀值就能让比较器正确的工作,这点是 IO 不能比拟的,而且比较器也有中断,方便程序的编写。


#include

 

__CONFIG(0xFF32);

 

#define LED0 RD0

 

/*

实验方法:

RA0(Vin-)和RA3(Vin+)的电平比较,并将结果输出到LED

*/

void CM_init(void)

{

TRISA=0x09; //RA0与RA3设置为输入

TRISD=0x00;

PORTD=0xff;

CMCON=0x02; //两个独立比较器,有C1OUT/C2OUT作为输出

CMIE=1;

GIE=1;

PEIE=1;

}

 

void main()

{

CM_init();

while(1);

}

 

void interrupt ISR(void)

{

if(CMIF)

{

CMIF=0;

LED0=C1OUT; //将比较器的结果输出到LED0

}

}


关键字:PIC16F877A  内部比较器 引用地址:PIC16F877A内部比较器使用Demo

上一篇:PIC16F877A 模数转换Demo
下一篇:PIC16单片机看门狗的使用

推荐阅读最新更新时间:2024-03-16 16:23

PIC16F877A 的sleep mode
power down mode也就是sleep mode,状态位PD被清零;程序中加入sleep()便可以使IC进入sleep mode。 在sleep mode下,若watchdog使能,则watchdog被清除后,继续工作;oscillator停止工作;IO口保持进入sleep mode时的状态;MCLR 许要设置为逻辑高电平。 从sleep mode醒来的几种方式: 1、外部MCLR的reset; 2、若watchdog使能,可以利用watchdog唤醒,TO bit被清; 3、INT唤醒,portB口有外部中断的功能; 另外在datasheet中也讲解到利用外部中断(如下几种可以唤醒device) 从s
[单片机]
<font color='red'>PIC16F877A</font> 的sleep mode
基于RFID的室内定位系统设计
  RFID读写器和标签系统均采用低功耗MCU芯片PIC16F877A作为核心控制单元,以低功耗无线射频收发器芯片CC2500为核心配合外围滤波器和天线等构成系统的通信单元。在读写器与标签进行数据通信的过程中,通过获取RSSI(ReceivedSignalStrengthIndicator,接收信号强度指示)信号推测出读写器与标签之间的距离,在获得来自于多个具有固定位置信息的标签的RSSI信号后,可以实现对读写器的无线定位。实验结果表明,该系统在室内环境中能够实现较高精度的无线区域定位。   随着科技的进步和社会经济的发展,人们对定位服务的要求越来越高,传统的定位系统已经不能满足室内定位的需求。GPS在户外环境的定位中应用广泛,
[单片机]
基于RFID的室内定位系统设计
基于PIC16F877A的秒表程序
//该源程序已在实验板上调试通过,读者可直接引用,并可利用软件编程的灵活性,加以拓展,实现更为复杂的功能。 //此程序实现计时秒表功能,时钟显示范围00.00~99.99秒,分辨度:0.01秒 //定义0.01 秒、0.1 秒、1秒、10秒计时器 #include p IC .h #include math.h unsigned char s0,s1,s2,s3; unsigned char s ; unsigned char k ,data ,sreg; unsigned int i; const table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90}; //
[单片机]
PIC16F877A初学之定时器中断篇
程序功能:让RC口的八个灯亮65MS灭65MS采用定时器0中断来完成 程序如下: tmr0 equ 01h pcl equ 02h status equ 03h option_reg equ 81h i NTC on equ 0bh portc equ 07h trisc equ 87h tmr0_b equ 0 w equ 0 f equ 1 rp0 equ 5 t0if equ 2 w_temp equ 7fh portc_b equ 23h flag equ 24h
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved