導航:首頁 > 操作系統 > 凌陽十六位單片機原理及應用

凌陽十六位單片機原理及應用

發布時間:2022-09-07 17:04:33

單片機控制繼電器要個原理方框圖

方案一:

採用凌陽SPCE061A十六位單片機,對小車的整個行駛過程進行實時監控,完成所有功能需要24個I/O口,由於凌陽SPCE061A單片機提供32個I/O口,一片即可實現所有功能,這為設計過程提供了極大方便。其主要設計思想是:小車上,安裝一個霍爾元件利用單片機的IOB3外部中斷判別輪胎轉數的結果用以計算路程;安裝三個檢測障礙物的光電檢測器和一個碰撞開關,利用IOB4、IOB5、IOB6用掃描的方式來控制拐彎和返回;利用單片機的IOB8-IOB13控制繼電器選擇小車的正、反向和加、減速行駛;凌陽SPCE061A十六位單片機提供了豐富的時基信源和時基中斷,給設計者以大量的選擇空間,並給設計者提供精確的時基計數,其加減速通過大功率電阻消耗功率來實現。整體框架如圖1,這種方案可以使程序簡單,易於控制。

方案二:

此方案也採用凌陽SPCE061A十六位單片機,與第一種方案不同之處在於利用單片機的IOB8 、IOB9產生控制調速的脈寬和控制小車的正、反行駛,用凌陽SPCE061A十六位單片機的TimeA和TimeB很容易實現脈寬調制,這大大加強了用脈寬調制控制加減速的可選性,但對繼電器要求較高,這里考慮到大眾化設計,採用第一個方案。

二、硬體電路設計

2.1電路方框圖及說明

系統原理框圖如圖1所示。主控元件採用凌陽SPCE061A單片機,屬於凌陽u』nSP�6�4系列產品的一個16位結構的微控制器。在存儲器資源方面考慮到用戶的較少資源的需求以及便於程序調試等功能,SPCE061A里只內嵌32K字的快閃記憶體(FLASH),但用在此系統上已經綽綽有餘。較高的處理速度使u』nSP�6�4能夠非常容易地、快速地處理復雜的數字信號。因此以u』nSP�6�4為核心的SPCE061A微控制器也適用在數字語音識別應用領域。SPCE061A在2.6V~3.6V工作電壓范圍內的工作速度范圍為0.32MHz~49.152MHz,較高的工作速度使其應用領域更加拓寬。2K字SRAM和32K字FLASH僅佔一頁存儲空間,32位可編程的多功能I/O埠;兩個16位定時器/計數器;32768Hz實時時鍾;低電壓復位/監測功能;8通道10位模-數轉換輸入功能並具有內置自動增益控制功能的麥克風輸入方式;雙通道10位DAC方式的音頻輸出功能,這就為本系統的特定人辨識和語音播報打下了基礎。

2.2各部分電路設計

❷ 求基於凌陽單片機的計程車計價器論文

