分布式溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
分布式溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
分布式溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
分布式溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
分布式溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、分布式溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 目錄第一章緒論-11.1問題的提出-21.2課題相關(guān)的背景知識(shí)1.2設(shè)計(jì)目的及系統(tǒng)功能3第二章硬件電路設(shè)計(jì)32.1基本硬件設(shè)計(jì)思路32.2基本設(shè)計(jì)框圖42.3at89s52單片機(jī)42.3.1主要性能:52.3.1引腳排列及功能52.3.2存儲(chǔ)器組織和特殊功能寄存器72.3.3低功耗節(jié)電模式92.3.4定時(shí)器102.3.5中斷132.3.6時(shí)鐘152.4zlg7290鍵盤/顯示接口芯片152.4.1zlg7290特點(diǎn)162.4.2引腳及說明162.4.3功能描述172.4.4寄存器詳解192.4.5通信接口202.4.6指令詳解202.5數(shù)字溫度傳感器ds18b2

2、0232.5.1ds18b20的主要特性232.5.2引腳及其說明242.5.3內(nèi)部結(jié)構(gòu)242.5.4工作過程及時(shí)序24第三章軟件設(shè)計(jì)273.1主程序框圖-27致謝31參考文獻(xiàn)32附錄一電路原理圖-33附錄二畢業(yè)設(shè)計(jì)硬件電路元件清單34第一章緒論自從1976年intel公司推出第一批單片機(jī)以來,80年代單片機(jī)技術(shù)進(jìn)入快速發(fā)展時(shí)期,近年來,隨著大規(guī)模集成電路的發(fā)展,單片機(jī)繼續(xù)朝快速、高性能方向發(fā)展,從4位、8位單片機(jī)發(fā)展到16位、32位單片機(jī)。單片機(jī)主要用于控制,它的應(yīng)用領(lǐng)域遍及各行各業(yè),大到航天飛機(jī),小至日常生活中的冰箱、彩電,單片機(jī)都可以大顯其能。單片機(jī)在國內(nèi)的三大領(lǐng)域中應(yīng)用得十分廣泛:第一

3、是家用電器業(yè),例如全自動(dòng)洗衣機(jī)、智能玩具;第二是通訊業(yè),包括電話、手機(jī)和bp機(jī)等等;第三是儀器儀表和計(jì)算機(jī)外設(shè)制造,例如軟盤、硬盤、收銀機(jī)、電表。除了上述傳統(tǒng)領(lǐng)域外,汽車、電子工業(yè)在國外也是單片機(jī)應(yīng)用十分廣泛的一個(gè)領(lǐng)域。它成本低、集成度高、功耗低、控制功能多能靈活的組裝成各種智能控制裝置,由它構(gòu)成的智能儀表解決了長期以來測量儀器中的誤差的修正、線性處理等問題。單片機(jī)將微處理器、存儲(chǔ)器、定時(shí)/計(jì)數(shù)器、i/o接口電路等集成在一個(gè)芯片上的大規(guī)模集成電路,本身即是一個(gè)小型化的微機(jī)系統(tǒng)。單片機(jī)技術(shù)與傳感與測量技術(shù)、信號(hào)與系統(tǒng)分析技術(shù)、電路設(shè)計(jì)技術(shù)、可編程邏輯應(yīng)用技術(shù)、微機(jī)接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)結(jié)構(gòu)

4、、計(jì)算機(jī)操作系統(tǒng)、匯編語言程序設(shè)計(jì)、高級(jí)語言程序設(shè)計(jì)、軟件工程、數(shù)據(jù)網(wǎng)絡(luò)通信、數(shù)字信號(hào)處理、自動(dòng)控制、誤差分析、儀器儀表結(jié)構(gòu)設(shè)計(jì)和制造工藝等的結(jié)合,使得單片機(jī)的應(yīng)用非常廣泛。同時(shí),單片機(jī)具有較強(qiáng)的管理功能。采用單片機(jī)對(duì)整個(gè)測量電路進(jìn)行管理和控制,使得整個(gè)系統(tǒng)智能化、功耗低、使用電子元件較少、內(nèi)部配線少、成本低,制造、安裝、調(diào)試及維修方便。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣機(jī)的

5、控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。1.1問題的提出分布式溫度控制系統(tǒng)廣泛應(yīng)用在使用了中央空調(diào)的大型商場、廠房、辦公大樓等大型建筑內(nèi)。本課題主要針對(duì)分布在建筑物內(nèi)有關(guān)各處的結(jié)點(diǎn)控制單元,用溫度傳感器對(duì)環(huán)境溫度實(shí)施實(shí)時(shí)監(jiān)測,利用單片機(jī)實(shí)施對(duì)冷(熱)風(fēng)機(jī)開關(guān)的最佳控制;各結(jié)點(diǎn)控制單元可將有關(guān)信息上傳給中央處理單元(計(jì)算機(jī)),也可接收中央處理單元發(fā)來的控制命令;必要時(shí)可由中央處理單元直接控制冷(熱)水機(jī)組的啟、停。監(jiān)測過程中溫度傳感器采樣所得到的信號(hào)送給單片機(jī)處理;控制過程中,利用單片機(jī)控制電路發(fā)送出ttl電平,轉(zhuǎn)換強(qiáng)電開關(guān)量信號(hào)

