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

正文內(nèi)容

電氣自動化專業(yè)--基于單片機的數(shù)字頻率計設(shè)計(留存版)

2025-02-02 01:20上一頁面

下一頁面
  

【正文】 路的設(shè)計 表 3 4 介紹 74LS08 如圖 34 所示 74LS08 是由 四個二端輸入的與門組成的集成芯片 A1A 和 B1B4為輸入端 Y1Y4 為輸出端 VCC 為電源 GND 為接地端 圖 34 74LS08 管腳圖 74LS08 的功能表見表 4 在本設(shè)計中用到其中的兩個與門具體用法見控制電路的設(shè)計 表 4 32 硬件電路設(shè)計 時鐘電路設(shè)計 時鐘電路用于產(chǎn)生單片機工作所需的時鐘信號時序是指令執(zhí)行中各個信號之間的相互關(guān)系單片機本身就如同一個復(fù)雜的同步時序電路為了保證同步工作方式的實現(xiàn)電路要在唯一的時鐘信號控制下嚴(yán)格地按照時序進行工作 AT89C51內(nèi)部帶有時序電路因此只需要在片外通過 XTAL1 和 XTAL2引腳引入定時控制元件就可以構(gòu)成一個穩(wěn)定的自激振蕩器在 AT89C51 的內(nèi)部有一個增益反相放大器而在外部 XTAL1 和 XTAL2 之間接一個晶體振蕩器和微調(diào)電路 我們在本設(shè)計中使用的振蕩器的頻率一般要求保持在 1212MHz 之間并且它的頻率可以向兩端延伸 在高端可以達到 40MHz 低端可以達到 0Hz 為了方便我們選用 12MHZ 的晶振做定時控制元件如圖 35 所示諧振電路有晶振和電容構(gòu)成因為電容的大小影響振蕩器的穩(wěn)定性和起振的快速性所以 C1C2選用 10~ 33pF并且將30pF 的電容作為微調(diào)電容為了保證振蕩 器振蕩的穩(wěn)定性在設(shè)計時晶振電容等均應(yīng)盡可能靠近芯片以減少分布電容 圖 35 AT89C51 時序電路 復(fù)位電路設(shè)計 單片機的復(fù)位就是對單片機的初始化就是讓程序重新開始執(zhí)行也就是說讓單片機的 PC 寄存器初始化為 0000H 一般的初始化是指進入程序的正常初始化但是當(dāng)程序出錯或者操作錯誤使系統(tǒng)處于死鎖狀態(tài)時為了擺脫困境也需要按復(fù)位鍵使系統(tǒng)重新啟動復(fù)位方式有自動復(fù)位和手動復(fù)位兩種方式我們在本設(shè)計中采用手動復(fù)位的方式也就是采用按鍵復(fù)位的方式 單片機一般設(shè)置引腳 RST 為復(fù)位信號的輸入端并且高電平有效其有效時 間應(yīng)該持續(xù) 24 個振蕩脈沖周期以上我們在設(shè)計中使用 12MHZ 的晶振則復(fù)位信號的持續(xù)時間應(yīng)超過 2μ s 才能完成復(fù)位動作其復(fù)位電路如圖 36 圖 36 AT89C51 按鍵復(fù)位電路 分頻電路設(shè)計 7 進行了 64 分頻使檢測頻率擴大到 50000064HZ 略大于30MHz 滿足了設(shè)計要求 如圖 37 所示高頻率從 U2 的 CLK 端口輸入經(jīng) U2十六分頻后從 RCO 進位端輸出十六分頻的信號再進入 U3 的 CLK 輸入端從 U3 的 Q1輸出實現(xiàn) 4 分頻兩片合計將高頻信號進行了 64 分頻 如圖 38 所示為分頻后的波形圖在分頻電路中只用 到了 74HC161 的分頻功能置數(shù)清零等功能沒有用到因此 74HC161的 MRLOADENTU2除外和 ENP都接高電平如圖 37所示信號的分頻與否需要進行控制 U2的 ENT端就作為分頻的控制端由控制電路控制 圖 37 分頻電路 圖 38 64 分頻波形 分頻控制電路 在分頻電路中已經(jīng)敘述過檢測信號是否進行分頻由分頻控制電路控制分頻電路如圖 39 所示它由兩個與門一個或非門和一個非門組成在實際電路中兩個與門由 7408 芯片提供一個或門由 7402 芯片提供一個非門也由 7402 芯片提供具體是將 7402 芯片的一個或非門的一個輸 入端直接接地剩下一個輸入端和一個輸出端就組成了一個非門 信號的控制由軟件和硬件兩部分完成如圖 39所示未分頻信號由 U5的 1端口進入分頻信號由 U7 的 1 端口進入當(dāng)檢測信號為低頻時通過軟件使單片機的 P25口輸出低電平此時 U7將 1端的分頻信號斷開低電平經(jīng)過 U6非門變?yōu)楦唠娖绞沟肬5的 1端口的低頻信號通過再經(jīng)過 U4送入 T0計數(shù)端口進行頻率的計數(shù)首先 P25為高電平信號此時 U7 通路 U5 開路信號進入分頻電路分頻后從 U7 的 1 端口送入最后進入單片機的 T0 口進行信號檢測檢測的信號通過軟件的方式還原具體見第四章軟件設(shè)計當(dāng)頻率很低時甚 至分頻后為零則使 P25 為低電平信號信號直接進入單片機 圖 39 分頻控制電路 路設(shè)計 本設(shè)計采用 LED 數(shù)碼管顯示首先對數(shù)碼管進行簡要的介紹如圖 310 所示為LED數(shù)碼管的外部及內(nèi)部結(jié)構(gòu) LED數(shù)碼管是由發(fā)光二極管顯示字段的顯示器件它由 8 個發(fā)光二極管構(gòu)成通過不同的組合可顯示 0 到 9A 到 F 及其小數(shù)點等字符 數(shù)碼管通常有共陰極和共陽極兩種接法共陰極數(shù)碼管的發(fā)光二極管陰極必須接低電平當(dāng)某發(fā)光二極管的陽極為高電平一般為 5V 時此二極管點亮共陽極數(shù)碼管的發(fā)光二極管是陽極接到高電平對于需點亮的發(fā)光二極管使其陰極接低電平一般 為地即可顯然要顯示某字形就應(yīng)使此字形的相應(yīng)字形點亮實際就是送一個用不同電平組合代表的數(shù)據(jù)至數(shù)碼管一般共陽極數(shù)碼管必須外接電阻而共陰極不一定外接電阻 LED 顯示器有靜態(tài)顯示和動態(tài)顯示兩種顯示方式 圖 310 LED 數(shù)碼管 本設(shè)計采用了兩個四位數(shù)碼管顯示采用了四位一體的共陽極數(shù)碼管如圖311 所示 AG 為斷碼輸入端 DP 為小數(shù)點 14 為位碼輸入總上述顯示采用動態(tài)顯示為增大顯示亮度設(shè)置了上拉電阻以加大驅(qū)動電流數(shù)碼管的段選端接單片機的 P1口 14 位選端分別接單片機的 P20P21P22P23 數(shù)字頻率計的顯示只需 09 十個數(shù)字09 的段碼輸入分別為十六進制數(shù) C0HF9HA4HB0H99H92H82HF8H80H90H 圖 311 四位一體 LED 數(shù)碼管 第 4 章 軟件設(shè)計 本章主要介紹整體設(shè)計思路及流程圖相關(guān)程序的分析及流程圖仿真軟件及仿真過程 41 整體設(shè)計 硬件系統(tǒng)的設(shè)計完成后就要在其基礎(chǔ)上設(shè)計系統(tǒng)所需要的軟件系統(tǒng)系統(tǒng)功能是軟硬件共同實現(xiàn)的兩者缺一不可由于軟件的可伸縮性最終實現(xiàn)的系統(tǒng)功能可強可弱差別很大因此在硬件結(jié)構(gòu)確定后軟件是系統(tǒng)功能強弱的決定性因素 軟件是在硬件的基礎(chǔ)上來滿足用戶需求的系統(tǒng)功能控制邏輯對于單片機如果沒有軟 件系統(tǒng)系統(tǒng)功能無法實現(xiàn)所以軟件系統(tǒng)的正確與否是實現(xiàn)系統(tǒng)功能的關(guān)鍵軟件系統(tǒng)不僅要正確還要能準(zhǔn)確實現(xiàn)系統(tǒng)的功能要求對于軟件系統(tǒng)設(shè)計比硬件的設(shè)計還要重要 本設(shè)計的軟件系統(tǒng)采用模塊化的設(shè)計思想來實現(xiàn)測頻模塊化設(shè)計是將一個大的程序按功能分割成一些小的模塊各個模塊相對獨立功能單一結(jié)構(gòu)清晰接口簡單利用這種模塊化設(shè)計有許多優(yōu)點減少了程序設(shè)計的復(fù)雜性提高了元件的可靠性縮短了開發(fā)周期避免程序開發(fā)的重復(fù)勞動易于維護和功能擴展本設(shè)計的軟件功能模塊分為主程序模塊延時子程序模塊定時計數(shù)器初始化子程序模塊計數(shù)器計數(shù)轉(zhuǎn)換子程序模塊顯示數(shù)字 轉(zhuǎn)換子程序模塊中斷服務(wù)程序模塊顯示及分頻轉(zhuǎn)換子程序模塊等組成其流程圖 41 如下 圖 41 程序流程圖 本設(shè)計中中斷主要實現(xiàn) 50ms 的計時下面列出了中斷服務(wù)程序的流程圖 圖 42 T1 中斷服務(wù)程序 本章主要以顯示及分頻轉(zhuǎn)換子程序模塊和中斷服務(wù)程序模塊為例介紹功能的實現(xiàn) 42 程序分析 顯示及分頻轉(zhuǎn)換子程序 顯示及分頻轉(zhuǎn)換子程序如下 unsigned int zhuanhuan unsigned int i short j 定義短整型數(shù) j switch i i 為要顯示的數(shù)字 case 0 j 0xC0 break 0 的段碼 case 1 j 0xF9 break 1 的段碼 case 2 j 0xA4 break 2 的段碼 case 3 j 0xB0 break 3 的段碼 case 4 j 0x99 break 4 的段碼 case 5 j 0x92 break 5 的段碼 case 6 j 0x82 break 6 的段碼 case 7 j 0xF8 break 7 的段碼 case 8 j 0x80 break 8 的段碼 case 9 j 0x90 break 9 的段碼 return j 將要顯示的段碼返回調(diào)用此程序處 void suan unsigned long i unsigned int a 0 if P_H 1 判斷分頻控制端低電平表示沒分頻 高電平表示已分頻 i i64 若分頻檢測值乘以 64 while 1 a i1000 取千位的數(shù)字 P1 zhuanhuan a 調(diào)用 zhuanhuan 子程序 P_A 1 顯示第一位 delay 124 延時 1ms P_A 0 第一位熄滅 a i1000 100 取百位的數(shù)字 P1 zhuanhuan a P_B 1 顯示第二位 delay 124 P_B 0 第二位熄滅 a i100 10 取個位的數(shù)字 P1 zhuanhuan a P_C 1 顯示第三位 delay 124 P_C 0 第三位熄滅 a i10 取個位的數(shù)字 P1 zhuanhuan a P_D 1 顯示第四位 delay 124 P_D 0 第四位熄滅 ZhuanhuanSuan 子程序為分頻控制及顯示子程序該程序把檢測到的頻率數(shù)值轉(zhuǎn)換成十進制數(shù)通過調(diào)用 Zhuanhuan 子程序調(diào)出相應(yīng)的段碼再付給 P1 口以顯示當(dāng)程序執(zhí)行到 Suan 子程序時首先把檢測的頻率值付給 i 此程序中的 i 便是檢測到的頻率值以下各指令的作用見程序注釋 While1 表示進入死循環(huán)這樣是為了把檢測到的頻率實時的顯示因此第一次檢測完頻率后若頻率發(fā)生變化程序?qū)⒉辉贆z測這樣方便某時刻頻率的記錄要再檢測時只需按下復(fù)位鍵便可檢測下一個頻率 中斷服務(wù)程序 中斷服務(wù)程序如下 void T1_I void interrupt 3 using 0 TR0 0 TR1 0 TH1 0x3C TL1 0xB0 TF0 0 TF1 0 void T1_I void interrupt 3 using 0 位定時器 T1 的中斷服務(wù)程序主要作用是實現(xiàn)定時的準(zhǔn)確減少定時的誤差同時還可以使檢測的頻率數(shù)比較準(zhǔn)確當(dāng)T1 定時溢出時相應(yīng)的中斷標(biāo)志位 TF1 置 1 程序立即轉(zhuǎn)向相應(yīng)的中斷服務(wù)程序服務(wù)程序執(zhí)行完以后返回中斷處繼續(xù)當(dāng)前的程序中斷服務(wù)程序的作用非常重要它使檢測頻率的精度大大提高由于每執(zhí)行一條語句都要一定的時間若采用其 他方法在執(zhí)行語句時在時間上便會出現(xiàn)較大的誤差使得檢測的頻率誤差較大 以上就顯示及分頻轉(zhuǎn)換子程序模塊和中斷服務(wù)程序模塊為例介紹了本設(shè)計的實現(xiàn)方法并詳細介紹了程序指令的作用這已經(jīng)基本可以達到理解程序的要求至于其他程序本章不再介紹 43 仿真 Proteus 軟件搭建仿真電路 用 Keil 軟件進行了軟件設(shè)計與調(diào)試經(jīng)過 Keil 軟件調(diào)試 在沒有差錯的情況下 生成 HEX 文件 此時源程序和 HEX 文件應(yīng)保存在同一目錄下 否則仿真會出錯然后把原理圖的 Sourse 目錄加上源程序 雙擊 AT89C51 芯片 并在目錄上加上 HEX 文件 這時已經(jīng)把生成好的文件燒在了芯片中 注意每打一次原理圖進行仿真時 必須重新設(shè)置 Sourse 文件和 HEX按照以上步驟將仿真軟件調(diào)整好之后就可以將脈沖頻率設(shè)置好輸入到仿真軟件內(nèi) 得到最后的仿真結(jié)果從圖仿真結(jié)果中可以看出 脈沖頻率信號通過分頻計數(shù) 較為成功的在數(shù)碼管上顯示出來雖然有一定的誤差 但與其他方法相比 它所需要的外圍器件較少 適用于嵌入式系統(tǒng) 得到的頻率計領(lǐng)域較寬 精度較高 是一種較為成功的設(shè)計方案下面介紹仿真過程 Keil 的使用 在電腦上安裝好 keil 軟件后打開軟件進入程序設(shè)計界面 見下圖 新建文件并輸入源程序 保存文件輸入保存的文件名注意這里要加后綴本設(shè)計采用的是 C 程序所以后綴加 c 本次文件名定為 pinlvjic 如圖 這樣文件已經(jīng)保存頻率計文件夾里了接下來要新建工程選擇頂部菜單中project 下拉菜單的 new project 保存工程軟件會默認路徑為源程序文件夾 保存工程后會彈出選擇單片機菜單欄選擇 Atmel 中的 AT89C51 此時工程已建好在左邊工程欄中選擇 Target 1 中的 source group 1 添加開始時新建的文件 文件添加好后工程框內(nèi)便會由源程序了 設(shè)置輸出 HEX 文件 接 下來進行編譯若程序有邏輯或語法錯誤 keil 軟件會自動檢測出來然后進行修改再編譯重復(fù)這個過程直到編譯沒有錯誤此時系統(tǒng)也將生成 HEX 文件如下圖 這時候程序已沒有語法和邏輯錯誤但
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1