1 引言
利用凌陽單片機SPCE061A 的語音功能
[1],配合SPLC501 液晶模組,可以模擬實現帶
語音提示功能的計程車計價系統,相對於用51
單片機而言,可以去掉單片機外部的語音晶元
和存儲器晶元,系統硬體設計較為精簡穩定,
功能更為強大,因而本文設計的基於凌陽單片
機的計程車計價器具有一定的實用價值。
2 計價系統的計算方法
本文設計的計程車計價系統可以接受里
程感測器的脈沖輸入(使用PWM 模擬替代傳
感器脈沖),並對脈沖進行計量,繼而轉換成里
程;採用現行計程車計價系統的計算方法,對
行駛里程進行計費; 提供友好的用戶界面,並
具有語音提示功能。該計程車計價系統的計
算方法如下:
2.1 里程計量
(1)單片機對感測脈沖進行計數(感測器脈
沖使用SPCE061A 內部PMW 輸出模擬),並
將脈沖數換成公里數;
(2)每公里對應的脈沖數可以調整。
2.2 費用計算
費用計算包括兩部分:行駛費用和低速等
待費用;
(1)行駛費用計算如下:
1) 白天行駛里程不足StartMilege(3公里)
時,費用按照起步價StartPrice(¥7.0 元)計
算;當超出StartMilege 時,行駛費用=
StartPrice+(行駛里程- StartMilege)×每公
里的單價;夜晚行駛里程不足StartMilege時,
費用按照起步價NightStartPrice(¥8.0元)計
算;當超出StartMilege 時,行駛費用=
NightStartPrice+(行駛里程-StartMilete)×
每公里的單價。
2) 每公里的單價根據時間區分為白天和
黑夜兩種價格。白天每公里價格為
PricePerkm(¥2.0 元),晚上每公里價格為
NightPricePerkm(¥2.4 元);
3)依靠時間判斷白天和黑夜,晚上Night
Time1(23 點)之後,認為進入夜行狀態,早上
NightTime2(5點)之後,認為離開夜行狀態,進
入晝行狀態;
4) 如果行駛里程超過LongWayLimit(十
三公里),則超出的里程的單價上漲為原單價的
LongWayPrice(1.5)倍,做為空返費用。
(2)低速等待費用計算如下:
1) 低速等待時間的計時方法為:當車速低
於WaitSpeed1(5 公里/ 時)時開始計時,車速
超過WaitSpeed2(10 公里/ 時)時終止計時;
2) 如果行駛過程中多次發生低速等待,則
等待時間累加;
3)總的等待時間不超過FirstWaitTim-
Limit(5分鍾),則不計算費用;
4)總的等待時間超過FirstWaitTimeLimit
(五分鍾),增加WaitPrice(¥2.0)元,同時,超
出的時間按照每WaitTimeLimit(3 分鍾)增加
WaitPrice(¥2.0)元計算,不足Wait Time
Limit(3分鍾)的部分不增加費用。
5)上面提到的WaitSpeed1、WaitSpeed2
、FirstWaitTimeLimit、WaitTime-
Limit、WaitPrice等參數要求可以在程序中調
整;
(3)要求系統可以在行駛期間實時檢測並
計算總的費用(包括行駛費用和等待費用)。
3 系統硬體設計
圖1 為計程車計價器的硬體連接示意
圖。採用SPCE061A 作為主控制器,通過IOB2
接收感測器的脈沖輸入(在本方案中使用IOB9
輸出的PWM 模擬感測器的脈沖),對脈沖進行
計數,然後換算成里程數,並按照現行的出租
車計價系統的標准進行計費。
4 系統軟體設計
本系統軟體中包括下面程序模塊:
主程序:初始化系統涉及到的硬體模塊,
掃描鍵盤,根據按鍵啟動/ 停止里程測量,並
調用用戶界面程序定時更新日期時間顯示,實
時更新單價、里程、低速時間、費用等信息顯
示[2]。
液晶驅動程序:LCD 顯示驅動程序,實現
文本、圖形顯示等功能。採用SPLC501 液晶
模組附帶的驅動程序。
按鍵掃描程序:掃描按鍵,返回掃描結
果。系統使用1024Hz 時基中斷對IOA 口低
基於凌陽單片機的計程車計價器的設計
司孝平1 李戰英2
(1 華北水利水電學院信息工程學院 河南鄭州 450011; 2 河南省公安廳 河南鄭州 450004)
摘 要: 本文介紹了利用凌陽單片機SPCE061A 作為主控制器, 配合SPLC501 液晶模組設計計程車計價器的過程。該系統可以實現出租
車計價系統的基本功能, 並具有友好的語音提示界面。
關鍵詞:單片機 液晶模組 計程車計價器
中圖分類號:TP368.1 文獻標識碼: A 文章編號:1674-098X(2008)12(a)-0010-02
(下轉12 頁)
1 2 科技創新導報 Science and Technology Innovation Herald
2008 NO.34
Science and Technology Innovation Herald
綜 述
科技創新導報
八位進行掃描,並進行去抖、長短按鍵判斷
等工作。
語音播放程序:播放提示音,行駛里程、
費用等[3]。
計價管理程序:完成感測器脈沖計量,然
後轉換為公里數,並根據規則計算對應的費
用,同時,監測行駛速度,統計低速時間,計算
低速等待費用,提供液晶顯示更新函數,以便
主函數可以控制更新用戶界面以及行駛里程、
費用等信息的顯示。該模塊包括PWM 管理程
序、里程計量程序、時間管理程序、費用管理
程序、用戶界面控製程序等部分。
4.1 主程序
主程序流程如圖2:程序運行後首先初始
化各個硬體部件,同時打開1KHz 和2Hz 時基
中斷,為鍵盤掃描和時間管理模塊服務。然
後,程序進入主循環,不斷進行按鍵掃描,並根
據按鍵啟動/ 停止里程計量,或進入系統設置
模式。在主循環中同時還對時間顯示進行更
新。
4.2 計價管理程序
(1) PWM 管理程序
本系統中,使用了TimerB 產生PWM 波,
模擬實際的計程車上的里程感測器脈沖。改
變PWM 的頻率, 就相當於改變了車速, 對
PWM 波的脈沖進行計數,等同於對里程感測
器的脈沖進行計數。
對PWM 的管理包括: 啟動PWM、增大
PWM 頻率、減小PWM 頻率、停止PWM 等。
對PWM 的管理包括: 啟動PWM、增大PWM
頻率、減小PWM 頻率、停止PWM 等。
系統中為TimerB 設置了96K 的時鍾源,
以產生一定頻率范圍的P W M 波, 改變
TimerB 的計數初值,將會改變PWM 的頻率,
從而達到管理PWM 頻率的目的。
(2) 里程計量程序
本系統中使用了外部中斷1 來實時檢測
由IOB2 輸入的脈沖。在外部中斷服務程序中
對中斷次數進行計數,便可以統計輸入脈沖的
數量。
一般情況下,運行一段時間後輸入單片機
的脈沖數量會比較大,容易導致計數結果溢
出。故程序中使用了兩個變數對脈沖進行計
數。uiPulseNum變數用來記錄中斷次數(脈沖
個數),當達到一公里對應的脈沖數量後,使另
外一個記錄公里數的變數uiDistance加一,並
使uiPulseNum 歸零重新計數。這樣,便將公
里數的整數部分和小數部分分開統計,使結果
不容易溢出,也便於結果轉換。
另外,程序中使用了2Hz 時基中斷用來計
算車輛的行駛速度。統計0.5s內的脈沖數量,
即可以得到車輛的行駛速度。這一速度將提
供給費用管理程序用來判斷是否處於低速等
待狀態。
(3) 時間管理程序
系統使用2Hz 時基中斷實現計時。其中,
2Hz 計數器ulTimer 用來為其他模塊提供兩個
2Hz 的計數器以方便地實現計時等操作。
(4) 費用管理程序
費用管理程序的作用是監測系統時間、
行駛里程和低速等待時間,並根據一定規則換
算成費用。啟動計費時,需要判斷當前時間是
否屬於夜行,以便執行夜行起步價和單價。啟
動計費後,主程序需要在主循環中不斷調用計
費服務程序。
計費服務程序是按照規則計算費用的核
心程序。在這里,程序記錄當前行駛里程,並
判斷是否出現晝夜行交替現象,以便對單價進
行調整;判斷行駛里程是否超過規定的空返距
增加,混合砂漿的導熱系數逐漸降低,與水泥
砂漿的變化類似,摻量與導熱系數基本呈直線
趨勢,並且隨著橡膠粉摻量的增加,導熱系數
下降的幅度逐漸降低。
2.3 干密度和導熱系數的關系
如圖3 所示,隨著干表觀密度的增加,導
熱系數增加。利用所測數據,回歸得出混合砂
漿導熱系數與其干密度之間的函數關系式1.2
如下:
y=0.1121e0.0008x(R2=0.9903) (1.2)
式中:x 為橡膠水泥砂漿的乾燥密度,kg/
m 3;
Y 為橡膠水泥砂漿的導熱系數,W/(m·
℃)。
由以上的試驗數據和擬合曲線可見,混合
砂漿的導熱系數與其干密度之間具有較好的
相關性。
3 保溫機理分析
從保溫的角度來講,就是要防止室內的熱
量通過圍護結構傳出去。熱量通過建築圍護
結構傳遞的方式有三種:導熱、對流和輻射,
其中導熱是最主要的方式,要提高保溫材料的
保溫性能,則需增大其熱阻。由熱阻公式R=
S/ 入可知,途徑有兩條:加大保溫材料厚度和
減少保溫材料的導熱系數[2]。但由於結構和
經濟方面的原因,保溫材料不可能做得太厚。
因此只能選用導熱系數極低的保溫材料。由
於室內溫度不高,傳熱的方式主要是傳導;導
熱必須有介質,熱能通過介質分子的振動傳
遞。因此減少或阻止傳熱,就必須增大材料的
熱阻,即選用導熱系數小、熱阻大的材料,增
加材料的氣孔率,特別是增加材料中盲孔的數
量(貫通的氣孔中形成空氣對流,增大傳熱量)。
本試驗在砂漿中摻入橡膠粉就是基於這一思
想設計的。橡膠粉相當於泡沫引氣劑,摻入引
氣劑後,由於引入大量微細的不連通的微小
孔,均勻分別在砂漿體內,阻斷或減緩了熱流
的通過,從而導致砂漿的導熱系數降低。
由本章試驗數據可知,砂漿的導熱系數與
其表觀密度之間有密切的關系。這是因為表
觀密度的大小主要反映了材料內部的孔隙率
大小,砂漿的導熱系數是由骨架與氣孔中空氣
的導熱系數共同決定的,一般情況下孔隙多,
空氣含量多,材料的導熱系數也就越小,因此
隨表觀密度的增加,導熱系數增加,其保溫性
能也逐漸下降。
4 本章小結
本章試驗研究了橡膠粉摻量對水泥砂漿
和混合砂漿熱工性能的影響,得出以下結果:
(1)由於橡膠粉的表觀密度比砂要小很多,
等體積取代細紗後,砂漿試件的干表觀密度明
顯下降。當橡膠粉體積分數為20%時,水泥砂
漿的干表觀密度是基準砂漿的83.6%;當橡膠
粉體積分數為100%時,干表觀密度僅為基準
砂漿的1/2。
(2)橡膠粉的摻入顯著降低砂漿的導熱系
數。橡膠粉摻量為20%時,水泥砂漿的導熱系
數僅為基準砂漿的65.9%;當砂完全被橡膠粉
取代時,水泥砂漿的導熱系數不到基準砂漿的
1/3,這表明橡膠砂漿具有良好的保溫性能。
(3)利用本章的試驗數據,通過回歸分析分
別得出了橡膠水泥砂漿和橡膠混合砂漿的干
表觀密度與其導熱系數的關系為:y=0.
0385e0.0015x(R2=0.9957)和y=0.1121e0.0008x
(R2=0.9903),可見兩者具有良好的相關性。
參考文獻
[1] 宮本鎮.混凝土小型空心砌塊砌築砂漿的
研製.碩士學位論文。20040501
[2] 干拌砂漿的研究.碩士畢業論文.2004,3,
5.
離,一旦超過此距離則將價格上漲50%;從里
程測量模塊得到車輛行駛的速度,判斷是否出
現低速行駛狀態,並利用時鍾管理模塊提供的
2Hz 計數器對低速行駛時間進行計時,從而計
算低速等待時間。
(5) 用戶界面控製程序
使用液晶驅動程序提供的功能函數,可以
方便地在液晶屏上顯示需要的信息或圖片。
系統上電後首先繪制固定不變的部分,如一些
漢字提示等。其他如單價、行駛里程等內容在
車輛處於行駛狀態時需要實時更新。界面控
製程序將從里程計量模塊、時間管理模塊和
計費管理模塊得到必要數據進行顯示。
5 結語
實驗證明,所設計的計程車計價器功能正
確,完全達到了設計目標。
參考文獻
[1] 雷思孝等.單片機原理及實用技術——凌
陽16位單片機原理及應用.西安電子科技
大學出版社,2004,1.
[2] 羅亞非等.凌陽16 位單片機應用基礎.北
京航天航空大學出版社,2003,12.
[3] 李晶皎.嵌入式語音技術及凌陽16位單片
機應用.北京航天航空大學出版社,2003,
11.
(上接10 頁)