6、實(shí)現(xiàn)對(duì)各風(fēng)機(jī)開關(guān)的控制。本課題研究主要解決的問題為分布式計(jì)算機(jī)控制結(jié)構(gòu)設(shè)計(jì)、多單片機(jī)串行通信、溫度的采集與處理、弱電控制強(qiáng)電以及設(shè)計(jì)制作成本等。本設(shè)計(jì)是以基于單片機(jī)at89s52設(shè)計(jì)的實(shí)時(shí)溫度采集儀,采用ds18b20可以采集多路溫 1 2 涓嬩竴欏? 度數(shù)據(jù)(本設(shè)計(jì)只用了一路)。通過小鍵盤實(shí)現(xiàn)對(duì)溫度數(shù)據(jù)的設(shè)定,對(duì)于超過此限的溫度數(shù)據(jù)cpu將起動(dòng)動(dòng)執(zhí)行機(jī)構(gòu)做出相應(yīng)的處理。同時(shí)實(shí)時(shí)顯示所采集到的溫度值。1.2設(shè)計(jì)目的及系統(tǒng)功能本設(shè)計(jì)的目的是以單片機(jī)為核心設(shè)計(jì)出一個(gè)智能溫度控制系統(tǒng)。通過本課題設(shè)計(jì),綜合運(yùn)用單片機(jī)及接口技術(shù)、微機(jī)原理、微電子技術(shù),鍛煉動(dòng)手操作能力,綜合運(yùn)用能力,學(xué)習(xí)論文的寫作方法和

7、步驟。設(shè)計(jì)的溫度控制系統(tǒng)有以下功能及特點(diǎn):(1)測溫范圍:099;(2)溫度顯示:采用八個(gè)七段段數(shù)碼管,前四位顯示采樣溫度值,后四位顯示溫度設(shè)定值;(3)上位機(jī)和鍵盤都可設(shè)定溫度和溫度的上下限,且上位機(jī)的權(quán)限大于鍵盤的權(quán)限;(4)溫度初始值可進(jìn)行靈活設(shè)定;(5)系統(tǒng)控制精度不高.第二章硬件電路設(shè)計(jì)硬件是實(shí)現(xiàn)本系統(tǒng)的重要基礎(chǔ),硬件電路做的是否合理直接影響系統(tǒng)的穩(wěn)定性和可靠性。下面對(duì)我的硬件系統(tǒng)作具體的介紹。2.1基本硬件設(shè)計(jì)思路本設(shè)計(jì)用溫度傳感器將被測溫度轉(zhuǎn)換為數(shù)字量,無需放大即可與單片機(jī)相連。cpu采用at89s52單片機(jī),它與mcs-51系列單片機(jī)完全兼容,同時(shí)具有較大的存儲(chǔ)空間以及具有在線

8、編程功能,減少了編程時(shí)配套工具的使用.鍵盤/顯示通過可編程的鍵盤顯示接口芯片zlg7290實(shí)現(xiàn)溫度限值的設(shè)定和顯示,同時(shí)使用具有實(shí)時(shí)性能的動(dòng)態(tài)顯示模塊.2.2基本設(shè)計(jì)框圖總體設(shè)計(jì)框圖如圖1-1所示。說明如下:(1)ds18b20檢測溫度,將溫度值送cpu(at89s52)處理;(2)cpu接受ds18b20傳送的溫度,并送zlg7290芯片,由數(shù)碼管顯示;(3)cpu將接受的溫度與設(shè)定的最大值、最小值進(jìn)行比較,如果溫度超過所設(shè)溫度限值,轉(zhuǎn)報(bào)警處理程序;(4)由小鍵盤控制所需顯示路數(shù)的溫度,并在數(shù)碼管上顯示;(5)cpu將實(shí)時(shí)溫度與設(shè)定的溫度進(jìn)行比較,若設(shè)定溫度低于實(shí)時(shí)溫度,則開暖風(fēng)機(jī),若設(shè)定溫

9、度高于時(shí)溫度,則開冷風(fēng)機(jī)。圖1-1基本設(shè)計(jì)框圖2.3at89s52單片機(jī)at89s52是一個(gè)低功耗,高性能,采用cmos工藝的8位單片機(jī),其片內(nèi)含8kb的可在線編程(isp:in-systemprogrammable)的flash的可反復(fù)擦寫1000次的flash只讀程序存儲(chǔ)器,該器件采用atmell公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ispflash存儲(chǔ)單元,從而使其功能更加完善,應(yīng)用更加靈活;具有較高的性能價(jià)格比,使其在嵌入式控制應(yīng)用系統(tǒng)中有著廣泛的應(yīng)用前景。2.3.1主要性能:與mcs-51單片機(jī)產(chǎn)品兼容8

10、kb的flash片內(nèi)程序存儲(chǔ)器1000次擦寫周期全靜態(tài)操作:0hz33hz三級(jí)加密程序存儲(chǔ)器32個(gè)可編程i/o口線三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源全雙工uart串行通道低功耗空閑和掉電模式掉電后中斷可喚醒看門狗定時(shí)器雙數(shù)據(jù)指針掉電標(biāo)識(shí)符圖2-1at89s52引腳排列圖2.3.1引腳排列及功能at89s52具有pdip、plcc和tqfp3種封裝形式。其pdip封裝的引腳排列如圖2-1所示。vcc:電源gnd:地p0口:p0口是一個(gè)8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏輯電平。對(duì)p0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也被作為低8位地

11、址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻.在flash編程時(shí),p0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。p1口:p1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl邏輯電平。對(duì)p1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如表2.1所示。表2.1p1口的替代功能引腳號(hào)第二功能p1.0t2(定時(shí)器

12、/計(jì)數(shù)器t2的外部計(jì)數(shù)輸入),時(shí)鐘輸出p1.1t2ex(定時(shí)器/計(jì)數(shù)器t2的捕捉/重載觸發(fā)信號(hào)和方向控制)p1.5mosi(在系統(tǒng)編程用)p1.6miso(在系統(tǒng)編程用)p1.7sck(在系統(tǒng)編程用)在flash編程和校驗(yàn)時(shí),p1口接收低8位地址字節(jié)。p2口:p2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl邏輯電平。對(duì)p2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movxdptr)時(shí),p2口送出高八位地址。在

