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

正文內(nèi)容

ad9835的dds波形發(fā)生器畢業(yè)設(shè)計-文庫吧資料

2024-08-19 06:24本頁面
  

【正文】 LCD_en_write()。0x80==0) LCD_D4=0。0x80)==0) LCD_D5=1。Else LCD_D6=1。If(((abc5) amp。0x80)==0) LCD_D7=0。 LCD_en_write()。0x80)==0) LCD_D4=0。 Else LCD_D5=1。 If(((abc2) amp。0x80)==0) LCD_D6=0。 Else LCD_D7=1。 If(((abc0 ) amp。 If(cd==0) { LCD_RS=1 LCD_byte(cd)。 LCD_E=0。 LCD_E=1。 LCD_write_char(address,0)。 If(y==0)address=0x80+x。 S++。}//Void LCD_write_str(uchar X,uchar Y,uchat*s){ LCD_set_xy(X,Y)。LCD_write_char(0x0C,0)。LCD_write_char(0x06,0)。LCD_write_char(0x01,0)。LCD_write_char(0x08,0)。LCD_write_char(0x28,0)。LCD_write_char(0x02,0)。LCD_write_char(0x30,0)。LCD_write_char(0x30,0)。LCD_write_char(0x30,0)。LCD_RS=0。//Void LCD_init(void){ P1=0xFF。Void AD9835_calc (void)。Void AD9835_word (uchar *p)。Void Long_bee (void)。Uchar Key_table (k)。Uchar Key_scan (void)。Void delay_nus (uint n)。Void LCD_ write_str (uchar X,uchar Y,uchar*s)。Void LCD_ write_char (uchar cd,uchar ab)。/*Public function prototypes*/Void LCD_init (void)。Uchar step=8,cur=7,act=0,key=No_key。define No_key 255//鍵值define MHz 12define KHz 13define Hzz 14define point 15define shift 11define back 10Uchar freq[8]={0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00}。Sibt SYC=p33。//AD9835Sibt DAT=p30。//I/OSibt BEP=p20。Sibt LCD_RW=p22。Sibt LCD_D5=p25Sibt LCD_D4=p24。//鍵排列// 7 8 9 C// 4 5 6 D// 1 2 3 E// A 0 B F//LCD1602Sibt LCD_D7=p27。//F=12MHz with LCD1602//AD9835 on AT89C51include〈〉include〈〉include〈〉//_nop_()需要Typedef unsigned char uchar。程序已調(diào)試通過,功能正常。 表11波形發(fā)生器函數(shù)一覽表序號名稱功能1Void LCD_init(void)液晶顯示器初始化2Void LCD_en_write(void)LCD使能3Void LCD_write_char(uchar cd,uchar ab)LCD寫數(shù)據(jù)或命令4Void LCD_set_xy(uchar x,uchar y)設(shè)置LCD地址5Void LCD_byte(uchar abc)LCD寫1字節(jié)6Void LCD_write_str(uchar X,uchar Y,uchar*s)LCD寫顯示字符串7Void delayOnus(uint n)微秒延時8Void del_ms(uint n)毫秒延時9Uchar Key_scan(viod)鍵盤掃描10Void Key_num(uchar n)鍵入數(shù)字并顯示11Uchar Key_table(k)鍵值表12Void bee()低有效蜂鳴13Void long_bee(void)低有效蜂鳴長聲14Void AD9835_init(word)AD9835初始化和寫頻率值15Void AD9835_byte(uchar a)AD9835寫1字節(jié)16Void AD9835_word(uchar*p)AD9835寫1字節(jié)(2字節(jié))17Void AD9835_calc(void)計算AD9835頻率寄存器的4字節(jié)值18Void disp(void)顯示主程序流程圖如圖6所示,主要包括液晶顯示器初始化、顯示標(biāo)題、啟動AD9835按默認值輸出等。函數(shù)14~17是與AD9835有關(guān)的程序。函數(shù)1~6是關(guān)于LCD液晶顯示器的程序。同時,該數(shù)值也被送入AD9835,且輸出波形的頻率按照此數(shù)值發(fā)生改變。輸入完數(shù)字后輸入單位,根據(jù)需要按右邊的“MHz”,“KHz”或“Hz”三個單位鍵之一,單位鍵同時也是確認鍵。開機后默認輸出頻率為800Hz。有一個“*”鍵空著沒用。右下角是小數(shù)點鍵。`圖6 波形發(fā)生器電路原理圖波形輸出頻率的設(shè)定采用具有16個按鍵的44矩陣鍵盤,鍵位功能排列如圖5所示。} 波形發(fā)生器的完整電路原理圖如圖4所示。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。Uchar Key_table(k){ Uchar TempNum。}程序中的del_ms(12)語句是12ms延時,作用是延時去抖動。 } else sccode=(sccode1) |0x01。0xf0) |0x0f。 If((P1amp。 while((sccodeamp。 if((P1amp。 If((P1amp。Uchaer Key_scan(void){ uchar sccode,recode。將兩次讀出的P0口狀態(tài)值進行邏輯或運算就得到其按鍵的特征編碼為“EDH”。再從P1口的高四位輸出高電平,-。低四位輸出高電平,-。舉例說明如何得到按鍵的特征編碼:假設(shè)“1”鍵被按下,找其按鍵的特征編碼。將兩次讀取結(jié)果組合起來就可以得到當(dāng)前按鍵的特征編碼。先從P1口的高四位輸出低電平,低四位輸出高電平,從P1口的低四位讀取鍵盤狀態(tài)。在功能不太復(fù)雜的系統(tǒng)中,使用掃描查詢法就可以很好地工作。該矩陣鍵盤與單片機的接法如圖3所示。這樣鍵盤中按鍵的個數(shù)是44個。矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。用RP1電位器可調(diào)節(jié)輸出電壓的大小。AD9835的D/,信號再經(jīng)兩級寬帶高速運放放大后輸出。波形信號由引腳14輸出,后面接濾波器。AD9835的控制參數(shù)要求以同步串行方式輸入,SCLK,SDATA和FSYNC三根線由單片機控制,輸出頻率由鍵盤設(shè)定,液晶顯示器輸出波形頻率。引腳2與引腳3相連,使用內(nèi)部參考電壓。AD9835的基本應(yīng)用電路如圖2所示。 AD9835的基本應(yīng)用電路AD9835的功能十分強大,但使用也較復(fù)雜。 F_word[1]=(char)(z16)。 F_word[3]=(char)z。 x=(freq[0]*+freq[1]*1+freq[2]*10+freq[3]*100+freq[4]*1000+freq[5]*10000+freq[6]*100000+freq[7]*1000000*。}////Fc=50MHz K=//計算頻率寄存器的4字節(jié)值Void AD9835_calc(void){ Unsigned long z=0。 dds[1]=0x00。 AD9835_word(dds)。 dds[0]=0x20。 dds[1]=F_word[2]。 AD9835_word(dds)。 dds[0]=0x22。 dds[1]=F_word[0]。 AD9835_word(dds)。 SYC=1。 P++。}}//Void AD9835_word(uchar*p){ SYC=0。 _nop_()。} CLK=0。0x80)==0){DAT=0。n8。Void AD9835_byte(uchar a){ Uchar n=0。16位的控制字分為2字節(jié),由3子程序AD9835_word(uchar)兩次才能完成。子程序AD9835_calc(void)就是利用公式5進行計算的。令 (4)將帶入公式4,可求得。頻率寄存器的4字節(jié)值由子程序AD9835_calc(void)計算出來,并被保存在F_word[4]的字符數(shù)組中,以便寫入程序和顯示程序調(diào)用。接下來的四組語句寫入表9的數(shù)據(jù)控制字,用于設(shè)定輸出頻率。數(shù)據(jù)控制字主要用于給AD9835設(shè)定輸出頻率。表9數(shù)據(jù)控制字D1514D13D12D11D10D9D8D7D6D5D4D3D2D1D0C3C2C1C0A3A2A1A0MSB 表10 數(shù)據(jù)控制字中的C命令C3C2C1C0命令0000給所選相位寄存器寫入16位相位字0001給所選相位寄存器寫入8位相位字0010給所選頻率寄存器寫入16位頻率字0011給所選頻率寄存器寫入8位頻率字0100選擇相位寄存器:1. SELSRC=1時,用位FSELECT選擇頻率寄存器;2. SELSRC=0時,用引腳PSEL0和PSEL1選擇相位寄存器0101選擇頻率寄存器:1. SELSRC=1時,用位FSELECT選擇頻率寄存器;2. SELSRC=0時,用引腳PSEL0和PSEL1選擇相位寄存器0110僅需一次寫入即可同時設(shè)定頻率寄存器和相位寄存器:1. SELSRC=1時,用位PSEL0和PSEL1選擇相位寄存器,用位FSELECT選擇頻率寄存器;2. SELSRC=0時,用引腳PSEL0和PSEL1選擇相位寄存器,用引腳DSELECT選擇頻率寄存器0111用于制造商檢查的保留命令(3)編程 AD9835的編程實際上就是單片機通過AD98385的串行數(shù)據(jù)輸入線向AD9835寫入初始化控制字和數(shù)據(jù)控制字。其中4位地址A3~A0就是表5所代表的頻率或相位寄存器的地址。D11是清零位CLR:當(dāng)CLR=1時,SYNC和SELSRC被置0,CLR自動復(fù)位到零數(shù)據(jù)控制字主要用于給AD9835加載頻率和相位值,其格式如表9所列。D12是相位和頻率寄存器的控制源選擇位SELSRC:第三,當(dāng)SELSRC=1時,由位FSELECT,PSEL0和PSEL1選擇位或頻率寄存器;第四,當(dāng)SELSRC=0時,由引腳FSELECT,PSEL0和PSEL1選擇相位或頻率寄存器1D13是休眠位SLEEP:第五,當(dāng)SLEEP=1時,AD9835掉電,內(nèi)部時鐘停止,DAC電流源和參考電壓關(guān)閉;第六,當(dāng)SLEEP=0時,AD9835上電。第二,當(dāng)SYNC=0時,不同步。表6初始化控制字a模式D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1