❸ 凌陽16位單片機SPCE061A的最小系統原理圖

發給你了,有圖.
SPCE061A1.2.1 總述
SPCE061A 是繼µ』nSP™系列產品SPCE500A等之後凌陽科技推出的又一款16位結構的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便於程序調試等功能,SPCE061A里只內嵌32K字的快閃記憶體(FLASH)。較高的處理速度使µ』nSP™能夠非常容易地、快速地處理復雜的數字信號。因此,與SPCE500A相比,以µ』nSP™為核心的SPCE061A微控制器是適用於數字語音識別應用領域產品的一種最經濟的選擇。
1.2.2 性能
16位µ』nSP™微處理器;
工作電壓(CPU) VDD為2.4~3.6V (I/O) VDDH為2.4~5.5V
CPU時鍾:0.32MHz~49.152MHz ;
內置2K字SRAM;
內置32K FLASH;
可編程音頻處理;
晶體振盪器;
系統處於備用狀態下(時鍾處於停止狀態),耗電僅為2µ[email protected]
2個16位可編程定時器/計數器(可自動預置初始計數值);
2個10位DAC(數-模轉換)輸出通道;
32位通用可編程輸入/輸出埠;
14個中斷源可來自定時器A / B,時基,2個外部時鍾源輸入,鍵喚醒;
具備觸鍵喚醒的功能;
使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數據;
鎖相環PLL振盪器提供系統時鍾信號;
32768Hz實時時鍾;
7通道10位電壓模-數轉換器(ADC)和單通道聲音模-數轉換器;
聲音模-數轉換器輸入通道內置麥克風放大器和自動增益控制(AGC)功能;
具備串列設備介面;
具有低電壓復位(LVR)功能和低電壓監測(LVD)功能;
內置在線模擬電路ICE(In- Circuit Emulator)介面;
具有保密能力;
具有WatchDog功能。
1.2.3 結構概覽
SPCE061A的結構如圖1.2所示:1.2.4 晶元的引腳排列和說明
SPCE061A有兩種封裝片,一種為84個引腳,PLCC84封裝形式;它的排列如圖1.4所示;另一種為80個引腳,LQFP80封裝。它的排列如圖所示。
在PLCC84封裝中,有15個空餘腳,用戶使用時這15個空餘腳懸浮。在LQFP80封裝中有9個空餘腳,用戶使用時這9個空餘腳接地。此處以LQFP80封裝管腳功能介紹。
【1】可將PFUSE接5V, PVIN接GND並維持1s以上即可將內部保險絲熔化,此後就無法讀取和向快閃記憶體載入數據。
1.2.5 特性
SPCE061A系統的特性參數如表1.2所示。
1.2.6 SPCE061A最小系統
最小系統接線如圖1.6所示,在OSC0、OSC1端接上晶振及諧振電容,在鎖相環壓控振盪器的阻容輸入VCP端接上相應的電容電阻後即可工作。其它不用的電源端和地端接上0.1µF的去藕電容提高抗干擾能力。
1.2.7 SPCE061A開發方法
SPCE061A的開發是通過在線調試器PROBE實現的。它既是一個編程器(即程序燒寫器),又是一個實時在線調試器。用它可以替代在單片機應用項目的開發過程中常用的軟體工具——硬體在線實時模擬器和程序燒寫器。它利用了SPCE061A片內置的在線模擬電路ICE(In- Circuit Emulator)介面和凌陽公司的在線串列編程技術。PROBE工作於凌陽IDE集成開發環境軟體包下,其5芯的模擬頭直接連接到目標電路板上SPCE061A相應管腳,直接在目標電路板上的CPU---SPCE061A調試、運行用戶編制的程序。PROBE的另一頭是標准25針列印機介面,直接連接到計算機列印口與上位機通訊,在計算機IDE集成開發環境軟體包下,完成在線調試功能。圖1.7是計算機、PROBE、用戶目標板三者之間的連接示意圖,圖1.8是實物連接圖。
1.2.8 應用領域
家用電器控制器:冰箱、空調、洗衣機等白色家電
儀器儀表:數字儀表(有語音提示功能)
電表、水表、煤氣表、暖氣表
工業控制
智能家居控制器
通訊產品:多功能錄音電話、自動總機、語音信箱、數字錄音系統產品
醫療設備、保健器械(電子血壓計、紅外體溫監測儀等)
體育健身產品(跑步機等)
電子書籍(兒童電子故事書類)、電教設備等
語音識別類產品(語音識別遙控器、智能語音互動式玩具等)