13、這種應(yīng)用中,p2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如movxri)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),p2口也接收高8位地址字節(jié)和一些控制信號(hào)。p3口:p3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl邏輯電平。對(duì)p3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,如表2.2所示。表2.2p3口的替代功能引腳號(hào)第二功能p3.0rxd(串行輸入)p3.1txd(串行輸出)p3.2

14、int0(外部中斷0)續(xù)表2.2p3.3int1(外部中斷0)p3.4t0(定時(shí)器0外部輸入)p3.5t1(定時(shí)器1外部輸入)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7rd(外部數(shù)據(jù)存儲(chǔ)器寫選通)在flash編程和校驗(yàn)時(shí),p3口也接收一些控制rst:復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,rst腳輸出96個(gè)晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。ale/prog:地址鎖存控制信號(hào)(ale)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引

15、腳(prog)也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ale脈沖將會(huì)跳過。如果需要,通過將地址為8eh的sfr的第0位置“1”,ale操作將無效。這一位置“1”,ale僅在執(zhí)行movx或movc指令時(shí)有效。否則,ale將被微弱拉高。這個(gè)ale使能標(biāo)志位(地址為8eh的sfr的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。psen:外部程序存儲(chǔ)器選通信號(hào)(psen)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)at89s52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)

16、據(jù)存儲(chǔ)器時(shí),psen將不被激活。ea/vpp:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h到ffffh的外部程序存儲(chǔ)器讀取指令,ea必須接gnd。為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接vcc。在flash編程期間,ea也接收12伏vpp電。xtal1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。2.3.2存儲(chǔ)器組織和特殊功能寄存器特殊功能寄存器(sfr)的地址空間都有具體的定義。但并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù);寫入的數(shù)據(jù)將會(huì)無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能

17、被賦予新的功能,復(fù)位后,這些位都為“0”。定時(shí)器2寄存器寄存器t2con和t2mod包含定時(shí)器2的控制位和狀態(tài)位(如表2.3所示),寄存器對(duì)rcap2h和rcap2l是定時(shí)器2的捕捉/自動(dòng)重載寄存器。中斷寄存器各中斷允許位在ie寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在ie中設(shè)置。雙數(shù)據(jù)指針寄存器表2.3t2con:定時(shí)器/計(jì)數(shù)器2控制寄存器t2con地址:0c8h(可位尋址)復(fù)位值:00000000btf2exf2rclktclkexen2rt2c/t2cp/tl276543210符號(hào)功能tf2定時(shí)器2溢出標(biāo)志位,必須軟件清零,rclk或tclk=1時(shí),該位不用置位exf2t2外部標(biāo)志。exen

18、2=1時(shí),t23ex/p1.1引腳上的負(fù)跳變將引起t2的捕捉/重裝操作,此時(shí)exf2=1。在t2中斷允許的條件下,exf2=1將引起中斷。exf2位只能用軟件清除。在t2的向上/向下計(jì)數(shù)模式下(dcen=1),exf2的置位將不引起中斷。rclk接收時(shí)鐘允許。當(dāng)rclk=1時(shí),t2的溢出脈沖可用做串行口的接收時(shí)鐘信號(hào),適用于串行模式1和3。當(dāng)rclk=0時(shí),t1的溢出脈沖用做串行口接收時(shí)鐘信號(hào)。tclk發(fā)送時(shí)鐘允許。當(dāng)tclk=1時(shí),t2的溢出脈沖可用做串行口的發(fā)送時(shí)鐘信號(hào),適用于模式1和3。當(dāng)tclk=0時(shí),t1的溢出脈沖可用做串行口的發(fā)送時(shí)鐘信號(hào)。exen2t2的外部事件(引起捕捉/重裝的

19、外部信號(hào))允許。當(dāng)exen2=1時(shí),如果t2沒有作串行時(shí)鐘輸出(即rclk tclk=0),則在t2ex/p1.1引腳的負(fù)跳變將引起t2的捕捉/重裝操作。當(dāng)exen2=0時(shí),t2ex/p1.1的負(fù)跳變不起作用。rt2t2的啟動(dòng)/停止控制。當(dāng)tr2=1時(shí),t2為外部計(jì)數(shù)方式(p1.0腳的輸入脈沖的下降沿觸發(fā)計(jì)數(shù))。當(dāng)tr2=0時(shí),t2為定時(shí)器c/t2t2的計(jì)數(shù)/定時(shí)方式的選擇。當(dāng)c/t2=1時(shí),t2為外部計(jì)數(shù)方式(p1.0腳的輸入脈沖的下降沿觸發(fā)計(jì)數(shù))。當(dāng)c/t2=0時(shí),t2為定時(shí)器。cp/rl2捕捉/重裝載選擇。當(dāng)cp/rl2=1且exen2=1時(shí),t2ex/p1.1引腳的負(fù)跳變將引起捕捉操作

20、。當(dāng)cp/rl2=0且exen2=1時(shí),t2ex/p1.1引腳的負(fù)跳變將引起自動(dòng)重裝載操作。當(dāng)cp/rl2=0且exen2=0時(shí),t2溢出將引起t2的自動(dòng)重裝操作。為了更有利于訪問內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于sfr中82h83h的dp0和位于84h85。特殊寄存器auxr1中dps0選擇dp0;dps=1選擇dp1。用戶應(yīng)該在訪問數(shù)據(jù)指針寄存器前先初始化dps至合理的值。掉電標(biāo)志位掉電標(biāo)志位(pof)位于特殊寄存器pcon的第四位(pcon.4)。上電期間pof置“1”。pof可以軟件控制使用與否,但不受復(fù)位影響。存儲(chǔ)器結(jié)構(gòu)mcs-51器件有單獨(dú)的程序存儲(chǔ)器和

