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

正文內(nèi)容

智能數(shù)顯表的設(shè)計(jì)論文-資料下載頁(yè)

2025-07-07 19:53本頁(yè)面

【導(dǎo)讀】式輸出測(cè)量結(jié)果的電子測(cè)量?jī)x表。由于它客觀(guān)的顯示出測(cè)量結(jié)果在很多領(lǐng)域中已。本文中要設(shè)計(jì)出一個(gè)智能數(shù)顯表,用它來(lái)可以測(cè)量電壓,電流和功率等信號(hào),用數(shù)碼管顯示出測(cè)量結(jié)果,由單片機(jī)來(lái)控制它的整個(gè)運(yùn)行狀態(tài)。

  

【正文】 數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全 Windows 界面。 一般 Keil C51 編譯器中 沒(méi)有 STC 單片機(jī)型號(hào) ,所以 把 STC 單片機(jī),當(dāng)成 Intel 的 8052/87C52/87C54/87C58,或 Philips 的 P87C52/P87C54/P87C58 就可以了 [10]。也可安裝 STC 仿真器的驅(qū)動(dòng)程序,這樣就看到型號(hào)了。本次編程采用了 Intel 的8052。智能數(shù)顯表的軟件設(shè)計(jì)過(guò)程中,對(duì)于一個(gè)復(fù)雜系統(tǒng),可 以 按 照 儀表的 具體功能把軟件分成若干個(gè)子程序, 然 后將各子程序連接起來(lái)進(jìn)行總體調(diào)試,這樣使系統(tǒng)軟件結(jié)構(gòu)清晰,便于獨(dú)立修改調(diào)試。 第三章 軟件系統(tǒng)的設(shè)計(jì) 27 圖 系統(tǒng)程序流程圖 系統(tǒng)軟件總體設(shè)計(jì)思路 本次軟件 設(shè)計(jì) 主要包括 CS5460A 的初始化程序, STC12C5410 對(duì) CS5460A 的寄存器單元的寫(xiě)程序, STC12C5410 對(duì) CS5460A 的電流有效值寄存器單元的讀程28 智能數(shù)顯表的設(shè)計(jì) 序,單片機(jī)處理數(shù)據(jù)的程序, BC7281A 初始化程序,鍵盤(pán)控制程序,單片機(jī)顯示浮點(diǎn)數(shù)程序。這些程序與各自的功能模塊相配合,完成相應(yīng)的功能。 其程序流程框圖如圖 所示。系統(tǒng)復(fù)位后,首先 分別對(duì) 系統(tǒng) , CS5460A和BC7281A初始化 然后 將 BC7281A 的工作模式設(shè)置為 595 工作模式,然后系統(tǒng)調(diào)用鍵盤(pán)處理子程序,在“測(cè)量”鍵按下之后,系統(tǒng)即進(jìn)入測(cè)量功能 , 再調(diào)用數(shù)據(jù)相關(guān)子程序,當(dāng) CS5460A 轉(zhuǎn)換完成后,會(huì)發(fā)出外部中斷信號(hào)請(qǐng)求 STC12C5410 讀取數(shù)據(jù),當(dāng) STC12C5410 的 INT1 引腳測(cè)量到低電平時(shí), STC12C5410 單片機(jī)讀取電量值, 再調(diào)用數(shù)據(jù)處理子程序,進(jìn)行計(jì)算得出測(cè)量結(jié)果,再調(diào)用顯示浮點(diǎn)數(shù)程 將測(cè)量結(jié)果顯示,默認(rèn)情況下將顯示三相電壓有效值。用戶(hù)可以選擇顯示的電量類(lèi)型。然后繼續(xù)執(zhí)行測(cè)量等功能。整個(gè)主程序是一個(gè)閉環(huán)程序,不斷地執(zhí)行測(cè)量、顯示等功能。 CS5460A 的軟件設(shè)計(jì) CS5460A 的操作遠(yuǎn)原理 CS5460A 的串行接口部分集成了一個(gè)帶有發(fā)送 /接收緩沖器的狀態(tài)機(jī),狀態(tài)機(jī)在 SCLK 的上升沿解釋 8 位命令字。根據(jù)對(duì)命令的解碼,狀態(tài)機(jī)將執(zhí)行相應(yīng)的操作,或者為被尋址的寄存器的數(shù)據(jù)傳輸做準(zhǔn)備。讀操作需將被尋址的內(nèi)部寄存器的數(shù)據(jù)傳送到發(fā)送緩存區(qū),寫(xiě)操作在數(shù)據(jù)傳輸前要等 24個(gè) SCLK 周期。內(nèi)部寄存器用于控制 ADC 的功能。所有寄存器都是 24 位。上電后 CS5460A 初始化并處于可完全操作狀態(tài),等待接收有效的命令(輸入串口的前 8 位數(shù)據(jù))。在完 成對(duì)有效命令的接收和解碼后,狀態(tài)機(jī)將指示轉(zhuǎn)換器執(zhí)行系統(tǒng)操作或從內(nèi)部寄存器輸入或輸出數(shù)據(jù)。 ,本次主要用開(kāi)始轉(zhuǎn)換 SYNC0、 SYNC1 校準(zhǔn)控制命令。 可是 一些命令字的執(zhí)行受配置寄存器 和 周期計(jì)數(shù)寄存器的影響, 所以我們需要 先對(duì)周期計(jì)數(shù)器和配置寄存器內(nèi)容進(jìn)行正確設(shè)置。寄存器寫(xiě)指令后必須跟 24 位數(shù)據(jù),先寫(xiě)命令字啟動(dòng)寫(xiě)操作,然后是 24個(gè)連續(xù)的串行時(shí)鐘脈沖。 CS5460A 將從串行輸入引腳SDI 接收串行數(shù)據(jù),一旦收到數(shù)據(jù) ,狀態(tài)機(jī)便將數(shù)據(jù)寫(xiě)入配置寄存器并返回到命令模式。寄存器讀指令可以終止在 8 位的邊界上。通過(guò) SDI 引腳寫(xiě)入命令后,可從SDO 引腳讀出數(shù)據(jù) 。 第三章 軟件系統(tǒng)的設(shè)計(jì) 29 CS5460A 的初始化設(shè)計(jì) 我們對(duì) STC12C5410進(jìn)行初始化以后就對(duì) CS5460A進(jìn)行初始化。一般對(duì)軟件或硬件的復(fù)位工作都使系統(tǒng)初始化, CS5460A的初始化包括 CS5460A 復(fù)位、串口初始化、寫(xiě)控制、配置、屏蔽寄存器和校準(zhǔn)等 。初始化的過(guò)程如圖 : CS5460A的復(fù)位工作 CS5460A的復(fù)位有兩種方式,他們分別為硬件復(fù)位和軟件復(fù)位,在本次設(shè)計(jì)中我們所用到的方法是硬件復(fù)位即給 CS5460A的 RESET腳發(fā)送一個(gè)低電平脈沖,其脈沖至少為 10ms。 CS5460A的串口初始化 串口與 SCLK不同步是有可能的, 一旦發(fā)生這種情況,任何輸入 CS5460A的有效指令或者不會(huì)產(chǎn)生動(dòng)作或者產(chǎn)生錯(cuò)誤動(dòng)作,因?yàn)?CS5460A不能正確解釋輸入的命令字。此時(shí)需重新初始化串口,當(dāng)開(kāi)始初始化的時(shí)候 向串口發(fā)初始化序列,該序列包括 3個(gè)(或更多 )時(shí)鐘周期的 SYNC1命令字( 0xFF ),緊跟著一個(gè)時(shí)鐘周期的 SYNC0命令字 (0xFE)。 這個(gè)序列使芯片 CS5460A 進(jìn) 入命令模式,并等待有效命令。 寫(xiě)控制,配置,屏蔽寄存器 寫(xiě)狀態(tài)寄存器, DRDY 位表示校準(zhǔn)完成或數(shù)據(jù)轉(zhuǎn)換完成。將屏蔽寄存器的 DRDY 置 1,當(dāng)狀態(tài)寄存器的 DRDY 位為 1 時(shí),表示校準(zhǔn)完畢或者 A/D 數(shù)據(jù)轉(zhuǎn)換 完畢,由 INT 引腳來(lái)指示,單片機(jī)通過(guò)檢測(cè)該引腳的電位來(lái)判斷。對(duì)于配置寄存 器,本次取默認(rèn)值,及取 K=1,Gi=0(即電流增益取 10,電流模擬通道輸入典型 值為 150mV), S1=0; S1=0 表示 INT 引腳低電平有效。屏蔽寄存器設(shè)置: DRDY 置 1。 30 智能數(shù)顯表的設(shè)計(jì) 圖 CS5460A的初始化圖 校準(zhǔn) CS5460A 提供了數(shù)字校準(zhǔn)。用戶(hù)通過(guò)設(shè)置校準(zhǔn)命令字中的相應(yīng)位來(lái)決定執(zhí)行那種校準(zhǔn)。對(duì)于電壓和電流通道,都有 AC 和 DC 校準(zhǔn)。不管是那種校準(zhǔn)都有兩種模式:系統(tǒng)偏移量校準(zhǔn)和系統(tǒng)增益校準(zhǔn)。用戶(hù)必須提供地和滿(mǎn)量程的信號(hào)才能進(jìn)行系統(tǒng)校準(zhǔn)。無(wú)論是 AC 還是 DC 校準(zhǔn),用戶(hù)都必須提供正的滿(mǎn)量程信號(hào)以完成系統(tǒng)增益校準(zhǔn)以及參考地電平以完成系統(tǒng)偏移量校準(zhǔn)。 AC 與 DC 校準(zhǔn)不同。 是 應(yīng)用的場(chǎng)合和要求的精度不同,某些或全部校準(zhǔn)的程序可不必進(jìn)行。為便于讀者了解每一校準(zhǔn)程序的功能,首先定義 CS5460A內(nèi)的各校準(zhǔn)寄存器。 本次設(shè)計(jì)主要校準(zhǔn)寄存器包括交流電流增益寄存器,交流電流偏置寄存器,交流電壓增益寄存器,交流電流增益寄存器,校準(zhǔn)之前必須使 CS5460A 處于活動(dòng)狀態(tài),同時(shí)使其準(zhǔn)備接收有效命令,并清除狀態(tài)寄存器的 DRDY 位,因?yàn)?DRDY用于判斷校準(zhǔn)是否完成。在執(zhí)行偏置校準(zhǔn)時(shí),應(yīng)該輸入零信號(hào);在執(zhí)行增益校準(zhǔn)時(shí),應(yīng)該輸入滿(mǎn)刻度信號(hào)。 第三章 軟件系統(tǒng)的設(shè)計(jì) 31 當(dāng)?shù)谝淮涡?zhǔn)以后,將該值存入 ROM,當(dāng) CS5460A再次復(fù)位時(shí)直接寫(xiě)入即可 。清狀態(tài)寄存器 首先讀取狀態(tài)寄存器值,然后再寫(xiě)入狀態(tài)寄存器。本次要用 DRDY 即第 24 位,首先向狀態(tài)寄存器寫(xiě)入 FFFFFF,所有位清 0,屏蔽寄存器用來(lái)產(chǎn)生的中斷位 寫(xiě) 邏輯 1,即 DRDY 位寫(xiě) 1。使中斷有效,自動(dòng)發(fā)生中斷,進(jìn)入讀取數(shù)據(jù)處理, 同時(shí)讀取狀態(tài)寄存器,將該值寫(xiě)入狀態(tài)寄存器,將 DRDY 位清 0,使中斷無(wú)效 啟動(dòng)連續(xù)轉(zhuǎn)換 首先設(shè)置周期計(jì)數(shù)器的值,及一秒鐘轉(zhuǎn)換多少次,本次用默認(rèn)值, N=4000, 然后寫(xiě)入啟動(dòng)連續(xù)轉(zhuǎn)換命令 0xe8。 CS5460A 讀寫(xiě)過(guò)程 CS5460A 寫(xiě)命令 當(dāng)命令包含寫(xiě)操作時(shí),串口將在下面 24 個(gè) SCLK 周期對(duì) SDI引腳的數(shù)據(jù) (從高位開(kāi)始 )記錄。寄存器寫(xiě)指令后必須跟 24 位的數(shù)據(jù),高位在前。寫(xiě)時(shí)序如圖 所示: 圖 CS5460A的寫(xiě)時(shí)序圖 CS5460A 寄存器讀命令 當(dāng)發(fā)出一個(gè)讀命令時(shí),串口根據(jù)發(fā)出的命令,在下面的 8, 16 或 24 個(gè) SCLK 周期初始化串行傳輸 SDO 管腳上的寄存器的內(nèi)容。可以終止在 8 位的邊界上 (讀出時(shí)可只讀 8, 16 或 24 位 )。同樣,數(shù)據(jù)寄存器讀出允許采用“命令鏈”。因此讀寄存器時(shí) , 微控制器可同時(shí)發(fā)送新指令,新指令將被立即執(zhí)行,并可能終止讀操作。讀時(shí)序如圖 所示: 32 智能數(shù)顯表的設(shè)計(jì) 圖 CS5460A的讀時(shí)序圖 BC7281A 的軟件設(shè)計(jì) BC7281 的指令格式 BC7281A 與 STC12C5410 之間的通訊采用 2 線(xiàn)高速串行接口,兩根連線(xiàn)分別是數(shù)據(jù)線(xiàn) DAT 和同步時(shí)鐘線(xiàn) CLK,其中 DAT 為雙向數(shù)據(jù)傳輸線(xiàn), BC7281A 既用該線(xiàn)從 STC12C5410 接收數(shù)據(jù),也用該線(xiàn)向 STC12C5410 發(fā)送數(shù)據(jù)。 BC7281A 的 DAT 引腳為漏極開(kāi)路輸出結(jié)構(gòu),使用時(shí)需要在該線(xiàn)上加上拉電阻。 CLK 引腳為串行接口同步時(shí)鐘,由 STC12C5410 控制,下降沿有效 [11]。 串行接口數(shù)據(jù)寬度為 8 位,兩個(gè)字節(jié)為一組,構(gòu)成一條完整的指令。第一個(gè) 字節(jié)為命令字,第二個(gè)字節(jié)為數(shù)據(jù)。字節(jié)在傳送時(shí)高位( MSB)在前。串行接口 數(shù)據(jù)結(jié)構(gòu)如表 所示: 表 串行接口數(shù)據(jù)位 指令字節(jié)中 R/W 為讀寫(xiě)控制,當(dāng) R/W=0 時(shí),由 STC12C5410 向 BC7281A 的 內(nèi)部寄存器內(nèi)寫(xiě)入數(shù)據(jù);當(dāng) R/W=1 時(shí), STC12C5410 讀出 BC7281A 內(nèi)部寄存器 的數(shù)據(jù)。 a0a4 為目標(biāo)寄存器的地址,其范圍為 00H1FH。 數(shù)據(jù)字節(jié)即寫(xiě)入或從寄存器讀出的數(shù)據(jù),寫(xiě)入指令( R/W=0)時(shí),數(shù)據(jù)由 MCU傳向 BC7281,讀出指令( R/W=0)時(shí),數(shù)據(jù)由 BC7281傳向 MCU。 第三章 軟件系統(tǒng)的設(shè)計(jì) 33 BC7281A 的讀寫(xiě) 字節(jié)寫(xiě)入 BC7281A的過(guò)程 字節(jié)寫(xiě)入 BC7281,包括指令字節(jié)和寫(xiě)入 BC7281A 的數(shù)據(jù)字節(jié),一個(gè)寫(xiě)入寄 存器的指令,由連個(gè)字節(jié)寫(xiě)入操作組成,第一個(gè)字節(jié)為指令字節(jié),而第二個(gè)字節(jié) 則為數(shù)據(jù)字節(jié)。在接口空閑的情況下 , BC7281A 的 DAT 引腳處于高阻輸入狀態(tài), 而 STC12C5410 端也將 DAT 線(xiàn)置于輸入狀態(tài),上拉電阻使得 DAT 線(xiàn)上為高電平。 傳輸開(kāi)始時(shí),首先需要建立握手信號(hào), STC12C5410 先向 BC7281A 發(fā)出一系列CLK 脈沖,脈沖的數(shù)量可以是任意多個(gè) STC12C5410 同時(shí)監(jiān)測(cè) DAT 線(xiàn),而 BC7281A 在收到該握手脈沖后在 DAT 線(xiàn)輸入一低電平,表示準(zhǔn)備好可以接受 STC12C5410 數(shù)據(jù), STC12C5410 一旦檢測(cè)到 BC7281A 的響應(yīng)信號(hào),立刻停止發(fā)送握手脈沖, 并在規(guī)定時(shí)間之類(lèi),在 CLK 線(xiàn)上再發(fā)送一次脈沖,該脈沖使得 BC7281A 的 DAT 引腳恢復(fù)高阻輸入狀 態(tài),因?yàn)?DAT 線(xiàn)上有上拉電阻,因此 DAT 線(xiàn)上回復(fù)陳為高 電平, STC12C5410 在測(cè)試到 DAT 線(xiàn)恢復(fù)成高電平后,即開(kāi)始發(fā)送數(shù)據(jù)。發(fā)送是 數(shù)據(jù)的高位( MSB)在前。每發(fā)送一個(gè) CLK 脈沖,開(kāi)始部分已發(fā)送部分的 CLK 脈沖均為下降沿有效。需要注意: STC12C56410 檢測(cè)到 BC7281A 的低電平握手信 號(hào)后,應(yīng)該在 Ta 時(shí)間之內(nèi)給出下一個(gè) CLK 脈沖,同時(shí)注意數(shù)據(jù)傳輸時(shí)的數(shù)據(jù)保 持時(shí)間,如果數(shù)據(jù)保持時(shí)間小于規(guī)定的值,則有可能造成通訊錯(cuò)誤 。 STC12C5410 寫(xiě)入 BC7281A 時(shí)序如圖 所示: 圖 BC7281的寫(xiě)時(shí)序圖 字節(jié)從 BC7281A讀出 讀寄存器操作,由一個(gè)字節(jié)寫(xiě)入操作和一個(gè)字節(jié)讀出操作兩部分,字節(jié)寫(xiě)入 操作寫(xiě)入指令字,數(shù)據(jù)則有字節(jié)讀出操作讀出。 STC12C5410 在傳送完指令字后, 應(yīng)將 DAT 線(xiàn)置于輸入狀態(tài),以便從 BC7281A 接收數(shù)據(jù)。讀出數(shù)據(jù)時(shí),也需要建 34 智能數(shù)顯表的設(shè)計(jì) 立握手信號(hào),過(guò)程與寫(xiě)入數(shù)據(jù)時(shí)相似,但是數(shù)據(jù)讀出是, STC12C5410 僅發(fā)送一個(gè)單一的握手脈沖,而不是像希爾數(shù)據(jù)是不停的發(fā)送直到收到 BC7281A 響應(yīng)信號(hào)。 具體過(guò)程是: STC12C5410 首先向 BC7281A 發(fā)出一個(gè)起始 CLK 脈沖, BC7281A 在收到該脈沖后在 DAT 腳開(kāi)始輸出數(shù)據(jù)。此后 BC7281 每收到一個(gè)脈沖,即在 DAT 上輸出一個(gè)數(shù)據(jù)為。一個(gè)與希爾指令不同的地方是,當(dāng) 8個(gè)數(shù)據(jù)均讀出了以后, STC12C5410 還必須多發(fā)出一個(gè) CLK 脈沖,表示數(shù)據(jù)接收完畢, BC7281A 才能從 數(shù)據(jù)輸出狀態(tài)轉(zhuǎn)成輸入狀態(tài),準(zhǔn)備接收下一個(gè)指令。其時(shí)序圖如圖 所示: 圖 BC7281A的讀時(shí)序圖 在數(shù)據(jù)傳送期間, BC7281A 不會(huì)進(jìn)行顯示和鍵盤(pán)掃描,因此如果通訊速度過(guò)慢(指令的傳送時(shí)間 大于掃描周期),將會(huì)對(duì)顯示造成影響。 BC7281A 的初始化 本次設(shè)計(jì)初始化主要是設(shè)置為 595 工作模
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1