輕松打造智能家庭衛(wèi)士系統(tǒng)(原理,軟硬件實(shí)現(xiàn),器件選型)
總之,通過(guò)本次設(shè)計(jì),我們又學(xué)到了不少知識(shí)。尤其是對(duì)AVR單片機(jī)又有了更深入的了解。通過(guò)本次大賽,我們對(duì)AVR32單片機(jī)的高級(jí)性能算是有了一個(gè)全新的認(rèn)識(shí)。它的內(nèi)部Flash多達(dá)512KB,完全保證了程序的存儲(chǔ)。方便的基于優(yōu)先級(jí)的中斷管理,能讓我們快速的實(shí)現(xiàn)程序的設(shè)計(jì)。還有,不能不說(shuō)集成開(kāi)發(fā)環(huán)境AVR Studio 5.0真的很方便,尤其是里面的模塊化編程asf部分,在我們的設(shè)計(jì)過(guò)程中起到了很大的作用。
3 參考文獻(xiàn)
《信號(hào)與系統(tǒng)》,ALAN V.OPPENHEIM著,西安:西安交通大學(xué)出版社,1997年;
《數(shù)字圖像處理學(xué)》,元秋奇著,北京:電子工業(yè)出版社,2000年;
《模擬電子線路基礎(chǔ)》,吳運(yùn)昌著,廣州:華南理工大學(xué)出版社,2004年;
《數(shù)字電子技術(shù)基礎(chǔ)》,閻石著,北京:高等教育出版社,1997年;
《數(shù)據(jù)結(jié)構(gòu)與算法》,張曉麗等著,北京:機(jī)械工業(yè)出版社,2002年;
《ARMLinux嵌入式系統(tǒng)教程》,馬忠梅等著,北京:北京航空航天大學(xué)出版社,2004年;
《單片機(jī)原理及應(yīng)用》,李建忠著,西安:西安電子科技大學(xué),2002年;
附1:程序清單
/////////////////////////////////////////////////////////
//*************語(yǔ)音模塊頭文件***************************//
/////////////////////////////////////////////////////////
#ifndef _SOUND_H_
#define _SOUND_H_
#include asf.h
//IO口控制
#define GPIO_sound_control_Pin1 AVR32_PIN_PX23 //jidan0818 語(yǔ)音模塊IO:PX17
#define GPIO_sound_control_Pin2 AVR32_PIN_PX25 //jidan0818 語(yǔ)音模塊IO:PX17
#define GPIO_sound_control_Pin3 AVR32_PIN_PX27 //jidan0818 語(yǔ)音模塊IO:PX17
#define sound_cs GPIO_sound_control_Pin1 //PTAD_PTAD1
#define sound_clk GPIO_sound_control_Pin2 //PTAD_PTAD2
#define sound_data GPIO_sound_control_Pin3 //PTAD_PTAD0
//函數(shù)聲明
void init_sound_io(void);
void delay100us(unsigned char cnt);
void delay1s(unsigned char cnt);
void send_sound(unsigned char addr);
void sound_plus(void);
void sound_minus(void);
void sound_cycle(unsigned char addr);
void sound_stop(void);
void sound_test(void);
//各種報(bào)警語(yǔ)音聲明
void sound_wet_waring_high(void); //濕度過(guò)高報(bào)警
void sound_wet_waring_low(void); //濕度過(guò)低報(bào)警
void sound_temp_waring_high(void); //濕度過(guò)高報(bào)警
void sound_temp_waring_low(void); //濕度過(guò)低報(bào)警
void sound_sunshine_waring_high(void); //濕度過(guò)高報(bào)警
void sound_sunshine_waring_low(void); //濕度過(guò)低報(bào)警
void sound_gas_waring_high(void); //濕度過(guò)高報(bào)警
void sound_gas_waring_low(void); //濕度過(guò)低報(bào)警
void sound_people_waring(void); //濕度過(guò)高報(bào)警
void sound_temp(short int t ) ;
void sound_time(unsigned char hh,unsigned char mm,unsigned char ss);
void sound_sunshine(short int t );
void sound_wet(short int t );
void sound_gas(short int t ) ;
void sound_welcom(void);
#endif
/////////////////////////////////////////////////////////
//****************延時(shí)服務(wù)函數(shù)***************************//
/////////////////////////////////////////////////////////
//系統(tǒng)延時(shí)初始化函數(shù)
void delay_init(unsigned long fcpu_hz)
{
#ifndef FREERTOS_USED
s_fcpu_hz = fcpu_hz;
#endif
}
//系統(tǒng)ms延時(shí)函數(shù)
void delay_ms(unsigned long delay)
{
#if (defined FREERTOS_USED)
vTaskDelay( (portTickType)TASK_DELAY_MS(delay) );
#elif (defined NUTOS_USED)
NutSleep(delay);
#else
cpu_delay_ms(delay, s_fcpu_hz);
#endif
}
//系統(tǒng)us延時(shí)函數(shù)
void delay_us(unsigned long delay)
{
#if (defined FREERTOS_USED)
vTaskDelay( (portTickType)TASK_DELAY_MS(delay) );
#elif (defined NUTOS_USED)
NutSleep(delay);
#else
cpu_delay_us(delay, s_fcpu_hz);
#endif
}
/////////////////////////////////////////////////////////
//**********部分重要的服務(wù)函數(shù)***************************//
/////////////////////////////////////////////////////////
//播放存放語(yǔ)音的底層函數(shù)
相關(guān)閱讀
智能家庭離我們還有多遠(yuǎn)?
評(píng)論