21、數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64k尋址。程序存儲(chǔ)器如果ea引腳接地,程序讀取只從外部存儲(chǔ)器開始。對(duì)于89s52,如果ea接vcc,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為0000h1fffh)開始,接著從外部尋址,尋址地址為:2000hffffh。數(shù)據(jù)存儲(chǔ)器at89s52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7fh的地址時(shí),尋址方式?jīng)Q定cpu訪問高128字節(jié)ram還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(sfr)。堆棧操作也是間接尋址方式。因此,高128字節(jié)數(shù)據(jù)ra

22、m也可用于堆棧空間。2.3.3低功耗節(jié)電模式有兩種節(jié)電模式:空閑模式和掉電模式。空閑模式在空閑工作模式下,cpu處于睡眠狀態(tài),而所有片上外部設(shè)備保持激活狀態(tài)。這種狀態(tài)可以通過軟件產(chǎn)生。在這種狀態(tài)下,片上ram和特殊功能寄存器的內(nèi)容保持不變。空閑模式可以被任一個(gè)中斷或硬件復(fù)位終止。由硬件復(fù)位終止空閑模式只需兩個(gè)機(jī)器周期有效復(fù)位信號(hào),在這種情況下,片上硬件禁止訪問內(nèi)部ram,而可以訪問端口引腳??臻e模式被硬件復(fù)位終止后,為了防止預(yù)想不到的寫端口,激活空閑模式的那一條指令的下一條指令不應(yīng)該是寫端口或外部存儲(chǔ)器。掉電模式在掉電模式下,晶振停止工作,激活掉電模式的指令是最后一條執(zhí)行指令。片上ram和特殊

23、功能寄存器保持原值,直到掉電模式終止。掉電模式可以通過硬件復(fù)位和外部中斷退出。復(fù)位重新定義了sfr的值,但不改變片上ram的值。在vcc未恢復(fù)到正常工作電壓時(shí),硬件復(fù)位不能無效,并且應(yīng)保持足夠長的時(shí)間以使晶振重新工作和初始化。在空閑模式和掉電模式下各引腳的狀態(tài)如表2.4所示。表2.4空閑模式和掉電模式下的外部引腳狀態(tài)模式程序存儲(chǔ)器alepsenport0port1port2port3空閑內(nèi)部11數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)空閑外部11浮空數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)掉電內(nèi)部00數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)掉電外部00浮空數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)2.3.4定時(shí)器at89s52系列單片機(jī)含有3個(gè)可編程定時(shí)器/計(jì)數(shù)器(t0、t1、t2)和1個(gè)看門狗定

24、時(shí)器(wdt)。狗定時(shí)器wdt是一種需要軟件控制的復(fù)位方式。wdt由13位計(jì)數(shù)器和特殊功能寄存器中的看門狗定時(shí)器復(fù)位存儲(chǔ)器(wdtrst)構(gòu)成。wdt在默認(rèn)情況下無法工作;為了激活wdt,戶用必須往wdtrst寄存器(地址:0a6h)中依次寫入01eh和0e1h。當(dāng)wdt激活后,晶振工作,wdt在每個(gè)機(jī)器周期都會(huì)增加。wdt計(jì)時(shí)周期依賴于外部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或wdt溢出復(fù)位),沒有辦法停止wdt工作。當(dāng)wdt溢出,它將驅(qū)動(dòng)rsr引腳一個(gè)高個(gè)電平輸出。定時(shí)器0和定時(shí)器1在at89s52中,定時(shí)器0和定時(shí)器1的操作與at89c51、at89c52和mcs-51系列單片機(jī)一樣。定時(shí)器2定

25、時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器t2con中的c/t2位選擇(如表2.5所示)。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表3所示,工作模式由t2con中的相關(guān)位選擇。定時(shí)器2有2個(gè)8位寄存器:th2和tl2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,tl2寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。表2.5定時(shí)器2工作模式rclk tclkcp/rl2tr2mode00116位自動(dòng)重載01116位捕捉1x1波特率發(fā)生器xx0不用默認(rèn)在計(jì)數(shù)工作方式下,寄存器在相

26、關(guān)外部輸入角t2發(fā)生1至0的下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的s5p2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測到跳變的這個(gè)周期的s3p1期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別10的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。自動(dòng)重載當(dāng)定時(shí)器2工作于16位自動(dòng)重載模式,可對(duì)其編程實(shí)現(xiàn)向上計(jì)數(shù)或向下計(jì)數(shù)。這一功能可以通過特殊寄存器t2mod(見表2.6)中的dcen(向下計(jì)數(shù)允許位)來實(shí)現(xiàn)。通過復(fù)位,dcen被置為

27、0,因此,定時(shí)器2為向上計(jì)數(shù)。dcen設(shè)置后,定時(shí)器2就可以取決于t2ex向上、向下計(jì)數(shù)。表2.6t2mod-定時(shí)器2控制寄存器t2mod地址:0c9h(不可位尋址)復(fù)位值:xxxxxx00b-t2oedcen76543210符號(hào)功能-無定義,預(yù)留擴(kuò)展t2oe定時(shí)器2輸出允許位dcen置1后,定時(shí)器2可配置成向上/向下計(jì)數(shù)如圖2-2所示,dcen=0時(shí),定時(shí)器2自動(dòng)計(jì)數(shù)。通過t2con中的exen2位可以選擇兩種方式。如果exen2=0,定時(shí)器2計(jì)數(shù),計(jì)到0ffffh后置位tf2溢出標(biāo)志。計(jì)數(shù)溢出也使得定時(shí)器寄存器重新從rcap2h和rcap2l中加載16位值。定時(shí)器工作于捕捉模式,rcap2

