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

正文內(nèi)容

基于89c51單片機(jī)倉(cāng)庫(kù)溫濕度的監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2025-07-25 00:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 問(wèn)外部程序存儲(chǔ)器或16 位四肢的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR指令)時(shí),P2 口送出高8 位地址數(shù)據(jù),在訪問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @ RI 指令)時(shí),P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2 寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。Flash 編程和程序校驗(yàn)時(shí),P2 也接收高位地址和其他控制信號(hào)。P3 口:P3 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P3 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE 脈沖。對(duì)Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC 指令A(yù)LE 才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE 無(wú)效。PSEN:程序存儲(chǔ)允許輸出是外部程序存儲(chǔ)器的讀選通型號(hào),當(dāng)89C51 由外部存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN 信號(hào)不出現(xiàn)。EA/VPP:外部訪問(wèn)允許。欲使CPU 僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA 端狀態(tài)。如EA 端為高電平(接Vcc 端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash 存儲(chǔ)器編程時(shí),該引腳加上+12v 的編程允許電源Vpp,當(dāng)然這必須是該器件使用12v 編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。89C51 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖5。外接石英晶體或陶瓷諧振器及電容CC2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)電容CC2 雖沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30Pf177。10 Pf,而如使用陶瓷諧振器建議選擇40Pf177。10Pf。用戶(hù)也可以采用外部時(shí)鐘。這種情況下,外部時(shí)鐘脈沖接到XTAL1 端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端XTAL2 則懸空。掉電模式:在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM 和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。推出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器但不改變RAM 中的內(nèi)容,在Vcc 恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效,且必須保持一定時(shí)間以使振蕩器重啟動(dòng)并穩(wěn)定工作。89C51 的程序存儲(chǔ)器陣列是采用字節(jié)寫(xiě)入方式編程的,每次寫(xiě)入一個(gè)字符,要對(duì)整個(gè)芯片的EPROM 程序存儲(chǔ)器寫(xiě)入一個(gè)非空字節(jié),必須使用片擦除的方法將整個(gè)存儲(chǔ)器的內(nèi)容清楚。三、編程方法編程前,設(shè)置好地址、數(shù)據(jù)及控制信號(hào),編程單元的地址加在P1 口和P2 —(11 位地址范圍為0000H——0FFFH),數(shù)據(jù)從P0口輸入,、 、 的電平設(shè)置見(jiàn)表6,PSEB 為低電平,RST保持高電平,EA/Vpp 引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖(負(fù)脈沖)。編程時(shí),可采用4—20MHz 的時(shí)鐘振蕩器,89C51 編程方法如下:在地址線上加上要編程單元的地址信號(hào)在數(shù)據(jù)線上加上要寫(xiě)入的數(shù)據(jù)字節(jié)。激活相應(yīng)的控制信號(hào)。在高電壓編程方式時(shí),將EA/Vpp 端加上+12v 編程電壓。每對(duì)Flash 存儲(chǔ)陣列寫(xiě)入一個(gè)字節(jié)或每寫(xiě)入一個(gè)程序加密位,加上一個(gè)ALE/PROG 編程脈沖。改變編程單元的地址和寫(xiě)入的數(shù)據(jù),重復(fù)1—5 步驟,知道全部文件編程結(jié)束。每個(gè)字節(jié)寫(xiě)入周期是自身定時(shí)的。數(shù)據(jù)查詢(xún)89C51 單片機(jī)用數(shù)據(jù)查詢(xún)方式來(lái)檢測(cè)一個(gè)寫(xiě)周期是否結(jié)束,在一個(gè)寫(xiě)周期中,如需要讀取最后寫(xiě)入的那個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位()是原來(lái)寫(xiě)入字節(jié)的最高位的反碼。寫(xiě)周期開(kāi)始后,可在任意時(shí)刻進(jìn)行數(shù)據(jù)查詢(xún)。Ready/Busy:字節(jié)編程的進(jìn)度可通過(guò)Ready/Busy 輸出信號(hào)檢測(cè),編程期間,ALE 變?yōu)楦唠娖健癏”(Ready/Busy)端被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后, 變?yōu)楦唠娖奖硎緶?zhǔn)備就緒狀態(tài)。程序校驗(yàn):如果加密位LB、LB2 沒(méi)有進(jìn)行編程,則代碼數(shù)據(jù)可通過(guò)地址和數(shù)據(jù)線讀回原編寫(xiě)的數(shù)據(jù),采用下圖的電路,程序存儲(chǔ)器的地址由P1 口和P2 — 輸入,數(shù)據(jù)由P0 口讀出,PSEN 保持低電平,ALE、EA 和RST 保持高電平。校驗(yàn)時(shí),P0 口必須接上10k 左右的上拉電阻。圖317 編程電路 圖318 校驗(yàn)電路芯片擦除:利用控制信號(hào)的正確組合并保持ALE/PROG 引腳10ms 的低電平脈沖寬度即可將EPROM 陣列(4k 字節(jié))和三個(gè)加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫(xiě)入”1”,這步驟需在編程之前進(jìn)行。讀片內(nèi)簽名字節(jié):89C51 單片機(jī)內(nèi)有3 個(gè)簽名字節(jié),地址為030H、031H 和032H。于聲明該器件的廠商、號(hào)和編程電壓。讀簽名字節(jié)的過(guò)程和單元030H、031H 和032H的正常校驗(yàn)相仿, 保持低電平,返回值意義如下:(030H) = 1EH 聲明產(chǎn)品由ATMEL 公司制造。(031H) = 51H 聲明為89C51 單片機(jī)。(032H) = FFH 聲明為12V 編程電壓。(032H) = 05H 聲明為5 編程電壓。編程接口:采用控制信號(hào)的正確組合可對(duì)Flash 閃速存儲(chǔ)陣列中的每一代碼字節(jié)進(jìn)行寫(xiě)入和存儲(chǔ)器的整片擦除,寫(xiě)操作周期是自身定時(shí)的,初始化后它將自動(dòng)定時(shí)到操作完成。微機(jī)接口實(shí)現(xiàn)兩種信息形式的交換。在計(jì)算機(jī)之外,由電子系統(tǒng)所處理的信息以一種物理信號(hào)形式存在,但在程序中,它是用數(shù)字表示的。任一接口的功能都可分為以某種形式進(jìn)行數(shù)據(jù)庫(kù)變換的一些操作,所以外部和內(nèi)部形式的轉(zhuǎn)換是由許多步驟完成的。模擬數(shù)字轉(zhuǎn)換器(ADC)用來(lái)將連續(xù)變化信號(hào)變成相應(yīng)的數(shù)字量,這數(shù)字量可是可能性的二進(jìn)制數(shù)值中的一固定值。如果傳感器輸出不是連續(xù)變化的,就不需模擬數(shù)字轉(zhuǎn)換。這種情況下,信號(hào)調(diào)理單元必須將輸入信號(hào)變換成為另一信號(hào),也可直接與接口的下一部分,即微計(jì)算機(jī)本身的輸入輸出單元相連接。輸出接口采用相似的形式,明顯的差別在于信息流的方向相反;是從程序到外部世界。這種情況下,程序可稱(chēng)為輸出程序,它監(jiān)督接口的操作并完成數(shù)字模擬轉(zhuǎn)換器(DAC)所需數(shù)字的標(biāo)定。該子程序依次送出信息給輸出器件,產(chǎn)生相應(yīng)的電信號(hào),由DAC 轉(zhuǎn)換成模擬形式。最后,信號(hào)經(jīng)調(diào)理(通常是放大)以形成適應(yīng)于執(zhí)行器操作的形式。在微機(jī)電路中使用的信號(hào)幾乎總是太小而不能被直接地連到“外部世界”,因而必須用某種形式將其轉(zhuǎn)換成更適宜的形式。接口電路部分的設(shè)計(jì)是使用微機(jī)的工程師所面臨最重要的任務(wù)之一。我們已經(jīng)了解到微機(jī)中,信號(hào)以離散的位形式表示。當(dāng)微機(jī)要與只有打開(kāi)或關(guān)閉操作的設(shè)備相連時(shí),這種數(shù)字形式是最有用的,這里每一位都可表示一開(kāi)關(guān)或執(zhí)行器的狀態(tài)。為了解決實(shí)際問(wèn)題,一個(gè)單片機(jī)不僅包括CPU,程序和數(shù)據(jù)存儲(chǔ)器,另外,它必須含有通過(guò)CPU 訪問(wèn)外部信息的硬件。一旦CPU 收集到數(shù)據(jù)信息和流程,它必須能夠改變外部領(lǐng)域的一部分,這些硬件設(shè)備稱(chēng)作外圍設(shè)備,它們是CPU 通往外部的窗口。單片機(jī)可利用外圍設(shè)備中最基本的用于一般用途的I/O 接口,每個(gè)I/O 接口既可作為輸入端又可作為輸出端,每個(gè)I/O 接口的功能取決與程序初始化階段對(duì)數(shù)據(jù)方位寄存器相應(yīng)位進(jìn)行置一和清零操作,通過(guò)CPU 指令對(duì)數(shù)據(jù)寄存器相應(yīng)位進(jìn)行置一和清零來(lái)置一和清零輸出端口,同樣輸入端口邏輯位也可以通過(guò)CPU 指令訪問(wèn)。一些類(lèi)型的串行口單元允許CPU 與外部設(shè)備進(jìn)行串口通信,用串口位代替平行位進(jìn)行通信需要少許的I/O 口,這樣使通信費(fèi)用降低但速度也相對(duì)慢些。串口傳送可以同步也可以異步。 工作方式它的工作方式可以分做復(fù)位,掉電和低功耗方式等。一、 復(fù)位方式當(dāng)MCS5l系列單片機(jī)的復(fù)位引腳RST(全稱(chēng)RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。 根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開(kāi)關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位電路如圖 (318a)中左圖所示。圖中電容C1和電阻R1對(duì)電源十5V來(lái)說(shuō)構(gòu)成微分電路。上電后,保持RST一段高電平時(shí)間,由于單片機(jī)內(nèi)的等效電阻的作用,不用圖中電阻R1,也能達(dá)到上電復(fù)位的操作功能,如圖 (319a)中所示。上電或開(kāi)關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開(kāi)關(guān)操作也能使單片機(jī)復(fù)位。常用的上電或開(kāi)關(guān)復(fù)位電路如圖 (319b)所示。上電后,由于電容C3的充電和反相門(mén)的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi),也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。 根據(jù)實(shí)際操作的經(jīng)驗(yàn),下面給出這兩種復(fù)位電路的電容、電阻參考值。 圖319 單片機(jī)的復(fù)位電路 圖(318a)中:Cl=1030uF,R1=1kO 圖(318b)中:C:=1uF,Rl=lkO,R2=10kO 二、掉電和低功耗方式人們往往在程序運(yùn)行中系統(tǒng)發(fā)生掉電的故障,使RAM和寄存器中的數(shù)據(jù)內(nèi)容丟失,使人們丟失珍貴的數(shù)據(jù)而束手無(wú)策,AT89C51有掉電保護(hù),是先把有用的數(shù)據(jù)保存,再用備用電源進(jìn)行供電。 數(shù)據(jù)存儲(chǔ)器的掉電保護(hù)單片機(jī)系統(tǒng)內(nèi)的RAM數(shù)據(jù)是非常容易丟失的,特別是一些珍貴的科研數(shù)據(jù),一旦丟失后果不堪設(shè)想,因此掉電保護(hù)是必須要做的,一旦電源發(fā)生掉電現(xiàn)象,在掉電的瞬間系統(tǒng)能自動(dòng)保護(hù)RAM中的數(shù)據(jù)和系統(tǒng)的運(yùn)行狀態(tài),當(dāng)電源恢復(fù)正常供電后能恢復(fù)到掉電前的工作狀態(tài)。 系統(tǒng)時(shí)鐘的設(shè)計(jì)時(shí)鐘電路是用來(lái)產(chǎn)生AT89C51單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89C51本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89C51在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作 ,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘由于兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘。我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來(lái)為系統(tǒng)提供時(shí)鐘信號(hào),如圖320。AT89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器電路中的CC2的選擇在30PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性?!?2MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12MHZ。 圖320 系統(tǒng)時(shí)鐘 顯示與報(bào)警的設(shè)計(jì) 顯示電路 在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,一般都是把鍵盤(pán)和顯示器放在一起考慮。本設(shè)計(jì)是利用AT89C51的串行口實(shí)現(xiàn)鍵盤(pán)/顯示器接口。 當(dāng)AT89C51的串行口未作它用時(shí),使用AT89C51的串行口來(lái)外擴(kuò)鍵盤(pán)/顯示器。應(yīng)用AT89C51的串行口方式0的輸出方式,在串行口外接移位寄存器74LS164,構(gòu)成鍵盤(pán)/顯示器接口,其硬件接口電路如圖321所示:圖321 鍵盤(pán)及顯示與主機(jī)的硬件連接圖中的4個(gè)74LS164:74LS164(0)~74LS164(3)作為8位段碼輸出口,74LS164的QA~QH作為鍵輸入線。這種靜態(tài)顯示方式亮度大,很容易作到顯示不閃爍。靜態(tài)顯示的優(yōu)點(diǎn)是CPU不必頻繁的為顯示服務(wù),因而主程序可不必掃描顯示器,軟件設(shè)計(jì)比較簡(jiǎn)單,從而使單片機(jī)有更多的時(shí)間處理其他事務(wù)。 報(bào)警電路在微型計(jì)算機(jī)控制系統(tǒng)中,為了安全生產(chǎn),對(duì)于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報(bào)警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計(jì)算機(jī)采集的數(shù)據(jù)或記過(guò)計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理、數(shù)字濾波,標(biāo)度變換之后,與該參數(shù)上下限給定值進(jìn)行比較,如果高于上限值(或低于下限值)則進(jìn)行報(bào)警,否則就作為采樣的正常值,進(jìn)行顯示和控制。本設(shè)計(jì)采用峰鳴音報(bào)警電路。峰鳴音報(bào)警接口電路的設(shè)計(jì)只需購(gòu)買(mǎi)市售的壓電式蜂鳴器,然后通過(guò)MCS51的1根口線經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)蜂鳴音發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動(dòng)電流,可以使用TTL系列集成電路7406或7407低電平驅(qū)動(dòng),也可以用一個(gè)晶體三極管驅(qū)動(dòng)。在圖中?!?”時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫;“0”時(shí),三極管截止,蜂鳴器停止發(fā)聲。 圖322是一個(gè)簡(jiǎn)單的使用三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路: 圖322 三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路本設(shè)計(jì)是為在溫濕度測(cè)量中對(duì)溫濕度的上下限超出是的提示報(bào)警,但溫濕度過(guò)限時(shí),本系統(tǒng)開(kāi)始工作。第4章 軟件設(shè)計(jì)溫度控制主程序的設(shè)計(jì)應(yīng)考慮以下問(wèn)題:(1)鍵盤(pán)掃描、鍵碼識(shí)別和溫度顯示;(2)溫濕度采樣,數(shù)字濾波;(3)越限報(bào)警和處理;(5)溫度標(biāo)度轉(zhuǎn)換。通常,符合上述功能的溫度控制程序由主程序和T0中斷服務(wù)程序兩部分組成。在該軟件系統(tǒng)中,定時(shí)器T0為工作方
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1