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

正文內容

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

2024-07-11 02:31 本頁面
 

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