28、h和rcap2l的值可以由軟件預(yù)設(shè)。如果exen2=1,計(jì)數(shù)溢出或在外部t2ex(p1.1)引腳上的1到0的下跳變都會(huì)觸發(fā)16位重載。這個(gè)跳變也置位exf2中斷標(biāo)志位。如圖2-2所示,置位dcen,允許定時(shí)器2向上或向下計(jì)數(shù)。在這種模式下,t2ex引腳控制著計(jì)數(shù)的方向。t2ex上的一個(gè)邏輯1使得定時(shí)器2向上計(jì)數(shù)。定時(shí)器計(jì)0ffffh溢出,并置位tf2。定時(shí)器的溢出也使得rcap2h和rcap2l中的16位值分別加載到定時(shí)器存儲(chǔ)器th2和tl2中。t2ex上的一個(gè)邏輯0使得定時(shí)器2向下計(jì)數(shù)。當(dāng)th2和tl2分別等于rcap2h和rcap2l中的值的時(shí)候,計(jì)數(shù)器下溢。計(jì)數(shù)器下溢,置位tf2,并將0

29、ffffh加載到定時(shí)器存儲(chǔ)器中。定時(shí)器2上溢或下溢,外部中斷標(biāo)志位exf2被鎖死。在這種工作模式下,exf2不能觸發(fā)中斷。圖2-2定時(shí)器2重載模式(dcen=0)波特率發(fā)生器通過設(shè)置t2con(見表2.4)中的tclk或rclk可選擇定時(shí)器2作為波特率發(fā)生器。如果定時(shí)器2作為發(fā)送或接收波特率發(fā)生器,定時(shí)器1可用作它用,發(fā)送和接收的波特率可以不同。如圖2.3所示,設(shè)置rclk和(或)tclk可以使定時(shí)器2工作于波特率產(chǎn)生模式。波特率產(chǎn)生工作模式與自動(dòng)重載模式相似,因此,th2的翻轉(zhuǎn)使得定時(shí)器2寄存器重載被軟件預(yù)置16位值的rcap2h和rcap2l中的值。模式1和模式3的波特率由定時(shí)器2溢出速率

30、決定,具體如下公式:定時(shí)器可設(shè)置成定時(shí)器,也可為計(jì)數(shù)器。在多數(shù)應(yīng)用情況下,一般配置成定時(shí)方式(cp/t2=0)。定時(shí)器2用于定時(shí)器操作與波特率發(fā)生器有所不同,它在每一機(jī)器周期(1/12晶振周期)都會(huì)增加;然而,作為波特率發(fā)生器,它在每一機(jī)器狀態(tài)(1/2晶振周期)都會(huì)增加。波特率計(jì)算公式如下:圖2-3定時(shí)器2波特率發(fā)生器模式其中,(rcap2h,rcap2l)是rcap2h和rcap2l組成的16位無符號(hào)整數(shù)。定時(shí)器2作為波特率發(fā)生器,如圖2-3所示。圖中僅僅在t2con中rclk或tclk1才有效。特別強(qiáng)調(diào),th2的翻轉(zhuǎn)并不置位tf2,也不產(chǎn)生中斷;exen2置位后,t2ex引腳上10的下跳變

31、不會(huì)使(rcap2h,rcap2l)重載到(th2,tl2)中。因此,定時(shí)器2作為波特率發(fā)生器,t2ex也還可以作為一個(gè)額外的外部中斷。定時(shí)器2處于波特率產(chǎn)生模式,tr2=1,定時(shí)器2正常工作。th2或tl2不應(yīng)該讀寫。在這種模式下,定時(shí)器在每一狀態(tài)都會(huì)增加,讀或?qū)懢筒粫?huì)準(zhǔn)確。寄存器rcap2可以讀,但不能寫,因?yàn)閷懣赡芎椭剌d交迭,造成寫和重載錯(cuò)誤。在讀寫定時(shí)器2或rcap2寄存器時(shí),應(yīng)該關(guān)閉定時(shí)器(tr2清0)。2.3.5中斷at89s52有6個(gè)中斷源:兩個(gè)外部中斷(int0和int1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。如圖2-4所示。每個(gè)中斷源都可以通過置位或清除特殊寄存器

32、ie中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。ie還包括一個(gè)中斷允許總控制位ea,它能一次禁止所有中斷。如表2.7所示,ie.6位是不可用的。對(duì)于at89s52,ie.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)閍t89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器t2con中的tf2和exf2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是tf2或exf2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位tf0和tf1在計(jì)數(shù)溢出的那個(gè)周期的s5p2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器2的標(biāo)志位tf2在計(jì)數(shù)溢出的

33、那個(gè)周期的s2p2被置位,在同一個(gè)周期被電路捕捉下來。圖2-4中斷源表2.7中斷允許控制寄存器(ie)eaet2eset1ex1et0ex0中斷允許控制位=1,允許中斷中斷允許控制位=0,禁止中斷續(xù)表2.7符號(hào)位地址功能eaie.7中斷總允許控制位。ea=0,中斷禁止;ea=1,各中斷由各自的控制位設(shè)定ie.6預(yù)留et2ie.5定時(shí)器2中斷允許控制位esie.4串行口中斷允許控制位et1ie.3定時(shí)器1中斷允許控制位ex1ie.2外部中斷1允許控制位et0ie.1定時(shí)器0中斷允許控制位ex0ie.0外部中斷1允許控制位2.3.6時(shí)鐘如圖2-5所示,at89s52單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的

