《凌陽十六位單片機原理及應用》課件第8章_第1頁
《凌陽十六位單片機原理及應用》課件第8章_第2頁
《凌陽十六位單片機原理及應用》課件第8章_第3頁
《凌陽十六位單片機原理及應用》課件第8章_第4頁
《凌陽十六位單片機原理及應用》課件第8章_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第8章單片機應用系統設計8.1三角波、正弦波、方波發(fā)生器8.2紅外數據傳輸8.3串并轉換擴展鍵盤與顯示8.4語音錄放

8.1三角波、正弦波、方波發(fā)生器

8.1.1實現原理分析

1.三角波實現原理

三角波的上升沿和下降沿都是由N個數/模轉換器(DAC)輸出的小階梯構成,由于階梯很小,從宏觀上看它可以近似成三角波波形。階梯之間的時間間隔t1、t2由定時器TimerA的定時值決定。通過改變t1、t2的值來改變三角波上升沿和下降沿的時間T1、T2,從而改變三角波的頻率。其波形如圖8.1所示。圖8.1三角波

2.正弦波實現原理

SPCE061A的開發(fā)環(huán)境提供了數學運算函數庫math.lib。利用庫中的sinf(float<[x]>)函數,當sinf(float<[x]>)函數的x在0~2π之間變化時,就是一個完整的正弦波。以時間間隔t求得波形對應值為32736?×?sin?f(t),經SPCE061A的D/A轉換在管腳DAC1(音頻通道1)或DAC2(音頻通道2)輸出,若再經電容濾波后就可以從DAC1(或DAC2)管腳得到需要的正弦波。圖8.2正弦波

3.方波實現原理

如圖8.3所示,在t1期間,DAC輸出電壓的峰值為3.3?V,在t2期間,DAC輸出0?V電壓。通過改變t1、t2的值來改變方波的頻率(也即占空比)。圖8.3方波8.1.2硬件電路設計

SPCE061A內部具有D/A轉換模塊,所以其硬件電路很簡單,只要在DAC的輸出端接一個負載電阻,將DAC輸出的電流信號轉換為電壓信號即可。因為需要輸出不同的波形,所以在此例中選用按鍵方式進行選擇,按TRI鍵輸出三角波,按SIN鍵輸出正弦波,按SQU鍵輸出方波。具體電路如圖8.4所示。圖8.4硬件連接圖8.1.3程序設計

1.三角波

SPCE061A具有兩通道10位電流輸出型的DAC(AUD1、AUD2),每通道電流輸出為3?mA,在輸出端接電阻R(R值取600?Ω),則輸出的電流便轉換為電壓。三角波的上升沿和下降沿都由100個小階梯組成。主程序判斷是上升沿還是下降沿,如果是上升沿,則將TimerA的定時值改為t1;如果是下降沿,則將TimerA的定時值改為t2,則三角波上升沿時間為100?×?t1、下降沿時間為100?×?t2。

2.正弦波

正弦波是靠調用庫函數sinf(x)產生的,當弧度在0~2π之間變化時,sinf(x)的值在-1~1的范圍內變化,將sinf(x)的值乘以32736(SPCE061A的D/A輸出最大值0xffc0的一半),即將波形放大,并把0點偏移到1.65?V(最大輸出3.3?V的一半),波形對應AD值計算部分程序為:圖8.5正弦波

3.方波

在方波的高電平,DAC輸出最大值0xffc0,在低電平時DAC輸出最小值0,方波高、低電平的寬度由定時器TimerB定時值確定。方波的占空比為D?=?t1/(t1?+?t2)。

8.2紅外數據傳輸

8.2.1問題描述

使用兩塊61板(SPCE061AEMUBOARD的簡稱,是以凌陽16位單片機SPCE061A為核心的精簡開發(fā)-仿真-實驗板)來完成紅外數據單向通信,一塊61板用于發(fā)送,另一塊則用于接收。發(fā)送方要進行鍵盤掃描,并將掃描獲得的鍵值發(fā)送到接收方,接收方將鍵值顯示。具體的要求是:

(1)?38?kHz的方波調制UART信號,通信速率為2400b/s(UART)。

(2)發(fā)送方共接有8個按鍵。

(3)接收方用8個發(fā)光二極管顯示接收到的鍵值。8.2.2系統設計

