freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)(編輯修改稿)

2025-02-12 22:25 本頁面
 

【文章內(nèi)容簡介】 的數(shù)據(jù)為 0FFH 時(shí), 則 U1的輸出電壓為 5V. 故當(dāng) U1 輸出電壓為 0V 時(shí),由公式 得: Vout = 5V 時(shí),可得: Vout = +5V, 所以輸出波形的電壓變化范圍為 5V~ + 5V. 故可推得,當(dāng) P0 所送數(shù)據(jù)為 80H 時(shí), Vout 為 0V[4]。 圖 數(shù)模轉(zhuǎn)換電路 按鍵接口電路 由于本設(shè)計(jì)要求控制波形的幅度和頻率,所需按鍵較多,所以設(shè)計(jì)選用 P1 口來擴(kuò)展 4 4 鍵盤。 本設(shè)計(jì)中要 求用數(shù)碼管顯示輸出信號(hào)的幅度和頻率等信息,而這些信息在信號(hào)輸出的時(shí)候是不需要時(shí)刻改變的,所以設(shè)計(jì)中選用靜態(tài)數(shù)碼管顯示,由單片機(jī)的串行通信口輸出顯示數(shù)據(jù)。這樣可以節(jié)省單片機(jī)的端口來做其它的用途,給予了裝置可優(yōu)化性。 圖 為鍵盤接口電路的原理圖,圖中鍵盤和 8155 的 PA 口相連, AT89C51 的 P0口和 8155 的 D0 口相連, AT89C51 不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)1 2 3 01 2 3U U UR R R???相應(yīng)按鍵作出反應(yīng)。其中“ S0”號(hào)鍵代表方波輸出,“ S1”號(hào)鍵代表正弦波輸出,“ S2”號(hào)鍵代表三角波輸出。 “ S3”號(hào)鍵代表鋸齒波輸 出,“ S4”號(hào)鍵為 10Hz 的頻率信號(hào),“ S5”號(hào)鍵為 100Hz 的頻率信號(hào),“ S6”號(hào)鍵為 500Hz 的頻率信號(hào),“ S7”號(hào)鍵為 1KHz的頻率信號(hào) [3]。 圖 按鍵接口 時(shí)鐘電路 時(shí)鐘電路可以簡單定義如下: 。 ,用于產(chǎn)生這個(gè)時(shí)間的電路就是時(shí)鐘電路,時(shí)鐘電路一般由晶體振蕩器 、 晶震控制芯片和電容組成。 17 圖 時(shí)鐘電路 8051 單片機(jī)有兩個(gè)引腳( XTAL1, XTAL2)用于外接石英晶體和微調(diào)電容,從而構(gòu)成時(shí)鐘電路,其電路圖如圖 所示。 電容 C C2 對(duì)振蕩頻率有穩(wěn)定作用,其容量的選擇為 30pf,振蕩器選擇頻率為12MHz 的石英晶體。 由于頻率較大時(shí),三角波、正弦波、鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形 [9]。 顯示電路 顯示電路是用來顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用 LED 數(shù)碼管顯示器。而且 LED 數(shù)碼管是采用共陽極接法,當(dāng)主控端口輸出一個(gè)低電平后 ,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖 所示。 圖 LED 顯示電路 第五章 軟件設(shè)計(jì) 設(shè)計(jì)構(gòu)思 1 幅度控制 由于 D/A 數(shù)模轉(zhuǎn)換器輸出的最大幅度可以用其基準(zhǔn)電壓來控制,所以控制第二片 D/A 數(shù)模轉(zhuǎn)換器輸出給第一片 D/A 數(shù)模轉(zhuǎn)換器的電壓值就可控制信號(hào)幅度。因此,送入第二片的值是幾個(gè)固定的值。由于 DAC0832 內(nèi)部具有鎖存器,所以只需向第二片 D/A 送值一次,直到下一次改變信號(hào)幅度。 2 頻率控制 單片機(jī)內(nèi)部數(shù)據(jù)只有 0、 1 之分,所產(chǎn)生的信號(hào)也都是離散信號(hào) 。為了能夠讓單片機(jī)輸出所需的數(shù)字信號(hào),我們采用對(duì)信號(hào)采樣、量化的方法來實(shí)現(xiàn)由單片機(jī)產(chǎn)生所需信號(hào)。在本設(shè)計(jì)中,對(duì)信號(hào)的四分之一周期采樣 19 個(gè)幅度值,通過反復(fù)查表來輸出幅度值,而整個(gè)信號(hào)是通過正查表和逆向查表來實(shí)現(xiàn)的。采樣的點(diǎn)越密,信號(hào)失真度也就越小。兩次采樣點(diǎn)的輸出時(shí)間間隔是由定時(shí)、計(jì)數(shù)器來控制的,因此,通過控制不同的計(jì)數(shù)初值就可以控制整個(gè)信號(hào)的頻率。計(jì)數(shù)時(shí)間 =信號(hào)周期 /72。計(jì)數(shù)次數(shù) =計(jì)數(shù)時(shí)間 /機(jī)器周期。對(duì)應(yīng)的,計(jì)數(shù)初值 =65536- 計(jì)數(shù)次數(shù)。單片機(jī)只能產(chǎn)生離散頻率的信號(hào),所以所得到的信號(hào)頻率不是連續(xù)的,而 是離散的頻率點(diǎn)。由于這部分計(jì)算位數(shù)較多,不適合用單片機(jī)編程來計(jì)算計(jì)數(shù)初值,所以本設(shè)計(jì)中將各頻率的計(jì)數(shù)初值算出,讓單片機(jī)按控制命令來查表控制頻率。 正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控制是半周期計(jì)數(shù),經(jīng)過半周期只需改變輸出為最大或最小電平即可。 程序流程圖 本文中 子程序的調(diào)用是通過按鍵的選擇來實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,啟動(dòng) 19 計(jì)時(shí)器和相應(yīng)的中斷服務(wù)程序,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過轉(zhuǎn)換輸出相應(yīng)的電壓,從而形成所需的各種波形。 主程序的流程圖如圖 所示,在程序開 始運(yùn)行之后,首先是對(duì) 8155 進(jìn)行初始 化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結(jié)束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。 圖 主程序流程圖 下面說明主程序流程圖的程序?qū)崿F(xiàn): 1. 開始: ORG 0000H 程序開始執(zhí)行,首先覺得跳轉(zhuǎn)到主程序 AJM MAIN ORG 000BH 定時(shí)器 0 中斷入口地址,跳轉(zhuǎn)到中斷服務(wù)程序 LJMP TCO ORG 0030H 初始化: MOV DPTR, 7F00H 指向 8155 命令字端口地址 MOV A, 06H 設(shè)置 A 口為輸入, B 口、 C 口為輸出 MOVX @ DPTR, A 送 命令字 : MOV DPTR, 7F01H 指向 A 口地址 MOVX A,@ DPTR 讀入 A 口的開關(guān)數(shù)據(jù) JNB , K10H 判斷是否“ 4”號(hào)鍵,若是則轉(zhuǎn)輸出 10Hz 信號(hào) JNB , K100H 判斷是否“ 5”號(hào)鍵,若是則轉(zhuǎn)輸出 100Hz 信號(hào) JNB , K500H 判斷是否“ 6”號(hào)鍵,若是則轉(zhuǎn)輸出 500Hz 信號(hào) JNB , K1K 判斷是否“ 7”號(hào)鍵,若是則轉(zhuǎn)輸出 1KHz 信號(hào) AJMP MAIN 無鍵按下則返回等待 ,以 10HZ 為例 K10H: MOV 30H, 00H 顯示 10Hz MOV 31H, 00H MOV 32H, 00H MOV 33H, 00H MOV 34H, 01H MOV 35H, 00H LCALL LED1 調(diào)顯示子程序 MOV TMOD, 00H MOV TL0, 15H 21 MOV TH0, 9EH AJMP PD ,以 10HZ 為例 K10H: MOV 30H, 00H 顯示 10Hz MOV 31H, 00H MOV 32H, 00H MOV 33H, 00H MOV 34H, 01H MOV 35H, 00H LCALL LED1 調(diào)顯示子程序 示子程序: LED1: MOV R3, 06H 設(shè)置 6 個(gè) LED 顯示 MOV R2, 01H 選通第一位 LED 數(shù)據(jù) MOV R1, 30H 送顯示緩沖區(qū)首址 GN1: MOV DPTR, 7F03H 指向 C 口地址 MOV A, R2 位選通數(shù)據(jù)送 A MOVX @ DPTR, A 位選通數(shù)據(jù)送 C 口 RL A 選通下一位 MOV R2, A 位選通數(shù)據(jù)送 R2 中保存 MOV A, @ R1 取鍵值 MOV DPTR, TAB 送 LED 顯示軟件譯碼表首址 MOVC A,@ A+DPTR 查表求出鍵值顯示的段碼 MOV DPTR, 7F02H 指向 B 口地址 MOV @ DPTR, A 段碼送顯示 LCALL LOOP1 調(diào)延時(shí)子程序 INC R1 指向下一位顯示緩沖區(qū)地址 DJNZ R3, GN1 循環(huán)顯示 6 個(gè) LED RET : GN: SETB TR0 啟動(dòng)定時(shí)器 SETB ET0 開定時(shí)器 0 中斷 SETB EA 開總中斷 : PD: JNB , KE0 判斷是否“ 0”號(hào)鍵按下,若是則轉(zhuǎn)方波輸出 JNB , KE1 判斷是否“ 1”號(hào)鍵按下,若是則轉(zhuǎn)正弦方波 輸出 JNB , KE2 判斷是否“ 2”號(hào)鍵按下,若是則轉(zhuǎn)三角波輸出 JNB , KE3 判斷是否“ 3”號(hào)鍵按下,若是則轉(zhuǎn)鋸齒波輸出 LJMP PD 無鍵按下則返回等待 圖 為各波形子程序的流程圖。如圖所示,在中斷服務(wù)子程序開始后,通過判斷來確定各種波形的輸出,當(dāng)判斷選擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛啵绱朔磸?fù)。如果選擇的是方波,則用查表的方法求出相應(yīng)的數(shù)據(jù),并通過 D/A 轉(zhuǎn)換 器將數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào),形成所需波形信號(hào) 。 圖 子程序流程圖 下面說明 子程序流程圖的實(shí)現(xiàn): 1. 中斷服務(wù)程序開始: 23 LJMP TCO 絕對(duì)跳轉(zhuǎn)到中斷服務(wù)程序 2. 判斷是否方波及處理方法: TCO:CJNE R7,00H,TC1 判斷是否是方波,不是則跳轉(zhuǎn) MOV DPTR,TAB1 送方波數(shù)據(jù)表首址 MOV A,R6 發(fā)送數(shù)據(jù)寄存器 MOVC A,@ A+DPTR MOV DPTR, 0AFFFH 指向 DAC0832( 2) MOVX @ DPTR, A DAC0832( 2)輸出 MOV A, R6 INC A MOV R6, A CJNE A, 32, QL1 MOV R6, 00H AJMP QL1 3. 判斷是夠是正弦波及處理方法: TC1: CJNE R7, 01H, TC2 發(fā)送正弦波程序 MOV DPTR, TAB2 送正弦波數(shù)據(jù)表首址 MOV A, R6 MOVC A, @ A+DPTR MOV DPTR, 0AFFFH 指向 DAC0832( 2) MOVX @ DPTR, A DAC0832( 2)輸出 MOV A, R6 INC A MOV R6, A CJNE A, 32
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1