❹ 凌陽61單片機的優勢以及其在語音識別方面上的優勢

凌陽單片機本身具備語音識別功能,不需要外擴語音識別模塊,雖然具有一點點DSP功能,就能做到語音識別功能。如常見的語音控制機器人,語音控制小車等。

我們所說的音頻是指頻率在20 Hz~20 kHz的聲音信號,分為:波形聲音、語音和音樂三種,其中波形聲音就是自然界中所有的聲音,是聲音數字化的基礎。語音也可以表示為波形聲音,但波形聲音表示不出語言、語音學的內涵。語音是對講話聲音的一次抽象。是語言的載體,是人類社會特有的一種信息系統,是社會交際工具的符號。音樂與語音相比更規范一些,是符號化了的聲音。但音樂不能對所有的聲音進行符號化。樂譜是符號化聲音的符號組,表示比單個符號更復雜的聲音信息內容。

將模擬的(連續的)聲音波形數字元化(離散化),以便利數字計算機進行處理的過程,主要包括采樣和量化兩個方面。
數字音頻的質量取決於:采樣頻率和量化位數這兩個重要參數。此外,聲道的數目、相應的音頻設備也是影響音頻質量的原因

語音壓縮編碼中的數據量是指:數據量=(采樣頻率×量化位數)/8(位元組數) ×聲道數目。
壓縮編碼的目的:通過對資料的壓縮,達到高效率存儲和轉換資料的結果,即在保證一定聲音質量的條件下,以最小的資料率來表達和傳送聲音信息。
壓縮編碼的必要性:實際應用中,未經壓縮編碼的音頻資料量很大,進行傳輸或存儲是不現實的。 所以要通過對信號趨勢的預測和冗餘信息處理,進行資料的壓縮,這樣就可以使我們用較少的資源建立更多的信息。
舉個例子,沒有壓縮過的CD品質的資料,一分鍾的內容需要11MB的內存容量來存儲。如果將原始資料進行壓縮處理,在確保聲音品質不失真的前提下,將數據壓縮一半,5.5MB就可以完全還原效果。而在實際操作中,可以依需要來選擇合適的演算法

常見的幾種音頻壓縮編碼:
1) 波形編碼:將時間域信號直接變換為數字代碼,力圖使重建語音波形保持原語音信號的波形形狀。波形編碼的基本原理是在時間軸上對模擬語音按一定的速率抽樣,然後將幅度樣本分層量化,並用代碼表示。解碼是其反過程,將收到的數字序列經過解碼和濾波恢復成模擬信號。
如:脈沖編碼調制(Pulse Code Molation,PCM)、差分脈沖編碼調制(DPCM)、增量調制(DM)以及它們的各種改進型,如自適應差分脈沖編碼調制(ADPCM)、自適應增量調制(ADM)、自適應傳輸編碼(Adaptive Transfer Coding,ATC)和子帶編碼(SBC)等都屬於波形編碼技術。
波形編碼特點:高話音質量、高碼率,適於高保真音樂及語音。

