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

正文內(nèi)容

基于dds和單片機的信號發(fā)生器設(shè)計-閱讀頁

2024-12-06 20:41本頁面
  

【正文】 ( T1IN)、 14 腳( T1OUT)為第一數(shù)據(jù)通道。 TTL/CMOS 數(shù)據(jù)從 T1IN、 T2IN 輸入轉(zhuǎn)換成 RS232 數(shù)據(jù)從T1OUT、 T2OUT 送到電腦 DP9 插頭, DP9 插頭的 RS232 數(shù)據(jù)從 R1IN、 R2IN輸入轉(zhuǎn)換成 TTL/CMOS 數(shù)據(jù)后從 R1OUT、 R2OUT 輸出。 15 腳 GND、 16 腳 VCC( +5v)。 圖 MAX232 電路圖 4 4 矩陣鍵盤 4 4 矩陣鍵盤 的工作原理 矩陣鍵盤又稱為行列式鍵盤,它是用 4 條 I/O 線作為行線, 4 條 I/O 線作為列線組成。這樣鍵盤中按鍵的個數(shù)是 16 個。 圖 為本設(shè)計的 4 4 矩陣鍵盤電路圖。因此,液晶顯示器畫質(zhì)高且不會閃爍。 液晶顯示介紹 ○ 1 液晶顯示原理 液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。 ○ 2 液晶顯示器的分類 液晶顯示的分類方法有很多種,通常可按其顯示方式分為段式、字符式、點陣式等。 LCD1602 字符型液晶顯示模塊介紹 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣 的 LCD,一般 的 LCD1602 字符型液晶顯示 模塊 實物如圖 ??刂菩酒?使用宏晶科技的STC89C52,這種單片機價格低廉、性能優(yōu)異,完全可以滿足本系統(tǒng)的要求。第一張電路板包括單片機最小系統(tǒng)、 4 4 矩陣鍵盤和液晶顯示部分,該 部分 PCB 圖如圖 所示。兩部分采用接插件相互連接。除了 10 個數(shù)字鍵以外,還有 5 個功能鍵,右上角的 C 是退格改正鍵,用于改正輸入錯誤。最下面一排左邊三個鍵是單位鍵,從左到右依次是 Hz, KHz 和 MHz。第二行顯示當(dāng)前的工作頻率,頻率值為 7 位整數(shù) +小數(shù)點 +1 位小數(shù),單位是 Hz。第一行的“ PinLvF=”后面為輸入?yún)^(qū),可用數(shù)字鍵和小數(shù)點鍵直接鍵入需要的頻率,鍵入的數(shù)字 (包括小數(shù)點 )立即顯示在“ PinLvF=”后面,輸入有誤時可用退格鍵“ C”改正。按過單位鍵之后,輸入的頻率隨即出現(xiàn)在顯示器的第二行,不管鍵入的是哪個單位,顯示的值都是以 Hz 為單位的值。 攀枝花學(xué)院本科畢業(yè)設(shè)計(論文) 22 圖 鍵位功能圖 圖 液晶 輸出頻率顯示格式 3 軟件程序設(shè)計 23 3 軟件程序設(shè)計 軟件設(shè)計 內(nèi)部寄存器、控制字和編程 ○ 1 內(nèi)部寄存器 AD9835 內(nèi)部有一個 32 位相位累加器,兩個 32 位頻率寄存器 (F0 和 F1),四個 12位相位寄存器 (P0, P1, P2, P3)。尋址得到的幅值通過 10位高速 D/A 轉(zhuǎn)換后,合成相應(yīng)的余弦信號。引腳 PSEL0 和 PSELl 的值決定選用 4 個 12 位相位寄存器中的一個。 可根據(jù)需要使用單片機通過 AD9835 的控制接口給 AD9835 輸入相應(yīng)的數(shù)據(jù), 32位的頻率值被加載到 AD9835 的兩個頻率寄存器中, 12 位的相位值被加載到 12 位的相位寄存器中。 12 位相位寄存器的值被分為兩段,如表 所列,每段也有一個地址與它對應(yīng)。 表 用引腳選擇頻率寄存器和相位寄存器 寄存器 二進制位數(shù) 說明 FREQ0 32 頻率寄存器 0, FSELECT=0 時有效 FREQ1 32 頻率寄存器 1, FSELECT=1 時有效 PHASE0 12 相位寄存器 0, PSEL0=PSEL1=0 時有效 PHASE1 12 相位寄存器 1, PSEL0=1 和 PSEL1=0 時有效 PHASE2 12 相位寄存器 2, PSEL0=0 和 PSEL1=1 時有效 PHASE3 12 相位寄存器 3, PSEL0=PSEL1=1 時有效 表 32 位頻率字 16 MSB 16 LSB 8 H MSB 8 L MSB 8 H LSB 8 L LSB 表 12 位相位字 4 MSB 8 LSB 攀枝花學(xué)院本科畢業(yè)設(shè)計(論文) 24 表 頻率寄存器和相位寄存器的地址 A3 A2 A1 A0 寄存器 0 0 0 0 FREG0 8 L LSB 0 0 0 1 FREG0 8 H LSB 0 0 1 0 FREG0 8 L MSB 0 0 1 1 FREG0 8 H MSB 0 1 0 0 FREG1 8 L LSB 0 1 0 1 FREG1 8 H LSB 0 1 1 0 FREG1 8 L MSB 0 1 1 1 FREG1 8 H MSB 1 0 0 0 PHASE0 8 LSB 1 0 0 1 PHASE0 8 MSB 1 0 1 0 PHASE1 8 LSB 1 0 1 1 PHASE1 8 MSB 1 1 0 0 PHASE2 8 LSB 1 1 0 1 PHASE2 8 MSB 1 1 1 0 PHASE3 8 LSB 1 1 1 1 PHASE3 8 MSB ○ 2 控制字 AD9835 有兩種不同的控制字,即初始化控制字和數(shù)據(jù)控制字。這兩種控制字都是 16位的。當(dāng) D14 位取不同值時,該控制字有兩種不同的模式和含義。該模式用于同步設(shè)定和選擇相位及頻率寄存器的控制源。該模式用于對 AD9835 設(shè)定休眠、復(fù)位和清零功能。 表 初始化控制字 A模式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 1 0 SYNC SELSRC X X X X X X X X X X X X 表 初始化控制 B 模式 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 1 1 SLEEP RESET CLR X X X X X X X X X X X 表 初始化控制宇 D14 位定義的功能 3 軟件程序設(shè)計 25 D15 D14 命令 1 0 D13 是使能同步位 FYNC: 當(dāng) D13=1 時,讀 FSELECT、 PSEL0、 PSEL1 位或引腳,在MCLK的上升沿同步加載數(shù)據(jù)定義寄存器,該同步的反應(yīng)時間增加到兩個 MCLK 時鐘周期。 D12 是相位和頻率寄存器的控制源選擇位 SELSRC: 當(dāng) D12=1 時,由位 FSELECT、 PSEL0、 PSEL1選擇相位和頻率寄存器 當(dāng) D12=0 時,由引腳 FSELECT、 PSEL0、 PSEL1選擇相位和頻率寄存器 D11 是頻率選擇位 FSELECT D10 是相位選擇位 PSEL1 D9 是相位選擇位 PSEL0 1 1 D13 位是休眠位 SLEEP: 當(dāng) D13=1 時, AD9835 掉電休眠,內(nèi)部時鐘停止, D/A電流源和參考電壓關(guān)閉。 D11 是清零位 CLR: 當(dāng) D11=1時, SYNC 和 SELSRC 被置零, CLR自動復(fù)位到零 . 數(shù)據(jù)控制字主要用 于給 AD9835 加載頻率和相位值,其格式如表 所列。其中 4 位地址 A3~ A0 就是表 所代表的頻率或相位寄存器的地址。 表 數(shù)據(jù)控制字中的 C 命令 C3 C2 C1 C0 命令 0 0 0 0 從串口給所選相位寄存器寫入 16 位相位字 0 0 0 1 從串口給所選相位寄存器寫入 8 位相位字 0 0 1 0 從串口給所選頻率寄存器寫入 16 位頻率字 0 0 1 1 從串口給所選頻率寄存器寫入 8 位頻率字 0 1 0 0 選擇相位寄存器: SELSRC=1 時,用位 PSEL0( D9)和PSEL1(D10)選擇相位寄存器。 0 1 0 1 選擇頻 率寄存器: SELSRC=1 時,用位 FSELECT(D11)選擇頻率寄存器。 0 1 1 0 僅一次寫入即可同時設(shè)定頻率寄存器和相位寄存器: SELSRC=1 時,用位 PSEL0( D9)和PSEL1(D10)選擇相位寄存器,用位FSELECT(D11)選擇頻率寄存器。 0 1 1 1 測試,用于制造商檢查的保留命令 ○ 3 編程 AD9835 的編程實際上就是單片機通過 AD9835 的串行數(shù)據(jù)輸入線向 AD9835 寫入初始化控制字和數(shù)據(jù)控制字。一旦設(shè)定后, AD9835 將保持設(shè)定狀態(tài)不變,直到重新設(shè)置。 子程序 AD9835_ INIT(void)中的前面兩條語句就是給 AD9835 寫入表 的初始化控制字,對 AD9835 復(fù)位清零,控制字的值為 F800H。每個控制字由 4 位命令、 4 位地址和 8 位頻率值三部分組成,頻率值只有 8 位,對于 32 位的頻率值來說,需要寫四次才能完成。 AD9835 的輸出頻率可由下面公式計算 式( ) 式中的 △ phase 是相位增量; fclk是基準(zhǔn)時鐘頻率,這里為 50MHz,當(dāng)基準(zhǔn)時鐘頻率一定時, AD9835 可輸出的最低信號頻率為 式( ) 將 fclk=50MHz 代入公式( ),可求得 fmin=。 當(dāng)需要 AD9835 輸出某一頻率為 f 的信號時,由式( ),式( )和式( )可求出相應(yīng)的相位增量為 式( ) 實際上,相位增量就是決定 AD9835 輸出頻率的數(shù)據(jù)控制字中的頻率數(shù)據(jù),將它寫入 AD9835 的頻率寄存器中,就能使 AD9835 輸出需要的信號頻率。子程 序 AD9835_WORK(void)就是利用公式 ()進行計算的。 16 位的控制字分為 2 字節(jié),由子程序 AD9835_WORD(uchar)寫入 AD9835,由于子程序 AD9835_BYTE(uchar)一次只能寫入 1 字節(jié),所以,需要調(diào)用 AD9835_WORD(uchar)兩次才能完成。 void AD9835_BYTE(uchar a) { uchar n=0。n8。0x80)==0) { SDATA=0。 } SCLK=0。 _nop_()。 } } void AD9835_WORD(uchar *p) { 攀枝花學(xué)院本科畢業(yè)設(shè)計(論文) 28 FSYNC=0。 p++。 FSYNC=1。 AD9835_WORD(dds)。 dds[1]=0x00。 dds[0]=0x33。 AD9835_WORD(dds)。 dds[1]=freq_word[1]。 dds[0]=0x31。 AD9835_WORD(dds)。 dds[1]=freq_word[3]。 dds[0]=0xC0。 AD9835_WORD(dds)。 float X。 Z=X。 freq_word[2]=(char)(Z8)。 freq_word[0]=(char)(Z24)。矩陣的行線和列線 分成兩個 4 位 并行接口和 單片機 通信。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。 鍵盤 程序 流程圖如圖 開 始按 鍵 按 下延 時 去 抖確 認(rèn) 按鍵 按 下P 1 = 0 X F 0P 1 = 0 X F E本 行 是 否 有按 鍵 按 下P 1 = 0 X F D本 行 是 否 有按 鍵 按 下P 1 = 0 X F B本 行 是 否 有按 鍵 按 下P 1 = 0 X F 7是是否否否否否是按 鍵 特 征 碼是是查 鍵 值 表結(jié) 束 圖 鍵盤程序流程圖 4 4 矩陣鍵盤的編程方法 ○ 1 先讀取鍵盤的狀態(tài),得到按鍵的特征編碼 先從 P0 口的高四位輸出高電平,低四位輸出低電平,從 P0 口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來就可以得到當(dāng)前按鍵的特征編碼。 使用掃描查詢法運行,用 C 語言編寫的鍵盤掃描程序如 下 攀枝花學(xué)院本科畢業(yè)設(shè)計(論文) 30 uchar KEY_SCAN(void) { uchar sccode,recode。 if((KEY_SDATAamp。 if((KEY_SDATAamp。 //行 while((sccodeamp。 if((KEY_SDATAamp。0xf0) | 0x0f。 } else sccode=(sccode1) | 0x01。 } 程序中的 DEL_MS(12)語句是延時,作用是延時去抖。 上面程序的返回值為掃描后得到 的鍵值,這些值是一些不規(guī)則的數(shù),在程序中不好處理,可以使用下面程序?qū)⑺麄冝D(zhuǎn)換成 0~15 的數(shù)字。 uchar KEY_TABLE(k)//可根據(jù)實際鍵盤實物修改 { uchar TempNum。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 } return Temp
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1