含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會(huì)用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機(jī)來(lái)構(gòu)成。單片機(jī)波形發(fā)生器是以單片機(jī)核心,配相應(yīng)的外圍電路和功能軟件,能實(shí)現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對(duì)其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。
波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計(jì)1、 機(jī)器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個(gè)0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時(shí),無(wú)任何波形信號(hào)輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時(shí),按其它鍵,無(wú)效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時(shí),有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個(gè)0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會(huì)將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實(shí)現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號(hào),面板上相應(yīng)類型的運(yùn)行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號(hào),頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號(hào)時(shí),按下任意一個(gè)鍵,就停止波形信號(hào)輸出,等待重新設(shè)置參數(shù),設(shè)置過(guò)程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號(hào);8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過(guò)綜合比較,決定選用獲得廣泛應(yīng)用,性能價(jià)格高的常用芯片來(lái)構(gòu)成硬件電路。單片機(jī)采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動(dòng)器 ULN2803A(一塊),運(yùn)算放大器 LM324(一塊) 波形發(fā)生器的硬件電路由單片機(jī)、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機(jī)電路功能:形成掃描碼,鍵值識(shí)別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴(kuò)展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機(jī)尋址外設(shè),采用存儲(chǔ)器映像方式,外部接口芯片與內(nèi)部存儲(chǔ)器統(tǒng)一編址,89C51提供16根地址線P0(分時(shí)復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時(shí)還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號(hào),P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過(guò)74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機(jī)89C51內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對(duì)應(yīng)不同的定時(shí)初值,定時(shí)器的溢出信號(hào)作為中斷請(qǐng)求。控制定時(shí)器中斷的特殊功能寄存器設(shè)置如下:定時(shí)控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動(dòng)6位數(shù)碼管動(dòng)態(tài)顯示; 提供響應(yīng)界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動(dòng)器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為L(zhǎng)ED段碼輸出口,與74LS244相連接,B口作為L(zhǎng)ED的位選信號(hào)輸出口,與ULN2803A相連接。8255內(nèi)部的4個(gè)寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運(yùn)放組成。0832(1)是參考電壓提供者,單片機(jī)向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會(huì)產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個(gè)模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號(hào)時(shí),其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號(hào),單片機(jī)在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過(guò)D/A轉(zhuǎn)換,得到波形的模擬樣值點(diǎn),假如N個(gè)點(diǎn)就構(gòu)成波形的一個(gè)周期,那么0832(2)輸出N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,就是波形信號(hào)的一個(gè)周期。重復(fù)輸出N個(gè)點(diǎn)后,由此成第二個(gè)周期,第三個(gè)周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號(hào)。運(yùn)放A1是直流放大器,運(yùn)放A2是單極性電壓放大器,運(yùn)放A3是雙極性驅(qū)動(dòng)放大器,使波形信號(hào)能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過(guò)開關(guān),保險(xiǎn)管(1.5A/250V),到變壓器降壓,由220V降為10V,通過(guò)硅堆將交流電變成直流電,對(duì)于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。
標(biāo)簽:
波形發(fā)生器
原理圖
電路圖
源程序
上傳時(shí)間:
2013-11-08
上傳用戶:685
AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)詳細(xì)介紹ATMEL公司開發(fā)的AVR高速嵌入式單片機(jī)的結(jié)構(gòu);講述AVR單片機(jī)的開發(fā)工具和集成開發(fā)環(huán)境(IDE),包括Studio調(diào)試工具、AVR單片機(jī)匯編器和單片機(jī)串行下載編程;學(xué)習(xí)指令系統(tǒng)時(shí),每條指令均有實(shí)例,邊學(xué)習(xí)邊調(diào)試,使學(xué)習(xí)者看得見指令流向及操作結(jié)果,真正理解每條指令的功能及使用注意事項(xiàng);介紹AVR系列多種單片機(jī)功能特點(diǎn)、實(shí)用程序設(shè)計(jì)及應(yīng)用實(shí)例;作為提高篇,講述簡(jiǎn)單易學(xué)、適用AVR單片機(jī)的高級(jí)語(yǔ)言BASCOMAVR及ICC AVR C編譯器。
AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版) 目錄 第一章ATMEL單片機(jī)簡(jiǎn)介1.1ATMEL公司產(chǎn)品的特點(diǎn)11.2AT90系列單片機(jī)簡(jiǎn)介21.3AT91M系列單片機(jī)簡(jiǎn)介2第二章AVR單片機(jī)系統(tǒng)結(jié)構(gòu)2.1AVR單片機(jī)總體結(jié)構(gòu)42.2AVR單片機(jī)中央處理器CPU62.2.1結(jié)構(gòu)概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運(yùn)算邏輯單元92.3AVR單片機(jī)存儲(chǔ)器組織102.3.1可下載的Flash程序存儲(chǔ)器102.3.2內(nèi)部和外部的SRAM數(shù)據(jù)存儲(chǔ)器102.3.3EEPROM數(shù)據(jù)存儲(chǔ)器112.3.4存儲(chǔ)器訪問(wèn)和指令執(zhí)行時(shí)序112.3.5I/O存儲(chǔ)器132.4AVR單片機(jī)系統(tǒng)復(fù)位162.4.1復(fù)位源172.4.2加電復(fù)位182.4.3外部復(fù)位192.4.4看門狗復(fù)位192.5AVR單片機(jī)中斷系統(tǒng)202.5.1中斷處理202.5.2外部中斷232.5.3中斷應(yīng)答時(shí)間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機(jī)的省電方式242.6.1休眠狀態(tài)242.6.2空閑模式242.6.3掉電模式252.7AVR單片機(jī)定時(shí)器/計(jì)數(shù)器252.7.1定時(shí)器/計(jì)數(shù)器預(yù)定比例器252.7.28位定時(shí)器/計(jì)數(shù)器0252.7.316位定時(shí)器/計(jì)數(shù)器1272.7.4看門狗定時(shí)器332.8AVR單片機(jī)EEPROM讀/寫訪問(wèn)342.9AVR單片機(jī)串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機(jī)模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態(tài)寄存器ACSR462.11AVR單片機(jī)I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機(jī)存儲(chǔ)器編程612.12.1編程存儲(chǔ)器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機(jī)開發(fā)工具3.1AVR實(shí)時(shí)在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機(jī)開發(fā)下載實(shí)驗(yàn)器SL?AVR703.4AVR集成開發(fā)環(huán)境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態(tài)開發(fā)實(shí)驗(yàn)系統(tǒng)793.6SL?AVR*.ASM源文件說(shuō)明81第四章AVR單片機(jī)指令系統(tǒng)4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達(dá)式874.2尋址方式894.3數(shù)據(jù)操作和指令類型924.3.1數(shù)據(jù)操作924.3.2指令類型924.3.3指令集名詞924.4算術(shù)和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補(bǔ)指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉(zhuǎn)移指令1114.5.1無(wú)條件轉(zhuǎn)移指令1114.5.2條件轉(zhuǎn)移指令1144.6數(shù)據(jù)傳送指令1354.6.1直接數(shù)據(jù)傳送指令1354.6.2間接數(shù)據(jù)傳送指令1374.6.3從程序存儲(chǔ)器直接取數(shù)據(jù)指令1444.6.4I/O口數(shù)據(jù)傳送指令1454.6.5堆棧操作指令1464.7位指令和位測(cè)試指令1474.7.1帶進(jìn)位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長(zhǎng)間接調(diào)用子程序1624.8.2EIJMP--擴(kuò)展間接跳轉(zhuǎn)1634.8.3ELPM--擴(kuò)展裝載程序存儲(chǔ)器1644.8.4ESPM--擴(kuò)展存儲(chǔ)程序存儲(chǔ)器1644.8.5FMUL--小數(shù)乘法1664.8.6FMULS--有符號(hào)數(shù)乘法1664.8.7FMULSU--有符號(hào)小數(shù)和無(wú)符號(hào)小數(shù)乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號(hào)數(shù)乘法1694.8.10MULSU--有符號(hào)數(shù)與無(wú)符號(hào)數(shù)乘法1694.8.11SPM--存儲(chǔ)程序存儲(chǔ)器170
第五章AVR單片機(jī)AT90系列5.1AT90S12001725.1.1特點(diǎn)1725.1.2描述1735.1.3引腳配置1745.1.4結(jié)構(gòu)縱覽1755.2AT90S23131835.2.1特點(diǎn)1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點(diǎn)1865.3.2描述1875.3.3引腳配置1895.3.4開發(fā)實(shí)驗(yàn)工具1905.4AT90S2333/44331915.4.1特點(diǎn)1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點(diǎn)1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點(diǎn)1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結(jié)構(gòu)2015.6.6定時(shí)器/計(jì)數(shù)器2125.6.7看門狗定時(shí)器 2175.6.8EEPROM讀/寫2175.6.9串行外設(shè)接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數(shù)轉(zhuǎn)換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點(diǎn)2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點(diǎn)2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點(diǎn)2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點(diǎn)2405.10.2描述2415.10.3引腳配置2435.10.4開發(fā)實(shí)驗(yàn)工具2455.11ATmega1612465.11.1特點(diǎn)2465.11.2描述2475.11.3引腳配置2475.12AVR單片機(jī)替代MCS51單片機(jī)249第六章實(shí)用程序設(shè)計(jì)6.1程序設(shè)計(jì)方法2506.1.1程序設(shè)計(jì)步驟2506.1.2程序設(shè)計(jì)技術(shù)2506.2應(yīng)用程序舉例2516.2.1內(nèi)部寄存器和位定義文件2516.2.2訪問(wèn)內(nèi)部 EEPROM2546.2.3數(shù)據(jù)塊傳送2546.2.4乘法和除法運(yùn)算應(yīng)用一2556.2.5乘法和除法運(yùn)算應(yīng)用二2556.2.616位運(yùn)算2556.2.7BCD運(yùn)算2556.2.8冒泡分類算法2556.2.9設(shè)置和使用模擬比較器2556.2.10半雙工中斷方式UART應(yīng)用一2556.2.11半雙工中斷方式UART應(yīng)用二2566.2.128位精度A/D轉(zhuǎn)換器2566.2.13裝載程序存儲(chǔ)器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲(chǔ)的檢查2566.2.164×4鍵區(qū)休眠觸發(fā)方式2576.2.17多工法驅(qū)動(dòng)LED和4×4鍵區(qū)掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能12596.2.22驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能22596.2.23驗(yàn)證SLAVR實(shí)驗(yàn)器及具有DIP40封裝的口功能第七章AVR單片機(jī)的應(yīng)用7.1通用延時(shí)子程序2607.2簡(jiǎn)單I/O口輸出實(shí)驗(yàn)2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實(shí)現(xiàn)字符8的循環(huán)移位顯示程序2757.3.4電腦放音機(jī)2777.3.5鍵盤掃描程序2857.3.6十進(jìn)制計(jì)數(shù)顯示2867.3.7廉價(jià)的A/D轉(zhuǎn)換器2897.3.8高精度廉價(jià)的A/D轉(zhuǎn)換器2947.3.9星星燈2977.3.10按鈕猜數(shù)程序2987.3.11漢字的輸入3047.4復(fù)雜實(shí)用程序3067.4.110位A/D轉(zhuǎn)換3067.4.2步進(jìn)電機(jī)控制程序3097.4.3測(cè)脈沖寬度3127.4.4LCD顯示8字循環(huán)3187.4.5LED電腦時(shí)鐘3247.4.6測(cè)頻率3307.4.7測(cè)轉(zhuǎn)速3327.4.8AT90S8535的A/D轉(zhuǎn)換334第八章BASCOMAVR的應(yīng)用8.1基于高級(jí)語(yǔ)言BASCOMAVR的單片機(jī)開發(fā)平臺(tái)3408.2BASCOMAVR軟件平臺(tái)的安裝與使用3418.3AVR I/O口的應(yīng)用3458.3.1LED發(fā)光二極管的控制3458.3.2簡(jiǎn)易手控廣告燈3468.3.3簡(jiǎn)易電腦音樂(lè)放音機(jī)3478.4LCD顯示器3498.4.1標(biāo)準(zhǔn)LCD顯示器的應(yīng)用3498.4.2簡(jiǎn)單游戲機(jī)--按鈕猜數(shù)3518.5串口通信UART3528.5.1AVR系統(tǒng)與PC的簡(jiǎn)易通信3538.5.2PC控制的簡(jiǎn)易廣告燈3548.6單總線接口和溫度計(jì)3568.7I2C總線接口和簡(jiǎn)易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴(kuò)展名3659.1.3附注和擴(kuò)充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對(duì)安裝完成的軟件進(jìn)行注冊(cè)3679.3ICC AVR導(dǎo)游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環(huán)境3709.4.1編譯一個(gè)單獨(dú)的文件3709.4.2創(chuàng)建一個(gè)新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應(yīng)用構(gòu)筑向?qū)?719.4.6狀態(tài)窗口3719.4.7終端仿真3719.5C庫(kù)函數(shù)與啟動(dòng)文件3729.5.1啟動(dòng)文件3729.5.2常用庫(kù)函數(shù)3729.5.3字符類型庫(kù)3739.5.4浮點(diǎn)運(yùn)算庫(kù)3749.5.5標(biāo)準(zhǔn)輸入/輸出庫(kù)3759.5.6標(biāo)準(zhǔn)庫(kù)和內(nèi)存分配函數(shù)3769.5.7字符串函數(shù)3779.5.8變量參數(shù)函數(shù)3799.5.9堆棧檢查函數(shù)3799.6AVR硬件訪問(wèn)的編程3809.6.1訪問(wèn)AVR的底層硬件3809.6.2位操作3809.6.3程序存儲(chǔ)器和常量數(shù)據(jù)3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對(duì)內(nèi)存地址3849.6.9C任務(wù)3859.6.10中斷操作3869.6.11訪問(wèn)UART3879.6.12訪問(wèn)EEPROM3879.6.13訪問(wèn)SPI3889.6.14相對(duì)轉(zhuǎn)移/調(diào)用的地址范圍3889.6.15C的運(yùn)行結(jié)構(gòu)3889.6.16匯編界面和調(diào)用規(guī)則3899.6.17函數(shù)返回非整型值3909.6.18程序和數(shù)據(jù)區(qū)的使用3909.6.19編程區(qū)域3919.6.20調(diào)試3919.7應(yīng)用舉例*3929.7.1讀/寫口3929.7.2延時(shí)函數(shù)3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環(huán)移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機(jī)簡(jiǎn)介398附錄2AT94K系列現(xiàn)場(chǎng)可編程系統(tǒng)標(biāo)準(zhǔn)集成電路401附錄3指令集綜合404附錄4AVR單片機(jī)選型表408參 考 文 獻(xiàn)412
標(biāo)簽:
AVR
高速嵌入式
單片機(jī)原理
上傳時(shí)間:
2013-11-08
上傳用戶:xcy122677