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

正文內(nèi)容

stc89c52單片機(jī)倉庫溫濕度檢測系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫吧

2025-06-04 14:54 本頁面


【正文】 字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。對應(yīng)的溫度計(jì)算:當(dāng)符號位S=0時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值?!        ?DS18B20暫存存儲器分布根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。ROM、RAM指令如下圖所示: ROM、RAM指令表 DS18B20的應(yīng)用電路 DS18B20測溫系統(tǒng)具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)。下面就是DS18B20幾個不同應(yīng)用方式下的測溫電路圖:(1)DS18B20寄生電源供電方式電路圖如下面圖9所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。獨(dú)特的寄生電源方式有三個好處:1)進(jìn)行遠(yuǎn)距離測溫時,無需本地電源。2)可以在沒有常規(guī)電源的條件下讀取ROM。3)電路更加簡潔,僅用一根I/O口實(shí)現(xiàn)測溫。 要想使DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進(jìn)行多點(diǎn)測溫時,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。因此,圖9電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。在制作中曾經(jīng)就此電路做過實(shí)驗(yàn),在實(shí)驗(yàn)中,降低電源電壓VCC,測出的溫度值比實(shí)際的溫度高,誤差較大。當(dāng)電源電壓降為4V時,溫度誤差有3℃之多,這就應(yīng)該是因?yàn)榧纳娫醇橙∧芰坎粔蛟斐傻陌?,因此,在開發(fā)實(shí)際測溫系統(tǒng)時不使用此電路。 DS18B20寄生電源供電方式電路圖(2)DS18B20寄生電源強(qiáng)上拉供電方式電路圖改進(jìn)的寄生電源供電方式如下面圖10所示,為了使DS18B20在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到E2存儲器操作時,用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最多10μS內(nèi)把I/O線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點(diǎn)測溫應(yīng)用,缺點(diǎn)就是要多占用一根I/O口線進(jìn)行強(qiáng)上拉切換。 DS18B20寄生電源強(qiáng)上拉供電方式電路圖注意:,DS18B20的VDD引腳必須接地(3)DS18B20的外部電源供電方式 在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點(diǎn)測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。 外部電源供電方式 外部供電方式的多點(diǎn)測溫電路圖外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。因此,在實(shí)際的設(shè)計(jì)開發(fā)中,我們使用外部電源供電方式。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時,依然能夠保證溫度量精度。 單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。為了設(shè)計(jì)此系統(tǒng),采用了MCS51兼容單片機(jī)STC89C52單片機(jī)作為控制芯片1. STC89C52的片內(nèi)結(jié)構(gòu)下圖是STC89C52的內(nèi)部結(jié)構(gòu)示意圖。 STC89C52的內(nèi)部結(jié)構(gòu)示意圖STC89C52單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:(1)中央處理器:中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。(2)數(shù)據(jù)存儲器(RAM)STC89C52內(nèi)部有256個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有256個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 (3)程序存儲器(ROM):STC89C52共有8192個8位Flash ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。(4)定時/計(jì)數(shù)器:STC89C52有兩個16位的可編程定時/計(jì)數(shù)器,以實(shí)現(xiàn)定時或計(jì)數(shù),其中中斷用于控制程序轉(zhuǎn)向。(5)并行輸入輸出(I/O)口:STC89C52共有4組8位I/O口(P0、 PP2或P3),用于對外部數(shù)據(jù)的傳輸。(6)全雙工串行口:STC89C52內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。(7)中斷系統(tǒng):STC89C52具備較完善的中斷功能,有兩個外中斷、兩個定時/計(jì)數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。(8)時鐘電路:STC89C52內(nèi)置最高頻率達(dá)90MHz的時鐘電路,用于產(chǎn)生整個單片機(jī)運(yùn)行的脈沖時序,但STC89C52單片機(jī)需外置振蕩電容。 STC89C52的時鐘電路2. STC89C52的引腳STC89C52采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明: STC89C52 的引腳Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)STC89C52通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0R7)的狀態(tài)。STC89C52的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 復(fù)位Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點(diǎn),當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,STC89C52單片機(jī),內(nèi)置有8kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于8kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過8kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。3. 通訊接口本設(shè)計(jì)采用RS232C串行通信方式。RS232C是由美國電子工業(yè)協(xié)會(EIA)正式公布的,在異步串行通信中應(yīng)用最廣泛的標(biāo)準(zhǔn)總線。現(xiàn)在,計(jì)算機(jī)上的串行通信端口(RS232C)是標(biāo)準(zhǔn)配置端口,已經(jīng)得到廣泛應(yīng)用,計(jì)算機(jī)上一般都有1~2個標(biāo)準(zhǔn)RS232C串口,即通道COM1和COM2。RS232C規(guī)定最大的負(fù)載電容為2500pF,這個電容限制了傳輸距離和傳輸速率,由于RS232C的發(fā)送器和接收器之間具有公共信號地(GND),屬于非平衡電壓型傳輸電路,不使用差分信號傳輸,因此不具備抗共模干擾的能力,共模噪聲會耦合到信號中。在不使用調(diào)制解調(diào)器(MODEM)時,RS232C能夠可靠進(jìn)行數(shù)據(jù)傳輸?shù)淖畲笸ㄐ啪嚯x為15米。因此不適合做遠(yuǎn)距離通信,但是對于條屏,通信15米的通信距離已經(jīng)足夠。RS232C規(guī)定的邏輯電平與一般微處理器、單片機(jī)的邏輯電平是不同的,邏輯1(MARK) = 3V~15V,邏輯0(SPACE) = +3~+15V。因此,單片機(jī)系統(tǒng)要和電腦的RS232C接口進(jìn)行通信,就必須把單片機(jī)的信號電平(TTL電平)轉(zhuǎn)換成計(jì)算機(jī)的RS232C電平,或者把計(jì)算機(jī)的RS232C電平轉(zhuǎn)換成單片機(jī)的TTL電平,通信時候必須對兩種電平進(jìn)行轉(zhuǎn)換。實(shí)現(xiàn)這種轉(zhuǎn)換的方法可以使用分立元件,也可以使用專用RS232C電平轉(zhuǎn)換芯片。目前較為廣泛地使用專用電平轉(zhuǎn)換芯片,如MAX23MC148MC1489等。 MAX232電平轉(zhuǎn)換芯片特點(diǎn)本設(shè)計(jì)就是利用MAXIM公司的單電源芯片MAX232來完成單片機(jī)TTL到RS232C電平的轉(zhuǎn)換。MAX232是單電源雙RS232C發(fā)送/接收芯片。它符合所有的RS232C技術(shù)規(guī)范,只要單一 +5V電源供電;片載電荷泵,具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生 +10V 和 10V電壓V+、V ;低功耗,典型供電電流5mA;內(nèi)部集成2個RS232C驅(qū)動器,內(nèi)部集成2個RS232C接收器。采用單一 +5V電源供電,外接只需4個電容,便可以構(gòu)成標(biāo)準(zhǔn)的RS232C通信接口,硬件接口簡單,所以被廣泛運(yùn)用。(摘錄自MAX232官方數(shù)據(jù)手冊) MAX232的引腳功能腳號引腳名稱引腳功能描述腳號引腳名稱引腳功能描述1C1+泵電容1正極9R2OUT第二組TTL/CMOS電平輸出2V+正電源濾波10T2IN第二組TTL/CMOS電平輸入3C1泵電容1負(fù)極11T1IN第一組TTL/CMOS電平輸入4C2+泵電容2正極12R1OUT第一組TTL/CMOS電平輸出5C2泵電容2負(fù)極13R1IN第一組RS232電平輸入6V負(fù)電源濾波14T1OUT第一組RS232電平輸出7T2OUT第二組RS232電平輸出15GND地8R2IN第二組RS232電平輸入16VCC電源+5V MAX232引腳排列根據(jù)設(shè)計(jì)的需要,設(shè)計(jì)單片機(jī)與PC間通信接口電路如圖17示。 MAX232通信接口電路由于在本設(shè)計(jì)中, 過限指示不是關(guān)鍵設(shè)計(jì),故采用LED加限流電阻的方式簡單實(shí)現(xiàn)。LED指示燈如下圖所示。 LED 指示燈第3章 軟件設(shè)計(jì)整個軟件包括溫度采集和數(shù)據(jù)傳輸兩個主要部分組成。其中溫度采集又是由單總線協(xié)議和注冊碼組成的,因此,軟件設(shè)計(jì)主要任務(wù)是實(shí)現(xiàn)1Wire總線協(xié)議。 1Wire總線協(xié)議處理經(jīng)過單線接口訪問DS1820 的協(xié)議protocol 如下初始化ROM 操作命令存貯器操作命令處理數(shù)據(jù) 初始化單線總線上的所有處理均從初始化序列開始初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖接著由從屬器件送出存在脈沖。完成這個功能的代碼如下:/*************************************************************Function:18B20初始化*parameter:*Return:*Modify:*************************************************************/void Init18b20 (void){ dq=1。 _nop_()。 dq=0。 TempDelay(86)。 //delay 530 uS 主機(jī)發(fā)出復(fù)位脈沖 _nop_()。 dq=1。 TempDelay(14)。 //delay 100 uS _nop_()。 _nop_()。 _nop_()。if(dq==0) //檢測從屬器件送出存在脈沖 flag = 1。 //detect 1820 success! else flag = 0。 //detect 1820 fail! TempDelay(20)。 //20 _nop_()。 _nop_()。 dq = 1。}ROM 操作命令一旦總線主機(jī)檢測到從屬器件的存在它便可以發(fā)出器件ROM 操作命令之一所有ROM 操作命令均為8 位長,ROM操作命令由1Wire的單字節(jié)讀寫命令完成。/*************************************************************Function:向18B20寫入一個字節(jié)*parameter:*Return:*Modify:
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1