34、反相放大器,xtal1和xtal2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件的話,xtal2可以不接,而從xtal1接入,如圖2-6所示。由于外部時(shí)鐘信號(hào)經(jīng)過二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有其它要求,最長低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。圖2.5內(nèi)部振蕩電路連接圖圖2.6外部振蕩電路連接圖2.4zlg7290鍵盤/顯示接口芯片zlg7290是廣州周立功單片機(jī)發(fā)展有限公司自行設(shè)計(jì)的數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描管理芯片。一種i2c接口鍵盤及l(fā)ed驅(qū)動(dòng)管理器件,提供數(shù)據(jù)譯碼和循環(huán)、移位、段尋址等

35、控制。能夠直接驅(qū)動(dòng)8位共陰式數(shù)碼管(或64只獨(dú)立的led),同時(shí)還可以掃描管理多達(dá)64只按鍵,它可采樣64個(gè)按鍵或傳感器,單片即可完成led顯示、鍵盤接口的全部功能。zlg7290的從地址為70h,器件內(nèi)部通過i2c總線訪問的寄存器地址范圍為00h17h,任一寄存器都可按字節(jié)直接讀寫,并支持自動(dòng)增址功能和地址翻轉(zhuǎn)功能。其中有8只按鍵還可以作為功能鍵使用,就像電腦鍵盤上的“ctrl”、“shift”、“alt”鍵一樣。另外zlg7290內(nèi)部還設(shè)置有連擊計(jì)數(shù)器,能夠使某鍵按下后不松手而連續(xù)有效。采用i2c總線方式,與微控制器的接口僅需兩根信號(hào)線。該芯片為工業(yè)級(jí)芯片,抗干擾能力強(qiáng),在工業(yè)測控中已有大

36、量應(yīng)用。2.4.1zlg7290特點(diǎn)i2c串行接口,提供鍵盤中斷信號(hào),方便與處理器接口;可驅(qū)動(dòng)8位共陰數(shù)碼管或64只獨(dú)立led和64個(gè)按鍵;可控掃描位數(shù),可控任一數(shù)碼管閃爍;提供數(shù)據(jù)譯碼和循環(huán),移位,段尋址等控制;8個(gè)功能鍵,可檢測任一鍵的連擊次數(shù);無需外接元件即直接驅(qū)led,可擴(kuò)展驅(qū)動(dòng)電流和驅(qū)動(dòng)電壓;提供工業(yè)級(jí)器件,多種封裝形式pdip24,so24.2.4.2引腳及說明采用24引腳封裝引腳圖如圖2-7所示其引腳功能分述如下:圖2-7zlg7290引腳圖引腳說明如下表:2.4.3功能描述鍵盤部分zlg7290可采樣64個(gè)按鍵或傳感器,可檢測每個(gè)按鍵的連擊次數(shù)。其基本功能如下:鍵盤去抖動(dòng)處理當(dāng)

37、鍵被按下和放開時(shí),可能會(huì)出現(xiàn)電平狀態(tài)反復(fù)變化,稱作鍵盤抖動(dòng)。若不作處理會(huì)引起按鍵盤命令錯(cuò)誤,所以要進(jìn)行去抖動(dòng)處理,以讀取穩(wěn)定的鍵盤狀態(tài)為準(zhǔn)。雙鍵互鎖處理當(dāng)有兩個(gè)以上按鍵被同時(shí)按下時(shí),zlg7290只采樣優(yōu)先級(jí)高的按鍵(優(yōu)先順序?yàn)閟1s2?s64,如同時(shí)按下s2和s18時(shí)采樣到s2)。連擊鍵處理當(dāng)某個(gè)按鍵按下時(shí),輸出一次鍵值后,如果該按鍵還未釋放,該鍵值連續(xù)有效,就像連續(xù)壓按該鍵一樣,這種功能稱為連擊。連擊次數(shù)計(jì)數(shù)器(repeatcnt)可區(qū)別出單擊(某些功能不允許連擊,如開/關(guān))或連擊。判斷連擊次數(shù)可以檢測被按時(shí)間,以防止某些功能誤操作(如連續(xù)按5秒經(jīng)入?yún)?shù)設(shè)置狀態(tài))。功能鍵處理功能鍵能實(shí)現(xiàn)2

38、個(gè)以上按鍵同時(shí)按下來擴(kuò)展按鍵數(shù)目或?qū)崿F(xiàn)特殊功能。如pc機(jī)上的“shift”、“ctrl”、“alt”鍵典型應(yīng)用圖中的s57s64為功能鍵。圖2-8系統(tǒng)功能框圖即寄存器映象圖顯示部分在每個(gè)顯示刷新周期,zlg7290按照掃描位數(shù)寄存器(scannum)指定的顯示位數(shù)n,把顯示緩存dpram0dpramn的內(nèi)容按先后循序送入led驅(qū)動(dòng)器實(shí)現(xiàn)動(dòng)態(tài)顯示,減少n值可提高每位顯示掃描時(shí)間的占空比,以提高led亮度,顯示緩存中的內(nèi)容不受影響。修改閃爍控制寄存器(flashonoff)可改變閃爍頻率和占空比(亮和滅的時(shí)間)。zlg7290提供兩種控制方式:寄存器映象控制和命令解釋控制,如上述對(duì)顯示部分的控制,