2) 參數編碼:參數編碼又稱為聲源編碼,是將信源信號在頻率域或其它正交變換域提取特徵參數,並將其變換成數字代碼進行傳輸。解碼為其反過程,將收到的數字序列經變換恢復特徵參量,再根據特徵參量重建語音信號。具體說,參數編碼是通過對語音信號特徵參數的提取和編碼,力圖使重建語音信號具有盡可能高的准確性,但重建信號的波形同原語音信號的波形可能會有相當大的差別。
如:線性預測編碼(LPC)及其它各種改進型都屬於參數編碼。該編碼比特率可壓縮到2Kbit/s-4.8Kbit/s,甚至更低,但語音質量只能達到中等,特別是自然度較低。
參數編碼特點:壓縮比大,計算量大,音質不高,廉價!

3) 混合編碼:混合編碼使用參數編碼技術和波形編碼技術,計算機的發展為語音編碼技術的研究提供了強有力的工具,大規模、超大規模集成電路的出現,則為語音編碼的實現提供了基礎。80年代以來,語音編碼技術有了實質性的進展,產生了新一代的編碼演算法,這就是混合編碼。它將波形編碼和參數編碼組合起來,克服了原有波形編碼和參數編碼的弱點,結合各自的長處,力圖保持波形編碼的高質量和參數編碼的低速率。
如:多脈沖激勵線性預測編碼(MPLPC),規劃脈沖激勵線性預測編碼(KPELPC),碼本激勵線性預測編碼(CELP)等都是屬於混合編碼技術。其數據率和音質介於參數和波形編碼之間。
總之,音頻壓縮技術之趨勢有兩個:
1)降低資料率,提高壓縮比,用於廉價、低保真場合(如:電話)。
2)追求高保真度,復雜的壓縮技術(如:CD)。

7.1.5 語音合成、辨識技術的介紹:
按照實現的功能來分,語音合成可分兩個檔次:
(1) 有限詞彙的計算機語音輸出
(2) 基於語音合成技術的文字語音轉換(TTS:Text-to-Speech)
按照人類語言功能的不同層次,語音合成可分為三個層次:
(1) 從文字到語音的合成(Text-to-Speech)
(2) 從概念到語音的合成(Concept-to-Speech)
(3) 從意向到語音的合成(Intention-to-Speech)
早期只能辨認特定的使用者即特定語者(Speaker Dependent,SD)模式,使用者可針對特定語者辨認詞彙(可由使用者自行定義,如人名聲控撥號),作簡單快速的訓練紀錄使用者的聲音特性來加以辨認。隨著技術的成熟,進入語音適應階段SA(speaker adaptation),使用者只要對於語音辨識核心,經過一段時間的口音訓練後,即可擁有不錯的辨識率。
2)非特定語者模式(Speaker Independent,SI),使用者無需訓練即可使用,並進行辨認。任何人皆可隨時使用此技術,不限定語者即男性、女性、小孩、老人皆可。
連續語音:
1)單字音辨認:為了確保每個字音可以正確地切割出來,必須一個字一個字分開來念,非常不自然,與我們平常說話的連續方式,還是有點不同。
2)整個句子辨識:只要按照你正常說話的速度,直接將要表達的說出來,中間並不需要停頓,這種方式是最直接最自然的,難度也最高,現階段連續語音的辨識率及正確率,雖然效果還不錯但仍需再提高。然而,中文字有太多的同音字,因此目前所有的中文語音辨識系統,幾乎都是以詞為依據,來判斷正確的同音字。
可辨認詞彙數量:
內建的詞彙資料庫的多寡,也直接影響其辨識能力。因此就語音辨識 的詞彙數量來說亦可分為三種:
1)小詞彙量(10-100)
2)中詞彙量(100-1000)
3)無限詞彙量(即聽寫機)
壓縮分無損壓縮和有損壓縮。
無損壓縮一般指:磁碟文件,壓縮比低:2:1~4:1。
而有損壓縮則是指:音/視頻文件,壓縮比可高達100:1。
凌陽音頻壓縮演算法根據不同的壓縮比分為以下幾種 (具體可參見語音壓縮工具一節內容):
SACM-A2000:壓縮比為8:1,8:1.25,8:1.5
SACM-S480: 壓縮比為80:3,80:4.5
SACM-S240: 壓縮比為80:1.5
按音質排序:A2000>S480>S240
凌陽的SPCE061A是16位單片機,具有DSP功能,有很強的信息處理能力,最高時鍾頻率可達到49MHz,具備運算速度高的優勢等等,這些都無疑為語音的播放、錄放、合成及辨識提供了條件。
凌陽壓縮演算法中SACM_A2000、SACM_S480、SACM_S240主要是用來放音,可用於語音提示,而DVR則用來錄放音。對於音樂合成MS01,該演算法較繁瑣,而且需要具備音樂理論、配器法及和聲學知識,所以對於特別愛好者可以到我們的網站去了解相關內容,這里只給出它的API函數介紹及程序代碼的範例,僅供參考。

在前面我們已經介紹過語音辨識的一些相關的內容,在這里我們給出SPCE061的特定語者辨識SD(Speaker Dependent)的一個例子以供有興趣者參考。SD即語音樣板由單個人訓練,也只能識別訓練某人的語音命令,而他人的命令識別率較低或幾乎不能識別。
同樣語音辨識也將其一些功能作成模塊,並通過API調用來實現這些功能,在這里我們為大家介紹一些常用的API函數,如果有興趣者可以登陸我們的網站去獲得更多的相關內容
初始化:

【API格式】C: int BSR_DeleteSDGroup(0);
ASM:F_BSR_DeleteSDGroup(0)
【功能說明】SRAM初始化。
【參 數】該參數是辨識的一個標識符,0代表選擇SRAM,並初始化。
【返 回 值】當SRAM擦除成功返回0,否則,返回-1。

訓練部分:
1) 【API格式】C:int BSR_Train (int CommandID, int TraindMode);
ASM:F_BSR_Train
【功能說明】訓練函數。
【參 數】
CommandID:命令序號,范圍從0x100到0x105,並且對於每組訓練語句都是唯一的。
TraindMode:訓練次數,要求使用者在應用之前訓練一或兩遍:
BSR_TRAIN_ONCE:要求訓練一次。
BSR_TRAIN_TWICE要求訓練兩次。
【返 回 值】訓練成功,返回0;沒有聲音返回-1;訓練需要更多的語音數據來訓練,返回-2;當環境太吵時,返回-3;當資料庫滿,返回-4;當兩次輸入命令不通,返回-5;當序號超出范圍,返回-6。
【備 注】
① 在調用訓練程序之前,確保識別器正確的初始化。
② 訓練次數是2時,則兩次一定會有差異,所以一定要保證兩次訓練結果接近
③ 為了增強可靠性,最好訓練兩次,否則辨識的命令就會傾向於噪音
④ 調用函數後,等待2秒開始訓練,每條命令只有1 .3秒,也就是說,當訓練命令超出1.3秒時,只有前1.3秒命令有效。

辨識部分:
1)【API格式】C: void BSR_InitRecognizer(int AudioSource)
ASM:F_BSR_InitRecognizer
【功能說明】辨識器初始化。
【參 數】 定義語音輸入來源。通過MIC語音輸入還是LINE_IN電壓模擬量輸入。
【返 回 值】無。

