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

正文內(nèi)容

基于單片機(jī)的4位數(shù)字頻率計(jì)設(shè)計(jì)論文含程序-在線瀏覽

2024-07-30 08:50本頁面
  

【正文】 方波 ,該方波同樣加至定時(shí) / 計(jì)數(shù)器的輸入腳。當(dāng)判定高電平加至定時(shí) /計(jì)數(shù)器的輸入腳 ,運(yùn)行控制位 TR 置 1 ,啟動(dòng)定時(shí) /計(jì)數(shù)器對單片機(jī)的機(jī)器周期的計(jì)數(shù) ,同時(shí)檢測方波 高電平是否結(jié)束 。測量結(jié)果的顯示格式采用科學(xué)計(jì)數(shù)法 ,即有效數(shù)字乘以 10 為底的 冪 。第 4 位為指數(shù)的符號 。采用這種顯示格式既保證了測量結(jié)果的顯示精度 ,又保證了測量結(jié)果的顯示范圍 (0. 100Hz 9. 99MHz) 。由于只顯示 3 位有效數(shù)字 ,在測量量程的高端計(jì)數(shù)閘門不需要太寬 , 例如在 10. 0 KHz 9919 KHz 頻率范圍 ,計(jì)數(shù)閘門寬度為 10mS 即可。否則將計(jì)數(shù)閘門寬度擴(kuò)大 10 倍 ,繼續(xù)進(jìn)行測量判斷 ,直到計(jì)數(shù)閘門寬度達(dá)到 1s ,這時(shí)對應(yīng)的頻率測量范圍為 100Hz 999Hz。定時(shí)方法測量的是待測信號的周期 ,這種方法只設(shè)一種量程 ,測量結(jié)果通過浮點(diǎn)數(shù)運(yùn)算模塊將信號周期轉(zhuǎn)換成對應(yīng)的頻率值 ,再將結(jié)果送去顯示。 數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告 202171 6 二 器件簡介 AT89S52 AT89C51 簡介 AT89C51 是 一 種 帶 4K 字 節(jié) 閃 爍 可 編 程 可 擦 除 只 讀 存 儲(chǔ) 器( FPEROM— Flash Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS 8 位微處理器,俗稱 單片機(jī) 。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除 100次。由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中, ATMEL 的 AT89C51 是一種高效 微控制器,AT89C2051 是它的一種精簡版本。外形及引腳排列如圖所示 數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告 202171 7 主要特性: 4K 字節(jié)可編程閃爍存儲(chǔ)器 數(shù)據(jù)保留時(shí)間: 10年 三級程序存儲(chǔ)器鎖定 32 可編程 I/O 線 5 個(gè)中斷源 低功耗的閑置和掉電模式 GND:接地。當(dāng) P1口的管腳第一次寫 1 時(shí),被定義為高阻輸入。在 FIASH 編程時(shí), P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗(yàn)時(shí), P0 輸出原碼,此時(shí) P0外部必須被拉高。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作 輸入, P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 P2口 : P2口為一個(gè)內(nèi)部上拉電阻的 8位雙向 I/O口, P2口緩沖器可接收,輸出 4個(gè) TTL 門電流,當(dāng) P2口被寫 “1” 時(shí),其管腳被內(nèi)部上拉電阻拉數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告 202171 8 高,且作為輸入。這是由于內(nèi)部上拉的緣故。在給出地址 “1” 時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存 儲(chǔ)器進(jìn)行讀寫時(shí), P2 口輸出其特殊功能寄存器的內(nèi)容。 P3 口 : P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4個(gè) TTL 門電流。作為輸入,由于外部下拉為低電平, P3口將輸出電流( ILL)這是由于上拉的緣故。 RST:復(fù)位輸入。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在平時(shí) , ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE 脈沖。此時(shí), ALE只有在執(zhí)行 MOVX, MOVC 指令是 ALE才起作用。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /PSEN 有效。 /EA/VPP :當(dāng) /EA 保 持 低 電 平 時(shí) ,則 在 此 期 間 外部 程 序 存 儲(chǔ) 器( 0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。在 FLASH編程期間,此引腳也用于施加 12V編程電源( VPP)。 XTAL2:來自反向振蕩器的輸出。該反向放大器可以配置為片內(nèi)振蕩器。如采用外部時(shí)鐘源驅(qū)動(dòng)器件, XTAL2 應(yīng)不接。 芯片擦除: 整個(gè) PEROM 陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE管腳處于低電平 10ms 來完成。 此外, AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。但 RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。 串口通訊 單片機(jī)的結(jié)構(gòu)和特殊寄存器,這是你編寫軟件的關(guān)鍵。有數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告 202171 10 朋友這樣問起過 “ 為何在串行口收發(fā)中,都只是使用到同一個(gè)寄存器 SBUF?而不是收發(fā)各用一個(gè)寄存器。 CPU 在讀 SBUF 時(shí)會(huì)指到接收寄存器,在寫時(shí)會(huì)指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒有及時(shí)的被響應(yīng),數(shù)據(jù)沒有被取走,下一幀數(shù)據(jù)已到來,而造成的數(shù)據(jù)重疊問題。操作 SBUF 寄存器的方法則很簡單,只要把這個(gè) 99H 地址用關(guān)鍵字 sfr定義為一個(gè)變量就可以對其進(jìn)行讀寫操作了,如 sfr SBUF = 0x99。通常在標(biāo)準(zhǔn)的 或 等頭文件中已對其做了定義,只要用 include 引用就可以了。 SCON 就是 51 芯片的串行口控制寄存器。 51 芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用 SCON 寄存器。串行口工作模式設(shè)置。表中的 fosc 代表振蕩器的頻率,也就是晶振的頻率。 SM2 在模式 模式 3 中為多處理機(jī)通信使能位。 數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告 202171 11 REM 為允許接收位, REM 置 1 時(shí)串口允許接收,置 0 時(shí)禁止接收。如果在一個(gè)電路中接收和發(fā)送引腳 , 都和上位機(jī)相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串口被上位機(jī)來的控制字符產(chǎn)生中斷,那么可以在這個(gè)子程序的開始處加入 REM=0 來禁止接收,在子程序結(jié)束處加入 REM=1 再次打開串口接收。 TB8 發(fā)送數(shù)據(jù)位 8,在模式 2 和 3 是要發(fā)送的第 9 位。 RB8 接收數(shù)據(jù)位 8,在模式 2 和 3 是已接收數(shù)據(jù)的第 9 位。在模式 0 中, RB8 為保留位沒有被使用。 TI 發(fā)送中斷標(biāo)識(shí)位。其它模式中則是在發(fā)送停止位之初,由硬件置位。在任何模式下, TI 都必須由軟件來清除,也就是說在數(shù)據(jù)寫入到 SBUF 后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)(如中斷打開),這時(shí) TI=1,表明發(fā)送已完成, TI 不會(huì)由硬件清除,所以這時(shí)必須用軟件對其清零。在模式 0,接收第 8 位結(jié)束時(shí),由硬件置位。 RI=1,申請中斷,要求CPU 取走數(shù) 據(jù)。同樣 RI 也必須要靠軟件清除。它的波特率是可變的,其速率是取決于定時(shí)器 1 或定時(shí)器 2 的定時(shí)值(溢出速率)。 波特率在使用串口做通訊時(shí),一個(gè)很重要的參數(shù)就是波特率,只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正 常通訊。有一些初學(xué)的朋友認(rèn)為波特率是指每秒傳輸?shù)淖止?jié)數(shù),如數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告 202171 12 標(biāo)準(zhǔn) 9600 會(huì)被誤認(rèn)為每秒種可以傳送 9600 個(gè)字節(jié),而實(shí)際上它是指每秒可以傳送 9600 個(gè)二進(jìn)位,而一個(gè)字節(jié)要 8 個(gè)二進(jìn)位,如用串口模式 1 來傳輸那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用 10 個(gè)二進(jìn)位, 9600 波特率用模式 1 傳輸時(shí),每秒傳輸?shù)淖止?jié)數(shù)是 9600247。 51 芯片的串口工作模式 0 的波特率是固定的,為 fosc/12,以一個(gè) 12M 的晶振來計(jì)算,那么它的波特率可以達(dá)到 1M。模式 1 和模式 3 的波特率是可變的,取決于定時(shí)器 1 或 2( 52 芯片)的溢出速率。 波特率=( 2SMOD247。通常會(huì)使 用定時(shí)器 1 工作在定時(shí)器工作模式 2 下,這時(shí)定時(shí)值中的TL1 做為計(jì)數(shù), TH1 做為自動(dòng)重裝值 ,這個(gè)定時(shí)模式下,定時(shí)器溢出后,TH1 的值會(huì)自動(dòng)裝載到 TL1,再次開始計(jì)數(shù),這樣可以不用軟件去干預(yù),使得定時(shí)更準(zhǔn)確。通常用 晶體是為了得到標(biāo)準(zhǔn)的無誤差的波特率,那么為何呢?計(jì)算一下就知道了。代入公式: 9600= (2247。32)((12M/12) /(256TH1)) TH1≈ 上面的計(jì)算可以看出使用 12M 晶體的時(shí)候計(jì)算出來的 TH1 不為整數(shù),而 TH1 的值只能取整數(shù),這樣它就會(huì)有一定的誤差存在不能產(chǎn)生精確的9600 波特率。 DAC0832芯片: DAC0832 是 8 分辨率的 D/A轉(zhuǎn)換集成芯片。這個(gè)DA 芯片以其價(jià)格低廉、接口簡 單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。 DAC0832 的主要特性參數(shù)如下: * 分辨率為 8 位; * 電流穩(wěn)定時(shí)間 1us; * 可單緩沖、雙緩沖或直接數(shù)字輸入; * 只需在滿量程下調(diào)整其線性度; * 單一電源供電( +5V~ +15V); * 低功耗, 200mW。由 ILE、 CS、 WR1 的邏輯組合產(chǎn)生 LE1,當(dāng) LE1 為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換, LE1 的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存; * XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效; * WR2: DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于 500ns)有效。 * IOUT1:電流輸出端 1,其值隨 DAC 寄存器的內(nèi)容線性變化; * IOUT2:電流輸出端 2,其值與 IOUT1 值之和為一常數(shù); * Rfb:反饋信號輸入線,改變 Rfb 端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度; * Vcc:電源輸入端, Vcc 的范圍為 +5V~ +15V; * VREF:基準(zhǔn)電壓輸入線, VREF 的范圍為 10V~ +10V; * AGND:模擬信號地 * DGND:數(shù)字信號地 DAC0832 的工作方式: 根據(jù)對 DAC0832 的數(shù)據(jù)鎖存器和 DAC 寄存器的不同的控制方式,DAC0832 有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。 這樣可以保證每一檔三位 有效數(shù)字,而且第三位有效數(shù)字誤差在177。 三個(gè) 輸入信號: 待測信號 、 標(biāo)準(zhǔn)時(shí)鐘脈沖信號 和 復(fù)位脈沖信號?;谏鲜鲆螅梢詫⑾到y(tǒng)基本劃分為四個(gè)模塊,分別為分頻、計(jì)數(shù)、鎖存和控制,并可以確定基本的連接和反饋,如上圖所示。已知給定標(biāo)準(zhǔn)時(shí)鐘脈沖高電平時(shí)間0T ,將此高電平信號作為計(jì)數(shù)器閘門電平,通過計(jì)數(shù)器得到 0T 時(shí)間內(nèi)待測脈沖 的個(gè)數(shù) N,則有0TNf? 。 1,為保證誤差要求取 N≥ 100。僅對計(jì)數(shù)器計(jì)數(shù)值 N進(jìn)行簡單的移位即可得到結(jié)果。 分頻器 采用 計(jì)數(shù)分頻的方法,產(chǎn)生計(jì)數(shù)閘門電平和一系列控制脈沖,并接受計(jì)數(shù)器和控制器的反饋。 計(jì)數(shù)器 在分頻器和控制器的作用下對輸入待測信號計(jì)數(shù),并把計(jì)數(shù)值輸出,在計(jì)數(shù)溢出時(shí)向控制器和分頻器發(fā)送溢出脈沖。 四、系統(tǒng)及模塊具體實(shí)現(xiàn)與說明 系統(tǒng)總體結(jié)構(gòu)圖見附圖 1,下面對每一個(gè)模塊的具體功能、引腳分配和Verilog HDL 語言編程實(shí)現(xiàn)進(jìn)行詳細(xì)說明。 STAT[1..0] 用來保存當(dāng)前檔位信息, STAT[1..0]等于 0 則為第一檔,等于 1則為第二檔,依此類推,共可標(biāo)記四檔,它位于控制模塊中,也是輸出,這樣其他模塊可以通過訪問它得到當(dāng)前檔位信息,而控制模塊可以修改它從而調(diào)整檔位(注:在系統(tǒng)總圖中由于所有與 STAT[1..0]相連的線路均為對應(yīng)順序連接,故沒有才用MAX+plus II 中默認(rèn)的總線連接,而是采用單根線)。 LATCH_STAT[1..0] = 1 時(shí) ,鎖存 器強(qiáng) 制置零 , CLK 無效。它也在控制器中,這樣可以通過對其改變數(shù)值達(dá)到控制鎖存器鎖存、復(fù)位和顯示過量程的功能。四個(gè)輸入端口:時(shí)鐘脈沖 CLK、使能端 EN、清零端 CLRN、檔位狀態(tài)端 STAT[1..0]。功能表見下: 表格 1 十進(jìn)制計(jì)數(shù)器功能表 每個(gè)十進(jìn)制計(jì)數(shù)器用Verilog HDL語言編程實(shí)現(xiàn)。它有四個(gè)輸入 :標(biāo)準(zhǔn)時(shí)鐘脈沖輸入 CLK102溢出處理觸發(fā)TRIGGER、復(fù)位觸發(fā) RESET 和檔位狀態(tài) STAT[1
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1