39、寄存器映象控制是指直接訪問底層寄存器,實(shí)現(xiàn)基本控制功能,這些寄存器須字節(jié)操作命令解釋控制是指通過解釋命令緩沖區(qū)(cmdbuf0cmdbuf1)中的指令,間接訪問底層寄存器實(shí)現(xiàn)擴(kuò)展控制功能。如實(shí)現(xiàn)寄存器的位操作;對(duì)顯示緩存循環(huán),移位;對(duì)操作數(shù)譯碼等操作。請參考指令詳解部分2.4.4寄存器詳解系統(tǒng)狀態(tài)部分系統(tǒng)寄存器(systemreg):地址00h,復(fù)位值11110000b。系統(tǒng)寄存器保存zlg7290系統(tǒng)狀態(tài),并可對(duì)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行配置,其功能分位描述如下:keyavi(systemreg.0):置1時(shí)表示有效的按鍵動(dòng)作(普通鍵的單擊,連擊,和功能鍵狀態(tài)變化)/int引腳信號(hào)有效(變?yōu)榈碗娖剑?/p>

40、清0表示無按鍵動(dòng)作,/int引腳信號(hào)無效(變?yōu)楦咦钁B(tài))。有效的按鍵動(dòng)作消失后或讀key后,keyavi位自動(dòng)清0。鍵盤部分鍵值寄存器(key):地址01h,復(fù)位值00h。key表示被壓按鍵的鍵值。當(dāng)key=0時(shí)表示沒有鍵被壓按。連擊次數(shù)計(jì)數(shù)器(repeatcnt)地址02h,復(fù)位值00h。repeatcnt=0時(shí),表示單擊鍵。repeatcnt大于0時(shí)表示鍵的連擊次數(shù)。用于區(qū)別出單擊鍵或連擊鍵,判斷連擊次數(shù)可以檢測被按時(shí)間。功能鍵寄存器(functionkey)地址03h,復(fù)位值0ffh。functionkey對(duì)應(yīng)位的值=0表示對(duì)應(yīng)功能鍵被壓按(functionkey.7functionkey

41、.0對(duì)應(yīng)s64s57)。命令接口部分命令緩沖區(qū)(cmdbuf0cmdbuf1)地址07h08h復(fù)位值00h00h用于傳輸指令。顯示部分閃爍控制寄存器(flashonoff):地址0ch,復(fù)位值0111b/0111b。高4位表示閃爍時(shí)亮的時(shí)間,低4位表示閃爍時(shí)滅的時(shí)間,改變其值同時(shí)也改變了閃爍頻率,也能改變亮和滅的占空比。flashonoff的1個(gè)單位相當(dāng)于150250ms(亮和滅的時(shí)間范圍為:116,0000b相當(dāng)1個(gè)時(shí)間單位)所有象素的閃爍頻率和占空比相同。掃描位數(shù)寄存器(scannum)地址0dh,復(fù)位值7。用于控制最大的掃描顯示位數(shù)(有效范圍為:07,對(duì)應(yīng)的顯示位數(shù)為;18),減少掃描位

42、數(shù)可提高每位顯示掃描時(shí)間的占空比,以提高led亮度。不掃描顯示的顯示緩存寄存器則保持不變。如scannum3時(shí),只顯示dpram0dpram3的內(nèi)容。顯示緩存寄存器(dpram0dpram7):地址10h17h,復(fù)位值00h00h。緩存中一位置1表示該像素亮,dpram7dpram0的顯示內(nèi)容對(duì)應(yīng)dig7dig0引腳。2.4.5通信接口zlg7290的i2c接口傳輸速率可達(dá)32kbit/s,容易與處理器接口,并提供鍵盤中斷信號(hào),提高主處理器時(shí)間效率。zlg7290的從地址(slaveaddress)為70h(01110000b)有效的按鍵動(dòng)作(普通鍵的單擊連擊和功能鍵狀態(tài)變化)都會(huì)令系統(tǒng)寄存器

43、(systemreg)的keyavi位置1,/int引腳信號(hào)有效(變?yōu)榈碗娖?。用戶的鍵盤處理程序可由/int引腳低電平中斷觸發(fā),以提高程序效率。也可以不采樣/int引腳信號(hào)節(jié)省系統(tǒng)的i/o數(shù),而輪詢系統(tǒng)寄存器的keyavi位。要注意讀鍵值寄存器會(huì)令keyavi位清0。并會(huì)令/int引腳信號(hào)無效。為確保某個(gè)有效的按鍵動(dòng)作所有參數(shù)寄存器的同步性??衫胕2c通信的自動(dòng)增址功能連續(xù)讀repeatcnt,functionkey和key寄存器,但用戶無需太擔(dān)心寄存器的同步性問題,應(yīng)為鍵參數(shù)寄存器變化速度較緩慢(典型250ms,最快9ms)zlg7290內(nèi)可通過i2c總線訪問的寄存器地址范圍為:00h1

44、7h,任一寄存器都可按字節(jié)直接讀寫,也可以通過命令接口間接讀寫或按位讀寫,請參考指令詳解部分。支持自動(dòng)增址功能(訪問一寄存器后,寄存器子地址(subaddress)自動(dòng)加一)和地址翻轉(zhuǎn)功能(訪問最后一寄存器(子地址17h)后,寄存器子地址翻轉(zhuǎn)為00h)。zlg7290的控制和狀態(tài)查詢?nèi)慷际峭ㄟ^讀/寫寄存器實(shí)現(xiàn)的。用戶只需象讀寫24c02內(nèi)的單元一樣即可實(shí)現(xiàn)對(duì)zlg7290的控制。2.4.6指令詳解zlg7290提供兩種控制方式:寄存器映象控制和命令解釋控制,寄存器映象控制是指直接訪問底層寄存器(除通信緩沖區(qū)外的寄存器),實(shí)現(xiàn)基本控制功能,請參考寄存器詳解部分。命令解釋控制是指通過解釋命令緩沖

