模拟比较器对正极PB2(AINO)和负极PB3(AINI)的输入电压进行比较,当PB2的电压高于PB3的电压时,模拟比较器输出脚ACO置l。
模拟比较器的控制和状态寄存器ACSR地址为$018($28),复位时值为$O。各位定义如下:
ACD:模拟比较器禁止。置l时,模拟比较器的电源被关闭。改变ACD时,必须清ACIE位,否则将产生中断。
ACO:模拟比较器输出。ACO直接与模拟比较器的输出脚相连接。
ACI:模拟比较器中断标志。有模拟比较器输出事件时,该位置1。若ACIE置1,且SREG中的1置1,产生中断。中断执行后,ACI由硬件清O。
ACIE:模拟比较器中断使能位。ACIE置l允许中断,清O禁止中断。
ACIC:模拟比较器输入捕获使能。置1,定时/计数器1的输入捕获功能由模拟比较器来触发,模拟比较器输出直接连接到输入捕获的前端逻辑,以便利用它的噪音消除和边缘特性;清O,模拟比较器和输入捕获功能没有联系。
ACIS1、ACISON模拟比较器中断模式选择,决定模拟比较器产生中断的条件。对应关系见下表。
改变ACSI1、ACSIO时,必须清除ACSR寄存器中的中断使能位ACIE,否则会发生中断。
关键字:AVR单片机 模拟比较器 输入电压
引用地址:
AVR单片机模拟比较器的设计
推荐阅读最新更新时间:2024-11-08 18:37
AVR单片机的DS1302操作程序
file://---by 变成浪子 //mega16 7.3728M Hz 石英晶体 i CC avr6.31a //相关定义: #define uint unsigned int #define uchar unsigned char #define DS1302_RST 0 //pc0 #define DS1302_SDA 1 //pc1 #define DS1302_SCLK 6 //pc6 //ds1302相关 //DS1302_RST=1 #define Set_DS1302_RST() PORTC|=1 DS1302_RST //DS1302_RST=0 #define Clr_DS1302_RST() PORTC&=
[嵌入式]
avr单片机串行四线驱动1602液晶
用串口的方式来驱动1602液晶的的优点很明显,就是串行能节约单片机有限的io口,本程序仅用四线就完成了液晶的驱动 示范程序很简单,不用多注释应该都能看懂。作为演示用途,其中有些长时间延时没有没有使用定时器,在多任务系统中当然要用定时中断来代替了。 这就是电路,细心的朋友会发现实物图中有几个贴片的阻容件,秘密就在这里,利用电容的记忆效应,把并行的数据转为串行。 关于本制作的更多图解请打开:http://www.51hei.com/bbs/dpj-20365-1.html // Drive a LCD1602 with 2 wire //===========================================
[单片机]
51LPC系列单片机用于控制交流电机
1 概述
PHILIPS 51LPC系列单片机目前已包括P87LPC760/1/2/4/7/8/9共七个型号。51LPC提供高速和低速的晶振和RC振荡方式,可编程选择;具有较宽的操作电压范围2.7~6.0V,可编程I/O口线输出模式选择,可选择施密特触发输入,LED驱动输出;有内部看门狗定时器及提供掉电检测模拟功能,最大限度地减少了外部元件的使用。这些特性和改进的C51结构结合在一起,使得在设计高集成度、低成本和低功耗控制电路时具有更多的选择。该系列主要用于对系统成本有严格要求,且系统具有高抗干扰性能的低功耗应用领域,已广泛用于电子阳性能表、IC卡水表、电子称、消毒碗柜、LED显示屏、煤气表等工业控制领域。 本文介绍在市电情
[单片机]
AVR单片机采集DS18B20并LCD显示
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int #define beep_0 (PORTD = PORTD&0x7F) #define beep_1 (PORTD = PORTD|0x80) #define RS_0 PORTC &= ~(1 PC0) #define RS_1 PORTC |= (1 PC0) #define RW_0 PORTC &= ~(1 PC1) #define RW_1 PORTC |= (1 PC1) #define EN_0 PORTC &= ~(1 pc2)
[单片机]
linux下avr单片机开发:中断服务程序
不管是什么单片机程序,中断总是非常重要的一部分 ,linux 下的avr开发,主要是依靠avr-gcc,以及avr-libc,它们对中断程序的格式要求,与window下的icc-avr以及win-avr有所差异,这里对linux下中断服务程序编写做个简要介绍。 首先是要引入的库: #include avr/io.h #include avr/interrupt.h 这两个是中断程序所要用到的,中断程序的编写位置,只要是在工程里的某个c文件里面就可以了。 具体格式: ISR(INT1_vect) { //...................................// } 其中的INT1
[单片机]
AVR单片机常用库函数整理
AVR常用库函数整理 1. Character Type Functions - 字符类型函数 2. Standard C Input/Output Functions - 标准输入输出函数 3. Standard Library Functions - 标准库和内存分配函数 4. Mathematical Functions - 数学函数 5. String Functions - 字符串函数 6. BCD Conversion Functions - BCD 转换函数 7. Memory Access Functions - 存储器访问函数 8. Delay Functions - 延时函数
[单片机]
AVR单片机的并口ISP下载线原理及制作
为了给AVR单片机业余爱好者,尤其大学生DIY 一条ISP下载线,可以一线打天下,开发所有AVR系列各种封装的AVR单片机,特提供二种成熟电路供DIY。应注意电路接线及电源不能接错,造成器件损坏后果自负。说明:双龙电子提供的SL-DIY系列功能板,有的配有ISP并口下载电缆线。 图1 最简单的ISP并口下载线电原理图 图2 标准并口ISP下载插座接线功能图 图3 具有信号隔离的并口下载线电原理图 下载软件可选用小马软件PonyProg2000(因快捷图标是一只小马,打开后会发出马叫声,所以也称小马软件)软件。可从英特网上下载安装。 也可选用双龙电子的SLISP免费下载软件,并可对AT89S系列单片机进行ISP下
[单片机]
AVR单片机T1中断定时1秒程序
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code // T/C1中断入口 void miao(void) { if(num==100) {num=0;} else {num++;} TCNT1H=0X85;//重新装载T/C1的初值 TCNT1L=0XED; } void Time1Init(void) { TCCR1B=0X04;//
[单片机]