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

正文內(nèi)容

基于stc89c52單片機(jī)的波形發(fā)生器的設(shè)計(jì)(編輯修改稿)

2025-01-11 02:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 WAVE 內(nèi)使用 C 如果想用 C 編寫(xiě)還是用 Keil C 方便 WAVE6000 編譯軟件采用中文界面用戶源程序大小不受限制有豐富的窗口顯示方式能夠多方位動(dòng)態(tài)地展示程序的執(zhí)行過(guò)程其項(xiàng)目管理功能強(qiáng)大可使單片機(jī)程序化大為小化繁為簡(jiǎn)便于管理另外其書(shū)簽斷點(diǎn)管理功能以及外設(shè)管理功能等為 51 單片機(jī)的仿真帶來(lái)極大的便利 3 硬件實(shí)現(xiàn)及模塊電路設(shè)計(jì) 31 單片機(jī)最小系統(tǒng)的設(shè)計(jì) STC89C52 是片內(nèi)有 ROMEPROM 的單片機(jī)因此這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單、可靠用 STC89C52 單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí)只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可由于集成度的限制最小應(yīng)用系統(tǒng)只能用作一些小型 的控制單元STC89C52 單片機(jī)最小系統(tǒng)如圖 31 所示其應(yīng)用特點(diǎn)如下 [7] 可以給用戶提供大量 IO 口線 內(nèi)部存儲(chǔ)器容量有限 應(yīng)用系統(tǒng)開(kāi)發(fā)具有特殊性 圖 31 STC89C52 單片機(jī)最小系統(tǒng) 對(duì)圖 31 說(shuō)明如下 1 單片機(jī)晶振電路單片機(jī)外圍的晶振電路是通過(guò)單片機(jī)的第 18XTAL1 引腳19XTAL2 引腳接入 XTAL1 振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端 XTAL2振蕩器反相放大器的輸出端對(duì)于本設(shè)計(jì)的電容 C 用 30pF 晶振選用 110592MHz 晶振電路解法如圖 31 所示一端接在 XTAL1 引腳上另一端接在 XTAL2 引腳上 2單片機(jī)的復(fù)位引腳 RST復(fù)位輸入晶振工作時(shí) RST腳將持續(xù) 2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位看門狗計(jì)時(shí)完成后 RST 腳輸出 2 個(gè)晶振周期的高電平特殊寄存器 AUXR 地址 8EH 上的 DISRTO位可以使此功能無(wú)效 DISRTO默認(rèn)狀態(tài)下復(fù)位高電平有效為了防止程序執(zhí)行過(guò)程中失步或運(yùn)行紊亂此處我們采用了上電復(fù)位電路 [8] 32 波形產(chǎn)生及濾波放大模塊設(shè)計(jì) 由單片機(jī)采用編程方法產(chǎn)生三種波形通過(guò) DA 轉(zhuǎn)換模塊 DAC0832 在進(jìn)過(guò)濾波放大之后輸出其電路圖 32 如下 圖 32 DAC0832 及濾波放大電路 電路性能指標(biāo)分析用于調(diào) 壓的 DAC0832的參考電壓是 12V所以峰峰值可以調(diào)節(jié)到的最大值為 12V由于運(yùn)放的電源均為177。 12V故均未達(dá)到飽和 通過(guò) 1k電位器與兩個(gè) 1k 的電阻進(jìn)行直流偏移的調(diào)節(jié)當(dāng)電位器的滑動(dòng)觸頭分別位于最右端與最左端時(shí)輸出電壓分別為 5v 和 5v 電位器的電壓與輸出的電壓通過(guò)一個(gè)加法器實(shí)現(xiàn)直流偏移的調(diào)節(jié)由于 DAC0832 存在的非線性輸出信號(hào)的幅值存在一定的誤差 由上述計(jì)算可知該電路產(chǎn)生波形的峰峰值和直流偏移調(diào)節(jié)的范圍達(dá)到并超過(guò)了題目要求的范圍 33 頻率調(diào)整模塊 按鍵部分我們通過(guò) 8位撥碼開(kāi)關(guān)來(lái)實(shí)現(xiàn) 8位數(shù)字量通過(guò) 74ls165的并行輸入串行輸出給單片機(jī)的方案這樣設(shè)計(jì)的目的優(yōu)點(diǎn)是節(jié)省單片機(jī)的 IO 口資源電路結(jié)構(gòu)簡(jiǎn)單易行我們采用 74ls165 實(shí)現(xiàn)頻率的改變使頻率能夠?qū)崟r(shí)隨著撥碼按鍵開(kāi)關(guān)量的輸入而改變電路結(jié)構(gòu)簡(jiǎn)單實(shí)時(shí)性較強(qiáng)其電路圖如圖 33 圖 33 頻率調(diào)整模塊電路圖 34 幅度調(diào)整模塊 采用將 DAC0832 的 RFB 引腳接一個(gè) 100k 的滑動(dòng)變阻器來(lái)改變 DAC0832 的基準(zhǔn)電壓 Vref 由 DAC0832 的輸出電壓 Vo Vref28 N N 為單片機(jī)送給 DAC0832 的 8位數(shù)字量 知道改變基準(zhǔn)電壓 Vref就可以改變 DAC0832的輸出電壓從而達(dá) 到波形幅度的改變其電路圖如圖 34 圖 34 幅度調(diào)整模塊電路圖 35 LCD1602 顯示模塊 LCD1602 1602 液晶也叫 1602 字符型液晶它是一種專門用來(lái)顯示字母數(shù)字符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè) 5 7或者 5 11等點(diǎn)陣字符位組成 1602采用并口傳輸速度比 12864 快每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符 1602 內(nèi)部集成有顯示芯片可以識(shí)別英文字母阿拉伯?dāng)?shù)字和日語(yǔ)此液晶顯示具有微功耗體積小顯示內(nèi)容豐富超薄輕巧等優(yōu)點(diǎn)常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中其電路圖如圖 35 圖 35 LCD1602 顯示模塊電路圖 36 RS232 串行通信電路及電源供電電路 圖 36 RS232 串行通信電路及電源供電電路電路圖 RS232 串行通信電路 由于單片機(jī)的輸入輸出是 TTL電平而 PC機(jī)配置的都是 RS232標(biāo)準(zhǔn)串行接口為 9 針 D 型連接器插座如圖 37 所示由于兩者的電平不匹配必須對(duì)單片機(jī)輸出的TTL 電平轉(zhuǎn)換為 RS232 電平即由 12V 轉(zhuǎn)換為 5V 單片機(jī)與 PC 機(jī)的接口方案如圖38 所示 圖 37D 型 9 針插頭引腳定義 圖 38 單片機(jī)與 PC 機(jī)的串行接口方案 電源供電電路 電源由 12V 直流穩(wěn)壓電源經(jīng)過(guò)變壓全波整流電容 濾波三段集成穩(wěn)壓器7805 穩(wěn)壓后給單片機(jī)供電 12V 電壓直接接到放大器 LM324 的 4 腳確保波形放大電路的穩(wěn)定工作這部分電路比較簡(jiǎn)單采用三端穩(wěn)壓管 7805 的輸出來(lái)實(shí)現(xiàn)的單片機(jī)的供電要求由于不是本次設(shè)計(jì)的核心部分故在此不作詳述 4 系統(tǒng)軟件設(shè)計(jì) 41 系統(tǒng)軟件編程語(yǔ)言方案設(shè)計(jì) 單片機(jī)系列的編程語(yǔ)言常用的有兩種一種是匯編語(yǔ)言一種是 C語(yǔ)言 C語(yǔ)言既具有高級(jí)語(yǔ)言的特點(diǎn)又具有匯編語(yǔ)言的特點(diǎn)它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言編寫(xiě)系統(tǒng)應(yīng)用程序也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序具體應(yīng)用到單片機(jī)以及嵌 入式系統(tǒng)開(kāi)發(fā)但是它仍具有如下缺點(diǎn) 1 C 語(yǔ)言的缺點(diǎn)主要是表現(xiàn)在數(shù)據(jù)的封裝性上這一點(diǎn)使得 C 在數(shù)據(jù)的安全性上做的有很大缺陷這也是 C 和 C 的一大區(qū)別 2 C 語(yǔ)言的語(yǔ)法限制不太嚴(yán)格對(duì)變量的類型約束不嚴(yán)格影響程序的安全性對(duì)數(shù)組下標(biāo)越界不作檢查等從應(yīng)用的角度 C 語(yǔ)言比其他高級(jí)語(yǔ)言較難掌握 3 指針就是 C 語(yǔ)言的一大特色但是 C 的指針操作也給它帶來(lái)了很多不安全的因素 C 在這方面做了很好的改進(jìn)在保留了指針操作的同時(shí)又增強(qiáng)了安全性Java 取消了指針操作提高了安全性 匯編語(yǔ)言是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言直接同計(jì)算機(jī)的底層 軟件甚至硬件進(jìn)行交互它具有如下一些優(yōu)點(diǎn) 1 能夠直接訪問(wèn)與硬件相關(guān)的存儲(chǔ)器或 IO 端口 2 能夠不受編譯器的限制對(duì)生成的二進(jìn)制代碼進(jìn)行完全的控制 3 能夠根據(jù)特定的應(yīng)用對(duì)代碼做最佳的優(yōu)化提高運(yùn)行速度 4 能夠最大限度地發(fā)揮硬件的功能 匯編語(yǔ)言的機(jī)器代碼生成效率很高能夠根據(jù)特定的應(yīng)用對(duì)代碼做最佳的優(yōu)化提高運(yùn)行速度 綜合以上匯編語(yǔ)言的優(yōu)點(diǎn)波形發(fā)生器系統(tǒng)的軟件部分由匯編語(yǔ)言設(shè)計(jì)編程實(shí)現(xiàn) 42 系統(tǒng)整體軟件設(shè)計(jì)思想 系統(tǒng)的軟件設(shè)計(jì)是在 WAVE6000 的集成開(kāi)發(fā)環(huán)境下采用匯編語(yǔ)言完成了應(yīng)用系統(tǒng)軟件編程包括主 程序產(chǎn)生四種常用信號(hào)的程序按鍵功能子程序和顯示子程序等子程序模塊模塊化的編程方法使得程序具有可讀性和易于維護(hù)的特點(diǎn) 43 各個(gè)子程序模塊流程圖 系統(tǒng)軟件是由若干子程序構(gòu)成包括主程序鍵盤輸入頻率調(diào)整子程序顯示子程序延時(shí)子程序各波形產(chǎn)生子程序等 主程序流程圖 主程序設(shè)計(jì)思路首先給單片機(jī)上電對(duì) LCD1602 和中斷進(jìn)行初始化設(shè)置然后進(jìn)行進(jìn)行按鍵掃描如果有按鍵按下就產(chǎn)生外部中斷 0 中斷首先判斷方波選擇按鍵 SQ 是否按下若按下對(duì)應(yīng)的 LED 指示燈點(diǎn)亮若沒(méi)按下繼續(xù)判斷鋸齒波選擇按鍵ST是否按下若按下對(duì)應(yīng)的 LED指示 燈點(diǎn)亮若沒(méi)按下繼續(xù)判斷三角波選擇按鍵 TRI是否按下若按下對(duì)應(yīng)的 LED 指示燈點(diǎn)亮若沒(méi)按下繼續(xù)判斷正弦波選擇按鍵 SIN是否按下若按下對(duì)應(yīng)的 LED 指示燈點(diǎn)亮若四個(gè)按鍵均未按下跳到主程序等待中斷的產(chǎn)生主程序流程圖如圖 41 所示 [9] Y N Y N Y N Y N 圖 41 主程序流程圖 頻率調(diào)整子程序 1 程 序設(shè)計(jì)思路 按鍵部分我們通過(guò) 8位撥碼開(kāi)關(guān)來(lái)實(shí)現(xiàn) 8位數(shù)字量通過(guò) 74ls165的并行輸入串行輸出的數(shù)據(jù)存入單片機(jī)的累加器 A 中然后將 A 中的值取反后送給寄存器 R3以 R3為延時(shí)常數(shù)進(jìn)行延時(shí)使得階梯電壓沒(méi)升高一定的數(shù)值后就以 R3為延時(shí)常數(shù)進(jìn)行延時(shí)從而改變波形的輸出頻率使頻率能夠?qū)崟r(shí)隨著撥碼按鍵開(kāi)關(guān)量的輸入而改變實(shí)時(shí)性較強(qiáng) 2 部分程序 START1 CLR P26 并行置入數(shù)據(jù) S 0 SETB P26 允許 串行移位 S 1 RXDATA1MOV SCON00010000B 設(shè)置串口方式 0 允許接收啟動(dòng)接收 JNB RI 等待外部數(shù)據(jù) CLR RI 清除接收完標(biāo)志 MOV ASBUF 讀取數(shù)據(jù) CPL A MOV R3A 顯示子程序流程圖 圖 42 顯示子程序流程圖 [10] 各波形產(chǎn)生子程序 1 鋸齒波產(chǎn)生子程序 鋸齒波產(chǎn)生原理 鋸齒波中的斜線用一個(gè)個(gè)小臺(tái)階來(lái)逼近在一個(gè)周期內(nèi)從最小值開(kāi)始逐步遞增 當(dāng)達(dá)到最大值后又回到最小值如此循環(huán)當(dāng)臺(tái)階間隔很小時(shí)波形基本上近似于直線適當(dāng)選擇循環(huán)的時(shí)間可以得到不同周期的鋸齒波鋸齒波發(fā)生原理與方波類似只是高低兩個(gè)延時(shí)的常數(shù)不同所以用延時(shí)法來(lái)產(chǎn)生鋸齒波先將 00H 給寄存器 R6賦值然后讓它不斷地自加 1直到加到 255DAC0832可以又自動(dòng)歸 0然后再不斷地重復(fù)上述過(guò)程進(jìn)而產(chǎn)生鋸齒波 鋸齒波產(chǎn)生子程序流程圖如圖 43 所示 圖 43 鋸齒波產(chǎn)生子程序流程圖 2 方波產(chǎn)生子程序 方波產(chǎn)生原理 先給寄存器 R0 賦值 00H 并且將 0FFH 送給 P0口 DAC0832 的八位數(shù)據(jù)輸入端與 P0 口相連使得 DAC0832 電壓輸出端輸出高電平然后讓它不斷地自加 2 直到加到 254重新給寄存器 R0賦值 00H并且將 00H送給 P0口使得 DAC0832電壓輸出端輸出低電平然后讓它不斷地自加 2直到加到 254可以又自動(dòng)歸 0然后再不斷地重復(fù)上述過(guò)程進(jìn)而產(chǎn)生方波 方波產(chǎn)生子程序流程圖見(jiàn)圖 44 圖 44 方波產(chǎn)生子程序流程圖 3 三角波產(chǎn)生子程序 三角波產(chǎn)生子程序流程圖見(jiàn)圖 45 圖 45 三角波產(chǎn)生子程序流程圖 三角波產(chǎn)生原理 先給寄存器 R7賦值 00H然后讓 它不斷地自加 2每次 R7加 2后都要進(jìn)行一次DA 轉(zhuǎn)換直到加到 255 然后讓它不斷地自減 2 每次 R7 減 2 后都要進(jìn)行一次 DA 轉(zhuǎn)換直到減到 00 可以又自動(dòng)歸 0 然后再不斷地重復(fù)上述過(guò)程進(jìn)而產(chǎn)生三角波 4 正弦波產(chǎn)生子程序 1 正弦波產(chǎn)生子程序流程圖見(jiàn)圖 46 圖 46 正弦波產(chǎn)生子程序流程圖 2 正弦波產(chǎn)生原理 方法一采用分立元件構(gòu)成非穩(wěn)態(tài)的多諧振振蕩器根據(jù)具體需要加入積分電路等構(gòu)成波形發(fā)生器但這種波形發(fā)生器輸出頻率范圍窄而且電路參數(shù)設(shè)定較繁瑣輸出的波形易受外界環(huán)境影響不穩(wěn)定對(duì)電路硬件要求很高不易實(shí)現(xiàn)故不采用本方法來(lái)產(chǎn)生正 弦波 方法二 DAC0832 是 8 位的 DA 轉(zhuǎn)換器件其工作電壓是 05V 當(dāng)輸入 00H 數(shù)字量的時(shí)候輸出為 0V 電壓當(dāng)輸入 07FH 數(shù)字量的時(shí)候輸出為 25V 電壓當(dāng)輸入 0FFH 數(shù)字量的時(shí)候輸出為 5V 電壓?jiǎn)纹瑱C(jī)的 IO 輸出均為 5 V的 TTL 電平因此產(chǎn)生的正弦波以正弦波為例幅值為 25 V 將一個(gè)周期內(nèi)的正弦波形等分為 256 份對(duì)應(yīng) 256 個(gè)數(shù)字量利用查數(shù)據(jù)表的方式來(lái)實(shí)現(xiàn)波形的產(chǎn)生將這些單極性方式下的數(shù)字量轉(zhuǎn)換為正弦值模擬量輸出而每次送到 DAC0832 的八位數(shù)字量是根據(jù)查正弦波形數(shù)據(jù)表格而得到5 系統(tǒng)軟硬件調(diào)試與數(shù)據(jù)處理 51 軟件仿真 及軟件程序調(diào)試 軟件仿真環(huán)境 在 Proteus75 軟件中進(jìn)行硬件電路的原理圖的繪制和仿真在仿真的過(guò)程中由于考慮到單片機(jī)的可用 IO口只有 32個(gè)若將 8位撥碼開(kāi)關(guān)直接接到單片機(jī)的一個(gè) IO 口會(huì)導(dǎo)致 LCD 的顯示接口不能與單片機(jī)有效的連接因此最后采用 8 位并入串出的移位寄存器 74LS165 來(lái)實(shí)現(xiàn)兩根數(shù)據(jù)線就可以與單片機(jī)連接達(dá)到單片機(jī)實(shí)時(shí)采集撥碼開(kāi)關(guān)的 8 位數(shù)字量來(lái)改變波形的頻率 軟件程序調(diào)試 系統(tǒng)軟件調(diào)試是通過(guò)程序調(diào)節(jié)從而使電路系統(tǒng)更好的工作以期得到更接近準(zhǔn)確的數(shù)據(jù)從而使電路工作輸出更精確更接近實(shí)際 本設(shè)計(jì) 主要做了以下程序調(diào)試 1 編寫(xiě)完成了通過(guò)四個(gè)按鍵實(shí)現(xiàn)四種波形的輸出但是此時(shí)的波形的頻率和幅度不可調(diào) 2通過(guò)我在圖書(shū)館查資料編寫(xiě)完成了可以通過(guò) 8位撥碼開(kāi)關(guān)的數(shù)字量送給單片機(jī)的累加器 A然后取反后在送給寄存器 R3中然后然 R3減 1直到減到 0為止利用此段延時(shí)作為兩個(gè)階梯電壓之間的時(shí)間差從而達(dá)到實(shí)時(shí)改變四種波形的頻率的目的 3 為了節(jié)省單片機(jī)的 IO 口資源加了 8 位并入串出的移位
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1