45、區(qū)(cmdbuf0cmdbuf1)中的指令,間接訪問底層寄存器實(shí)現(xiàn)擴(kuò)展控制功能。如實(shí)現(xiàn)寄存器的位操作;對(duì)顯示緩存循環(huán),移位;對(duì)操作數(shù)譯碼等操作。一個(gè)有效的指令由一字節(jié)操作碼和數(shù)個(gè)操作數(shù)組成,只有操作碼的指令稱為純指令,帶操作數(shù)的指令稱為復(fù)合指令。一個(gè)完整的指令須在一個(gè)i2c幀中(起始信號(hào)和結(jié)束信號(hào)間)連續(xù)傳輸?shù)矫罹彌_區(qū)(cmdbuf0cmdbuf1)中否則會(huì)引起錯(cuò)誤。純指令左移指令該指令使與scannum相對(duì)應(yīng)的顯示數(shù)據(jù)和顯示屬性(閃爍)自右向左移動(dòng)n位(n3n0) 1)移動(dòng)后右邊n位無顯示。與scannum不相關(guān)的顯示數(shù)據(jù)和顯示屬性則不受影響。右移指令與左移指令類似,只是移動(dòng)方向?yàn)樽宰笙蛴?/p>

46、,移動(dòng)后,左邊n位(n3n0) 1)無顯示。循環(huán)左移指令與左移指令類似,不同的是在每移動(dòng)一位后,原最左位的顯示數(shù)據(jù)和屬性轉(zhuǎn)移到最右位。循環(huán)右移指令與循環(huán)左移指令類似,只是移動(dòng)方向相反。systemreg寄存器位尋址指令當(dāng)on1時(shí),第s(s2s0)位置1,當(dāng)on0時(shí),第s位清0。復(fù)合指令顯示像素尋址指令當(dāng)on1時(shí),第s(s5s0)點(diǎn)像素亮(置1);當(dāng)on0時(shí),第s點(diǎn)像素滅(清0)。該指令用于點(diǎn)亮/關(guān)閉數(shù)碼管中某一段,或led矩陣中某一特定的led;該指令受scannum的內(nèi)容影響。s6s0為像素地址,有效范圍從00h3fh,無效的地址不會(huì)產(chǎn)生任何作用。像素位地址映象如下表:像素地址sasbscs

47、dsesfsgshdpram000h01h02h03h04h05h06h07hdpram108h09h0ah0bh0ch0dh0ehofh.dpram738h39h3ah3bh3ch3dh3eh3fh按位下載數(shù)據(jù)且譯碼指令其中a3a0為顯示緩存編號(hào)(范圍為:0000b0111b,對(duì)應(yīng)dpram0dpram7,無效的編號(hào)不會(huì)產(chǎn)生任何作用),dp=1時(shí)點(diǎn)亮該位小數(shù)點(diǎn),flash=1時(shí)該位閃爍顯示,flash=0時(shí)該位正常顯示,d4d0為要顯示的數(shù)據(jù),按以下表規(guī)則進(jìn)行譯碼:閃爍控制指令當(dāng)fn=1時(shí)該位閃爍(n的范圍為07,對(duì)應(yīng)07位)當(dāng)fn=0時(shí),該位不閃爍。該指令會(huì)改變所有像素的閃爍屬性!2.5數(shù)

48、字溫度傳感器ds18b20ds18b20是dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳to92小體積封裝形式;溫度測量范圍為55125,可編程為9位12位a/d轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625,被測溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)ds18b20可以并聯(lián)到3根或2根線上,cpu只需一根端口線就能與諸多ds18b20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使ds18b20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng)。2.5.1ds18b20的主要特性適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方

49、式下可由數(shù)據(jù)線供電獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)溫度范圍55125,在-10 85時(shí)精度為0.5可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快測量結(jié)果直接輸出數(shù)

50、字溫度信號(hào),以”一線總線”串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。圖2-9ds18b20的外形及引腳排列2.5.2引腳及其說明ds18b20的外形及引腳排列如圖2-9所示,其引腳說明如下:序號(hào)名稱引腳功能描述1gnd地信號(hào)2dq數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源3vdd可選擇的vdd引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。2.5.3內(nèi)部結(jié)構(gòu)ds18b20內(nèi)部結(jié)構(gòu)如圖2-10所示,主要由4部分組成:64位rom、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl、

51、配置寄存器。圖2-10ds18b20的內(nèi)部結(jié)構(gòu)2.5.4工作過程及時(shí)序dsl820工作過程中的協(xié)議如下:初始化:rom操作命令;存儲(chǔ)器操作命令;處理數(shù)據(jù)。初始化單總線上的所有處理均從初始化開始rom操作品令總線主機(jī)檢測到dsl820的存在便可以發(fā)出rom操作命令之一這些命令如下表:指令代碼readrom(讀rom)33hmatchrom(匹配rom55hskiprom(跳過romcchsearchrom(搜索rom)f0halarmsearch(告警搜索)ech存儲(chǔ)器操作命令指令代碼writescratchpad(寫暫存存儲(chǔ)器)4ehreadscratchpad(讀暫存存儲(chǔ)器)behcopyscratchpad(復(fù)制暫存存儲(chǔ)器)48hconverttemperature(溫度變換)44hrecalleprom(重新調(diào)出)b8hreadpowersupply(讀電源)b4h時(shí)序主機(jī)使用時(shí)間隙(timeslots)來讀寫dsl820的數(shù)據(jù)位和寫命令字的位初始化時(shí)序見圖2-11,主機(jī)總線to時(shí)刻發(fā)送一復(fù)位脈沖(最短為480us的低電平信號(hào)),接著在tl時(shí)刻釋放總線并進(jìn)入接收狀態(tài),dsl820在檢測到總線的上升沿之后,等待15-60us接著ds1820在t2時(shí)刻發(fā)出存在脈沖(低電平持續(xù)60-240us),如圖中虛線所示:圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論