紅外通信由紅外發(fā)送和紅外接收兩部分組成。發(fā)送部分的基本原理是待發(fā)的二進制信號按照一定的編碼方式變成一定的輸出波形。因為發(fā)送信號容易受到外界的干擾,所以編碼不能直接通過紅外發(fā)送器發(fā)送。為了提高編碼的穩(wěn)定性,必須進行編碼調制,把調制好的信號再通過紅外發(fā)射管發(fā)射紅外信號。圖8.6紅外發(fā)射框圖圖8.7編碼的調制圖8.8紅外接收框圖圖8.9編碼的解調過程根據問題描述的要求分析,系統分成發(fā)送端和接收端兩大部分。

(1)發(fā)送端:用1?×?8鍵盤掃描,將掃描獲取的鍵值通過紅外調制的UART發(fā)送,UART波特率選用2400?b/s。圖8.10發(fā)送端系統框圖

(2)接收端:外接8個發(fā)光二極管,通過紅外接收器接收解調后的UART信號,把接收到的數據在8個發(fā)光二極管上顯示,一個二極管對應一個接收的鍵值。圖8.11接收端系統框圖8.2.3硬件設計

1.發(fā)送端的硬件電路設計

IOB8為SPCE061A的PWM輸出端口,輸出38?kHz的調制信號;IOB10為UART的發(fā)送信號TX端。為了通信的正確發(fā)送與接收,必須使RX和TX信號有相同的通信規(guī)約,其中最基本的是傳送的字符格式和波特率應相同。紅外發(fā)射、調制電路如圖8.12所示。圖8.12紅外發(fā)射調制電路圖8.131×8鍵盤輸入

2.接收端的硬件電路設計

紅外通信的接收功能由紅外通信控制寄存器控制,必須對其寫入相應的控制字,確定相應的功能及傳送通道時才能使用。紅外通信控制寄存器P_IR_Ctrl具有可讀寫的屬性,它用于設置紅外通信功能并接收紅外通信信號,既是控制字,又是數據緩沖器。寫入時為紅外通信的控制字,讀出時為紅外通信接收數據。圖8.14紅外接收電路圖8.15LED顯示部分電路原理圖8.2.4軟件流程

發(fā)送端的主程序主要完成鍵盤的掃描、獲取鍵值、把鍵值通過調制的UART發(fā)送出去;圖8.16是發(fā)送端主程序流程圖。

接收端的主程序流程如圖8.17所示。圖8.16發(fā)送端主程序流程圖

圖8.17接收端主程序流程圖8.2.5源程序

1.發(fā)射端主程序代碼

2.發(fā)射端UART接口程序代碼

3.鍵盤掃描代碼

4.接收端主程序代碼

5.接收端UART接口程序代碼

8.3串并轉換擴展鍵盤與顯示

8.3.1問題描述

為了實現串并轉換擴展鍵盤與顯示,對設計提出以下要求:

(1)利用74LS164設計串行接口鍵盤;

(2)利用74HC595設計串行靜態(tài)顯示電路;

(3)掃描串行鍵盤的輸入,并把掃描到的鍵值送74HC595進行串行靜態(tài)顯示;

(4)按鍵為1?×?16按鍵,按鍵處理程序包括消抖和等待鍵釋放;

(5)顯示為1?×?16顯示,且顯示結果與所按鍵一致;

(6)對74HC595的輸出進行鎖存。8.3.2串并轉換原理

在數字系統中,線路上信息的傳遞通常是串行傳送,而終端的輸入或輸出往往是并行的,因此需要將串行信號轉換成并行信號,或將并行信號轉換成串行信號。串并轉換就是數據以串行的方式從一個串行端口輸入,再按位通過多個輸出端口(并行端口)輸出。串并轉換是通過移位寄存器(具有移位功能的寄存器)來完成的。圖8.18串并轉換原理圖8.3.3串行接口鍵盤原理

1.74LS164芯片的介紹

74LS164是8位的串入并出移位寄存器芯片,它的16PIN封裝芯片的引腳圖如圖8.19所示。圖8.1974LS164的16PIN封裝芯片引腳

2.串行接口鍵盤原理

鍵盤是由若干個按鍵組成的開關矩陣,是微型計算機系統最常用的人機對話輸入設備。為了能可靠、正確地判斷輸入的鍵值,鍵盤接口應具有鍵掃描功能(即檢測是否有鍵按下)、鍵識別功能(即確定被按下的鍵所在位置)、產生相應鍵的代碼(即鍵值)、消除按鍵彈跳以及能夠識別多鍵及串鍵(復合按鍵)。鍵盤按其接線方法可分為直接式鍵盤、行列式鍵盤(又稱矩陣鍵盤)、串行接口鍵盤等。圖8.20串轉并16按鍵原理圖串行接口鍵盤的操作步驟:

1)檢測按鍵

2)掃描鍵盤并取鍵值8.3.4串行靜態(tài)顯示原理

1.74HC595芯片

74HC595芯片也是8位的串入并出類型的芯片。圖8.2174HC595的引腳圖

2.串行靜態(tài)顯示原理

利用移位寄存器可以將串行信號轉換為并行信號,實現用串行口擴展并行口。串行靜態(tài)顯示就是采用串并轉換擴展端口,在擴展的端口上進行靜態(tài)顯示。把兩片8位的具有串并轉換功能的74HC595芯片串聯成一個16位的串并轉換器,用16個發(fā)光二極管分別接在74HC595的并行輸出端口。SPCE061A單片機通過串行數據線(SDA)向74HC595發(fā)送不同的數據,16個并行輸出端口的狀態(tài)就會不同,對應發(fā)光二極管的亮滅狀態(tài)也就不同。圖8.22串行16位靜態(tài)顯示電路原理圖8.3.5系統設計

根據問題描述的要求分析,并考慮到題目的可擴展性,系統分成兩大部分。

1.鍵盤部分

鍵盤部分包括兩片8位的移位寄存器74LS164和16個按鍵。兩片8位的移位寄存器74LS164串聯組成一個16位的串并轉換電路,16個按鍵分別接到16個并行輸出端口。具體見8.3.3節(jié)串行接口鍵盤原理部分。

2.顯示部分

顯示部分包括兩片8位的移位寄存器74HC595和16個發(fā)光二極管。兩片8位的移位寄存器74HC595串聯組成一個16位的串并轉換電路,16個發(fā)光二極管分別接到這16個并行輸出端口,用來指示當前按下的是哪一個鍵。具體見8.3.4節(jié)串行靜態(tài)顯示原理部分。8.3.6硬件設計

系統的電路原理如圖8.23所示。圖8.23系統的電路原理8.3.7軟件流程

1.主程序流程

系統開始時對I/O端口進行初始化,之后進入一個主循環(huán)。在主循環(huán)中,首先掃描是否有鍵按下,如果返回鍵值不為“0”就調顯示程序,并顯示鍵值;如果返回鍵值為“0”,說明沒有鍵被按下,那么就需要重新掃描按鍵。主程序流程如圖8.24所示。圖8.24主程序流程圖

2.鍵盤掃描流程

鍵盤掃描流程圖如圖8.25所示。圖8.25鍵盤掃描流程圖

3.串行顯示流程

串行顯示流程圖如圖8.26所示。圖8.26串行顯示流程圖8.3.8源程序

1.主程序代碼

2.鍵盤掃描子程序代碼

3.中斷處理子程序代碼

8.4語音錄放

8.4.1問題描述

語音錄放是單片機應用中非常重要的部分,整個系統主要由語音錄入部分、語音輸出部分、資源存儲器部分以及SPCE061A核心控制部分構成,通過這一節(jié)的學習達到以下兩個要求:

(1)了解凌陽單片機對語音的錄制、壓縮和播放的功能及過程。

(2)學會編程并會擴展SRAM。8.4.2原理分析

1.錄音原理

SPCE061A的A/D轉換器有8個通道,其中有1個通道是MIC-IN輸入,它專門用于對語音信號進行采樣。語音信號經MIC轉換成電信號,由隔直電容隔掉直流成分,然后輸入至SPCE061A內部前置放大器。語音資源錄制的幾個步驟:

(1)語音采樣:在定時中斷的控制下,以一定的速率(8?kHz)進行A/D轉換;

(2)壓縮編碼:將采集到的數據以某種算法壓縮編碼,可以減少硬件存儲器的大??;

(3)存儲:將編碼后的數據保存到存儲介質中。

2.語音播放原理

語音播放就是語音錄制的逆過程,將存儲器中的語音數據順序取出,解碼后,以8?kHz的速率輸出,經電容濾波后,恢復原始語音波形,通過三極管驅動揚聲器放音。語音播放大體上可分為以下幾個步驟:

(1)順序從壓縮格式的語音資源中取出一組數據,放到“解壓縮隊列”中,等待解壓縮;

(2)執(zhí)行解壓縮程序,把壓縮數據還原成數字量的語音信號,送到“輸出隊列”等待輸出;

(3)如果在語音錄制時使用了8?kHz的采樣率,那么在語音播放的時候也要以8?kHz的速率進行D/A輸出,轉變成模擬信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論