2)【API格式】C:int BSR_GetResult();
ASM:F_ BSR_GetResult
【返回值】=R1
【功能說明】辨識中獲取數據。
【參 數】 無。
【返 回 值】
當無命令識別出來時,返回0;
識別器停止未初始化或識別未激活返回-1;
當識別不合格時返回-2;
當識別出來時返回命令的序號。
` 【備 注】 該函數用於啟動辨識,BSR_GetResult();

3)【API格式】C: void BSR_StopRecognizer(void);
ASM:F_ BSR_StopRecognizer
【功能說明】停止辨識。
【參 數】無。
【返 回 值】 無。
【備 注】該函數是用於停止識別,當調用此函數時,FIQ_TMA中斷將關閉。

中斷部分:
【API格式】 ASM:_BSR_InitRecognizer
【功能說明】 在中斷中調用,並通過中斷將語音信號送DAC通道播放。
【參 數】無。
【返 回 值】無。
【備 注】
① 該函數在中斷FIQ_TMA中調用
② 當主程序調用BSR_InitRecognizer時,辨識器便打開8K采樣率的FIQ_TMA中斷並開始將采樣的語音數據填入辨識器的數據隊列中。
③ 應用程序需要設置一下程序段在FIQ_TMA中:
.PUBLIC _FIQ
.EXTERNAL _BSR_FIQ_Routine //定義全局變數
.TEXT
_FIQ:
PUSH R1,R4 to [SP] //寄存器入棧保護
R1 = [P_INT_Ctrl]
CALL _BSR_FIQ_Routine //調用子程序
R1 = 0x2000 //清中斷標志位
[P_INT_Clear] = R1
POP R1,R4 from [SP]; //寄存器組出棧
RETI
END

以下是特定人辨識的一個範例:
在程序中我們通過三條語句的訓練演示特定人連續音識別,其中第一條語句為觸發名稱。另外兩條為命令,訓練完畢開始辨識當識別出觸發名稱後,開始發布命令,則會聽到自己設置的應答,具體命令如下:

****************訓練******************************************
提示音 輸入語音
--------------------------------------------------------------------------------------------------------
"請輸入觸發名稱" "警衛"
"請輸入第一條命令" "開槍"
"請輸入第二條命令" "你在干什麼?"
"請再說一遍"(以上提示音每說完一遍出現此命令)
"沒有聽到任何聲音"(當沒有檢測到聲音時出現此命令)
"兩次輸入名稱不相同"(當兩次輸入的名稱不同時出現此命令)
"兩次輸入命令不相同"(當兩次輸入的命令有差異時出現此命令)
"准備就緒,請開始辨識"(以上三條語句全部訓練成功時,進入識別)
*****************識別**********************************************************************
發布命令 應答
----------------------------------------------------------------------------------------------------------
"警衛" "在"/"長官"
"開槍" "槍聲"
"你在干什麼?" "我在巡邏"/"我在休息"/"我在等人"

注意:在每次提示音結束後2-3秒再輸入命令或當上次應答結束2-3秒後再發布命令

#INCLUDE "bsrsd.h"
#DEFINE NAME_ID 0x100
#DEFINE COMMAND_ONE_ID 0x101
#DEFINE COMMAND_TWO_ID 0x102
#DEFINE RSP_INTR 0
#DEFINE RSP_NAME 1
#DEFINE RSP_FIRE 2
#DEFINE RSP_GUARD 3
#DEFINE RSP_AGAIN 4
#DEFINE RSP_NOVOICE 5
#DEFINE RSP_NAMEDIFF 6
#DEFINE RSP_CMDDIFF 7
#DEFINE RSP_STAR 8
#DEFINE RSP_MASTER 9
#DEFINE RSP_HERE 10
#DEFINE RSP_GUNSHOT 0
#DEFINE RSP_PATROL 11
#DEFINE RSP_READY 12
#DEFINE RSP_COPY 13
#DEFINE RSP_NOISY 14
//..................全程變數..................……………………………………………………………………….
int gActivated = 0;
//該變數用於檢測是否有觸發命令,當有識別出語句為觸發名稱則該位置1
int gTriggerRespond[] = {RSP_MASTER, RSP_HERE, RSP_MASTER};
//第一條命令應答
int gComm2Respond[] = {RSP_PATROL, RSP_READY, RSP_COPY};
//第二條命令應答
extern void ClearWatchDog();
int PlayFlag = 0;
void PlayRespond2(int Result)
//槍聲放音子程序
{
BSR_StopRecognizer();
SACM_A2000_Initial(1);
SACM_A2000_Play(Result, 3, 3);
while((SACM_A2000_Status()&0x0001) != 0)
{
SACM_A2000_ServiceLoop();
ClearWatchDog();
}
SACM_A2000_Stop();
BSR_InitRecognizer(BSR_MIC);
BSR_EnableCPUIndicator();
}
void PlayRespond(int Result) //放音子程序
{
BSR_StopRecognizer();
SACM_S480_Initial(1);
SACM_S480_Play(Result, 3, 3);
while((SACM_S480_Status()&0x0001) != 0)
{
SACM_S480_ServiceLoop();
ClearWatchDog();
}
SACM_S480_Stop();
BSR_InitRecognizer(BSR_MIC);
BSR_EnableCPUIndicator(); //啟動實時監控
}
int TrainWord(int WordID, int RespondID) //命令訓練
{
int res;
PlayRespond(RespondID);
while(1)
{
res = BSR_Train(WordID,BSR_TRAIN_TWICE);
if(res == 0) break;
switch(res)
{
case -1: //沒有檢測出聲音
PlayRespond(RSP_NOVOICE);
return -1;
case -2: //需要重新訓練一遍
PlayRespond(RSP_AGAIN);
break;
case -3: //環境太吵
PlayRespond(RSP_NOISY);
return -1;
case -4: //資料庫滿
return -1;
case -5: //檢測出聲音不同
if(WordID == NAME_ID)
PlayRespond(RSP_NAMEDIFF); //兩次輸入名稱不同
else
PlayRespond(RSP_CMDDIFF);//兩次輸入命令不同
return -1;
case -6: //序號錯誤
return -1;
}
}
return 0;
}
int main()
{
int res, timeCnt=0, random_no=0;
BSR_DeleteSDGroup(0); // 初始化存儲器為RAM
PlayRespond(RSP_INTR); //播放開始訓練的提示音
//..........訓練名稱..............................
while(TrainWord(NAME_ID,1) != 0) ;
//..........訓練第一條命令.......................
while(TrainWord(COMMAND_ONE_ID,2) != 0) ;
//..........訓練第二條命令.......................
while(TrainWord(COMMAND_TWO_ID,3) != 0) ;
//..........開始識別命令.........................
BSR_InitRecognizer(BSR_MIC); //辨識器初始化
BSR_EnableCPUIndicator();
PlayRespond(RSP_STAR); // 播放開始辨識的提示音
while(1)
{
random_no ++;
if(random_no >= 3) random_no = 0;
res = BSR_GetResult();
if(res > 0) //識別出命令
{
if(gActivated)
{
timeCnt = 0;
switch(res)
{
case NAME_ID:
PlayRespond(gTriggerRespond[random_no]);
break;
case COMMAND_ONE_ID:
PlayFlag = 1;
PlayRespond2(RSP_GUNSHOT);
PlayFlag = 0;
gActivated = 0;
break;
case COMMAND_TWO_ID:
PlayRespond(gComm2Respond[random_no]);
gActivated = 0;
}
}
else
{
if(res == NAME_ID)
{PlayRespond(gTriggerRespond[random_no]);
gActivated = 1;
timeCnt = 0;
}
}
}
else if (gActivated)
{
if (++timeCnt > 450) //超出定時
{PlayRespond(RSP_NOVOICE); //在設定時間內沒有檢測出聲音
gActivated = 0;
timeCnt = 0;
}
}
}
}

中斷程序:
.PUBLIC _FIQ
.EXTERNAL _BSR_FIQ_Routine
.EXTERNAL __gIsStopRecog //變數值 = 0 辨識器忙
// = 1 辨識器停止

.PUBLIC _BREAK,_IRQ0, _IRQ1, _IRQ2, _IRQ3, _IRQ4, _IRQ5, _IRQ6, _IRQ7
.EXTERNAL _PlayFlag
.INCLUDE s480.inc;
.INCLUDE A2000.inc;
.INCLUDE resource.inc
.INCLUDE hardware.inc

.TEXT
_FIQ:
push R1,R4 to [SP]
R1 = [P_INT_Ctrl]
R1 &= 0x2000
jz ?notTimerA //當不為TIQ_TMA,則轉
R1 = [__gIsStopRecog]
jnz ?BSR_NotBusy
//[__gIsStopRecog]為1則轉至放音處理
call _BSR_FIQ_Routine //為0,調用辨識子程序
jmp ?BSR_Busy //返回中斷
?BSR_NotBusy: //放音處理
R2 = [_PlayFlag]
jnz ?Play2000 //[_PlayFlag]為1則是播放2000
call F_FIQ_Service_SACM_S480; //為0,播放480
jmp ?BSR_Busy //返回中斷
?Play2000: //2000播放子程序
call F_FIQ_Service_SACM_A2000;
?BSR_Busy: //返回中斷
R1 = 0x2000
[P_INT_Clear] = R1
pop R1,R4 from [SP];
reti;
?notTimerA:
R1 = 0x8800;
[P_INT_Clear] = R1;
pop R1,R4 from [SP];
reti;
.END

❺ 凌陽單片機的簡介

它的CPU內核採用凌陽最新推出的Microcontroller and Signal Processor 16位微機處理器晶元,以下簡稱µ』nSP 。圍繞micro;』nSP 所形成的16位u』nSP 系列單片機,以下簡稱µ』nSP 家族。採用的是模塊式集成結構,它以µ』nSP 內核為中心集成不同規模的ROM PAM和功能豐富的各種外設部件。µ』nSP 內核是一個通用的和結構。除此之外的其它功能模塊均為可選結構。以及這種結構可大可小可有可無,藉助這種通用結構附加可選結構的積木式的構成,便可成為各種系列的派生產品,以適合不同場合,這樣做無疑會使每種派生產品具有更強的功能和更低的成本。µ』nSP 家族有有以下特點:體積小 ,集成度高,可靠性好易於擴展。µ』nSP 家族把各功能部件模塊化地集成在一個晶元里。內部採用匯流排結構,因為減少了各功能部件之間的連接,提高了其可靠性和抗干擾能力,另外,模塊化的結構易於系列的擴展,以適應不同用戶的需求。具有較強的中斷處理能力。μ』nSPTM家族的中斷系統支持10個中斷向量及10餘個中斷源,適合實時應用領域。高性能價格比:μ』nSPTM家族片內帶有高定址能力的ROM,靜態RAM和多功能的I/O口,另外μ』nSPTM的指令系統提供出具有較高運算速度的16位,16位的乘法運算指令和內積運算指令,為其應用添加了DSP功能,使得μ』nSPTM家族運用在復雜的數字信號處理方面既很便利又比專用的DSP晶元廉價。

❻ 急求關於單片機的外文參考文獻五篇,不要具體內容,只要標題,作者,年份,類型等就可以了

[1] 李東升等.protel 99SE電路設計教程.電子工業出版社,2007.1
[2] 藏春華等.電子線路設計與應用.高等教育出版社,2004.7
[3] 李學海.16位單片機SPCE061A使用教程——基礎篇.人民郵電出版社,2007
[4] 張琳娜,劉武發.感測檢測技術及應用.中國計量出版社,1999
[5] 邵敏權,劉剛.單片機原理實驗及應用.吉林科學技術出版社,1995.1
[6] 楊振江等.智能儀器與數據採集系統中的新器件及應用.西安電子科技大學出版 社,2001.12
[7] 羅亞非等.凌陽16位單片機應用基礎.北京航空航天大學出版社,2005.5
[8] 劉篤仁,韓保君.感測器原理及應用技術。機械工業出版社,2003.8
[9] 薛筠義,張彥斌.凌陽16位單片機原理及應用,2003.2
[10] 徐愛卿.Intel 16位單片機,2002.7
[11] 霍孟友等,單片機原理與應用機械工業出版社,2004.1
[12] 霍孟友等,單片機原理與應用學習概要及題解,機械工業出版社,2005.3
[13] 許泳龍等,單片機原理及應用,機械工業出版社,2005.1
[14] 馬忠梅等,單片機的C語言應用程序設計,北京航空航天大學出版社,2003修訂版
[15] 薛均義 張彥斌 虞鶴松 樊波,凌陽十六位單片機原理及應用,2003年,北京航空航天大學出版社.

❼ 單片機原理的參考文獻有哪些

單片機原理參考文獻:

1、 李廣弟等 單片機基礎 北京航空航天出版社, 2001.7

2、 樓然苗等 51 系列單片機設計實例 北京航空航天出版社, 2003.3

3、 唐俊翟等 單片機原理與應用 冶金工業出版社, 2003.9

4、劉瑞新等 單片機原理及應用教程 機械工業出版社, 2003.7

5、 吳國經等 單片機應用技術 中國電力出版社, 2004.1

6、 李全利,遲榮強編著 單片機原理及介面技術 高等教育出版社,2004.1

7、 侯媛彬等,凌陽單片機原理及其畢業設計精選 2006年,科學出版社

8、 羅亞非,凌陽十六位單片機應用基礎2003年 北京航空航天大學出版社

9、 北京北陽電子有限公司,061A凌陽單片機及其附帶光碟2003年

10、 張毅剛等, MCS-51單片機應用設計,哈工大出版社,2004年第2版

11、 霍孟友等,單片機原理與應用,機械工業出版社,2004.1

12、 霍孟友等,單片機原理與應用學習概要及題解,機械工業出版社,2005.3

13、 許泳龍等,單片機原理及應用,機械工業出版社,2005.1

14、 馬忠梅等,單片機的C語言應用程序設計,北京航空航天大學出版社,2003修訂版

15、薛均義 張彥斌 虞鶴松 樊波,凌陽十六位單片機原理及應用,2003年,北京航空航天大學出版社

(7)凌陽十六位單片機原理及應用擴展閱讀:

單片機原理是指一種在線式實時控制計算機的原理方式。在線式就是現場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機(比如家用PC)的主要區別。

單片機就是一個微型電腦,它是靠程序工作的,並且可以修改。通過不同的程序實現不同的功能。

閱讀全文

與凌陽十六位單片機原理及應用相關的資料

熱點內容
pdf列印底色去掉 瀏覽:443
java快遞介面 瀏覽:395
哪個app可以教新爸爸 瀏覽:210
如何查看伺服器系統版本信息 瀏覽:524
成都市土地出讓金演算法 瀏覽:702
鋼筋加密標記 瀏覽:575
ps中擴展功能在文件夾的什麼位置 瀏覽:903
雙極壓縮機為什麼要先高壓 瀏覽:527
蘋果手機伺服器填什麼 瀏覽:832
android移動動畫效果 瀏覽:691
電子和伺服器是什麼意思 瀏覽:691
phpurl中文亂碼問題 瀏覽:893
程序員那麼可愛大結局陸漓產子 瀏覽:538
java如何從雲伺服器讀取本地文件 瀏覽:924
壓縮空氣軟管製作方法 瀏覽:912
天河三號演算法 瀏覽:924
php隊列教程 瀏覽:632
洪水命令 瀏覽:530
安卓怎麼弄成蘋果在線 瀏覽:435
谷歌web伺服器地址 瀏覽:900