我們?cè)O(shè)計(jì)了一個(gè)智能電子設(shè)備——基于EVK1100的實(shí)用多功能環(huán)保小天使,意在提高人們的日常環(huán)保意識(shí),并結(jié)合MCU的強(qiáng)大功能和豐富的外設(shè)資源,切實(shí)解決一些人們?nèi)粘I钪械哪茉蠢速M(fèi)問(wèn)題。詳細(xì)的功能設(shè)計(jì)方案,請(qǐng)見(jiàn)下文。
AVR是ATMEL(中文名)公司的A先生和V先生1997年發(fā)明的基于精簡(jiǎn)指令集(RISC)的單片機(jī)系列。ATMEL公司已經(jīng)把AVR擴(kuò)大到一個(gè)全系列:Tiny AVR,Mega AVR,LCDAVR,USB AVR,DVD AVR,RF AVR, Secure AVR
最近打算自己做個(gè)藍(lán)牙接收機(jī),接在四軸上,于是研究下怎么輸出4路PWM。計(jì)劃是用定時(shí)器中斷,然后在中斷的時(shí)候計(jì)算占空比,然后對(duì)指定的PIN腳做高低電平的切換。折騰了半天才大致上了解了這方面的用法,下面的代碼在1
AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC(ReducedInstructionSetCPU)精簡(jiǎn)指令集高速8位單片機(jī)。AVR的單片機(jī)可以廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備、工業(yè)實(shí)時(shí)控制、儀器儀表、通訊設(shè)備、家用
傳感器將采集到的寵物行為信息經(jīng)初步處理后由MCU發(fā)送至PC端,PC端根據(jù)接收到的信息模擬寵物的行為以及外部的環(huán)境因素,并對(duì)照寵物行為與心理的映射關(guān)系,模擬寵物的心理狀態(tài),然后根據(jù)主人的設(shè)定,系統(tǒng)能自動(dòng)地告知主人寵物的心理狀態(tài)、進(jìn)行自動(dòng)喂食、改變環(huán)境條件或生成文章上傳到微博,讓主人無(wú)論是身處家中還是遠(yuǎn)在千里之外都可以準(zhǔn)確實(shí)時(shí)地了解到寵物狗的
#i nclude#i nclude//電動(dòng)車(chē)雙閉環(huán)程序,采用雙閉環(huán)方式控制電機(jī),以得到最好的zh轉(zhuǎn)速性能,并且可以//限制電機(jī)的最大電流。本應(yīng)用程序用到兩個(gè)CCP部件,其中CCP1用于PWM輸出,以控//制電機(jī)電壓;CCP2用于觸發(fā)AD,定
下面就總結(jié)一下AVR單片機(jī)ATmega16的主要特點(diǎn):(注: 括號(hào)內(nèi)有紅色 *x*符號(hào)的表示文章下方會(huì)有解釋/擴(kuò)展)1) 采用 RISC 結(jié)構(gòu)的AVR內(nèi)核單片機(jī).131 條機(jī)器指令, 大多數(shù)指令為單個(gè)系統(tǒng)時(shí)鐘周期執(zhí)行的指令;32 個(gè) 8 位通用工作
這種的特點(diǎn)是 1 輸出結(jié)構(gòu)類(lèi)似 OC門(mén),輸出低電平時(shí),內(nèi)部NMOS導(dǎo)通,驅(qū)動(dòng)能力較強(qiáng)(800uA);輸出高電平靠?jī)?nèi)部上拉電阻,驅(qū)動(dòng)能力弱(60uA)。 2 永遠(yuǎn)有內(nèi)部電阻上拉(P0口除外),高電平輸出電流能力很弱,所以
在單片機(jī)應(yīng)用中經(jīng)常需要在掉電時(shí)(包括人為的關(guān)機(jī)和偶然的外部電源故障),對(duì)運(yùn)行的數(shù)據(jù)進(jìn)行保存。目前,常用的方法是單獨(dú)給單片機(jī)增加一個(gè)較大的電容(一般為2000 μf以上,也有用法拉級(jí)的),外部
目標(biāo)AVR器件的編程可以用AVR Studio的4.0或更高版本控制STK500和JTAGICE,選擇STK500 or AVRISP和Auto或者具體的COM?端口進(jìn)行聯(lián)機(jī),點(diǎn)擊avr studio主窗口中的圖標(biāo)前面標(biāo)有Con的那個(gè)圖標(biāo),然后按下圖選擇
AVR端口是真正的雙向端口,不像51偽雙向。這也是AVR的一項(xiàng)優(yōu)勢(shì),只是操作時(shí)大家注意DDRn就可以了。真正雙向端口在模擬時(shí)序方面不如偽雙向的方便。 DDRn PORTnPINn 解釋?zhuān)簄為端口號(hào):ABCDE DDRn:控
EEPROM: 單片機(jī)內(nèi)部可用軟件讀寫(xiě)的數(shù)據(jù)存儲(chǔ)空間,掉電后數(shù)據(jù)不丟失,可擦寫(xiě)10萬(wàn)次。 ATmega16 內(nèi)部有512字節(jié)的EEPROM數(shù)據(jù)空間,地址空間由0-511,由EEPROM地址寄存器EEAR指定,數(shù)據(jù)寄存器EEDR用于存儲(chǔ)要讀寫(xiě)的數(shù)據(jù)。
#include#include//AlphanumericLCDModulefunctions#asm.equ__lcd_port=0x18;PORTB#endasm#include#defineucharunsignedchar#defineuintunsignedint#defineBIT(x)11;DQ_OUT;DQ_CLR;delay_us(10);DQ_SET;DQ_IN;if(DQ_
在avr論壇上看到的 關(guān)于串口接收的方法 對(duì)項(xiàng)目有點(diǎn)幫助就記錄下了 感謝網(wǎng)友AVRBBS 提供的方法staticunsignedchari;//定義一個(gè)靜態(tài)變量,用于記錄接收到那一個(gè)字節(jié)了。switch(i){case:0if(udr==0xAA)//收到第一個(gè)數(shù)
本程序參照馬潮mega128的編寫(xiě)??芍С?85或232接口。變異軟件ICCAVR,上位機(jī)軟件應(yīng)用超級(jí)終端或avrubd等,Xmodem,9600,8,1,n#include #include #include #define SPM_PAGESIZE 128 //M16的一個(gè)Flash頁(yè)為128字節(jié)(
在AVR單片機(jī)燒寫(xiě)的過(guò)程中,難免有弄錯(cuò)熔絲位的時(shí)候,結(jié)果是AVR單片機(jī)無(wú)法讀寫(xiě)了!這時(shí)我們?cè)撛趺崔k呢,將昂貴的芯片丟掉,再用一塊新的。其實(shí)這一般是沒(méi)有必要的,寫(xiě)錯(cuò)熔絲位而導(dǎo)致單片機(jī)不能讀寫(xiě),一般
實(shí)際上還是僅僅備份些代碼,加些注釋?zhuān)驗(yàn)檫@本身就很容易,沒(méi)啥多說(shuō)的。。。先定義些東西#define PORT_IIC PORTC#define DDR_IIC DDRC#define BIT_SCL 0#define BIT_SDA 1#define TW_START 0X08#define TW_REP_STAR
AVR單片機(jī)萬(wàn)年歷程序//***************************FileName:RTC.C************************////***************************ICCAVRV6.30編譯**********************//#include//寄存器定義文件#includ
快速PWM 模式(WGM13:0 = 5、6、 7、14 或15) 可用來(lái)產(chǎn)生高頻的PWM 波形??焖貾WM模式與其他PWM模式的不同之處是其單邊斜坡工作方式。計(jì)數(shù)器從BOTTOM計(jì)到TOP,然后立即回到BOTTOM 重新開(kāi)始。對(duì)于普通的比
1.毫秒級(jí)的延時(shí)延時(shí)1ms;void delay_1ms(void){unsigned int i;for(i=1;i