pic比较器是最少使用的外围设备,但它与之快
标准LM311 ......
注意:此信息适用于任何有一个PIC微控制器 built in comparator.
12F675中有一个比较器,您可以在许多不同中设置
方法,您甚至可以从内部参考提供比较电压。
该电压可以设置为32个步骤中的任何一个。
这只是一个简单的项目,旨在显示简单的操作,以便您可以
用它。它显示了操作比较器所需的一切。
比较器是高速的,介于两者之间 150ns到400ns (150ns典型,400ns max)。
典型的响应时间优于LM311的标准响应时间
这是200ns - 但您可以为PIC比较器获得高达400ns - 即
still very good.
注意这是其中一个 比较器模块的优势 - the fact
它独立于处理器运行,并具有非常快速的
response time.
一个仅由文档暗示的信息是那个信息 比较器输入必须设置为模拟输入 - 否则比较器 does nothing!
所以你需要控制 Ansel..
电路。
下载。
代码。
比较模式。
寄存器 associated with the
comparator.
CMCON. Comparator control
register.
Vrcon. 比较电压参考
control.
下表显示了配置的八种不同方式
comparator:
这些是用于控制比较器和电压的寄存器
reference:
主要控件是:
......其余的是用于中断控制和I / O方向(唐't forget ANSEL
not in table!)
下载代码在这里: 点击到
download.
以下代码将比较器设置为完全外部设备即I.
不使用内部电压参考:
//////// //////////////////////////////////////////////////////////////////////////// //////
// // file:16f675_comparator.c // //作者:J F Main。 // // 描述: // //使用比较器GP0,GP1,GP2 // //编译器:mikroc,mikroelektronika c编译器 //用于Microchip PIC微控制器 //版本:6.2.0.0 // //注意测试: // //在12f675上测试 // // 要求: // //目标:12f675 // //注意: // //使用内部振荡器。 // // 版本: // 1.00 Initial release. // //版权所有:版权所有©John Main // //www.best-microcontroller-projects.com //免费使用非商业用途 // 版权声明s包含在源代码中 //和任何其他文档。 // //////// //////////////////////////////////////////////////////////////////////////// ////// //////// //////////////////////////////////////////////////////////////////////////// ////// //定义 #define比较器_pop 2 #define LED 4 //////// //////////////////////////////////////////////////////////////////////////// ////// 空白 init_ports(空白){ // GP0.& GP1 are inputs TRISIO = 0 | (1<<GP0) | (1<<GP1); // 0 - OP,1 - IP ANSEL = (1<<GP0) | (1<<GP1); ; // ANA。 IP在GP0 GP1上 } //////// //////////////////////////////////////////////////////////////////////////// ////// 空白 init_comparator(空白){ //具有外部输入和输出的比较器。 // cout = 0(比较器输出),cinv = 0(反转) CMCON = 0x01; } //////// //////////////////////////////////////////////////////////////////////////// ////// // 从这里开始 空白 main() { ㈡ i; init_ports(); //显示设备上电源激活。 为了 (i=0;i<5;i++) { GPIO |= (1<<COMPARATOR_OP); delay_ms(100); GPIO &= ~(1<<COMPARATOR_OP); delay_ms(100); } init_comparator(); 尽管(1) {; GPIO |= (1<<LED); delay_ms(100); GPIO &= ~(1<<LED); delay_ms(100); } } |
注意:运行
以上代码您可能需要删除ICSP连接之后
作为比较器引脚的编程在PGD和PGC线上。 代码简单地闪烁比较器输出LED 5次 启动并在此之后打开比较器。然后是第二个 LED持续闪烁。 通过更改罐设置,您可以看到比较器输出开启 and off. |
跳跃 12F675比较器 page
最佳微控制器项目主页。
使用ADS1115精度16位ADC进行教程进行低功耗。
arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。
了解DigitalWrite()的工作原理......现在使用17倍宏宏!
如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。
使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。
HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。
新的! Comments
让你说到你刚刚阅读的东西!留下下面的框中的评论。