历史上的今天
今天是:2025年01月31日(星期五)
2019年01月31日 | PIC16F877A内部比较器使用Demo
2019-01-31 来源:eefocus
内部比较器的用途是检测外部传感器的状态变化,例如霍尔开关,有金属接近的时候输出高电平,没有则输出低电平,为什么不直接用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
}
}
下一篇:PIC16单片机看门狗的使用
史海拾趣
|
用定时器1做的简单输出,友善micro2440的板子 请帮我分析下,搞了好长时间,还是出不来 流驱动:#include \"options.h\" #include #include #include #include #include #include #include #include #include \"time.h\" ...… 查看全部问答> |
|
我在2440的开发板上使用SD卡用作U盘,在我的电脑上可以看到 ,也可以读写文件,但经常写一部分就出错,比如同时写200多个文件,写了几十个或100多个文件时(已经写进去的文件是好的,可以用读卡器读到),就出现错误。 ...… 查看全部问答> |
|
请问一下各位 学校里学的C语言和单片机C语言(C51)有啥子不一样的?哪个好学一点. 在学校里学了C语言后感觉没有学到啥子,挺浮浅的,现在只记得一些简单的规则和语法。 不知道现在是继续学它基础打扎实点呢,还是就开始学C51,希望大家给点建 ...… 查看全部问答> |
|
岗位描述: 1、 嵌入式软件设计与开发。 2、 根据项目需要进行软件技术支持。 3、 嵌入式项目软件开发过程控制 任职要求: 1、 熟悉Keil\\IAR开发环境,熟悉C/C++语言 2、 ...… 查看全部问答> |
|
plc车库管理设计梯形图 控制要求: 1.入库车辆前进时,经过1#传感器-->2#传感后,计数器A加1,后退时经过2#传感器-->1#传感器后,计数器B减1;(计数器B的初始值由计数器A送来)只经过一个传感器则计数器不动作 2.出库车辆前进时,经过2#传感器-->到1# ...… 查看全部问答> |
|
最近在调STM8 的I2C(不想搞模拟的I2C),结果I2C没有调通,不知道问题所在,软件是参考I2C EEPROM固件那个程序写的。初始化如下: void IIC_Init(void) { UCHAR temp; CLK_PCKENR1 |= 0x01; I2C_CR1 = 0x00; &n ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 12:51 编辑 我这两天用面包板按照vca810芯片的datasheet中的figure2 电路搭建了一个压控放大,将8脚的50欧姆电阻去掉,并在8脚加了一个vpp=30mv,f=800hz的正弦波(函数发生器产生),并在1脚直接接地。但是在Vc= ...… 查看全部问答> |




