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

正文內(nèi)容

基于at89s52單片機(jī)信號發(fā)生器設(shè)計畢業(yè)論文-預(yù)覽頁

2025-07-20 06:11 上一頁面

下一頁面
 

【正文】 頻率(也即頻率分辨率),為fc/2n,而DDS的最大輸出頻率由Nyquist采樣定理決定,即fc/2,也就是說K的最大值為2N1。每來一個時鐘脈沖fc,加法器將頻率控制字K與寄存器輸出的累加相位數(shù)據(jù)相加,再把相加后的結(jié)果送至寄存器的數(shù)據(jù)輸入端。 控制相位的加法器通過改變相位控制字P可以控制輸出信號的相位參數(shù)。 波形存儲器用相位累加器輸出的數(shù)據(jù)作為波形存儲器的取樣地址,進(jìn)行波形的相位一幅值轉(zhuǎn)換,即可在給定的時間上確定輸出的波形的抽樣幅值。相位—幅度變換原理圖如下圖所示: 波形振幅量化序列相位量化序列ROM(波形存儲器)數(shù)據(jù)地址 相位—幅度變換原理圖 D/A轉(zhuǎn)換器D/A轉(zhuǎn)換器的作用是把合成的正弦波數(shù)字量轉(zhuǎn)換成模擬量。fo處的非諧波分量,幅值包絡(luò)為辛格函數(shù)。 根據(jù)上述原理可以構(gòu)造一個不變量為量化相位增量的量化序列: 然后完成從到另一個序列的映射,由構(gòu)造序列: 公式(2—1)公式(21)是連續(xù)信號經(jīng)采樣頻率為采樣后的離散時間序列,根據(jù)采樣定理,當(dāng) 時,經(jīng)過低通濾波器平滑后,可唯一恢復(fù)出。本系統(tǒng)主要由單片機(jī)、DDS直接頻率信號合成器、數(shù)字衰減電路、真有效值轉(zhuǎn)換模塊、A/D轉(zhuǎn)換模塊、數(shù)字積分選擇電路等部分組成。LCD1602鍵盤單片機(jī)AD9850低通濾波器信號輸出 系統(tǒng)框圖3 系統(tǒng)硬件模塊的組成 鍵盤控制模塊 鍵盤控制電路通過鍵盤對波形的頻率進(jìn)行控制主控電路中,以單片機(jī)為主體,通過分析鍵盤輸入的數(shù)字值,對AD9850寫入相應(yīng)的控制字。[1] AT89S52功能特性描述使用ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。(外部中斷0輸入線)T0(定時器0外部計數(shù)脈沖輸入)T1(定時器1外部計數(shù)脈沖輸入)(外部數(shù)據(jù)存儲器寫選通信號輸出)(外部數(shù)據(jù)存儲器寫選通信號輸出)RST:復(fù)位輸入。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。這個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,必須接GND。XTAL2:振蕩器反相放大器的輸出端。對于89S52,如果接VCC,讀寫程序先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。當(dāng)一條指令訪問高于7FH 的地址時,尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。MOV R0, data堆棧操作也是間接尋址方式。3.每個定時/計數(shù)器都有多種工作方式,其中T0有四種工作方式;T1有三種工作方式,T2有三種工作方式。即是引腳加高電平啟動,是一種外啟動方式。TF1TR1TF0TR0IE1IT1IE0IT0T1請求 有/無T1工作啟/停T0請求有/無T0工作啟/停INT1請求有/無INT1方式下沿/低電平INT0請求有/無INT0方式下沿/低電平表35 定時/計數(shù)器的控制寄存器TCON其中:TF1:定時/計數(shù)器T1的溢出標(biāo)志位,當(dāng)定時/計數(shù)器T1計滿時,由硬件使它置位,如中斷允許則觸發(fā)T1中斷。進(jìn)入中斷處理后由內(nèi)部硬件電路自動清除。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。然而,定時器2的標(biāo)志位TF2在計數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。 ET1:定時器/計數(shù)器T1的溢出中斷允許位。 隨著計算機(jī)技術(shù)的高速發(fā)展,單片機(jī)以其自身的特點,已廣泛應(yīng)用于智能儀器、工業(yè)控制、家用電器、電子玩具等各個領(lǐng)域。電容取30PF左右。對外接電容CC2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,這里采用電容30pF。按鍵電平復(fù)位電路是在普通RC復(fù)位電路的基礎(chǔ)上接一個有下拉電阻10K、上拉電容10μf接VCC,電源由開關(guān)經(jīng)串接的1K限流電阻至復(fù)位腳(和上拉電容并聯(lián)),上拉電容支路負(fù)責(zé)在“上電”瞬間實施復(fù)位;開關(guān)通過1K上拉電阻和10K下拉電阻分壓器,保證對單片機(jī)實施按鍵電平復(fù)位。1602型LCD的接口信號說明,:編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀寫選擇端(H/L)13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極 LCD1602接口說明基本操作程序讀狀態(tài):輸入:RS=L,RW=H,E=H 輸出:D0~D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:無寫指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖 輸出:D0~D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖 輸出:無 LCD1602與單機(jī)的連接 LCD與單片機(jī)的接口電路在實際的接線中,1602的DB0—DB7與89S52的P0口相接,R/。AD9850采用先進(jìn)的CMOS工藝,擴(kuò)展工業(yè)級溫度范圍為-40~80℃,采用28腳SSOP表面封裝形式??删幊藾DS系統(tǒng)的核心是相位累加器,它由一個加法器和一個N位相位寄存器組成, N一般為24~32。~360176。輸出的正弦波周期T0=Tc2N/ M,頻率fout=Mfc/ 2N,Tc、fc分別為外部參考時鐘的周期和頻率。其系統(tǒng)功能如圖33所示。、90176。或這些值的組合進(jìn)行調(diào)整。 控制字并行輸入的時序圖 控制字串行輸入的時序圖在串行輸入方式,WCLK上升沿把25引腳的一位數(shù)據(jù)串行移入,當(dāng)移動40位后,用一個FQ_UD脈沖即可更新輸出頻率和相位。位W32和W33用于工廠測試,應(yīng)向這兩位賦0。40位控制/數(shù)據(jù)字通過AD9850的D7引腳在W_CLK引腳的脈沖信號上升邊沿作用下分40次裝入。單片機(jī)與AD9850的接口既可采用并行方式,也可采用串行方式,但為了充分發(fā)揮芯片的高速性能,應(yīng)在單片機(jī)資源允許的情況下盡可能選擇并行方式,本系統(tǒng)采用AT89S52 單片機(jī)作為控制核心,通過串行寫入控制字的方式控制AD9850 芯片,加上鍵盤和LCD 顯示部分等外圍電路,構(gòu)成整個系統(tǒng)電路。常用的濾波器的頻率響應(yīng)有三種:巴特沃斯型(Butterworth),切比雪夫型 (Chebyshev)和橢圓型 (Cauer)。比較起來,橢圓濾波器性能更好,本設(shè)計中采用的是橢圓濾波器[10]。 本系統(tǒng)的軟件調(diào)試可以在Keil uvision2的環(huán)境中完成,Keil系統(tǒng)為軟件的開發(fā)和調(diào)試提供了良好的用戶界面和強(qiáng)大的功能,程序調(diào)試無誤后,也可以直接下載到單片機(jī)中進(jìn)行調(diào)試。 unsigned char CON_word[5]。i++)。 delay(0)。i5。 W_CLK=1。WRITE_AD9850()。本系統(tǒng)的原理圖繪制和PCB繪制都是在Protel99se中完成。 5)程序的調(diào)試和燒錄:印刷電路板制作完畢,將器件焊接于其上,并進(jìn)行單片機(jī)程序的燒錄和電路的調(diào)試[11]。 3) 繪制電路圖 放置元件、繪制導(dǎo)線、放置電源部件、放置電氣連接點、放置文字標(biāo)注。通過搜集目前DDS技術(shù)的相關(guān)資料,了解國內(nèi)外DDS信號發(fā)生器的相關(guān)制作方法,并通過設(shè)計方案的比較,針對設(shè)計任務(wù)提出了可行方案。畢業(yè)設(shè)計結(jié)束了,留給了我很深的思考,只有通過學(xué)習(xí)才能獲得知識,開始時并不是什么都會,但是只要努力了就一定會有收獲 雖然中間的過程很辛苦,但是只要有結(jié)果,就可以忘記艱辛的過程。 sbit reset = P1^4。 //ad9850 fqud。double Con_Word_1 = 0x00。uchar a,b,c,d,e,f,g,h。ucharlianjiabiaozhi=0x00。sbit Light = P1^0。sbit P3_3 = P3^3。void lcd_init(void)。 dingshiqilideshijianbianliang++。 TR0 = 1。 LCD_RW=0。 delay(100)。}void WriteCommandLcd(unsigned char wdata){ LCD_RS=0。 LCD_DATA=wdata。 delay(1000)。 //顯示模式設(shè)置 delay(500)。 //關(guān)閉顯示 WriteCommandLcd(0x38)。 //WriteCommandLcd(0x80)。 //WriteDataLcd(0x33)。}void display_char(unsigned char x,unsigned char y,unsigned char dat){ display_xy(x,y)。 s++。 d = (Frequency_Out % 10000)/1000。h=(Frequency_Out%100000000)/10000000。 0xf8。break。break。break。P3_5 = 0x01。 delay(100)。 if((P3_3amp。 dat = scan_KEY()。 } } else { dat = 0x00。 display_string(1,0,LcdBuf1)。 WriteDataLcd(0x30+f)。 WriteDataLcd(0x30+b)。 Con_Word_1 = Frequency_Out * 42。 //根據(jù)設(shè)定的頻率以浮點形式計算控制字 ConTrol_Word = Con_Word_1 / 1。 //根據(jù)時序圖 fqud = 0x00。 delay(50)。 data_word = ConTrol_Word % 256。 w_clk=0。//取出W2,頻率控制字中的次高字節(jié); P2 = data_word。 ConTrol_Word = ConTrol_Word_Temporary。 w_clk=1。 data_word = ConTrol_Word % 256。 w_clk=0。 reset = 1。 TMOD=0x01。 TR0 = 1。//根據(jù)設(shè)置的頻率換算成將要送入AD9850中的整數(shù)值; Send_Control_Word(ConTrol_Word)。 //WriteCommandLcd(0xc5)。 //WriteDataLcd(0x30+(Step_Data%10))。 //空格 dingshiqilideshijianbianliang = 11。 } keychuli()。 } } if(AnJianCiShuBiangLiang == 6) { if((Frequency_Out+10) = 10000000) { Frequency_Out = Frequency_Out+10。 } } if(AnJianCiShuBiangLiang == 2) { if((Frequency_Out+100000) = 10000000) { Frequency_Out = Frequency_Out+100000。//刷新一下顯示; if(AnJianCiShuBiangLiang == 7) { shiyanshuju = a。 } if(AnJianCiShuBiangLiang == 3) { shiyanshuju = e。 } dingshiqilideshijianbianliang = 18。 } } if(AnJianCiShuBiangLiang == 6) {if(Frequency_Out = 10) {Frequency_Out= Frequency_Out10。 } } if(AnJianCiShuBiangLiang == 2) { if(Frequency_Out = 100000) { Frequency_Out
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1