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

正文內(nèi)容

基于單片機的恒壓供水系統(tǒng)設計方案(編輯修改稿)

2025-06-02 00:20 本頁面
 

【文章內(nèi)容簡介】 、32個可編程I/O口線、2個16位定時/計數(shù)器、6個中斷源、低功耗空閑和掉電模式。引腳功能:Vcc:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口,作為輸出口用時,每位能吸收8個TTL邏輯門電路,對端口寫1可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程是P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:P1口是一個帶上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。對端口寫1,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。Flsah編程和程序校驗期間,P1就收低8位地址。P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。對端口寫1,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容,在整個訪問期間不改變。Flash編程或校驗時,P2亦就收高位地址和其它控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動4個TTL邏輯門電路。對P3口寫入1是,它們被內(nèi)部上拉電阻拉高并作為輸入口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流。表33 P3口第二功能端口引腳第二功能串行輸入口串行輸出口外中斷0外中斷1定時/計數(shù)器0定時/計數(shù)器1外部數(shù)據(jù)存儲器寫選通外部數(shù)據(jù)存儲器讀選通P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表所示:P3口還接受一些用于Flash閃速存儲器編程和程序校驗的控制信號。RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器,EA端必須保持低電平。需注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程是,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端. 各單元模塊的聯(lián)接完成各模塊的設計后,模塊按照功能的不同連接成整體的電路圖。各模塊的具體聯(lián)接圖見附錄一。4 軟件設計 軟件設計原理及設計所用工具軟件的主要功能是根據(jù)系統(tǒng)的工作原理,框圖,先制定各部分程序的流程圖,然后再根據(jù)流程圖編寫各部分程序,通過調(diào)試各部分程序運行正確無誤后,再進行主程序的調(diào)試,看是否能實現(xiàn)預期的功能。系統(tǒng)能否完全正常工作,最主要的也是最關(guān)鍵的是看軟件程序是否正確,它關(guān)系到系統(tǒng)功能的實現(xiàn),可以說,軟件是一個系統(tǒng)的靈魂。本設計所使用的軟件工具如下::KeilC51;:C/C++。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),是目前最流行開發(fā)80C51系列單片機的軟件,提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(micro。Vision)將這些部份組合在一起。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Keil C51語言編譯工具都是以ANSLC作為基礎(chǔ)進行開發(fā)的,因此,一種C語言環(huán)境下所編寫的 C語言程序,只需將部分與硬件相關(guān)的地方和編譯連接的參數(shù)進行適當修改,就可方便移植到另外一種系列上。也就是說,基于 C語言環(huán)境下的嵌入式系統(tǒng)能基本達到平臺的無關(guān)性。用C語言開發(fā)的代碼便于開發(fā)小組計劃項目,靈活管理,分工合作以及后期維護,基本上可以杜絕因開發(fā)人員變化而給項目進度,后期維護或升級所帶來的影響。從而保證整個系統(tǒng)的品質(zhì),可靠性以及可升級性。 主程序流程圖恒壓供水控制器對生活供水、消防供水系統(tǒng)進行監(jiān)控,要求軟件具有高可靠性、高穩(wěn)定性、高抗干擾能力,檢測信號準確,有良好的動靜態(tài)性能,該軟件按結(jié)構(gòu)化流水設計,分為若干功能部分,采用C語言編寫。本設計的軟件主程序用來動態(tài)顯示系統(tǒng)的壓力,壓力的采樣和系統(tǒng)的控制環(huán)節(jié)都在中斷處理程序中, 主流程圖如圖41:主程序初始化,開T0中斷,設置T0為10ms的中斷壓力的動態(tài)顯示按鍵處理子程序YN是否鍵按下開始圖41 主程序流程圖 T0中斷服務程序主要包括:A/D轉(zhuǎn)換程序;D/A轉(zhuǎn)換程序;控制程序。程序流程圖如下:如圖42示,變頻器控制M1電機,M2電動機由單片機控制,其標志位為M2。1.A/D轉(zhuǎn)換子程序其主要任務是把壓力傳感器檢測的壓力轉(zhuǎn)換成數(shù)字量,并送入單片機處理,程序見附錄。2.D/A轉(zhuǎn)換子程序其主要任務是把經(jīng)PID處理過的數(shù)據(jù)轉(zhuǎn)換成模擬量,來控制變頻器輸出電壓的頻率,來控制水泵的轉(zhuǎn)速,以達到控制供水壓力的目的。讀A/D轉(zhuǎn)換器返回Y進入T0中斷PID調(diào)節(jié)是否為最大值標志位M2是否為1是否為最小值標志位M2是否為1NYY置標志位M2為1,(開M2電機)。PID調(diào)節(jié)數(shù)據(jù)送D/A轉(zhuǎn)換器清標志位M2為0,(關(guān)M2電機)NNNNY圖42 T0中斷服務程序流程圖3.PID調(diào)節(jié)程序本設計就是通過單片機實現(xiàn)的PID調(diào)節(jié)器來實現(xiàn)水壓的恒定,并自動調(diào)節(jié)水泵的數(shù)量。在工業(yè)控制過程中,目前采用最多的控制方式仍然是PID方式。PID有幾個重要的功能:提供反饋控制;通過積分作用可以消除穩(wěn)態(tài)誤差:通過微分作用預測將來。由于PID控制器具有簡單而固定的形式,在很寬的操作條件范圍內(nèi),另一方面是因為PID控制器允許工程技術(shù)人員以一種簡單而直接的方式來調(diào)節(jié)系統(tǒng)性能,其程序見附錄。數(shù)字PID控制算法通常分為位置式PID控制算法和增量式PID控制算法。隨著計算機技術(shù)的發(fā)展,在控制工程中,用計算機PID控制算法來實現(xiàn)數(shù)字PID控制器,組成計算機控制系統(tǒng)??梢造`活的改變PID參數(shù),同時可以改變控制策略來達到控制目的。這是模擬PID控制器中所無法實現(xiàn)的。這里所說的控制策略是數(shù)字PID的改進算法,如積分分離PID控制算法、不完全微分PID控制算法、微分先行PID控制算法和帶死區(qū)的PID控制算法等。在各個控制階段采取各種控制方法,以此來獲得控制目標。本設計采用增量式PID控制,下面把增量式PID控制算法介紹一下:1) 增量式PID控制算法所謂增量式PID是指數(shù)字控制器的輸出只是控制量的增量Δu(k)。離散的PID表達式為: (41)當執(zhí)行機構(gòu)需要的是控制量的增量(如驅(qū)動步進電機)時,可由式(41)導出提供增量的PID控制算法。根據(jù)遞推原理可得 (42)用式(41 )減去(42 ),可得 (43)其中: 式(43)稱為增量式PID控制算法??梢钥闯?,由于一般計算機控制系統(tǒng)采用恒定的采樣周期T,一旦確定了KP,KI,KD,只要使用前后三次測量值的偏差,即可有(43)求出控制增量。采用增量式算法時,計算機輸出的控制增量Δu(k)對應的是本次執(zhí)行機構(gòu)位置的增量。對應閥門實際位置的控制量,目前采用較多的是利用如上算式并通過執(zhí)行軟件來完成。 獨立按鍵程序設計1) 程序設計思路按鍵接收子程序主要是實現(xiàn)對當前設定壓力的調(diào)整。根據(jù)按鍵電路的設計可知,當【SET】鍵按下時可以產(chǎn)生中斷請求,CPU響應中斷請求時,則進入該中斷服務程序。在程序中,將對當前設定的壓力進行調(diào)整,利用【SET】、【+1】和【1】鍵配合使用,每次對【+1】鍵的按下則進行累加;同樣對【1】鍵按下則進行減1操作。開 始置無鍵按下(P0口FFH)標志進入鍵盤處理程是否有鍵按下?(讀P0口值)調(diào)延時子程序是否有鍵按下?(再次讀P0口值)確認有鍵按下保存鍵值YYNN圖43 鍵盤掃描程序流程圖2) 按鍵去抖動的處理開始為F7H否?為EFH否為FBH否?為DFH否?讀鍵值(P0口)置標志位執(zhí)行RUN置標志位執(zhí)行SET執(zhí)行+1執(zhí)行-1返回YNYYYN NNN圖44 按鍵處理程序流程圖由于機械觸點的彈性作用,在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動時間的長短由按鍵的機械特性決定,一般為5~10ms。而按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀多次,為了確保CPU對鍵的一次閉合僅作一次處理,按鍵的抖動可以用硬件或者軟件方法來消除。本次設計中采用軟件方法來消除按鍵抖動,具體的鍵盤掃描程序框圖如圖43所示。而按鍵處理的程序框圖如圖44所示。讀取P0口的值于(11000011)二進制數(shù)或運算再到鍵盤處理程序中處理,以屏蔽高兩位和低兩位對程序的影響。 LED動態(tài)顯示程序模塊的設計在采用動態(tài)掃描顯示方式時,要使得LED顯示比較均勻,又有足夠的亮度,需要設置適當?shù)膾呙桀l率。當掃描頻率在70Hz左右時,能夠產(chǎn)生足夠的圖形和較好的顯示效果。一般可以采用時間間隔10ms對LED進行動態(tài)掃描一次,每一位LED的顯示時間為1ms。在單片機中,定時器功能既可以由硬件(定時/記數(shù)器)實現(xiàn),也可以通過軟件定時程序?qū)崿F(xiàn)。軟件延時程序占用CPU的時間,因此,它降低了CPU的利用率;硬件定時是利用單片機片內(nèi)定時器,啟動以后定時器可與CPU并行工作,不占用CPU的時間,使得CPU有較高的工作效率。本設計采用硬件定時和軟件定時并用的方式,即用定時器1溢出中斷功能實現(xiàn)10ms定時,通過軟件延時程序?qū)崿F(xiàn)1ms的定時。T1定時器中斷服務程序的功能,從顯示緩沖區(qū)分別取出4位LED顯示數(shù)據(jù)的位碼和段碼,送P0口,依次顯示每一位,顯示4位需要4ms的時間。在設定時間時候,對當前需要調(diào)整的設定值應具有閃爍功能,用來提醒當前處于設置狀態(tài)。保護現(xiàn)場關(guān)T1中斷把DATA1中數(shù)據(jù)寫到DATA中根據(jù)CLK,送位選COM端恢復現(xiàn)場,開T1中斷,恢復T1初值返回四位顯示是否結(jié)束YNCOM+1圖45 LED動態(tài)顯示程序程序流程圖進入T1中斷5 系統(tǒng)調(diào)試本章對系統(tǒng)的各模塊進行了仿真調(diào)試。 Proteus仿真軟件介紹Proteus軟件是Labcenter Electronics公司的一款電路設計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比如MCS51系列、PIC系列等等,以及單片機外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。軟件仿真有很多特點和優(yōu)勢,如:可以隨意方便的更換和改變電路中的器件及線路,仿真的過程中不會損壞器件,從而降低了產(chǎn)品開發(fā)的成本。本文中由于我們主要使用Proteus軟件在單片機方面的仿真功能,所以我們重點研究ISIS模塊的用法,在下面的內(nèi)容中,如不特別說明,我們所說的Proteus軟件特指其ISIS模塊。我們首先來熟悉一下Proteus的界面。Proteus是一個標準的Windows窗口程序,和大多數(shù)程序一樣,沒有太大區(qū)別,其啟動界面如圖51所示: 圖51 Proteus啟動界面如圖中所示,區(qū)域①為菜單及工具欄,區(qū)域②為預覽區(qū),區(qū)域③為元器件瀏覽區(qū),區(qū)域④為編輯窗口,區(qū)域⑤為對象拾取區(qū),區(qū)域⑥為元器件調(diào)整工具欄,區(qū)域⑦為運行工具條。首先點擊啟動界面區(qū)域③中的“P”按鈕(Pick Devices,拾取元器件)來打開“Pick Devices”(拾取元器件)對話框從元件庫中拾取所需的元器件。在對話框中的“Keywords”里面輸入我們要檢索的元器件的關(guān)鍵詞,比如我們要選擇項目中使用的AT89C51,就可以直接輸入。輸入以后我們能夠在中間的“Results”結(jié)果欄里面看到我們搜索的元器件的結(jié)果。在對話框的右側(cè),我們還能夠看到我們選擇的元器件的仿真模型、引腳以及PCB參數(shù)。這里有一點需要注意,可能有時候我們選擇的元器件并沒有仿真模型,對話框?qū)⒃诜抡婺P秃鸵_一欄中顯示“No Simulator Model”(無仿真模型)。那么我們就不能夠用該元器件進行仿真了,或者我們只能做它的PCB板,或者我們選擇其他的與其功能類似而且具有仿真模型的元器件。 搜索到所需的元器件以后,我們可以雙擊元器件名來將相應的元器件加入到我們的文檔中,那么接著我們還可以用相同的方法來搜索并加入其他的元器件。當我們已經(jīng)將所需的元器件全部加入到文檔中時,我們可以點擊“OK
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1