青草国产精品久久久久久,国产高清一区二区三区视频,免费av一区二区三区,午夜熟女插插XX免费视频

產(chǎn)品
有人云 — 物聯(lián)網(wǎng)云平臺 零編程,組態(tài)拖拽即可實現(xiàn)遠程監(jiān)控。同時支持私有部署,擁有屬于自己的軟硬件一體化方案
200
+
私有云項目
數(shù)據(jù)本地化
業(yè)務(wù)個性化
10
+
萬 公有云注冊用戶
80%公有云功能免費
付費VIP享自定義品牌服務(wù)
有人云官網(wǎng)
有人智造 — ODM/EMS 依托自動化、智能化、柔性化、透明化的智能工廠,
提供代研、代料、代工一站式OEM/ODM服務(wù)
有人智造官網(wǎng)
有人智能 — 解決方案 打包提供云、管、邊、端整體解決方案
從問題診斷、方案設(shè)計,到實施落地、系統(tǒng)運維
有人智能官網(wǎng)
新聞資訊
模擬比較器實驗 AVR ATmega8515
2010-11-06


所謂模擬比較器就是模擬電平之間的比較,單片機的內(nèi)部的比較器一般都很簡單,沒有分立元件組成的比較器精準度高,但是小東東也有大用途,可以用他來檢測單片機的電壓跌落,也可以比較從傳感器采集過的模擬信號……正好ATmega8515內(nèi)部有模擬比較器,所以懶貓決定來試一下這個功能。Analog Comparator

關(guān)于ATmega8515內(nèi)部比較器由PB2(AIN0)與PB3(AIN1)口輸入,模擬比較器對正極 AIN0 的值與負極 AIN1 的值進行比較。當 AIN0 上的電壓比負極 AIN1上的電壓要高時,模擬比較器的輸出 ACO 即置位。比較器的輸出可用來觸發(fā)定時器/計數(shù)器 1 的輸入捕捉功能。此外,比較器還可觸發(fā)自己專有的、獨立的中斷。我們也可以自己選擇比較器是以上升沿、下降沿還是交替變化的邊沿來觸發(fā)中斷。關(guān)于這些可以參看寄存器ACSR.

下面給出程序:

[code="CPP"]
/************************************************

//文件名稱:Analog_Comparator.c

//功 能:學習使用單片機內(nèi)部的模擬比較器

//作 者:懶貓愛飛

//建立日期:2010.11.02

//備 注:MCU-ATmega8515 開發(fā)環(huán)境-winavr100110

************************************************/

#include <avr/io.h>

#include <inttypes.h> //關(guān)于數(shù)據(jù)類型的一些定義

#include <stdint.h> //同樣是一些數(shù)據(jù)類型的定義

#include <avr/interrupt.h>

#include <util/delay.h>



#define LED_ON(N) PORTC &= ~_BV(N) /*第N個LED燈亮*/

#define LED_OFF(N) PORTC |= _BV(N) /*第N個LED燈滅*/



/************************************************

//函數(shù)名稱:void port_init(void)

//功 能:端口初始化

//入口參數(shù):NULL

//出口參數(shù):NULL

//備 注:NULL

************************************************/

void port_init(void)

{

PORTA = 0x00;

DDRD = 0x00;



PORTB = 0x00; //關(guān)閉弱上拉,

DDRB = 0x00; //PB2,PB3(AIN0/AIN1)設(shè)置為輸入

//PB3 AIN1 (Analog Comparator Negative Input)

//PB2 AIN0 (Analog Comparator Positive Input)

PORTC = 0xff;

DDRC = 0xff; //LED燈l輸出端口



}

/************************************************

//函數(shù)名稱:int main(void)

//功 能:主程序

//入口參數(shù):NULL

//出口參數(shù):0

//備 注:NULL

************************************************/

int main(void)

{

port_init();



SFIOR |= _BV(PUD); //禁止內(nèi)部上拉

ACSR |= _BV(ACIE); //允許模擬比較器是斷



sei();



while(1);



return 0;

}

/************************************************

//函數(shù)名稱:ISR(ANA_COMP_vect)

//功 能:模擬比較中斷處理程序

//入口參數(shù):中斷向量入口地址 ANA_COMP_vect

//出口參數(shù):NULL

//備 注:NULL

************************************************/

ISR(ANA_COMP_vect)

{

if(ACSR & _BV(ACO)) //檢測AC0位,判斷AN0電壓是否大于AN1電壓

{

LED_ON(0);

LED_OFF(1);

}

else

{

LED_ON(1);

LED_OFF(0);

}

}

[/code]

其測試電路圖如下:

仿真說明:當AIN1低于AIN0時L1(綠燈亮),當AIN1高于AIN0時L2亮(黃燈亮)。

工作日每天: 14:00~17:00
抖音、天貓 "有人旗艦店"

關(guān)注有人微信公眾號
了解更多信息