單片機源程序如下:
/***************************飛音云電子****************************
** 工程名稱:YS-V0.7語音識別模塊驅動程序
** CPU: STC11L08XE
** 晶振:22.1184MHZ
** 波特率:9600 bit/S
** 說明:普通+按鍵觸發模式: 即每次識別時都需要說“小杰”這個口令 ,才能夠進行下一級的識別
/***************************飛音云電子******************************/
#include "config.h"
/************************************************************************************/
// nAsrStatus 用來在main主程序中表示程序運行的狀態,不是LD3320芯片內部的狀態寄存器
// LD_ASR_NONE: 表示沒有在作ASR識別
// LD_ASR_RUNING: 表示LD3320正在作ASR識別中
// LD_ASR_FOUNDOK: 表示一次識別流程結束后,有一個識別結果
// LD_ASR_FOUNDZERO: 表示一次識別流程結束后,沒有識別結果
// LD_ASR_ERROR: 表示一次識別流程中LD3320芯片內部出現不正確的狀態
/***********************************************************************************/
uint8 idata nAsrStatus=0;
void MCU_init();
void ProcessInt0(); //識別處理函數
void delay(unsigned long uldata);
void User_handle(uint8 dat);//用戶執行操作函數
void Led_test(void);//單片機工作指示
uint8_t G0_flag=DISABLE;//運行標志,ENABLE:運行。DISABLE:禁止運行
sbit LED=P4^2;//信號指示燈
void Delay200ms();
sbit CMD_KE=P4^1;//觸發按鍵
/***********************************************************
* 名 稱: void main(void)
* 功 能: 主函數 程序入口
* 入口參數:
* 出口參數:
* 說 明:
* 調用方法:
**********************************************************/
void main(void)
{
uint8 idata nAsrRes;
uint8 i=0;
Led_test();
MCU_init();
LD_Reset();
UartIni(); /*串口初始化*/
nAsrStatus = LD_ASR_NONE; // 初始狀態:沒有在作ASR
#ifdef TEST
PrintCom("串口運行中....rn"); /*text.....*/
PrintCom("口令:1、代碼測試rn"); /*text.....*/
PrintCom(" 2、開發板驗證rn"); /*text.....*/
PrintCom(" 3、開燈rn"); /*text.....*/
PrintCom(" 4、關燈rn"); /*text.....*/
PrintCom(" 5、北京rn"); /*text.....*/
PrintCom(" 6、上海rn"); /*text.....*/
PrintCom(" 7、廣州rn"); /*text.....*/
#endif
while(1)
{
switch(nAsrStatus)
{
case LD_ASR_RUNING:
case LD_ASR_ERROR:
break;
case LD_ASR_NONE:
{
nAsrStatus=LD_ASR_RUNING;
if (RunASR()==0) /* 啟動一次ASR識別流程:ASR初始化,ASR添加關鍵詞語,啟動ASR運算*/
{
nAsrStatus = LD_ASR_ERROR;
}
break;
}
case LD_ASR_FOUNDOK: /* 一次ASR識別流程結束,去取ASR識別結果*/
{
nAsrRes = LD_GetResult(); /*獲取結果*/
User_handle(nAsrRes);//用戶執行函數
nAsrStatus = LD_ASR_NONE;
break;
}
case LD_ASR_FOUNDZERO:
default:
{
nAsrStatus = LD_ASR_NONE;
break;
}
}// switch
}// while
}
/***********************************************************
* 名 稱: LED燈測試
* 功 能: 單片機是否工作指示
* 入口參數: 無
* 出口參數:無
* 說 明:
**********************************************************/
void Led_test(void)
{
LED=~ LED;
Delay200ms();
LED=~ LED;
Delay200ms();
LED=~ LED;
Delay200ms();
LED=~ LED;
Delay200ms();
LED=~ LED;
Delay200ms();
LED=~ LED;
}
/***********************************************************
* 名 稱: void MCU_init()
* 功 能: 單片機初始化
* 入口參數:
* 出口參數:
* 說 明:
* 調用方法:
**********************************************************/
void MCU_init()
{
P0 = 0xff;
P1 = 0xff;
P2 = 0xff;
P3 = 0xff;
P4 = 0xff;
P1M0=0XFF; //P1端口設置為推挽輸出功能,即提高IO口驅動能力,從驅動繼電器模塊工作
P1M1=0X00;
LD_MODE = 0; // 設置MD管腳為低,并行模式讀寫
IE0=1;
EX0=1;
EA=1;
}
/***********************************************************
* 名 稱: 延時函數
* 功 能:
* 入口參數:
* 出口參數:
* 說 明:
* 調用方法:
**********************************************************/
void Delay200us() //@22.1184MHz
{
unsigned char i, j;
_nop_();
_nop_();
i = 5;
j = 73;
do
{
while (--j);
} while (--i);
}
void delay(unsigned long uldata)
{
unsigned int j = 0;
unsigned int g = 0;
while(uldata--)
Delay200us();
}
void Delay200ms() //@22.1184MHz
{
unsigned char i, j, k;
i = 17;
j = 208;
上一篇:51單片機控制步進電機和直流減速電機
下一篇:單片機單總線掛2片ds18b20傳感器,8位數碼同時管顯示
推薦閱讀
史海拾趣
隨著Avago的進一步發展和演變,CyOptics作為其子品牌也迎來了新的發展機遇。如今,Avago已經演變為Broadcom公司,而CyOptics則繼續以其在光學領域的專業技術和豐富經驗為Broadcom的產品線增添光彩。展望未來,CyOptics將繼續秉承其技術領先和創新驅動的理念,為全球客戶提供更加優質的光學產品和服務。
隨著國內市場的飽和,BOCA公司開始將目光投向海外市場。公司首先在歐洲和北美設立了分公司,通過本地化運營和營銷策略,成功打開了這些市場。隨后,BOCA又陸續在亞洲、非洲等地區設立了分支機構,形成了全球化的銷售網絡。國際化戰略的實施不僅為BOCA帶來了更廣闊的市場空間,也提升了公司的品牌影響力和國際競爭力。
作為一家技術驅動的公司,Atlanta Micro始終重視研發實力的提升。公司不斷加大研發投入,引進了一批高素質的研發人才,并建立了完善的研發體系。這些舉措使得公司的研發能力得到了顯著提升,不斷推出具有市場競爭力的新產品,為公司的發展提供了源源不斷的動力。
在國內市場取得一定成績后,Bel Power Solutions開始積極拓展國際市場。公司通過與全球知名企業的合作,成功將產品打入國際市場,并贏得了良好的聲譽。同時,公司還積極尋求與系統集成商、分銷商等建立長期穩定的合作關系,共同開拓市場。這些合作伙伴關系的建立,不僅為公司帶來了更多的商業機會,還提升了公司的品牌影響力和市場份額。
Elpida Memory的成立,標志著日本在DRAM(動態隨機存取存儲器)領域的一次重要整合。1999年,為了應對全球半導體市場的激烈競爭,日本政府主導了日立、NEC、三菱電機等公司的DRAM業務整合,成立了Elpida Memory。這一舉措旨在保護日本在DRAM領域的市場份額和技術優勢,同時也為Elpida Memory的未來發展奠定了堅實的基礎。
廣東粵翔航空服務有限公司(假設為FlyWin集團下的子公司)于2019年在珠海市金灣區成立,專注于航空咨詢服務和航空器材租賃買賣。在成立初期,公司面臨著航空服務市場的高度競爭和嚴格的行業監管。然而,憑借對市場的敏銳洞察和精準定位,粵翔航空通過提供專業的航空咨詢和高效的器材租賃服務,逐漸在行業內站穩腳跟。公司不僅為多家航空公司提供了一站式的咨詢服務,還成功促成了多筆航空器材的租賃交易,為公司后續的發展奠定了堅實基礎。
1 序言 GPRS(General Packet Radio Service,通用分組無線業務)的出現充分利用了現有的GSM網絡,不僅適用于間斷的、突發性的或頻繁的、少量的數據傳輸,也適用于偶爾的大數據量傳輸。它使移動通信與數據網絡合二為一,它利用“分組交換”(Packet S ...… 查看全部問答∨ |
09年巴西醫療展/巴西醫療器材展/ HOSPITALAR 2009/2009年圣保羅醫療展#% 2009年第16屆巴西圣保羅國際醫療器材展覽會 HOSPITALAR 2009 ² 英文名稱:HOSPITALR 2009 ² 展覽時間:2009年6月2-5日(4天) ² 展覽地點:圣保羅北方展覽中心EXPO CENTER NORTE SÃO PAULO ...… 查看全部問答∨ |
有一個設備與電腦通信,通信使用到這個IPC(inter process command)。 我想知道這個該設備(某公司)特有的還是IT行業通用的?如果是通用的請高手告訴structure… 查看全部問答∨ |
|
繼續請教wince下的掛鉤問題,兄弟們支支招啊~~~~~~~~~~~~~~~ 在wince下利用hook實現記錄鍵盤某個按鍵的累計按鍵次數。 我的思路是這樣的,寫一個叫kbhookdll的dll安裝全局鉤子,在test2程序中調用。 編譯也能通過,但是運行以后整個系統無法響應鼠標和鍵盤的任何按鍵了,估計是死機了。 可是在我的鉤子過程 ...… 查看全部問答∨ |
|
以前一直都是做MIPS的,現在改行做51,感覺比較痛苦。很多東西都和以前不一樣的,限制的東西蠻多的。MIPS C語言和標準C基本是沒有差別的,可以C51就不一樣啦~~~,今日遇到一個問題,請各位大俠幫忙解答一下,這個function是我自己寫的,后來感覺 ...… 查看全部問答∨ |
需要window2000\\XP平臺下的虛擬串口驅動. 要求是虛擬出兩個串口,比如COM3和COM4,在驅動內部把它們相連. 也是就說我在COM3上寫數據,然后我要能夠在COM4上讀到. 同樣,在COM4上寫數據,要能夠在COM3上讀到. 我知道這個不難,懂的人幾下就搞定了.自 ...… 查看全部問答∨ |
單片機課程設計。 設計任務:利用單片機設計一個十字路口交通燈控制器 設計要求: 利用單片機的定時器產生秒信號,控制十字路口的紅、綠、黃燈交替點亮和熄滅,并且用4只LED數碼管顯示十字路口兩個方向的剩余時間。要求能用按鍵設置兩個方向的 ...… 查看全部問答∨ |
基于win ce或mobile平臺,用于手持機的庫存管理軟件開發。 基于win ce或mobile平臺,用于手持機的庫存管理軟件。需求簡單不復雜。開發要求:1.個人或團隊均可。2.需要在武漢地區。如有意向具體需求可留電話聯系或發郵件。聯系人:陳生 郵箱:027886@163.com… 查看全部問答∨ |