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

正文內(nèi)容

基于單片機(jī)波形記錄器設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-24 19:22 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 標(biāo)加1;N=0 當(dāng)讀/寫一個(gè)字符后,地址指針減1,且光標(biāo)減1;S=1 當(dāng)寫一個(gè)字符,整屏顯示左移(N=1)或者右移(N=0),以得到光標(biāo)不移動(dòng)而整屏移動(dòng)的效果;S=0 當(dāng)寫一個(gè)字符,整屏顯示不移動(dòng)。 LCD 1602與單片機(jī)連接LCD 1602可以采用兩種方式與單片機(jī)連接,一種是采用8位數(shù)據(jù)總線D0~D7,和RS、R/W、EN三個(gè)控制端口;另一種是只用D4~D7作為四位數(shù)據(jù)分兩次傳送。本實(shí)驗(yàn)將使用并采用八位數(shù)據(jù)方式來控制1602顯示,如圖37所示。圖37 AT89S52與LCD1602接口電路圖進(jìn)行LCD設(shè)計(jì)主要是LCD的控制/驅(qū)動(dòng)和外界的接口設(shè)計(jì)??刂浦饕峭ㄟ^接口與外界通信、管理內(nèi)/外顯示RAM,控制驅(qū)動(dòng)器,分配顯示數(shù)據(jù);驅(qū)動(dòng)主要是根據(jù)控制器要求,驅(qū)動(dòng)LCD進(jìn)行顯示。控制器還常含有內(nèi)部ASCII字符庫,或可外擴(kuò)的大容量漢字庫。 1602的使能端E相連,GND與讀寫選擇端R/W相連,當(dāng)使能端使能時(shí),再通過命令選擇端來控制讀數(shù)據(jù),寫數(shù)據(jù),寫命令。控制P0端口與LCD 1602的數(shù)據(jù)端口相連,傳輸數(shù)據(jù)。 LCD 1602的顯示與控制命令LCD 1602液晶模塊內(nèi)部的字符發(fā)生內(nèi)存(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。LCD 1602液晶模塊內(nèi)部的控制器共有11條控制指令,它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置;指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H;指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效;指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有游標(biāo),低電平表示無游標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍;指令5:光標(biāo)或顯示移位元S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo);指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示57的點(diǎn)陣字符,高電平時(shí)顯示510的點(diǎn)陣字符;指令7:字符發(fā)生器RAM地址設(shè)置;指令8:DDRAM地址設(shè)置;指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙;指令10:寫數(shù)據(jù);指令11:讀數(shù)據(jù)。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。輸出電路的設(shè)計(jì)包括數(shù)摸轉(zhuǎn)換器D/A的選擇以及雙極性輸出電路的設(shè)計(jì),其作用是將數(shù)字量變?yōu)槟M量。形成示波信號(hào)的電路核心是D/A轉(zhuǎn)換器。該電路把保存在RAM中的采樣數(shù)據(jù),按照示波器顯示波形的要求循環(huán)送到數(shù)模轉(zhuǎn)換器DAC0832,轉(zhuǎn)換為連續(xù)的模擬信號(hào),然后再送到通用示波器顯示出波形。因?yàn)椴ㄐ蔚娘@示與波形的采集與存儲(chǔ)在管理上是分開的,即不管數(shù)據(jù)以何種速度寫入到存儲(chǔ)器中,存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)均以固定的速度不斷讀出,因而可獲得清晰穩(wěn)定的波形。 輸出電路對(duì)讀出速度有一定的要求,選擇DAC0832可滿足系統(tǒng)。DAC0832是一款常用的數(shù)摸轉(zhuǎn)換器,它的輸入數(shù)字量為8位邏輯電平能與TTL兼容,參考電壓的工作范圍為+10V~10V,具有直通工作方式、單緩沖工作方式、雙緩沖工作方式三種工作方式。DAC0832的內(nèi)部包括兩個(gè)8位寄存器、1個(gè)8位轉(zhuǎn)換器和相應(yīng)輔助電路:8位輸入寄存器為第一級(jí)鎖存器,它的鎖存信號(hào)為ILE。當(dāng)ILE為高電平、CS和WR1為低電平時(shí),LE1為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,WR1由低變高時(shí),ILE變?yōu)榈碗娖?,此時(shí),數(shù)據(jù)被鎖存到輸入寄存器中。8位DAC寄存器為第二級(jí)鎖存器,它的鎖存信號(hào)也稱為通道控制信號(hào)。WR2和XFEB同時(shí)為低電平時(shí),LE2為高電平,這時(shí),8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng)WR2由低變高時(shí),LE2變?yōu)榈碗娖?,將輸入寄存器的信息鎖存到DAC寄存器。在設(shè)計(jì)中DAC0832采用雙緩沖方式,CS和XFEB引腳共接片選信號(hào)Y2,WRl和WR2共接AT89C51的WR,具體電路見總圖。 圖38 DAC0832的內(nèi)部結(jié)構(gòu)圖 雙極性輸出電路的設(shè)計(jì)DAC0832是電流型器件,直接輸出的是電流信號(hào),為能引至示波器,需轉(zhuǎn)換成電壓輸出。為轉(zhuǎn)換成電壓輸出,常采用單極性和雙極性兩種連接方式。按照本設(shè)計(jì)要求,輸出方式采用雙極性輸出,其隨著輸入的數(shù)碼不同,輸出電壓可正可負(fù)。設(shè)計(jì)的電路包括電流電壓轉(zhuǎn)換電路,單雙極性變換電路,低通濾波器等電路。在該電路中LF356A1為電流電壓轉(zhuǎn)換,為單極性輸出,LF356A2運(yùn)算放大器,起反相求和作用,即OP07提供的參考電壓提供偏流I1,與LF356A1輸出提供的偏流I2相反。根據(jù)電路圖中的電阻關(guān)系,一個(gè)輸入電阻R1為10KΩ,一個(gè)輸入電阻R2為50KΩ,反饋電阻R3為10KΩ,R4為阻抗匹配,為RRR3三個(gè)電阻的并聯(lián)值,可知LF356A2的輸出在LF356A1的基礎(chǔ)上偏移1/2VREF(VREF為OP07提供的參考電壓)。為了降低信號(hào)輸出噪聲和平滑波形,在雙極性輸出后還增加了由兩個(gè)電容構(gòu)成的低通濾波器。 圖39 雙極性輸出電路 蜂鳴電路 蜂鳴電路部分由蜂鳴器和三極管組成,當(dāng)密碼輸入正確開鎖時(shí),經(jīng)過三極管放大電流驅(qū)動(dòng)蜂鳴器工作。圖310 蜂鳴電路 本章小結(jié)本章主要介紹了單片機(jī)各個(gè)引腳的功能,并講述了單片機(jī)的復(fù)位電路、振蕩電路以及本設(shè)計(jì)中的紅外發(fā)射和接收電路、矩陣鍵盤、顯示電路、蜂鳴電路和開鎖電路。第4章 軟件設(shè)計(jì)系統(tǒng)的軟件部分以主程序?yàn)槿肟?,在初始化之后調(diào)用鍵盤管理程序,完成對(duì)鍵盤的掃描,讀入鍵值,并根據(jù)相應(yīng)的鍵值調(diào)用D/A轉(zhuǎn)換子程序或A/D轉(zhuǎn)換子程序。作為程序的入口,主程序控制各類程序的調(diào)用。在系統(tǒng)中其主要的任務(wù)是在鍵盤中斷子程序執(zhí)行完后,調(diào)用D/A轉(zhuǎn)換子程序或A/D轉(zhuǎn)換子程序,設(shè)串行口方式和中斷的觸發(fā)方式,初始化各數(shù)據(jù)緩沖區(qū),而系統(tǒng)其它的功能都由各子程序完成。這樣處理主程序起到了分散功能的作用,即主程序會(huì)變得很容易編寫,而具體的功能都由功能子程序完成。主程序流程圖如圖41所示,具體程序見程序詳單。N Y開 始串行口初始化外部中斷INT0、INT1的觸發(fā)方式隨機(jī)選擇數(shù)據(jù)緩沖區(qū)的初始化調(diào)用顯示子程序顯示零按鍵是否按下NY是否為九鍵調(diào)用D/A轉(zhuǎn)換子程序調(diào)用A/D轉(zhuǎn)換子程序結(jié) 束圖41 主程序流程圖 A/D轉(zhuǎn)換子程序的設(shè)計(jì)A/D轉(zhuǎn)換子程序是系統(tǒng)功能實(shí)現(xiàn)的一個(gè)重要的組成,其主要功能是:選擇相應(yīng)的參考電壓、轉(zhuǎn)換通道和存儲(chǔ)區(qū),然后啟動(dòng)A/D轉(zhuǎn)換,并判斷采樣次數(shù)是否完成。在硬件設(shè)計(jì)時(shí),每個(gè)通道和一個(gè)參考電壓對(duì)應(yīng)了起來,即每個(gè)通道對(duì)應(yīng)不同的輸入信號(hào)的范圍,這樣記錄波形前可估計(jì)波形的電壓大下,選擇不同的按鍵,以接入不同的通道。軟件主要是根據(jù)KEY存儲(chǔ)器中的鍵值,選擇不同的通道和參考電壓。在系統(tǒng)中,為了能完整地覆蓋被測(cè)的整個(gè)變化過程,采樣點(diǎn)取16256個(gè)點(diǎn)。 同時(shí)在本子程序中根據(jù)鍵值的不同還要選擇不同的存儲(chǔ)區(qū)。當(dāng)采樣結(jié)束時(shí),EOC信號(hào)向AT89C51申請(qǐng)中斷,AT89S52接受中斷讀取轉(zhuǎn)換結(jié)果。開 始轉(zhuǎn)換次數(shù)賦初值讀取按鍵值,根據(jù)按鍵值,選擇相應(yīng)通道和A/D轉(zhuǎn)換器參考電壓?jiǎn)?dòng)A/D轉(zhuǎn)換轉(zhuǎn)換是否結(jié)束NY已全部完成采樣次數(shù)?NY返 回圖42 A/D轉(zhuǎn)換子程序流程圖 D/A轉(zhuǎn)換子程序的流程圖D/A轉(zhuǎn)換子程序是波形重構(gòu)的組成,主要的任務(wù)是完成輸出數(shù)據(jù)區(qū)的選擇,啟動(dòng)D/A轉(zhuǎn)換。在采集時(shí)不同通道采集的數(shù)據(jù)放在不同的數(shù)據(jù)存儲(chǔ)區(qū),因此在輸出波形時(shí)也需要根據(jù)按健值來選擇不同的數(shù)據(jù)存儲(chǔ)地址,同時(shí)每完成一個(gè)通道數(shù)據(jù)的轉(zhuǎn)換就查尋一次是否要繼續(xù)轉(zhuǎn)換。在本設(shè)計(jì)中,DAC0832采用的是雙緩沖方式。開 始是否選擇通道選擇數(shù)據(jù)存儲(chǔ)首地址NYDAC0832賦初值發(fā)送數(shù)據(jù)全部發(fā)送完?停止繼續(xù)發(fā)送返 回NYN圖43 D/A轉(zhuǎn)換子程序流程圖 在系統(tǒng)的運(yùn)行過程中可能出現(xiàn)各種干擾,如信號(hào)不穩(wěn)定、電路板抗干擾能力差、程序跑飛等,也可能在搬運(yùn)或者使用過程中對(duì)電路板或者元器件的磨損等。所以在設(shè)計(jì)過程中應(yīng)做好抗干擾設(shè)計(jì),以求將干擾對(duì)系統(tǒng)產(chǎn)生的影響降到最低,而軟件抗干擾具有投資低的優(yōu)點(diǎn)。本文采用的軟件抗干擾措施如下:(1) 指令冗余 當(dāng)CUP受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序的混亂,我們首先要盡快將程序納入正軌,也就是讓程序彈飛到某一個(gè)單字節(jié)指令NOP,這就是指令冗余。因此,常在一些對(duì)程序的流向起決定作用的指令之前插入兩條NOP指令,以保證彈飛的程序迅速納入正確的控制軌道。在某些對(duì)系統(tǒng)工作狀態(tài)至關(guān)重要的指令前也可插入兩條NOP指令,以保證執(zhí)行正確。(2) 軟件陷阱 當(dāng)彈飛的程序落到非程序區(qū)(如ROM中未使用的空閑和程序中的數(shù)據(jù)表格區(qū))時(shí),就形成了死循環(huán),解決的辦法就是用一條引導(dǎo)指令強(qiáng)行將捕獲的程序轉(zhuǎn)到一個(gè)指定的地址,為了加強(qiáng)捕獲的效果,一般還在其前面加兩條NOP指令。本章主要介紹了系統(tǒng)的軟件部分,軟件設(shè)計(jì)是設(shè)計(jì)中最為重要的部分,它關(guān)系到一個(gè)系統(tǒng)能否實(shí)現(xiàn)其預(yù)定的功能,只有利用軟件才能控制系統(tǒng)的運(yùn)行。軟件部分包括主程序設(shè)計(jì)和鍵盤掃描子程序的設(shè)計(jì)、A/D轉(zhuǎn)換子程序的設(shè)計(jì)、D/A轉(zhuǎn)換子程序的設(shè)計(jì)、LED顯示子程序的設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)子程序和延時(shí)子程序的設(shè)計(jì)。第5章 調(diào)試分析 KEIL51軟件簡(jiǎn)介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(mVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN9NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。 系統(tǒng)概述Keil C是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC 的編譯環(huán)境如圖51所示。圖中:標(biāo)題欄:顯示當(dāng)前編譯的文件菜單條:有十項(xiàng)菜單可供選擇,相應(yīng)的所有操作命令均可在此菜單中查找;工具欄:常用命令的快捷圖標(biāo)按鈕;管理窗口:顯示工程文件的項(xiàng)目、各個(gè)寄存器值的變化、參考資料等;工作窗口:各種文件的顯示窗口。工具欄工作窗口菜單條標(biāo)題欄管理窗口圖51 KeilC的編譯環(huán)境 Keil C軟
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1