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

正文內(nèi)容

太陽(yáng)能熱水器控制系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2024-09-01 04:50 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 E)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。: 外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng) AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。/VPP: 訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。P0口:P0口為一個(gè)8位漏極開(kāi)路雙向I/O口,每個(gè)腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P3口:P3口管腳是8個(gè)內(nèi)部帶上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流這是由于上拉的緣故。在單片機(jī)中,這8個(gè)引腳還用于專門(mén)功能,是復(fù)用雙功能口,作為第一功能使用時(shí),就是普通的I/O端口,值得強(qiáng)調(diào)的是,每一條引腳都可以獨(dú)立定義第一功能的輸入輸出或第二個(gè)功能。其第二功能如表3-2所示:表3-2 P3口的第二功能說(shuō)明口線引腳第二功能10RXD(串行輸入口)11TXD(串行輸出口)12INT0(外部中斷0)13INT1(外部中斷1)14T0(定時(shí)器0外部輸入)15T1(定時(shí)器1外部輸入)16WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)脈沖)17RD(外部數(shù)據(jù)存儲(chǔ)器讀脈沖) LED數(shù)碼管顯示電路7段LED數(shù)碼管是利用7個(gè)LED(發(fā)光二極管)外加一個(gè)小數(shù)點(diǎn)的LED組合而成的顯示設(shè)備,可以顯示0~9等10個(gè)數(shù)字和小數(shù)點(diǎn),這類數(shù)碼管可以分為公陰極與共陽(yáng)極兩種,共陽(yáng)極就是把所有LED的陽(yáng)極連接到共同的結(jié)點(diǎn),而每個(gè) LED的陰極分別為a,b,c,d,e,f,g及dp(小數(shù)點(diǎn));共陰極就是把所有LED的陽(yáng)極連接到共同的結(jié)點(diǎn),而每個(gè) LED的陽(yáng)極分別為a,b,c,d,e,f,g及dp(小數(shù)點(diǎn)),如圖 3-11所示:圖311數(shù)碼管原理電路根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 靜態(tài)顯示驅(qū)動(dòng):每個(gè)數(shù)碼管的每個(gè)段都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼的二~十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多。動(dòng)態(tài)顯示驅(qū)動(dòng):動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形。 圖312單片機(jī)與數(shù)碼管連接電路 按鍵是用來(lái)向系統(tǒng)提供操作人員命令的接口,所以準(zhǔn)確無(wú)誤地辨認(rèn)每個(gè)鍵的動(dòng)作以及其所處的狀態(tài),是系統(tǒng)能否正常工作的關(guān)鍵。多數(shù)按鍵多采用機(jī)械彈性開(kāi)關(guān),一次高低電平的變化就是一次命令。但是按鍵的抖動(dòng)是難以避免的,為了穩(wěn)定操作,我們要防止抖動(dòng)的發(fā)生,就要消除抖動(dòng)的影響,可以從硬件和軟件兩方面解決。硬件防抖電路:利用RC積分電路對(duì)干擾脈沖的吸收作用,選擇好電路的時(shí)間常數(shù),就能在按鍵抖動(dòng)信號(hào)通過(guò)此濾波電路時(shí),消除抖動(dòng)影響。濾波防抖電路圖如圖212所示。當(dāng)K位按下時(shí),電容C兩端的電壓均為0,非門(mén)輸出為1。當(dāng)K按下時(shí),由于C兩端電壓不可能產(chǎn)生突變。盡管在觸點(diǎn)接觸過(guò)程種可能出現(xiàn)抖動(dòng),只要適當(dāng)選取RR2和C的值,即可保證電容C兩端的充電電壓波動(dòng)不超過(guò)非門(mén)的開(kāi)啟電壓(),非門(mén)的輸出維持高電平。同理,當(dāng)觸點(diǎn)斷開(kāi)時(shí),由于電容C經(jīng)過(guò)電阻R放電,C兩端的放電電壓波動(dòng)不會(huì)超過(guò)門(mén)的關(guān)閉電壓,因此,門(mén)的輸出也不會(huì)改變[8]??傊灰猂R2和C的時(shí)間常數(shù)選取得當(dāng),確保電容C有穩(wěn)態(tài)電壓充電到開(kāi)啟電壓,或放電到關(guān)閉電壓的延遲時(shí)間等于或大于10ms,該電路就能消除抖動(dòng)影響。圖313單片機(jī)與數(shù)碼管連接電路軟件防抖方法:當(dāng)?shù)谝淮螜z測(cè)到有鍵按下時(shí),先用軟件延時(shí)(10~20ms),而后再確認(rèn)該鍵電平是否仍維持閉合狀態(tài)電平。若保持閉合狀態(tài)電平,則確認(rèn)此鍵一按下,從而消除了抖動(dòng)的影響。4 軟件設(shè)計(jì)方案硬件電路是一切的基礎(chǔ),在其基礎(chǔ)上軟件設(shè)計(jì)是關(guān)鍵的部分,它是單片機(jī)工作的重點(diǎn),就是讓各部分協(xié)調(diào)工作的命令,軟件程序的重要性是毋庸置疑的,是整個(gè)控制系統(tǒng)的命脈,根據(jù)各部分編寫(xiě)相應(yīng)的驅(qū)動(dòng)程序,才能使得相應(yīng)的芯片有其功能,所以程序設(shè)計(jì)是非常重要的。芯片的工作有著與自己對(duì)應(yīng)的時(shí)序圖,只有根據(jù)時(shí)序準(zhǔn)確的執(zhí)行命令才能達(dá)到想要的目的,實(shí)現(xiàn)芯片的功能。程序的設(shè)計(jì)還要有著一定的思路,根據(jù)系統(tǒng)運(yùn)行的過(guò)程要畫(huà)出相應(yīng)的程序流程圖,根據(jù)流程圖寫(xiě)程序是非常方便的,也不容易產(chǎn)生錯(cuò)誤,得到正確的程序。如圖4-1所示圖4-1 系統(tǒng)程序總流程圖 DS18B20驅(qū)動(dòng)程序設(shè)計(jì)DS18B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過(guò)單線接口送入DS18B20或從DS18B20送出,因此從主機(jī)CPU到DS18B20僅需一條數(shù)據(jù)線和地線,電源可以有數(shù)據(jù)線本身提供而不需要外部電源。DS18B20的測(cè)量范圍從-55176。C到+125176。C。溫度傳感器的引腳如表4-1所示。表41 DS18B20管腳連接管腳號(hào)名稱功能電路連接情況1GND接電源地DGND2DQ數(shù)據(jù)輸出3VDD接+5V電源VCC每一個(gè)DS18B20包括一個(gè)唯一的64位長(zhǎng)的序號(hào),該序號(hào)存放在DS18B20內(nèi)部的ROM中。開(kāi)始8位是產(chǎn)品類型編碼(DSl820編碼均為10H)接著的48位是每個(gè)器件唯一的序號(hào)最后8位是前面56位的CRC(循環(huán)冗余校驗(yàn))碼DSl820中還有用于貯存測(cè)得的溫度值的兩個(gè)8位存貯器RAM編號(hào)為0號(hào)和1號(hào)1號(hào)存貯器存放溫度值的符號(hào)如果溫度為負(fù),則1號(hào)存貯器8位全為1,否則全為00號(hào)存貯器用于存放溫度值的補(bǔ)碼LSB(最低位)。DS1820用9位存貯溫度值,最高位為符號(hào)位下表為DS18B20的溫度存儲(chǔ)方式負(fù)溫度S=1正溫度S=0。表4-2 DS18B20溫度存儲(chǔ)Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0LSBBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8MSBSSSSSSSS DS18B20工作過(guò)程及時(shí)序DS18B20 工作過(guò)程中的協(xié)議如下:1. 初始化單總線上的所有處理均從初始化開(kāi)始。2. ROM操作指令主機(jī)檢測(cè)到DS18B20的存在,便可以發(fā)出ROM操作命令之一,這些命令如指令 代碼Read ROM(讀ROM) [33H]Match ROM(匹配ROM) [55H]Skip ROM(跳過(guò)ROM] [CCH]Search ROM(搜索ROM) [F0H]Alarm search(告警搜索) [ECH]3. 存儲(chǔ)器操作命令指令 代碼Write Scratchpad(寫(xiě)暫存存儲(chǔ)器) [4EH]Read Scratchpad(讀暫存存儲(chǔ)器) [BEH]Copy Scratchpad(復(fù)制暫存存儲(chǔ)器) [48H]Convert Temperature(溫度變換) [44H]Recall EPROM(重新調(diào)出) [B8H]Read Power supply(讀電源) [B4H]4. 時(shí)序主機(jī)使用時(shí)間隙(time slots)來(lái)讀寫(xiě)DSl820的數(shù)據(jù)位和寫(xiě)命令字的位[9]。(1)初始化(最短為480us的低電平信號(hào)),接著在tl時(shí)刻釋放總線并進(jìn)入接收狀態(tài),DSl8B20在檢測(cè)到總線的上升沿之后,等待1560us接著DS1820在t2時(shí)刻發(fā)出存在脈沖(低電平持續(xù)60240 us)如圖中虛線所示圖4-2 初始化時(shí)序圖(2)寫(xiě)時(shí)間隙當(dāng)主機(jī)總線to時(shí)刻從高拉至低電平時(shí)就產(chǎn)生寫(xiě)時(shí)間隙見(jiàn)圖,從to時(shí)刻開(kāi)始15us之內(nèi)應(yīng)將所需寫(xiě)的位送到總線上DSl8B20在t后1560us間對(duì)總線采樣若低電平寫(xiě)入的位是0見(jiàn)圖,若高電平寫(xiě)入的位是1見(jiàn)圖,連續(xù)寫(xiě)2位間的間隙應(yīng)大于1us。圖4-3 寫(xiě)0時(shí)序圖 圖4-4 寫(xiě)1時(shí)序圖(3)讀時(shí)間隙主機(jī)總線to時(shí)刻從高拉至低電平時(shí),總線只須保持低電平l 7ts,之后在t1時(shí)刻將總線拉高,產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在t1時(shí)刻后t2時(shí)刻前有效。t2距to為15u,s也就是說(shuō),t2時(shí)刻前主機(jī)必須完成讀位,并在to后的60us一120 us內(nèi)釋放總線。讀位子程序(讀得的位到C中)[10]。圖4-5 讀時(shí)序圖 DS18B20的驅(qū)動(dòng)程序void delay(uint i) //延時(shí)函數(shù){ while(i)。}Init_DS18B20(void) //初始化函數(shù){ uchar x=0。 DQ = 1。 //DQ復(fù)位 delay(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將DQ拉低 delay(80)。 //精確延時(shí) 大于 480us DQ = 1。 //拉高總線 delay(14)。 x=DQ。 //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 delay(20)。}Read(void) //讀一個(gè)字節(jié){ uchar i=0。 uchar dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號(hào) dat=1。 DQ = 1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 delay(4)。 } return(dat)。}Write(uchar dat) //寫(xiě)一個(gè)字節(jié){ uchar i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 }}ReadTemperature(void) //讀取溫度{ uchar a=0。 uchar b=0。 uint t=0。 float tt=0。 Init_DS18B20()。 Write(0xCC)。 // 跳過(guò)讀序號(hào)列號(hào)的操作 Write(0x44)。 // 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20()。 Write(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 Write(0xBE)。 //讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度 a=Read()。 b=Read()。 t=b。 t=8。 t=t|a。 tt=t*。 //將溫度的高位與低位合并 t= tt*10+。 //對(duì)結(jié)果進(jìn)行4舍5入 return(t)。}由于微機(jī)只能處理數(shù)字化的信息,而在實(shí)際應(yīng)用中被控對(duì)象常常是連續(xù)變化的物理量,因此,微機(jī)用于控制系統(tǒng)是需要有能把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的接口,以便能對(duì)被控制對(duì)象進(jìn)行處理和控制。A/D轉(zhuǎn)換器就是承擔(dān)這樣的任務(wù),A/D轉(zhuǎn)換就是把模擬量轉(zhuǎn)化成為二進(jìn)制的數(shù)字量,一般的A/D轉(zhuǎn)換過(guò)程是通過(guò)采樣、保持,量化,編碼4個(gè)步驟完成的,這些往往是合并運(yùn)行的。輸入配置可在多路器尋址時(shí)序中進(jìn)行。多路器地址可通過(guò)DI端移入轉(zhuǎn)換器。多路器地址選擇模擬輸入通道可決定輸入是單端輸入還是差分輸入[11]。當(dāng)輸入是差分時(shí),應(yīng)分配輸入通道的極性,并應(yīng)將差分輸入分配到相鄰的輸入通道對(duì)中。例如通道0和通道1可被選為一對(duì)差分輸入。另外,在選擇差分輸入方式時(shí),極性也可以選擇。一對(duì)輸入通道的兩個(gè)輸入端的任何一個(gè)都可以作為正極或負(fù)極。通常ADC0832在輸出以最高位(MSB)開(kāi)頭的數(shù)據(jù)流后,會(huì)以最低位(LSB)開(kāi)頭重輸出一遍(前面的數(shù)據(jù)流)。(因此,編程時(shí)要發(fā)兩輪脈沖,第一次取數(shù)據(jù),第二次若不要從低到高的數(shù)據(jù),也要發(fā)一輪8 個(gè)脈沖將ADC0832中寄存器的數(shù)據(jù)移出。其工作時(shí)序如下所示:圖4-6 ADC0832讀寫(xiě)時(shí)序圖ADC0832有8只引腳,CH0和CH1為模擬輸入端,CS為片選引腳,只有CS置0才能對(duì)ADC0832進(jìn)行配置和啟動(dòng)轉(zhuǎn)換。CLK為ADC0832的時(shí)鐘輸入端。CS在整個(gè)轉(zhuǎn)換過(guò)程中都必須為低,當(dāng)CS為低時(shí),在數(shù)據(jù)輸入端DI(數(shù)據(jù)輸入端)加一個(gè)高電平(這個(gè)高電平是算在送到DI的一位之中,那么后面就只要再送兩位。這個(gè)高電平是作為起始標(biāo)志),接著在CLK上加一個(gè)時(shí)鐘,DI上的邏輯1就會(huì)使ADC0832的DI脫離高阻態(tài),然后通道配置數(shù)據(jù)伴隨著時(shí)鐘通過(guò)DI端移入多路器,當(dāng)最后一位數(shù)據(jù)移入多路器時(shí)(數(shù)據(jù)是三位,前一位標(biāo)志輸入開(kāi)始,后兩位是用來(lái)作通道設(shè)置和選擇
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1