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

正文內(nèi)容

畢業(yè)設(shè)計-基于52單片機(jī)的波形發(fā)生器的設(shè)計-閱讀頁

2025-01-31 23:33本頁面
  

【正文】 到 Vref+之間。 1)利用單片機(jī)產(chǎn)生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。如果單片機(jī)的晶振為 12MHz,采用定時器方式 0,則定時器的初值為: X=213—T/Tmec () 定時時間常數(shù)為: TL =( 8192—T) /MOD256 () TH=( 8192T) /256 () MOD256 表示除 256 取余數(shù) 3)正弦波的模擬信號是 D/A 轉(zhuǎn)換器的模擬量輸出,其計算公式為: Y=( A/2sint) +A/2 (其中 A=VREF) () 基于單片機(jī)的 波形發(fā)生器 的設(shè)計 11 t=NT (N=1~256) () 那么對應(yīng)著存放在計算機(jī)里的這一點的數(shù)據(jù)為: () 4)一個周期被分離成 256 個點,對應(yīng)的四種波形的 256 個數(shù)據(jù)存放在以TAB1TAB4 為起始地址的存儲器中。 波形產(chǎn)生相關(guān)理論 DAC0832 是 8 位的 D/A 轉(zhuǎn)換器件,其工作電壓是 0—5V,當(dāng)輸入 00H 數(shù)字量的時候,輸出為 0V 電壓;當(dāng)輸入 07FH 數(shù)字量的時候,輸出為 電壓;當(dāng)輸入 0FFH 數(shù)字量的時候,輸出為 5V 電壓。將一個周期內(nèi)的正弦波形等分為 256 份, 對應(yīng) 256 個數(shù)字量,利用查數(shù)據(jù)表的方式來實現(xiàn)波形的產(chǎn)生。對應(yīng)的正弦值為 176。/256,對 應(yīng)的正弦值為 360176。 而每次送到 DAC0832 的八位數(shù)字量是根據(jù)查正弦波形數(shù)據(jù)表格而得到 [6]。 也支持 Keil C,但最好不要在 WAVE 內(nèi)使用 C,如果想用 C 編寫,還是用 Keil C 方便。用戶源程序大小不受限制,有豐 富的窗口顯示方式,能夠多方位、動態(tài)地展示程序的執(zhí)行過程。另外,其書簽、斷點管理功能以及外設(shè)管理功能等為 51 單片機(jī)的仿真帶來極大的便利。用 STC89C52 單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機(jī)接上時鐘電路和復(fù)位電路即可,由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元 , STC89C52 單片機(jī)最小系統(tǒng)如圖 所示。 (2) 內(nèi)部存儲器容量有限。 圖 STC89C52 單片機(jī)最小系統(tǒng) 對圖 說明如下: ( 1) 單片機(jī)晶振電路 : 單片機(jī)外圍的晶振電路是通過單片機(jī)的第 18( XTAL1) 引腳, 19( XTAL2)引腳接入, XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 對于本設(shè)計的電容 C 用 30pF,晶振選用 。 ( 2)單片機(jī)的復(fù)位引腳 RST:復(fù)位輸入??撮T狗計時完成后, RST 腳輸出 2 個晶振周期的高電平。DISRTO 默認(rèn)狀態(tài)下,復(fù)位高電平有效。 波形產(chǎn)生及濾波放大模塊設(shè)計 由單片機(jī)采用編程方法產(chǎn)生三種波形、通過 DA 轉(zhuǎn)換模塊 DAC0832 在進(jìn)過濾波放大之后輸出。12V,故均未達(dá)到飽和。當(dāng)電位器的滑動觸頭分別位于最右端與最左端時,輸出電壓分別為 5v 和 +5v,電位器的電壓與輸出的電壓通過一個加法器實現(xiàn)直流偏移的調(diào)節(jié)。 由上述計算可知,該電路產(chǎn)生波形的峰峰值和直流偏移調(diào)節(jié)的范圍 達(dá)到并超過了題目要求的范圍。我們采用 74ls165 實現(xiàn)頻率的改變,使頻率能夠?qū)崟r隨著撥碼按鍵開關(guān)量的輸入而改變,電路結(jié)構(gòu)簡單,實時性較強(qiáng),其電路圖如圖 。其電路圖如圖 。每個點陣字符位都可以顯示一個字符。此液晶顯示具有微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。 016023017018019021020022RSERWD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1LM 01 6 Lne t= 0 2 136%1 23R V 210 k 圖 LCD1602 顯示模塊電路圖 RS232 串行通信電路及電源供電電路 T X DR X D162738495J1C O N N D 9 MT 1I N11R 1O U T12T 2I N10R 2O U T9T 1O U T14R 1I N13T 2O U T7R 2I N8C 2 +4C 25C 1 +1C 13VS+2V S 6U 1 3M A X 2 3 2C51uFC61uFC71uFC81uFVCC1D+2D3GND4J2A U Y 10 05 R 圖 RS232 串行通信電路及電源供電電路電路圖 RS232 串行通信電路 由于單片機(jī)的輸入輸出是 TTL 電平,而 PC 機(jī)配置的都是 RS232 標(biāo)準(zhǔn)串行 基于單片機(jī)的波形發(fā)生器的設(shè)計 16 接口,為 9 針 “D”型連接器(插座),如圖 所示。單片機(jī)與 PC 機(jī)的接口方案如圖 所示。 12V 電壓直接接到放大器 LM324 的 4 腳,確保波形放大電路的 穩(wěn)定工作。 基于單片機(jī)的波形發(fā)生器的設(shè)計 17 4 系統(tǒng)軟件設(shè)計 系統(tǒng)軟件編程語言方案設(shè)計 單片機(jī)系列的編程語言常用的有兩種,一種是匯編語言,一種是 C 語言。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機(jī)硬件的應(yīng)用程序。 (2) C 語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)組下標(biāo)越界不作檢查等。 (3)指針就是 C 語言的一大特色 ,但是 C 的指針操作也給它帶來了很多不安全的因素。 Java 取消了指針操作,提高了安全性。 匯編語言的機(jī)器代碼生成效率很高,能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運行速度。 基于單片機(jī)的波形發(fā)生器的設(shè)計 18 系統(tǒng)整體軟件設(shè)計思想 系統(tǒng)的軟件設(shè)計是在 WAVE6000 的集成開發(fā)環(huán)境下,采用匯編語言完成了應(yīng)用系統(tǒng)軟件 編程,包括主程序、產(chǎn)生四種常用信號的程序、按鍵功能子程序和顯示子程序等子程序模塊。 各個子程序模塊流程圖 系統(tǒng)軟件是由若干子程序構(gòu)成,包括主程序、鍵盤輸入、頻率調(diào)整子程序、顯示子程序、延時子程序、各波形產(chǎn)生子程序等。主程序流程圖如圖 所示 [9]。 (2) 部分程序 START1: CLR ; 并行置入數(shù)據(jù) ,S/ =0 SETB ; 允許 串行移位 ,S/ =1 RXDATA1:MOV SCON,00010000B ; 設(shè)置串口方式 0,允許接收 ,啟動接收 JNB RI,$ ; 等待外部數(shù)據(jù) CLR RI ; 清除接收完標(biāo)志 MOV A,SBUF ; 讀取數(shù)據(jù) CPL A MOV R3,A 顯示子程序流程圖 圖 顯示子 程序流程圖 [10] 入口 讀忙“ BF”信號 BF=1? 向控制器寫入要 訪問的外 RAM 地址 讀忙“ BF”信號 數(shù)據(jù)顯示完? BF=1? 讀 /寫顯示數(shù)據(jù) 返主程序 讀忙“ ”信號BF=1? N N N Y Y Y 基于單片機(jī)的波形發(fā)生器的設(shè)計 21 各波形產(chǎn)生子程序 (1) 鋸齒波產(chǎn)生子程序 1) 鋸齒波 產(chǎn)生原理 鋸齒波中的斜線用一個個小臺階來逼近,在一個周期內(nèi)從最小值開始逐步遞增, 當(dāng)達(dá)到最大值后又回到最小值,如此循環(huán),當(dāng)臺階間隔很小時,波形基本上近似于 直線。鋸齒波發(fā)生原理與方波類似,只是高低兩個延時的常數(shù)不同,所以用延時法,來產(chǎn)生鋸齒波。 2) 鋸齒波 產(chǎn)生子程序 流程圖 如圖 所示。 2) 方波 產(chǎn)生子程序 流程圖 見圖 。 圖 三角波 產(chǎn)生子程序流程圖 2) 三角 波產(chǎn)生原理 設(shè) R7=0 P0=R7 讀撥碼開關(guān)狀態(tài),取反后存入 R3 以 R3 為延時常數(shù),延時 R7=R7+2 R0=254? P0=R7 讀撥碼開關(guān)狀態(tài),取反后存入 R3 以 R3 為延時常數(shù),延時 R7=R72 R7=2? R7=0? 返回 Y N Y N 基于單片機(jī)的波形發(fā)生器的設(shè)計 24 先給寄存器 R7 賦值 00H,然后讓它不斷地自加 2,每次 R7 加 2 后都要進(jìn)行一次 DA 轉(zhuǎn)換,直到加到 255,然后讓它不斷地自減 2,每次 R7 減 2 后都要進(jìn)行一次 DA 轉(zhuǎn)換,直到減到 00,可以又自動歸 0,然后再不斷地重復(fù)上述過程進(jìn)而產(chǎn)生三角波。 圖 正弦波 產(chǎn)生子程序流程圖 R0 指向正弦數(shù)據(jù)表頭 根據(jù) R0 查表,輸 出數(shù)據(jù) 讀撥碼開關(guān)狀態(tài),取反后存入 R3 R0=R0+1 數(shù),延時 R0=254? R0=R01 根據(jù) R0 查表,輸出數(shù)據(jù) 以 R3 為延時常數(shù),延時 R0=R01 R0=9? R0=0? 返回 Y N Y N 以 R3 為延時常數(shù),延時 讀撥碼開關(guān)狀態(tài),取反后存入 R3 基于單片機(jī)的波形發(fā)生器的設(shè)計 25 2 ) 正弦波產(chǎn)生原理 方法一: 采用分立元件構(gòu)成非穩(wěn)態(tài)的多諧振振蕩器,根據(jù)具體需要加入積分電路等構(gòu)成波形發(fā)生器。 故不采用本方法來產(chǎn)生正弦波。單片機(jī)的 I/O 輸出均為 +5 V 的 TTL 電平,因此產(chǎn)生的正弦波(以正弦波為例)幅值為 + V。將這些單極性方式下的數(shù)字量轉(zhuǎn)換為正弦值模擬量輸出。 基于單片機(jī)的波形發(fā)生器的設(shè)計 26 5 系統(tǒng)軟硬件調(diào)試與數(shù) 據(jù) 處理 軟件仿真及 軟件 程序調(diào)試 軟件仿真 環(huán)境 在 軟件中進(jìn)行硬件電路的原理圖的繪制和仿真,在仿真的過程中,由于考慮到單片機(jī)的可用 I/O 口只有 32 個,若將 8 位撥碼開關(guān)直接接到單片機(jī)的一個 I/O 口會導(dǎo)致 LCD 的顯示接口不能與單片機(jī)有效的連接,因此最后采用 8 位并入串出的移位寄存器 74LS165 來實現(xiàn)兩根數(shù)據(jù)線就可以與單片機(jī)連接,達(dá)到單片機(jī)實時采集撥碼開關(guān)的 8 位數(shù)字量來改變波形的頻率。 本設(shè)計主要做了以下程序調(diào)試: ( 1) 編寫完成了通過四個按鍵實現(xiàn)四種波形的輸出,但是此時的波形的頻率和幅度不可調(diào)。 ( 3) 為了節(jié)省單片機(jī)的 I/O 口資源,加了 8 位并入串出的移位寄存器74LS165 來將撥碼開關(guān)的 8 位數(shù)字量送給單片機(jī),經(jīng)單片機(jī)處理后改變波形的頻率。 ( 4) 編寫完成了能夠使 LCD1602 顯示 40H46HRAM 單元的內(nèi)容程序,但是此程序不能 顯示波形的頻率和幅度,經(jīng)過我修改程序?qū)艽a開關(guān)的 8 位數(shù)字量采集后送到寄存器
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1