第一篇:基于51單片機電子設(shè)計報告之波形信號采集,存儲與回放系統(tǒng)設(shè)計
基于51單片機電子設(shè)計報告之 波形采集、存儲與
回放系統(tǒng)
目錄
一、設(shè)計任務(wù)求??????????? 3
二、系統(tǒng)方案論證與選擇??????? 6
三、系統(tǒng)硬件的設(shè)計???????? 10
四、系統(tǒng)軟件的設(shè)計?????????12
五、參考文獻????????????14
六、結(jié)論??????????????15
附錄???????????????16
附錄 1 程序代碼????????????16 附錄 2 硬件原理圖???????????30 附錄 3 PCB圖(部分)??????????32
一、設(shè)計任務(wù)求
<1>、任務(wù)
設(shè)計并制作一個波形采集、存儲與回放系統(tǒng),示意圖如圖1 所示。該系統(tǒng)能同時采集兩路周期信號波形,要求系統(tǒng)斷電恢復(fù)后,能連續(xù)回放已采集的信號,顯示在示波器上。
<2>、要求
1.基本要求
(1)能完成對A 通道單極性信號(高電平約4V、低電平接近0V)、頻率約1kHz 信號的采集、存儲與連續(xù)回放。要求系統(tǒng)輸入阻抗不小于10 kΩ,輸出阻抗不大于1kΩ。
(2)采集、回放時能測量并顯示信號的高電平、低電平和信號的周期。原信號與回放信號電平之差的絕對值≤50 mV,周期之差的絕對值≤5%。
(3)系統(tǒng)功耗≤50mW,盡量降低系統(tǒng)功耗,系統(tǒng)內(nèi)不允許使用電池。2.發(fā)揮部分
(1)增加B 通道對雙極性、電壓峰峰值為100mV、頻率為10Hz~10kHz 信號的采集。可同時采集、存儲與連續(xù)回放A、B 兩路信號,并分別測量和顯示A、B 兩路信號的周期。B 通道原信號與回放信號幅度峰峰值之差的絕對值≤10 mV,周期之差的 絕對值≤5%。
(2)A、B 兩路信號的周期不相同時,以兩信號最小公倍周期連續(xù)回放信號。
(3)可以存儲兩次采集的信號,回放時用按鍵或開關(guān)選擇顯示指定的信號波形。(4)其他。
<3>、說明
1.本系統(tǒng)處理的正弦波信號頻率范圍限定在10Hz~10kHz,三角波信號頻率范圍限定在
10Hz ~2kHz,方波信號頻率范圍限定在10Hz ~1kHz。2.預(yù)留電源電流的測試點。3.采集與回放時采用示波器監(jiān)視。
4.采集、回放時顯示的周期和幅度應(yīng)是信號的實際測量值,規(guī)定采用十進制數(shù)字顯示,周期以“ms”為單位,幅度以“mV”為單位。
<4>、評分標(biāo)準
二、系統(tǒng)方案論證與選擇
1、題目要求及相關(guān)指標(biāo)分析
題目的要求是將待測信號進行數(shù)字存儲,并通過普通示波器將被測信號顯示出來。由于待測信號為模擬信號,存儲過程為數(shù)字方式,故應(yīng)該將模擬信號進行量化處理,然后存儲到存儲器中,當(dāng)需要顯示的時候,從存儲器讀出數(shù)據(jù)并恢復(fù)為模擬信號,并送往普通示波器Y輸入端,在X輸入端加入相應(yīng)的掃描信號,采有X-Y方式觀察信號的波形。因此,設(shè)計的重點是模擬信號的處理與采樣、數(shù)字信號的存儲、普通示波器的顯示控制、系統(tǒng)的控制4個方面。
2、方案的比較與分析
1)采樣方式
方案一:實時采樣。實時采樣是在信號存在期間對其采樣。根據(jù)采樣定理,采用速率必須高于信號最高頻率分量的兩倍。對于周期的正弦信號,一個周期內(nèi)應(yīng)該大于兩個采樣點。為了不失真的恢復(fù)原被測信號,通常一個周期內(nèi)就需要采樣八個點以上。
方案二:等效時間采樣法。采用中高速模數(shù)轉(zhuǎn)換器,對于頻率較高的周期性信號采用等效時間采樣的方法,即對每個周期僅采樣一個點,經(jīng)過若干個周期后就可對信號各個部分采樣一遍。而這些點可以借助步進延遲方法均勻地分布于信號波形的不同位置。其中步進延遲是每一次采樣比上一次樣點的位置延遲△t時間。只要精確控制從觸發(fā)獲得采樣的時間延遲,就能夠準確地恢復(fù)出原始信號。等效時間采樣雖然可以對很高頻率的信號進行采樣,可是步進延遲的采樣技術(shù)與 電路較為復(fù)雜。再者,它只限于處理周期信號,而且對單次觸發(fā)采樣無能為力。實時采樣可以實現(xiàn)整個頻段的全速采樣,因此本設(shè)計采用方案一。2)雙蹤顯示方式
方案一:每個通道都有一套獨立的ADC和存儲器,雙蹤顯示時,只需輪流選擇不同通道的波形數(shù)據(jù),就可以實現(xiàn)兩路波形的同時顯示。方案二:只使用一片ADC,一片存儲器和一片DAC,在采樣的時候,用存儲器地址的最低位控制模擬開關(guān)。通過切換兩路模擬信號,將采集到的數(shù)據(jù)分別存儲到存儲器的奇地址和偶地址上,雙蹤顯示時通過掃描存儲器中的數(shù)據(jù)即可將兩路波形同時顯示出來。方案二使用的硬件電路較少,故我們選擇方案二。
3)觸發(fā)方式選擇
要使屏幕上顯示穩(wěn)定的波形,則需將被測信號本身或者與被測信號有一定時間關(guān)系的觸發(fā)信號加到觸發(fā)電路。觸發(fā)源選擇確定觸發(fā)信號由何處供給。通常有三種觸發(fā)源:內(nèi)觸發(fā)(INT)、電源觸發(fā)(LINE)、外觸發(fā)EXT)。題目要求選擇內(nèi)觸發(fā),即使用被測信號作為觸發(fā)信號。方案一:采用數(shù)字觸發(fā)方式。對波形信號進行采集,將采集到的波形數(shù)據(jù)和觸發(fā)電平(可由鍵盤設(shè)置)進行比較,找到波形在上升過程中大于或等于該觸發(fā)電平的點,即得到觸發(fā),此時開始對波形進行存儲。因為本來就需要對波形信號進行采集,使用這種方法無需要增加額外的硬件電路,實現(xiàn)方便。但是,對波形每個周期只采集有限個點,不可能每次都能采集到等于觸發(fā)電平的點(這時不得不以大于該電平的值為觸發(fā)電平),從而使觸發(fā)位置不穩(wěn)定,連續(xù)觸發(fā)時輸出波形會有抖動現(xiàn)象。
方案二:采用模擬觸發(fā)方式。通過比較器LM311將被測波形信號和觸發(fā)電平進行比較,大于觸發(fā)電平時輸出為高電平,小于觸發(fā)電平時則輸出低電平,即可得到信號被整形后的脈沖序列,再在該脈沖序列的上升沿開始存儲波形即實現(xiàn)了觸發(fā)存儲的功能。這種觸發(fā)方式穩(wěn)定,故我們采用了這種方案。4)水平和垂直位置的調(diào)節(jié) a)水平移動的調(diào)節(jié)
方案一:由FPGA內(nèi)地址累加器的輸出控制數(shù)模轉(zhuǎn)換器不斷地輸出鋸齒波。在后級加一個加法器,調(diào)節(jié)滑動變阻器R的阻值,可以實現(xiàn)對鋸齒波波形的直流電平疊加,從而達到調(diào)節(jié)顯示器上波形左右位置的平移功能。
方案二:通過對雙口RAM讀出數(shù)據(jù)的起始地址的偏移控制來控制波形的左右移動。
方案一實現(xiàn)左右平移,電路簡單,效果明顯。但是一頁屏幕的 波形通過這樣的平移,就必然會將一部分的波形移動到示波器屏幕以外,同時將示波器的另一邊變成空白。這樣不符合實際數(shù)字示波器的功能要求。再者,它也實現(xiàn)不了auto的功能。而方案二方法新穎,對于波形在屏幕的滿屏顯示和auto的功能都可以輕易處理和簡單實現(xiàn)。于是本設(shè)計采用方案二。b)垂直移動的調(diào)節(jié)
方案一與上述水平移動調(diào)節(jié)的方案一相同。方案二是直接對雙口RAM的數(shù)據(jù)進行處理。譬如向上平移,可將波形的所有數(shù)據(jù)都加上一個偏移值,然后送到DAC0832,直接將輸出的模擬信號加在y軸上。但這種方法的問題是當(dāng)RAM中數(shù)據(jù)較大時,加上某一個偏移值后數(shù)據(jù)均達到255,則波形的上半部分就會被削平。而通過加法電路的調(diào)節(jié)則不會出現(xiàn)這個問題。故我們選用方案一。5)頻率的測量
方案一:用單片機掃描存儲在RAM中波形數(shù)據(jù),找到波形的上升過零點位置或者波形數(shù)據(jù)的峰值,并記錄此時的地址ADR1,在掃描下一個波形的上升過零點位置或者波形數(shù)據(jù)的峰值,并記錄此時的地址ADR2,通過如下公式計算出波形的頻率:
f = 1/[B×(ADR2-ADR1)/20] 其中,B為水平分辨率,單位為s/div。
方案二:等精度測量法
先將待測信號進行二分頻,用此信號作為閘門。取FPGA內(nèi)部40M信號作為基準信號,二分頻后信號的上升沿開起計數(shù)器時鐘計 數(shù),下降沿關(guān)閉計數(shù)。由計得的數(shù)值來計算信號的頻率。方案一計算的頻率數(shù)據(jù)的精度不會很高,加上采樣的不穩(wěn)定,必將導(dǎo)致頻率測量的不正確。而方案二測量的穩(wěn)定性較高且數(shù)據(jù)較準確。故我們選用方案二測量信號的頻率。
三、系統(tǒng)硬件的設(shè)計
DAC0832輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過一個外接的運算放大器轉(zhuǎn)換成電壓。實驗線路如圖所示。
1.運算放大器
運算放大器有三個特點:
⑴開環(huán)放大倍數(shù)非常高,一般為幾千,甚至可高達10萬。在正常情況下,運算放大器所需要的輸入電壓非常小。
⑵輸入阻抗非常大。運算放大器工作時,輸入端相當(dāng)于一個很小 的電壓加在一個很大的輸入阻抗上,所需要的輸入電流也極小。
⑶輸出阻抗很小,所以,它的驅(qū)動能力非常大。2.DAC0832的外部連接
DAC0832的外部連接線路如圖10.10所示。
3.運算放大電路和低通濾波電路
LM324的5管腳與DAC0832的(IOUT2)12管腳相連,LM324的6管腳與DAC0832的(IOUT1)11管腳相連,LM324的7管腳與DAC0832的REF(9)管腳相連.第一級運算放大器的作用是將DAC0832輸出的電流信號轉(zhuǎn)化為 電壓信號V1,第二級運算放大器的作用是將V1通過反向放大電路-(R2/R1)倍。
實驗表明,輸出波形效果不錯
四、系統(tǒng)軟件的設(shè)計
本程序的程序流程圖如下所示
13
五、參考文獻
[1] 康華光.電子技術(shù)基礎(chǔ)模擬部分(第五版).高等教育出版社,2005年.[2] 閻 石.數(shù)字電子技術(shù)基礎(chǔ)(第五版).高等教育出版社,2005年.[3] 劉愛華 滿寶元.傳感器原理與應(yīng)用技術(shù).人民郵電出版社,2011年.[4] 馬 彪.單片機應(yīng)用技術(shù).同濟大學(xué)出版社,2010年.[5] 郭天祥.51單片機C語言教程.北京: 電子工業(yè)出版社,2012年.[6] 劉建清.輕松玩轉(zhuǎn)51單片機C語言.北京航空航天大學(xué)出版社,2011年.[7] 彭 偉.單片機C語言程序設(shè)計實例100例.北京: 電子工業(yè)出版社,2011年.六、結(jié)論
本方案的系統(tǒng)設(shè)計符合2011 年全國大學(xué)生電子設(shè)計競賽試題(H)題的要求。通過單片機控制一個數(shù)模轉(zhuǎn)換器DAC0832將采集到的數(shù)據(jù)進行模數(shù)轉(zhuǎn)并經(jīng)過運算放大器LM324可以將其電流輸出線性地轉(zhuǎn)換成電壓輸出到外部設(shè)備示波器進而實現(xiàn)波形的采集存儲與回放。附錄??????????????? 附錄 1 程序代碼???????????
/*******adc.h文件******/ #ifndef __ADC_H__ #define __ADC_H__ void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);bit LCD_Check_Busy(void);void LCD_Write_Com(unsigned char com);void LCD_Write_Data(unsigned char Data);void LCD_Clear(void);void LCD_Write_String(unsigned
char x,unsigned char y,unsigned char *s);void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);void LCD_Init(void);void init1602(void);void Delay_Ms(unsigned int a);void ADC_Init(unsigned char CHA);unsigned char ADC_Read(void);#endif /*----------------名稱:LCD1602.h 論壇:
修改:無
內(nèi)容:
引腳定義如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK-----------------*/ #ifndef __eeprom_H__ #define __eeprom_H__
bit LCD_Check_Busy(void);void LCD_Write_Com(unsigned char com);void LCD_Write_Data(unsigned char Data);void LCD_Clear(void);void LCD_Write_String(unsigned
char x,unsigned char y,unsigned char *s);void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);void LCD_Init(void);#endif /*---
STC
International
Limited----------------一個完整的EEPROM 測試程序,用宏晶的下載板可以直接測試
STC12C5AxxAD 系列單片機 EEPROM/IAP 功能測試程序演示
STC12C52xxAD 系列單片機 EEPROM/IAP 功能測試程序演示
STC11xx 系列單片機 EEPROM/IAP 功能測試程序演示
STC10xx 系列單片機 EEPROM/IAP 功能測試程序演示---STC
International
Limited---------------------宏晶科技
設(shè)計 2009/1/12 V1.0--------------------
Mobile: Fax:
*** 0755-82944243-------------------------------------------------------
Tel: Web:
0755-82948412 004km.cn---------------------------------------------本演示程序在STC-ISP Ver 3.0A.PCB 的下載編程工具上測試通過,EEPROM 的數(shù)據(jù)
在P1 口上顯示, 如果要在程序中使用或在文章中引用該程序,請在程序中或文章中 注明使用了宏晶科技的資料及程序 */
#include
typedef unsigned char INT8U;typedef unsigned int INT16U;//定義Flash 操作等待時間及允許IAP/ISP/EEPROM 操作的常數(shù)
//#define ENABLE_ISP 0x80 //系統(tǒng)工作時鐘<30MHz 時,對IAP_CONTR 寄存器設(shè)置此值 //#define ENABLE_ISP 0x81 //系統(tǒng)工作時鐘<24MHz 時,對IAP_CONTR 寄存器設(shè)置此值 //#define ENABLE_ISP 0x82 //系統(tǒng)工作時鐘<20MHz 時,對IAP_CONTR 寄存器設(shè)置此值
#define ENABLE_ISP 0x83 //系統(tǒng)工作時鐘<12MHz 時,對IAP_CONTR 寄存器設(shè)置此值
//#define ENABLE_ISP 0x84 //系統(tǒng)工作時鐘<6MHz 時,對IAP_CONTR 寄存器設(shè)置此值
//#define ENABLE_ISP 0x85 //系統(tǒng)工作時鐘<3MHz 時,對IAP_CONTR 寄存器設(shè)置此值
//#define ENABLE_ISP 0x86 //系統(tǒng)工作時鐘<2MHz 時,對IAP_CONTR 寄存器設(shè)置此值
//#define ENABLE_ISP 0x87 //系統(tǒng)工作時鐘<1MHz 時,對IAP_CONTR 寄存器設(shè)置此值
#define DEBUG_DATA 0x5A //本測試程序最終存儲在 EEPROM 單元的數(shù)值 #define
DATA_FLASH_START_ADDRESS 0x00 //STC5Axx 系列 EEPROM 測試起始地址
union union_temp16 { INT16U un_temp16;INT8U un_temp8[2];}my_unTemp16;
INT8U Byte_Read(INT16U add);//讀一字節(jié),調(diào)用前需打開IAP 功能
void Byte_Program(INT16U add, INT8U ch);//字節(jié)編程,調(diào)用前需打開IAP 功能
void Sector_Erase(INT16U add);//擦除扇區(qū)
void IAP_Disable();//關(guān)閉IAP 功能 void Delay();void main(void){ unsigned char ram[100]={0};unsigned char b=0,c=0,a=0;// a = Byte_Read(0);//讀EEPROM的值, 存到read_eeprom
//EA=1;//全局中斷開 //EX0=1;//外部中斷0開 //IT0=1;//邊沿觸發(fā) //EX1=1;//外部中斷1開 // IT1=1;//IT1=1表示邊沿觸發(fā) init1602();ADC_Init(0);// ADC_Read();LCD_Write_String(1,0,“zhou yi chen ”);LCD_Write_String(1,0,“zhou yi chen ”);// LCD_Write_Char(3,1,'o');while(1){ for(i=0;i<100;i++){ ram[i]=Byte_Read(i);//讀EEPROM的值,存到read_eeprom } LCD_Write_String(1,0,“U==4V ”);LCD_Write_String(1,1,“PINLV 1.017 KHZ ”);while(huifang==1&&kep1==1){ for(i=0;i<100;i++){ ADC_Init(1);a= ADC_Read();P3=ram[i];
//讀read_eeprom } } while(kep1==0){ for(i=0;i<100;i++){ //if(i==0)//Sector_Erase(0);//區(qū)
ADC_Init(1);
a= ADC_Read();P3=a;ram[i]=a;//Byte_Program(i,a);//將EEPROM
EEPROM的值,存到擦除整個扇DEBUG_DATA 寫入23
} }
for(i=0;i<100;i++){ if(i==0)Sector_Erase(0);//擦除整個扇區(qū)
Byte_Program(i,ram[i]);//將 DEBUG_DATA 寫入 EEPROM } } }
//讀一字節(jié),調(diào)用前需打開IAP 功能,入口:DPTR = 字節(jié)地址,返回:A = 讀出字節(jié) INT8U Byte_Read(INT16U add){ IAP_DATA = 0x00;IAP_CONTR = ENABLE_ISP;//打開IAP 功能, 設(shè)置Flash 操作等待時間 IAP_CMD
= //IAP/ISP/EEPROM 字節(jié)讀命令
0x01;
my_unTemp16.un_temp16 = add;IAP_ADDRH IAP_ADDRL
//EA = 0;IAP_TRIG = 0x5A;//先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
IAP_TRIG = 0xA5;//送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動 _nop_();//EA = 1;IAP_Disable();//關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān) return(IAP_DATA);}
//字節(jié)編程,調(diào)用前需打開IAP 功能,入口:DPTR =
= =
my_unTemp16.un_temp8[0];my_unTemp16.un_temp8[1];//設(shè)置目標(biāo)單元地址的高8 位地址 //設(shè)置目標(biāo)單元地址的低8 位地址 字節(jié)地址, A= 須編程字節(jié)的數(shù)據(jù)
void Byte_Program(INT16U add, INT8U ch){ IAP_CONTR = ENABLE_ISP;//打開 IAP 功能, 設(shè)置Flash 操作等待時間 IAP_CMD
my_unTemp16.un_temp16 = add;IAP_ADDRH IAP_ADDRL
IAP_DATA = ch;//要編程的數(shù)據(jù)先送進IAP_DATA 寄存器 //EA = 0;IAP_TRIG = 0x5A;//先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
IAP_TRIG = 0xA5;//送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動 _nop_();
= 0x02;//IAP/ISP/EEPROM 字節(jié)編程命令
= =
my_unTemp16.un_temp8[0];my_unTemp16.un_temp8[1];//設(shè)置目標(biāo)單元地址的高8 位地址 //設(shè)置目標(biāo)單元地址的低8 位地址 //EA = 1;IAP_Disable();//關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān) }
//擦除扇區(qū), 入口:DPTR = 扇區(qū)地址 void Sector_Erase(INT16U add){ IAP_CONTR = ENABLE_ISP;//打開IAP 功能, 設(shè)置Flash 操作等待時間 IAP_CMD
my_unTemp16.un_temp16 = add;IAP_ADDRH IAP_ADDRL
//EA = 0;
= 0x03;//IAP/ISP/EEPROM 扇區(qū)擦除命令
= =
my_unTemp16.un_temp8[0];my_unTemp16.un_temp8[1];//設(shè)置目標(biāo)單元地址的高8 位地址 //設(shè)置目標(biāo)單元地址的低8 位地址 IAP_TRIG = 0x5A;//先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
IAP_TRIG = 0xA5;//送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動 _nop_();//EA = 1;IAP_Disable();//關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān) }
void IAP_Disable(){ //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
IAP_CONTR = 0;//關(guān)閉IAP 功能 IAP_CMD = 0;//清命令寄存器,使命令寄存器無命令,此句可不用
IAP_TRIG = 0;//清命令觸發(fā)寄存器, 使命令觸發(fā)寄存器無觸發(fā),此句可不用 IAP_ADDRH = 0;IAP_ADDRL = 0;}
void Delay(){ INT8U i;INT16U d=5000;while(d--){ i=255;while(i--);} } 附錄 2 硬件原理圖???????????
附錄 3 PCB圖(部分)?????????
第二篇:51單片機語音回放系統(tǒng)課程設(shè)計報告
課 程 設(shè) 計 報 告
.語音存儲與回放系統(tǒng)
摘要
基于微控制器的語音存儲與回放系統(tǒng)具有錄制方便、回放靈活、無磨損、可靠性強等優(yōu)點,在實際生活中得到了廣泛的應(yīng)用,如公共設(shè)備、智能儀器儀表、小家電等。
語音存儲與回放系統(tǒng)的實現(xiàn)具有多種方式,一種是利用單片集成的語音存儲與回放芯片,如美國ISD公司的ISD1420等;一種是以微控制器為核心,輔以A./D轉(zhuǎn)換、D/A轉(zhuǎn)換以及大容量的存儲器。單片集成的語音存儲與回放芯片一般智能性較差,不容易解決音量的問題,同時存放錄制時間有限,不能靈活的變化。因此,在多數(shù)需要語音存儲與回放的場合中,采用了微控制器的語音存儲與回放系統(tǒng)。
一、系統(tǒng)總體描述和設(shè)計
1.1 系統(tǒng)描述 1.1.1 系統(tǒng)功能簡介
語音存儲與回放系統(tǒng)能夠?qū)⒄Z音先行錄制,然后再回放,適合應(yīng)用在一些需要語音播報功能的設(shè)備上,如公交車報站器、智能小家電、智能玩具等。
在一些實際應(yīng)用中,一般錄制是在產(chǎn)品出廠時,由專業(yè)人員進行錄制,而在實際應(yīng)用中只需要播放,如公交車報站器。但在一些實際應(yīng)用中,則需要用戶既能隨意錄制,也能隨意播放,如智能玩具。
語音存儲與回放系統(tǒng)比較重要的兩個指標(biāo)是語音的最大錄制時間和語音回放的質(zhì)量。語音的最大錄制時間是由語音存儲與回放系統(tǒng)的存儲設(shè)備的容量來決定的,一般采用RAM,即為系統(tǒng)的存儲容量。在一般的單片機系統(tǒng)中,RAM的容量非常有限,需要擴展一定容量的RAM。而語音回放的質(zhì)量主要由系統(tǒng)中A/D以及D/A來決定,A/D與D/A的精度越高,語音的質(zhì)量越好,同時系統(tǒng)的噪聲抑制能力,如帶通濾波器的優(yōu)劣等,也會影響到語音的質(zhì)量。1.1.2 系統(tǒng)總體設(shè)計
語音存儲與回放系統(tǒng)的總體原理圖如圖1-1所示。
語音存儲與回放系統(tǒng)
麥克風(fēng)前置放大器帶通濾波器A/D鍵盤控制微控制器外擴存儲器喇叭后置放大器帶通濾波器D/A
圖1 語音存儲與回放系統(tǒng)總體原理
語音存儲與回放系統(tǒng)主要包括微控制器、系統(tǒng)供電電源、鍵盤、麥克風(fēng)、前置放大器、A/D、外擴存儲器、D/A、后置放大器和喇叭。下面將介紹各個部分的總體設(shè)計與選型。
1.微控制器
微控制器主要負責(zé)錄音、回放中對外部命令的響應(yīng),同時需要對存儲器進行讀寫操作。本語音存儲與回放系統(tǒng)采用51系列單片機,負責(zé)控制與協(xié)調(diào)其他各個模塊的工作,并進行簡單的數(shù)字信號處理。在整個語音存儲與回放系統(tǒng)中,微控制器是系統(tǒng)的控制中心,其工作效率的高低關(guān)系到系統(tǒng)效率的高低以及系統(tǒng)運行的穩(wěn)定性。而51系列單片機具有成本低,穩(wěn)定性好,且運行速度基本能滿足該系統(tǒng)的要求。在本系統(tǒng)中,將采用Atmel公司的AT89S52。
2.鍵盤
在語音存儲與回放系統(tǒng)中,需要采用鍵盤對語音的錄制以及回放進行控制。在分段錄制與播放中,同時還需要段號的輸入等。在本系統(tǒng)中需要的按鍵數(shù)量比較多,可以采用鍵盤管理芯片ZLG728。
3.麥克風(fēng)
麥克風(fēng)的選擇對語音質(zhì)量影響比較明顯。麥克風(fēng)的作用是將語音信號轉(zhuǎn)化成電信號??紤]到駐極體話筒的靈敏度較高,方向性差,若采用單端放大,會有比較大的噪音,因此采用兩只(配對)話筒分別接入差分放大器的正負端,可以較好的抑制背景噪聲。
4.前置放大器
通常情況下,拾音器輸出的是微弱的電信號,因此在拾音器的后端需要將該信號進行放大處理,能完成此功能的電路稱為前置放大器。一般情況下,拾音器的輸出為毫伏級的電壓信號,需要進行放大到伏級的電壓信號。在本系統(tǒng)中,采用運算放大器NE5532。
語音存儲與回放系統(tǒng)
5.A/D 由奈奎斯特采樣定理可知,A/D的采樣頻率必須滿足信號的最高頻率的2倍以上,即滿足如下關(guān)系:
fs?fH(1)其中,fs為采樣頻率,fH為被采樣信號的最高頻率。
一般語音信號的最高頻率為3.4kHz,因此在語音存儲與回放系統(tǒng)中,A/D的采樣頻率fs必須滿足:
fs?2fH?2?3.4kHz?6.8kHz(2)
因此我們可以選用ADC0809,ADC0809轉(zhuǎn)換器的分辨率為8位,典型轉(zhuǎn)換時間為100μs,單5V電源供電。
6.外擴存儲器
在語音存儲與回放系統(tǒng)中,需要錄制10s以上的語音,假設(shè)采樣頻率為8kHz,分辨率為8位,那么1秒鐘的時間至少需要8kB的存儲空間,而單片機的內(nèi)置存儲器無法滿足要求,需要外擴存儲器。
外擴存儲器可以選用256k*8位的SRAM,這樣就可以錄制至少30s的語音。也可以采用多片32k*8位的SRAM,但是需要分頁存儲技術(shù)來擴展容量。
7.D/A 語音的回放需要將存儲的數(shù)字化信號進行D/A轉(zhuǎn)換,恢復(fù)為模擬信號才能進行播放。我們可以選用DAC0832來完成數(shù)字信號到模擬信號的轉(zhuǎn)換,DAC0832的分辨率為8位,其輸出穩(wěn)定時間為1μs,滿足系統(tǒng)要求。
8.后置放大器
D/A輸出的信號經(jīng)過后置帶通濾波器后,其輸出通常情況下不能滿足喇叭對功率的要求。完成D/A輸出到喇叭的功率驅(qū)動的放大電路稱為后置放大器,即為一個功率放大器,我們可以采用低電壓音頻功率放大器LM386來實現(xiàn)。
9.喇叭
喇叭是語音播放回路的最后輸出階段,喇叭質(zhì)量的好壞也會關(guān)系到語音輸出的質(zhì)量,因此,喇叭的選擇也是很重要的一個方面。我們可以選用8歐姆,0.5W的普通喇叭。
如圖3所示。1.主控制器設(shè)計
三、單元電路設(shè)計
二、系統(tǒng)硬件設(shè)計
成的后置功率放大電路,以及狀態(tài)指示等。
語音存儲與回放系統(tǒng)
圖2 語音存儲與回放系統(tǒng)的總體硬件框圖
系統(tǒng)的總體硬件框圖如圖2所示,主要有AT89S52單片機系統(tǒng),DC/DC、7812等組成的系統(tǒng)供電電源電路,NE5532組成的前置放大器,NE5532與R、C組成的前置/后置帶通濾波器,ADC0809組成的A/D轉(zhuǎn)換電路,IS61LV2568組成的數(shù)據(jù)存取電路,DAC0832組成的D/A轉(zhuǎn)換電路,LM386組主控制器即為一個51系列單片機最小系統(tǒng),單片機選擇了Atmel公司的89S52,主控制電路
語音存儲與回放系統(tǒng)
2.前置放大電路設(shè)計
由一級電壓跟隨器和一級同相放大器組成。
3.后置功率放大設(shè)計
語音頻率的范圍一般為300Hz~3.4kHz,因此需要在輸入與輸出回路中設(shè)計帶通濾波器來濾除語音頻率范圍以外的頻率成分,以便進一步提高語音回放的質(zhì)量。
其由運算放大器NE5532與R、C組成,采用的是一級低通濾波器和一級高通濾波器的級聯(lián)。由于帶通濾波器的通頻帶范圍為300Hz~3.4kHz,因此低通濾波器的上限截止頻率為3.4kHz,高通濾波器的下限截止頻率為300Hz。
語音存儲與回放系統(tǒng)
4.A/D采樣電路設(shè)計
5.數(shù)據(jù)存取電路設(shè)計(62256兩片)
語音存儲與回放系統(tǒng)
6.D/A轉(zhuǎn)換電路設(shè)計
語音存儲與回放系統(tǒng)
開始初始化是否錄音?啟動AD程序,并存儲語音。是否放音?啟動DA程序,并循環(huán)放音結(jié)束8
四、軟件設(shè)計
1、流程圖
語音存儲與回放系統(tǒng)
2、時序圖
ADC0809時序圖:
語音存儲與回放系統(tǒng)
DAC0832時序圖: 存儲器62256時序圖:
讀數(shù)據(jù):
語音存儲與回放系統(tǒng)
寫數(shù)據(jù):
五、結(jié)束語
1.所設(shè)計的系統(tǒng)基本要求:
(1)放大器1的增益為46dB,放大器2的增益為40dB,增益均可調(diào);
(2)帶通濾波器:通帶為300Hz~3.4kHz ;
(3)ADC:采樣頻率f s=8kHz,字長=8位;
(4)語音存儲時間≥10秒;
(5)DAC:變換頻率f c=8kHz,字長=8位;
(6)回放語音質(zhì)量良好。
語音存儲與回放系統(tǒng)
2.實驗心得體會: 對于這種動手性很強的電路設(shè)計和焊接實驗,覺得與平時必修課的實驗很不同。必修課的實驗都是一些經(jīng)典實驗,條件成熟且被反復(fù)驗證,只要按照講義的步驟去做,便會順利得到預(yù)期的結(jié)果。但動手性實驗,沒有老師的監(jiān)督和強迫,全靠我們自覺完成。動手性實驗就像為我們打開了一扇窺探科研之路的門,讓我們學(xué)到了許多在經(jīng)典實驗中無法學(xué)到的知識和思維方式。
我們首先查閱了芯片手冊,了解了關(guān)于電路各模塊的原理的結(jié)構(gòu)。對這個課題有了基本了解后,我們又查閱了關(guān)于如何實現(xiàn)芯片具體功能的方法,并結(jié)合我們的目標(biāo)物,制訂了嘗試方案。在實驗過程中,我們碰到了許多以前在經(jīng)典實驗中不曾出現(xiàn)的問題。后來向老師了解到,其實是原理圖和實物并不相對應(yīng)。我們才發(fā)現(xiàn),講義上給我們做的經(jīng)典實驗,條件都是很成熟的,基本不會出現(xiàn)什么偏差,而我們所要探索的問題是很難達到這種理想效果的。由于我們的知識是有限的,所以我們遇到的困難比較多,正因為如此,我也收獲良多。
首先我們明白到團結(jié)合作的重要性。由于我們組只有兩個人,而所作的工作又較多,所以對我們來說時間是緊迫的,而且團結(jié)也顯得尤為重要,同時加上有老師的熱心幫助和提點,我們的實驗進度也大大加快了。
其次我們學(xué)會了科研的思維方式。在實驗過程中,我們會遇到各種各樣意想不到的問題,這時必須靜下心來分析可能出錯的步驟,可能出現(xiàn)的故障,逐步排除,直到找出真正的原因,再對癥下藥,解決問題。另外,以我們現(xiàn)在的知識,也許不可能一下子就創(chuàng)造出一個前無古人的大發(fā)明,但我們可以在已有的儀器設(shè)備或?qū)嶒灧椒ㄉ献鲆恍└纳乒ぷ?,使其更方便、更完善。通過這些小設(shè)計或創(chuàng)新,可以培養(yǎng)和提高我們的能力。
這一次的動手性實驗不但鍛煉了我們的實驗?zāi)芰?,培養(yǎng)了我們的科研思維,而且讓我們體會到科研當(dāng)中的辛苦與快樂。我們會把這一次的寶貴經(jīng)驗運用到以后的科研工作中,為電子事業(yè)貢獻自己的一份力量。
語音存儲與回放系統(tǒng)
六、參考文獻
[1] 郭天祥。新概念51單片機C語言教程——入門、提高、開發(fā)、拓展。北京:電子工業(yè)出版社,2009-1-1。
附錄
程序設(shè)計代碼: #include
#define mdata XBYTE[0x0000] #define adnum 32768 sbit we=P3^6;sbit cs=P3^2;sbit flag1=P3^1;//錄音控制鍵 sbit flag2=P3^0;//放音控制鍵 sbit eoc=P3^3;sbit start=P3^4;sbit oe=P3^5;int temp=0;int luyinstop = 0;int fangyinstop = 0;
語音存儲與回放系統(tǒng)
uchar buffer=0;uchar xdata *pt,*pt1;unsigned char sum;sbit ck = P2^7;void Timer0_Init();void main(){ unsigned char addr[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};pt=&ramaddress;//首地址
pt1 = pt;//定義存放首地址
P1=0xff;//打開P1口
ck = 0;//打來62256片選
Timer0_Init();//定時器初始化
while(1){
if(luyinstop>adnum)
{
pt=&ramaddress;
luyinstop = 0;
}
if(fangyinstop>adnum)
{
pt1=&ramaddress;
fangyinstop = 0;}
} cs=1;
語音存儲與回放系統(tǒng)
}
void Timer0_Init()//定時器初始化 { TMOD|=0x01;TH0=(65536-3)/256;TL0=(65536-3)%256;EA=1;;ET0=1;TR0=1;}
void timer_0()interrupt 1 {
TH0=(65536-3)/256;TL0=(65536-3)%256;if(flag2==1 && flag1==0)//錄音
{
if(luyinstop { start=0;//ad初始化 start=1; start=0; while(!eoc);//等待空閑 cs=0;//打開da片選 語音存儲與回放系統(tǒng) we=0;//打開62256位選 buffer=P1; *pt=buffer;//數(shù)據(jù)放入軟件寄存器 pt++; luyinstop++; } } if(flag2==0 && flag1==1)//放音 { if(fangyinstop { start=0;//停止ad buffer=*pt1;//數(shù)據(jù)放入軟件寄存器 P1=buffer; pt1++; fangyinstop++; } } } FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文 在個人成長的多個環(huán)節(jié)中,大家或多或少都會接觸過論文吧,論文是我們對某個問題進行深入研究的文章。怎么寫論文才能避免踩雷呢?下面是小編為大家整理的FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文,歡迎閱讀,希望大家能夠喜歡。 1系統(tǒng)及其原理 基于通用信號處理開發(fā)板,利用FPGA技術(shù)控制AD9233芯片對目標(biāo)模擬信號采樣,再將采樣量化后的數(shù)據(jù)寫入USB接口芯片CY7C68013的FIFO中,F(xiàn)IFO寫滿后采用自動觸發(fā)工作方式將數(shù)據(jù)傳輸?shù)絇C機。利用VC++6.0軟件編寫上位機實現(xiàn)友好的人機交互界面,將傳輸?shù)絇C機上的數(shù)據(jù)進行儲存和實時回放。本系統(tǒng)主要實現(xiàn)以下兩大功能:1)ADC模塊對目標(biāo)模擬信號進行采樣,利用FPGA技術(shù)將采樣后的數(shù)據(jù)傳輸?shù)経SB接口芯片CY7C68013的FIFO中存儲。2)運用USB2.0總線數(shù)據(jù)傳輸技術(shù),將雷達回波信號數(shù)據(jù)傳輸?shù)絇C機實時回放。分為應(yīng)用層、內(nèi)核層和物理層3部分。應(yīng)用層和內(nèi)核層主要由軟件實現(xiàn)。應(yīng)用層采用VC++6.0開發(fā)用戶界面程序,為用戶提供可視化操作界面。內(nèi)核層基于DriverWorks和DDK開發(fā)系統(tǒng)驅(qū)動程序,主要起應(yīng)用軟件與硬件之間的橋梁作用,把客戶端的控制命令或數(shù)據(jù)流傳到硬件中,同時把硬件傳輸過來的數(shù)據(jù)進行緩存。物理層主要以FPGA為核心,對USB接口芯片CY7C68013進行控制,通過USB2.0總線實現(xiàn)對中頻信號采集。系統(tǒng)設(shè)計采用自底向上的方法,從硬件設(shè)計開始逐步到最終的應(yīng)用軟件的設(shè)計。 2硬件設(shè)計 FPGA在觸發(fā)信號下,控制ADC采樣輸入信號,并存入FIFO中。當(dāng)存滿時,將數(shù)據(jù)寫入USB接口芯片CY7C68013,同時切換另一塊FIFO接收ADC轉(zhuǎn)換的數(shù)據(jù),實現(xiàn)乒乓存儲,以提高效率。FPGA模塊的一個重要作用是控制USB接口芯片CY7C68013。當(dāng)ADC采樣后,數(shù)據(jù)進入FPGA模塊,F(xiàn)PGA控制數(shù)據(jù)流將其寫入CY7C68013的FIFO中,以便于USB向PC機傳輸。CY7C68013的數(shù)據(jù)傳輸模式采用異步slaveFIFO和同步slaveFIFO切換模式。通過實測,前者傳輸速度約為5~10Mbit/s,后者傳輸速度最高可達20Mbit/s,傳輸速度的提高可通過更改驅(qū)動程序的讀取方式實現(xiàn)。 3軟件設(shè)計 3.1USB驅(qū)動程序設(shè)計 USB2.0總線傳輸技術(shù)最高速率可達480Mbit/s。本系統(tǒng)采用批量傳輸?shù)膕laveFIFO模式。CY7C68013芯片內(nèi)部提供了多個FIFO緩沖區(qū),外部邏輯可對這些端點FIFO緩沖區(qū)直接進行讀寫操作。在該種傳輸模式下,USB數(shù)據(jù)在USB主機與外部邏輯通信時無需CPU的干預(yù),可大大提高數(shù)據(jù)傳輸速度。Cypress公司為CY7C68013芯片提供了通用的驅(qū)動程序,用戶可根據(jù)需求開發(fā)相應(yīng)的固件程序。 3.2FPGA模塊程序設(shè)計 系統(tǒng)中FPGA模塊的'核心作用是控制AD9233芯片進行采樣。AD9233作為高速采樣芯片,其最高采樣速率達125Mbit/s,最大模擬帶寬為650MHz。通過改變采樣速率可使該系統(tǒng)采集不同速率需求的信號,擴展了該系統(tǒng)的應(yīng)用范圍。描述FPGA控制USB數(shù)據(jù)寫入接口芯片F(xiàn)IFO的狀態(tài)機如圖6所示。狀態(tài)1表示指向INFIFO,觸發(fā)FIFOADR[1:0],轉(zhuǎn)向狀態(tài)2;狀態(tài)2表示若FIFO未滿則轉(zhuǎn)向狀態(tài)3,否則停留在狀態(tài)2;狀態(tài)3表示驅(qū)動數(shù)據(jù)到總線上,通過觸發(fā)SLWR寫數(shù)據(jù)到FIFO并增加FIFO的指針,然后轉(zhuǎn)向狀態(tài)4;狀態(tài)4表示若還有數(shù)據(jù)寫則轉(zhuǎn)向狀態(tài)2,否則轉(zhuǎn)向完成。 3.3上位機設(shè)計 為實現(xiàn)人機交互,利用VC++MFC在PC機上編寫了可視化操作界面,即上位機。上位機既用于數(shù)據(jù)采集的控制,同時也用于采集數(shù)據(jù)的實時回放。上位機界面如圖7所示。上位機主要功能: 1)按下“檢測USB”按鈕,可檢測USB是否連接正常,并顯示USB基本信息。 2)按下“開始采集”按鈕,可將采集的數(shù)據(jù)傳輸?shù)絇C機并實時回放數(shù)據(jù)波形;再次按下“開始采集”按鈕,可暫停數(shù)據(jù)波形回放。 3)按下“保存數(shù)據(jù)”按鈕,可將采集的數(shù)據(jù)以*.dat文件的形式存儲到PC機硬盤。 4)按下“結(jié)束采集”按鈕,可關(guān)閉采集系統(tǒng)并退出界面;或按下“確定”和“取消”按鈕,也可直接退出界面。 4系統(tǒng)實測 為了測試數(shù)據(jù)采集與回放系統(tǒng),利用通用信號處理開發(fā)板設(shè)計了DDS模塊。該DDS模塊產(chǎn)生一個正弦波作為測試信號,通過AD9744芯片轉(zhuǎn)換后變?yōu)槟M信號輸出,并將此輸出信號接至示波器以便驗證系統(tǒng)。數(shù)據(jù)采集與回放系統(tǒng)的實物圖及系統(tǒng)實測波形與回放波形。 5結(jié)束語 通過實際測試,基于FPGA的數(shù)據(jù)采集與回放系統(tǒng)達到了預(yù)期設(shè)計的要求。此系統(tǒng)能夠?qū)δ繕?biāo)模擬數(shù)據(jù)進行采集,并能對采集的數(shù)據(jù)實時回放,且可將數(shù)據(jù)以*.dat文件的形式存入PC機硬盤;系統(tǒng)具有高速的采集傳輸功能,上位機能夠?qū)崟r、動態(tài)地回放數(shù)據(jù);信號采集板和處理板共用一套硬件,避免了重復(fù)制板,在實際調(diào)試時可方便地在信號采集與信號處理的工作模式間來回切換,提高了工作效率。原驅(qū)動程序官方版本為了滿足通用性和穩(wěn)定性的要求,限制了傳輸速率,本設(shè)計開發(fā)了相應(yīng)的USB驅(qū)動程序,提高了傳輸速率。 智能儀器設(shè)計實習(xí) 設(shè) 計 任 務(wù) 書 題目單片機數(shù)據(jù)采集系統(tǒng)的設(shè)計專業(yè)、班級學(xué)號姓名主要內(nèi)容、基本要求、主要參考資料等: 主要內(nèi)容: 功能要求:完成單片機數(shù)據(jù)采集系統(tǒng) 1)使用單片機采集數(shù)據(jù)。 2)將采集到的數(shù)據(jù)送上微機顯示、處理。 上述內(nèi)容為基本要求,可按照自己的理解增加功能使之更完善。 基本要求: ? 明確設(shè)計任務(wù),復(fù)習(xí)與查閱有關(guān)資料。 ? 設(shè)計所用硬件芯片按給定使用。 ? 按要求對設(shè)計進行簡要說明,總體設(shè)計方案,各部分的詳細設(shè)計。 ? 寫出體會和總結(jié)。 要求全部使用A4紙打印稿,不少于5000字。 主要參考資料: ? 李朝青編.《單片機原理及接口技術(shù)》(簡明修訂版).北京航空航天大學(xué)出版社,1998 ? 馮克.《MCS-51單片機實用子程序及其應(yīng)用實例》.黑龍江科學(xué)技術(shù)出版社,1990 ? 楊欣榮等.《智能儀器原理、設(shè)計與發(fā)展》.中南大學(xué)出版社,2003 ? 孫傳友等.《感測技術(shù)基礎(chǔ)》. 電子工業(yè)出版社,2001 ? 王福瑞等.《單片微機測控系統(tǒng)設(shè)計大全》.北京航空航天大學(xué)出版社,1999 ? 科技期刊:《單片機與嵌入式系統(tǒng)應(yīng)用》、《實用測試技術(shù)》、《自動化儀表》、《傳感器世界》、《測控技術(shù)》、《電子技術(shù)應(yīng)用》等2001年以后各期。 完成期限: 2013年12月16日 指導(dǎo)教師簽名: 2013年 12月16日 《單片機系統(tǒng)設(shè)計與應(yīng)用(校公選)》教學(xué)大綱 一、課程基本信息 1.課程英文名稱:Microcontroller system design and application 2.課程類別:技術(shù)基礎(chǔ)課程 3.課程學(xué)時:總學(xué)時32,實驗學(xué)時32 4.學(xué)分:2 5.先修課程:C語言 6.適用專業(yè):所有理工類本??粕?/p> 7.大綱執(zhí)筆:電氣信息實驗教學(xué)中心高鳳水 8.大綱審批:電氣信息學(xué)院學(xué)術(shù)委員會 9.制定時間:2011年12月 二、課程的目的與任務(wù) 本課程是獨立開設(shè)的實驗課,一切從實踐應(yīng)用出發(fā),使學(xué)生初步掌握單片機電路設(shè)計和單片機程序開發(fā)的方法;掌握常用的單片機開發(fā)調(diào)試工具的使用方法;掌握單片機集成開發(fā)環(huán)境使用;熟悉常見單片機的性能指標(biāo)和選型方法;基本掌握單片機系統(tǒng)的設(shè)計、組裝和調(diào)試方法,為以后從事工程技術(shù)和科學(xué)研究等方面的工作,在實踐能力方面打下基礎(chǔ)。 三、課程的基本要求 本課程在不影響學(xué)生理解的前提下,盡量淡化繁復(fù)的單片機工作原理理論,從實際應(yīng)用出發(fā),著重介紹單片機程序開發(fā)方法和硬件設(shè)計技巧。包括:常用的單片機設(shè)計開發(fā)平臺、單片機小系統(tǒng)設(shè)計方法、單片機程序調(diào)試方法和技巧、單片機設(shè)計原則和注意事項、常見單片機片上外設(shè)的使用、單片機外部器件擴展方法,等。 四、教學(xué)內(nèi)容、要求及學(xué)時分配 (一)理論教學(xué) 無 (二)實驗教學(xué) 1.單片機系統(tǒng)概述驗證性教學(xué)時數(shù):2 實驗?zāi)康模?/p> (1)學(xué)習(xí)和認識什么是單片機; (2)初步掌握單片機的基本工作原理; (3)了解和認識單片機系統(tǒng)的硬件組成。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 2.單片機開發(fā)平臺和調(diào)試工具使用驗證性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)學(xué)習(xí)常用的單片機集成開發(fā)環(huán)境和下載工具的使用; (2)學(xué)習(xí)和認識單片機最小系統(tǒng)板的機構(gòu)和使用; (3)學(xué)習(xí)單片機的IO訪問方法。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 3.單片機片內(nèi)資源使用綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)學(xué)習(xí)和掌握單片機內(nèi)數(shù)據(jù)傳遞及運算的基本方法; (2)學(xué)習(xí)和掌握利用SPI總線驅(qū)動七段數(shù)碼管的方法; (3)學(xué)習(xí)和掌握單片機內(nèi)timer以及中斷系統(tǒng)的使用方法。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 4.單片機片上外設(shè)使用綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)認識和了解什么是單片機片上外設(shè); (2)學(xué)習(xí)利用單片機片載EEPROM存取數(shù)據(jù)。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 5.單片機UART總線使用綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)認識和學(xué)習(xí)什么是UART總線; (2)學(xué)習(xí)利用RS232接口實現(xiàn)數(shù)據(jù)傳輸。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 6.單片機I2C總線使用綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)認識和學(xué)習(xí)什么是I2C總線; (2)利用I2C總線實現(xiàn)外部存儲器的數(shù)據(jù)存儲。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 7.用單片機做個數(shù)字溫度計綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)學(xué)習(xí)和掌握溫度的數(shù)字化測量方法; (2)了解基于one-wire總線的數(shù)字溫度傳感器DS18B20的使用方法; (3)初步掌握綜合性程序的設(shè)計調(diào)試方法。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 8.單片機紅外接收實驗綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)學(xué)習(xí)和掌握什么是紅外遙控; (2)初步掌握低速紅外數(shù)據(jù)傳輸?shù)姆椒ǎ?/p> (3)初步掌握利用單片機接收、解碼紅外遙控信號的方法。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 9.字符液晶使用綜合性教學(xué)時數(shù):3 實驗?zāi)康模?/p> (1)學(xué)習(xí)和掌握字符液晶的工作原理; (2)初步掌握字符型液晶的單片機驅(qū)動方法和程序編寫。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 10.單片機PWM波的產(chǎn)生綜合性 實驗?zāi)康模?/p> (1)學(xué)習(xí)什么是PWM波以及PWM波的簡單應(yīng)用; (2)學(xué)習(xí)和掌握PWM的單片機產(chǎn)生方法。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 11.單片機A/D轉(zhuǎn)換器使用綜合性 實驗?zāi)康模?/p> (1)初步掌握單片機A/D轉(zhuǎn)換器的使用方法; (2)利用單片機的片內(nèi)A/D轉(zhuǎn)換器測量電壓。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 12.單片機最小系統(tǒng)設(shè)計設(shè)計性 實驗?zāi)康模?/p> (1)學(xué)習(xí)基本的單片機的硬件設(shè)計方法; (2)初步掌握單片機電路設(shè)計的基本原則; (3)能夠設(shè)計基于單片機最小系統(tǒng)的硬件電路。 實驗儀器設(shè)備:單片機通用開發(fā)平臺,下載器,計算機。 在所有設(shè)定的實驗項目中任選32學(xué)時實驗。 五、考試考核辦法 課程成績=平時(作業(yè)、實驗、考勤)50%+考試50% 六、教材及參考書 (一)教材 《單片機系統(tǒng)設(shè)計與應(yīng)用實驗指導(dǎo)書》自編 (二)參考書 教學(xué)時數(shù):3 教學(xué)時數(shù):3 教學(xué)時數(shù):3 3 《單片機系統(tǒng)設(shè)計與應(yīng)用實例》,韓志軍,機械工業(yè)出版社第三篇:FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文
第四篇:單片機數(shù)據(jù)采集與雙機通信系統(tǒng)的設(shè)計任務(wù)書
第五篇:《單片機系統(tǒng)設(shè)計與應(yīng)用(公選)》教學(xué)大綱