




已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第13章MCS 51的串行通訊技術(shù)及其它擴(kuò)展接口13 1MCS 51單片機(jī)的串行通訊接口技術(shù)MCS 51串行口的輸入 輸出均為TTL電平 抗干擾性差 傳輸距離短 為提高串行通訊的可靠性 增大串行通訊的距離 采用標(biāo)準(zhǔn)串行接口 RS 232 RS 422A RS 485等標(biāo)準(zhǔn) RS 232是由美國電子工業(yè)協(xié)會 EIA 于1962年制定的標(biāo)準(zhǔn) 13 1 1各種標(biāo)準(zhǔn)串行通訊接口 一 RS 232C接口定義數(shù)據(jù)終端設(shè)備 DTE 和數(shù)據(jù)通訊設(shè)備 DCE 之間的串行接口標(biāo)準(zhǔn) 圖13 1是兩臺計算機(jī)利用MODEM 電話線進(jìn)行遠(yuǎn)距離串行通訊的示意圖 DTE為計算機(jī) DCE的典型代表是MODEM 圖13 2為RS 232C的 D 型9針插頭的引腳定義 表13 1PC機(jī)的RS 232C接口信號 略 1 電氣特性RS 232C上傳送的數(shù)字量采用負(fù)邏輯 且與地對稱 邏輯 1 3 15V 邏輯 0 3 15V RS 232C標(biāo)準(zhǔn)的信號傳輸?shù)淖畲箅娎|長度為30米 最高數(shù)傳速率為20kbit s 2 電平轉(zhuǎn)換由于TTL電平和RS 232C電平互不兼容 所以兩者對接時 必須進(jìn)行電平轉(zhuǎn)換 RS 232C與TTL電平轉(zhuǎn)換最常用的芯片是MC1488 MC1489和MAX232等 各廠商生產(chǎn)的此類芯片雖然不同 但原理相似 以美國MAXIM公司的產(chǎn)品MAX232為例 它是RS 232C雙工發(fā)送器 接收器接口電路芯片 其外部引腳如圖13 3 內(nèi)部結(jié)構(gòu)及外部元件如圖13 4所示 由于芯片內(nèi)部有自升壓的電平倍增電路 將 5V轉(zhuǎn)換成 10V 10V 滿足RS 232C的邏輯 1 和邏輯 0 的電平要求 工作時僅需單一的 5V電源 其片內(nèi)有2個發(fā)送器 2個接收器 有TTL信號輸入 RS 232C輸出的功能 也有RS 232C輸入 TTL輸出的功能 該芯片與TTL CMOS電平兼容 使用比較方便 使用MAX232實現(xiàn)TTL RS 232C之間的電平轉(zhuǎn)換電路如圖13 5所示 二 RS 422A接口RS 232C雖然應(yīng)用很廣泛 但其推出較早 在現(xiàn)代網(wǎng)絡(luò)通訊中已暴出明顯的缺點 傳輸速率低 通訊距離短 接口處信號容易產(chǎn)生串?dāng)_等 因此 EIA又制定了RS 422A標(biāo)準(zhǔn) RS 232C即是一種電氣標(biāo)準(zhǔn) 又是一種物理接口功能標(biāo)準(zhǔn) 而RS 422A僅僅是一種電氣標(biāo)準(zhǔn) PC機(jī)不帶RS 422A接口 因此要使用RS 232 RS 422A轉(zhuǎn)換器 把RS 232C接口轉(zhuǎn)換成RS 422A接口 1 電氣特性RS 422A與RS 232C的主要區(qū)別是 收發(fā)雙方的信號地不再共地 RS 422A標(biāo)準(zhǔn)規(guī)定平衡驅(qū)動和差分接收的方法 輸入同一個信號時 其中一個驅(qū)動器的輸出永遠(yuǎn)是另一個驅(qū)動器的反相信號 當(dāng)一個表示邏輯 1 時 另一條一定為邏輯 0 若傳輸過程中 信號中混入了干擾和噪聲 以共模形式出現(xiàn) 由于差分接收器的作用 就能識別有用信號并正確接收傳輸?shù)男畔?并使干擾和噪聲相互抵消 因此 RS 422A能在長距離 高速率下傳輸數(shù)據(jù) 它的最大傳輸率為10Mbit s 在此速率下 電纜允許長度為12m 如果采用較低傳輸速率時 最大傳輸距離可達(dá)1200m RS 422A電路由發(fā)送器 平衡連接電纜 電纜終端負(fù)載 接收器四部分組成 在電路中規(guī)定只許有一個發(fā)送器 可以有多個接收器 該標(biāo)準(zhǔn)允許驅(qū)動器輸出為 2 6V 差分接收器可以檢測的輸入信號電平可低到200mV 2 電平轉(zhuǎn)換TTL電平轉(zhuǎn)換成RS 422A電平的常用芯片有為SN75174 MC3487等 RS 422A電平轉(zhuǎn)換成TTL電平的常用芯片為 SN75175 MC3486等 SN75174 SN75175是分別是具有三態(tài)輸出的單片四差分驅(qū)動器和接收器 采用 5V電源供電 圖13 6 圖13 7給出電平轉(zhuǎn)換芯片SN75174 SN75175內(nèi)部結(jié)構(gòu)及引腳圖 TTL電平與RS 422A電平轉(zhuǎn)換電路如圖13 8所示 三 RS 485接口RS 485是RS 422A的變型 它與RS 422A的區(qū)別在于 RS 422A為全雙工 采用兩對平衡差分信號線 而RS 485為半雙工 采用一對平衡差分信號線 RS 485對于多站互連是十分方便的 RS 485標(biāo)準(zhǔn)允許最多并聯(lián)32臺驅(qū)動器和32臺接收器 1 電氣特性RS 485的信號傳輸采用兩線間的電壓來表示邏輯 1 和邏輯 0 由于收發(fā)方需要兩根傳輸線 數(shù)據(jù)采用差分傳輸 所以干擾抑制性好 又因無接地問 題 所以傳輸距離可達(dá)1200米 傳輸速率可達(dá)10Mbit s 總線兩端接匹配電阻 1000 左右 驅(qū)動器負(fù)載為54 驅(qū)動器輸出電平在 1 5V以下時為邏輯 1 在 1 5V以上時為邏輯 0 接收器輸入電平在 0 2V以下時為邏輯 1 在 0 2V以上為邏輯 0 普通的PC機(jī)一般不帶RS 485接口 因此要使用RS 232 RS 485轉(zhuǎn)換器 對于單片機(jī)可以通過芯片MAX485來完成TTL RS 485的電平轉(zhuǎn)換 2 電平轉(zhuǎn)換在RS 422A標(biāo)準(zhǔn)中所用的驅(qū)動器和接收器芯片 在RS 485中均可以使用 除了RS 422A電平轉(zhuǎn)換中所列舉的驅(qū)動器和接收器外 還有收發(fā)器SN75176芯片 該芯片集成了一差分驅(qū)動器和一差分接收器 如圖13 9所示 SN75176的功能見表13 4 RS 485點對點遠(yuǎn)程通訊電路如圖13 10所示 四 20mA電流環(huán)串行接口目前串行通訊中廣泛使用的一種接口電路 但未形成正式標(biāo)準(zhǔn) 該接口要比RS 232C接口簡單的多 它只有4根線 發(fā)送正 發(fā)送負(fù) 接收正和接收負(fù)四根線組成一個輸入電流回路 一個輸出電流回路 當(dāng)發(fā)送數(shù)據(jù)時 根據(jù)數(shù)據(jù)的邏輯1 0 有規(guī)律的使回路形成通 斷狀態(tài) 即環(huán)路中無電流表示邏輯 0 有20mA電流表示邏輯 1 工作原理如圖13 11所示 20mA電流環(huán)串行通訊接口的最大優(yōu)點是低阻傳輸線對電氣噪聲不敏感 且易實現(xiàn)光電隔離 因此 在長距離傳送時 要比RS 232C優(yōu)越的多 電流環(huán)在低速數(shù)傳率傳輸時 傳輸距離可達(dá)1000米 由于20mA電流環(huán)是一種異步串行接口標(biāo)準(zhǔn) 所以在每次發(fā)送數(shù)據(jù)時必須以無電流的起始作為每一個字符的起始位 接收端檢測到起始位時便開始接收字符數(shù)據(jù) 圖13 12是一個由集成芯片構(gòu)成的20mA電流環(huán)接口線路圖 五 各種串行接口性能比較現(xiàn)將RS 232C RS 422A RS 485 20mA電流環(huán)各串行接口性能列在表13 5中 以便比較 表13 5 略 13 1 2MCS 51單片機(jī)雙機(jī)串行通訊接口一 雙機(jī)通訊硬件接口設(shè)計根據(jù)MCS 51的雙機(jī)通訊距離 抗干擾性的要求 可選擇TTL電平傳輸 或選擇RS 232C RS 422A RS485串行接口進(jìn)行串行數(shù)據(jù)傳輸 1 TTL電平通訊接口如果兩個MCS 51單片機(jī)相距在幾米之內(nèi) 它們的串行口可直接相連 從而直接用TTL電平傳輸方法來實現(xiàn)雙機(jī)通訊 如圖13 13所示 2 RS 232C雙機(jī)通訊接口如果雙機(jī)通訊距離在30米之內(nèi) 可利用RS 232C標(biāo)準(zhǔn)接口實現(xiàn)點對點的雙機(jī)通訊 接口電路如圖13 14所示 3 RS 422A雙機(jī)通訊接口為了增加通訊距離 減小通道及電源干擾 可以在通訊線路上采用光電隔離的方法 利用RS 422A標(biāo)準(zhǔn)進(jìn)行雙機(jī)通訊 接口電路如圖13 15所示 在圖13 15中 每個通道的接收端都接有三個電阻R1 R2 R3 其中R1為傳輸線的匹配電阻 取值范圍在50 1K 之間 其他兩個電阻是為了解決第一個數(shù)據(jù)的誤碼而設(shè)置的匹配電阻 為了起到隔離 抗干擾的作用 圖13 15中必須使用兩組獨立的電源 4 RS 485雙機(jī)通訊接口RS 422A雙機(jī)通訊需四芯傳輸線 這對長距離通訊是很不經(jīng)濟(jì)的 故在工業(yè)現(xiàn)場 通常采用雙絞線傳輸?shù)腞S 485串行通訊接口 這種接口很容易實現(xiàn)多機(jī)通訊 圖13 16給出了其RS 485雙機(jī)通訊接口電路 由圖13 16可知 RS 485以雙向 半雙工的方式實現(xiàn)了雙機(jī)通訊 在8031系統(tǒng)發(fā)送或接收數(shù)據(jù)前 應(yīng)先將75176的發(fā)送門或接收門打開 當(dāng)P1 0 1時 發(fā)送門打開 接收門關(guān)閉 當(dāng)P1 0 0 接收門打開 發(fā)送門關(guān)閉 13 1 3MCS 51單片機(jī)多機(jī)串行通訊接口利用串行口實現(xiàn)多機(jī)通訊的工作原理 已在第7章中作過介紹 下面首先介紹多機(jī)通訊的接口設(shè)計 一 TTL電平多機(jī)串行通訊當(dāng)一臺主機(jī)與多臺從機(jī)之間距離較近時 可直接采用TTL電平進(jìn)行多機(jī)通訊 多機(jī)通訊的連接方式如圖13 17所示 由于8031單片機(jī)P3口可帶4個LSTTL 故在圖13 17中 N的取值范圍應(yīng)為N 4 如果N 4 則P3口應(yīng)加驅(qū)動電路 二 20mA電流環(huán)多機(jī)串行通訊接口用TTL電平進(jìn)行多機(jī)通訊時 有效通訊距離約幾米左右 這在實際中往往不能滿足要求 可采用20mA電流環(huán)進(jìn)行多機(jī)通訊 不僅提高了抗干擾能力 而且可實現(xiàn)遠(yuǎn)距離通訊 20mA電流環(huán)串行多機(jī)通訊原理電路如圖13 18所示 13 1 4PC機(jī)與MCS 51的點對點的串行通訊接口一 硬件接口設(shè)計如前所述 通常PC機(jī)都配有RS 232C串行標(biāo)準(zhǔn)接口 有效通訊距離較短 為實現(xiàn)長距離通訊應(yīng)將RS 232C接口轉(zhuǎn)換成RS 422A RS 485接口 圖13 19給出了這種轉(zhuǎn)換的電路原理圖 圖13 19可完成RS 232C至RS 422A的轉(zhuǎn)換 也可完成RS 232C至RS 485的轉(zhuǎn)換 當(dāng)選擇RS 422A輸出方式時 3 4短接 當(dāng)選擇RS 485輸出方式時 1 2短接 5 6短接 7 8短接 圖13 19中 R1 R2是為排除第一個數(shù)據(jù)傳輸誤碼而設(shè)置的匹配電阻 設(shè)計者可根據(jù)實際情況選擇該電阻的大小 電源VCC和VEE均為 5V 但不是一個電源 VCC和VEE應(yīng)為隔離電源 只有這樣才能實現(xiàn)電隔離 13 1 5PC機(jī)與多個MCS 51單片機(jī)的串行通訊接口一 硬件接口電路將1臺IBM PC機(jī)和若干臺MCS 51單片機(jī)構(gòu)成的小型分布式測控系統(tǒng) 如圖13 20所示 1臺PC機(jī)與數(shù)臺8031單片機(jī)進(jìn)行多機(jī)通訊的RS 485串行通訊接口電路如圖13 21所示 13 2MCS 51單片機(jī)與日歷時鐘芯片的接口單片機(jī)應(yīng)用系統(tǒng) 有時需一個實時時鐘供定時 測控用 設(shè)計者只需選擇合適的集成電路芯片即可 本節(jié)介紹日歷時鐘芯片DS12887的功能以及與MCS 51單片機(jī)的接口設(shè)計 DS12887S是跨越2000年的日歷時鐘芯片 用4位數(shù)來表示年度 采用24引腳雙列直插式封裝 該芯片的晶體振蕩器 振蕩電路 充電電路和可充電鋰電池等一起封裝在芯片的上方 組成一個加厚的集成電路模塊 電路通電時 充電電路自動對電池充電 充足一次電可供芯片時鐘運行半年之久 正常工作時可保證時鐘數(shù)據(jù)10年內(nèi)不會丟失 此外 片內(nèi)帶有114個字節(jié)的RAM 13 2 1DS12887的性能及引腳說明一 性能主要性能如下 1 具有時鐘 鬧鐘功能及到2100年的日歷功能 可選擇12小時制或24小時制計時 有AM和PM 星期 夏時制時間操作及閏年自動補償?shù)裙δ?2 DS12887內(nèi)部有14個寄存器 10個時標(biāo)寄存器 4個狀態(tài)寄存器 還有掉電保護(hù)用114字節(jié)的低功耗RAM 3 具有用軟件編程選擇的周期性中斷方式和多頻率輸出的方波發(fā)生器功能 4 該芯片可以滿足各種不同的待機(jī)要求 最長可達(dá)24小時 5 可選擇二進(jìn)制或BCD碼來表示時間 6 工作電壓 4 5 5 5V 7 工作電流 7 15mA 8 工作溫度范圍 0 70 C 二 引腳說明DS12887 12C887的引腳如圖13 22所示 各引腳功能如下 1 MOT 計算機(jī)總線選擇端 接低電平為總線方式 2 SQWF 方波輸出 是否輸出以及速率由專用寄存器A B的預(yù)置參數(shù)決定 3 AD7 AD0 地址 數(shù)據(jù) 雙向 總線 由ALE的下降沿鎖存8位地址 4 WR 寫數(shù)據(jù)控制信號 低電平有效 5 ALE 地址鎖存信號端 6 RD 數(shù)據(jù)讀控制信號端 低電平有效 7 CS 片選信號端 低電平有效 8 IRQ 中斷申請端 低電平有效 由專用寄存器決定 9 RESET 復(fù)位端 低電平復(fù)位 10 NC 空閑端 13 2 2DS12887的內(nèi)部RAM和寄存器CPU通過讀DS12887的內(nèi)部時標(biāo)寄存器得到當(dāng)前的時間和日歷 也可通過選擇二進(jìn)制碼或BCD碼初始化芯片的10個時標(biāo)寄存器 114字節(jié)RAM可在系統(tǒng)掉電時來保存一些重要的數(shù)據(jù) DS12887的4個控制與狀態(tài)寄存器用來控制或反映DS12887模塊當(dāng)前的工作狀態(tài) 除數(shù)據(jù)更新周期外 軟件可隨時讀寫這4個寄存器 下面介紹各寄存器的功能和作用 一 內(nèi)部RAM與各專用寄存器簡介引腳AD7 AD0的8位編碼決定了對各專用寄存器與內(nèi)部RAM的尋址 其中 00H 09H 10個時標(biāo)寄存器 0AH 0DH 4個控制與狀態(tài)寄存器 0EH FFH 114字節(jié)的靜態(tài)RAM 表13 6是DS12887內(nèi)部10個時標(biāo)寄存器和4個控制 狀態(tài)寄存器的地址分配 1 時標(biāo)寄存器 10個 00H 03H單元為 秒 分 單元 取值范圍是00H 3BH 十進(jìn)制0 59 04H 05H單元是 時 單元 按12小時制的取值范圍是上午 AM 01H 0CH 1 12 下午 PM 51H 5CH 81 92 按24小時制的取值范圍是00H 17H 1 23 06H單元是 星期 單元 取值范圍是00H 07H 0 7 07H單元是 日 單元 取值范圍是01H 1FH 1 31 08H單元是 月 單元 取值范圍是01H 0CH 1 12 09H單元是 年的低2位 單元 取值范圍是00H 63H 0 99 MCS 51對DS12887內(nèi)部RAM和各專用寄存器的地址分配可采用譯碼器法 假設(shè)DS12887的片選地址從 D000H開始有效 則芯片內(nèi)部RAM和寄存器的地址為 D000H D07FH 注意 盡管專用時標(biāo)年寄存器只有一個 只能顯示年的低兩位 但通過軟件編程利用其內(nèi)部的不掉電RAM區(qū)的一個字節(jié)實現(xiàn)年度的高兩位顯示 2 控制與狀態(tài)寄存器 4個 1 寄存器A各位不受復(fù)位的影響 格式見表13 7 其中 位UIP 更新周期標(biāo)志位 是只讀位 UIP 1時 表示芯片正處于或即將開始更新周期 此時不準(zhǔn)讀 寫時標(biāo)寄存器 UIP 0時 表示至少在44 后才開始更新周期 此時程序可以讀片內(nèi)時標(biāo)寄存器 位DV0 DV1 DV2 芯片內(nèi)部振蕩器RTC控制位當(dāng)芯片解除復(fù)位狀態(tài) 并將010寫入DV0 DV2后 另一個更新周期將在500ms后開始 因此 在初始化時可用這3位精確地使芯片在設(shè)定的時間開始工作 DS12887固定使用32768Hz的內(nèi)部晶體 所以 只有DV0 DV1 DV2 010一種組合選擇才可啟動RTC 位RS3 RS2 RS1 RS0 周期中斷可編程方波輸出速率選擇位 不同的組合可以產(chǎn)生不同的方波輸出 可通過設(shè)置寄存器B的SQWF和PIE位來控制是否允許周期中斷和方波輸出 寄存器A輸出方波的速率選擇位見表13 2 2 寄存器B允許讀 寫 用于控制芯片的工作狀態(tài) 其控制字的格式見表13 8 位SET SET 0時 芯片處于正常工作狀態(tài) 每秒產(chǎn)生一個更新周期來更新時標(biāo)寄存器 SET 1時 芯片停止工作 程序在此期間可初始化芯片的各個時標(biāo)寄存器 位PIE AIF UIE 分別為周期中斷 報警中斷 更新周期結(jié)束中斷允許位 各位為1時 允許芯片發(fā)相應(yīng)的中斷 位SQWF 方波輸出允許位 SQWF 1 按寄存器A輸出速率選擇位所確定的頻率方波 SQWF 0 腳SQWF保持低電平 位DM 時標(biāo)寄存器用十進(jìn)制BCD碼表示或用二進(jìn)制表示格式選擇位 DM 0時 為十進(jìn)制BCD碼 DM 1時 為二進(jìn)制碼 位24 12 24 12小時模式設(shè)置位 24 12 1時 為24小時工作模式 24 12 0時 為12小時工作模式 位DSE 夏時制設(shè)置 DSE 1 夏時制設(shè)置有效 夏時制結(jié)束可自動刷新恢復(fù)時間 DSE 0 無效 3 寄存器C特點 程序訪問該寄存器后 該寄存器的內(nèi)容將自動清0 從而使IRQF標(biāo)志位變?yōu)楦唠娖?否則 芯片將無法向CPU申請下一次中斷 寄存器C的控制字的格式見表13 8 其中 位IRQF 中斷申請標(biāo)志位 該位有關(guān)的邏輯變量的邏輯關(guān)系表達(dá)式如下 IRQF PF PIE AF AIE UF UIE當(dāng)IRQF位變?yōu)?時 引腳變?yōu)榈碗娖揭鹬袛嗌暾?位PF AF UF 3位分別為周期中斷 報警中斷 更新周期結(jié)束中斷標(biāo)志位 只要滿足各中斷的條件 相應(yīng)的中斷標(biāo)志位將置1 位3 位0 保留位 讀出值始終為0 4 寄存器D為只讀的狀態(tài)寄存器 狀態(tài)字的格式見表13 8 其中 位VRT 芯片內(nèi)部RAM與寄存器內(nèi)容有效標(biāo)志位 該位為1時 指芯片內(nèi)部RAM和寄存器內(nèi)容有效 讀該寄存器后 該位將自動置1 位BIT6 BIT0 保留位 讀出值始終為0 三 DS12887的中斷和更新周期DS12887處于正常工作狀態(tài)時 每秒鐘將產(chǎn)生一個更新周期 芯片處于更新周期的標(biāo)志 寄存器A中的UIP位為1 在更新周期內(nèi) 芯片內(nèi)部時標(biāo)寄存器中的數(shù)據(jù)處于更新階段 故微處理器不能讀時標(biāo)寄存器的內(nèi)容 否則將得到不確定數(shù)據(jù) 更新周期的基本功能主要是刷新各個時標(biāo)寄存器中的內(nèi)容 同時秒時標(biāo)寄存器內(nèi)容加1 并檢查其他時標(biāo)寄存器內(nèi)容是否有溢出 如有溢出則相應(yīng)進(jìn)位日 月 年 更新周期的另外一個功能是 檢查3個時 分 秒報警時標(biāo)寄存器的內(nèi)容是否與對應(yīng)時標(biāo)寄存器的內(nèi)容相符 如相符 則寄存器C中的AF位置1 如果報警時標(biāo)寄存器的內(nèi)容為C0H FFH之間的數(shù)據(jù) 則為不關(guān)心狀態(tài) 為了采樣時標(biāo)寄存器中的數(shù)據(jù) 器件提供了兩種避開在更新周期內(nèi)訪問時標(biāo)寄存器的方法 第一種方法是利用更新周期結(jié)束發(fā)出的中斷 可以編程且允許在每次更新周期結(jié)束后發(fā)生中斷申請 提醒CPU將有998ms左右的時間去獲取有效的數(shù)據(jù) 在中斷之后的998ms時間內(nèi) 程序可先將時標(biāo)數(shù)據(jù)讀到芯片內(nèi)部的不掉電靜態(tài)RAM中 因為芯片內(nèi)部的靜態(tài)RAM和狀態(tài)寄存器是可隨時讀寫的 在離開中斷服務(wù)子程序前應(yīng)清除寄存器C中的IRQF位 另一種方法是 利用寄存器A中的UIP位來指示芯片是否處于更新周期 在UIP位由低變高244 后 芯片將開始其更新周期 所以 若檢測到UIP位為低電平時 則利用244 的間隔時間去讀取時標(biāo)信息 如檢測到UIP位為1 則可暫緩讀數(shù)據(jù) 等到UIP位變成低電平后再去讀數(shù)據(jù) 13 2 3MCS 51與DS12887的接口設(shè)計一 DS12887的初始化DS12887采用連續(xù)工作制 一般無需每次都初始化 即使是系統(tǒng)復(fù)位時也如此 但在初始化時 首先應(yīng)禁止芯片內(nèi)部的更新周期操作 所以 應(yīng)先將DS12887狀態(tài)寄存器B中的SET位置1 然后初始化00H 09H時標(biāo)參數(shù)寄存器和狀態(tài)寄存器A 此后 再通過讀狀態(tài)寄存器C 清除寄存器C中的周期中斷標(biāo)志位PF 報警中斷標(biāo)志位AF 更新周期結(jié)束中斷標(biāo)志位UF 通過讀寄存器D中的VRT位后將自動置1 最后 將狀態(tài)寄存器B中的SET位置0 芯片開始計時工作 二 鬧鐘單元的使用DS12887共有3個鬧鐘單元 分別為時 分 秒鬧鐘單元 在其中寫入鬧鐘時間值并且在時鐘中斷允許的情況下 每天到該時刻就會產(chǎn)生中斷申請信號 但這種方式每天只提供一次中斷信號 另一種方式是在鬧鐘單元中寫入 不關(guān)心碼 在時鬧鐘單元寫入C0H FFH之間的數(shù)據(jù) 可每小時產(chǎn)生一次中斷 在時 分鬧鐘單元寫入C0H FFH之間的數(shù)據(jù) 可每分鐘產(chǎn)生一次中斷 而時 分 秒鬧鐘單元全部寫入FFH 則每秒鐘產(chǎn)生一次中斷 但這種方式也只是在整點 整分 或每秒產(chǎn)生一次中斷 若控制系統(tǒng)要求的定時間隔不是整數(shù)時 應(yīng)該通過軟件來調(diào)整實現(xiàn) 三 接口電路及軟件編程圖13 23是AT89C51單片機(jī)與DS12887的接口電路 其中片選地址CS 0D00H DS12887狀態(tài)寄存器的參數(shù)設(shè)置如下 1 狀態(tài)寄存器A置為20H 表示采用的時鐘頻率為32678Hz 禁止腳SQWF輸出 2 狀態(tài)寄存器B置為22H 表示允許報警中斷 禁止其他中斷 為24小時模式 時標(biāo)寄存器內(nèi)容用BCD碼表示 禁止方波輸出和夏時制服務(wù) 如果要求定時間隔為1秒至59秒的中斷申請 那么時報警寄存器置FFH 就表示該報警時標(biāo)處于不關(guān)心狀態(tài) 下面為DS12887的有關(guān)程序 1 初始化程序 見教材 2 查詢法判別芯片是否處于更新周期子程序 見教材 13 3MCS 51單片機(jī)的報警接口在單片機(jī)測控系統(tǒng)發(fā)生故障或處于某種緊急狀態(tài)時 單片機(jī)系統(tǒng)應(yīng)能發(fā)出提醒人們警覺的報警信號或提示信號 常見的報警信號可分為閃光報警 鳴音報警和音樂報警 下面對這三種報警接口作以介紹 13 3 1閃光報警接口閃光報警可用MCS 51的某一I O口線驅(qū)動LED閃爍 只要該I O口線發(fā)出具有一定頻率的高低電平信號 即可使LED閃爍 接口電路如圖13 24所示 閃光報警的的程序編寫 只需向P1 0先寫入 1 然后延遲一段時間 再向向P1 0寫入 0 延遲的時間可根據(jù)要求的LED的閃爍頻率而定 可采用軟件延時 也可使用定時器定時中斷 在中斷服務(wù)程序中 改變P1 0的電平 采用軟件延時的程序 FLASH1 SETBP1 0LCALLDELAY 調(diào)用軟件延時子程序DELAYCLRP1 0LCALLDELAY 調(diào)用軟件延時子程序DELAYLJMPFLASH1 如果MCS 51本身的I O口線資源緊張 要控制閃光報警的LED數(shù)目較多 也可采用擴(kuò)展一片74LS3778D鎖存器芯片 鎖存器的輸出接了8個LED 接口電路如圖13 25所示 圖13 25中的74LS377的端口地址為7FFFH 要使某一位的LED閃爍 只需向74LS377的某一位交替的寫入 1 或 0 寫入 1 或 0 時間間隔可采用軟件延時 也可使用定時器定時中斷 例如 要使74LS377Q0位上的LED閃爍 采用軟件延時的參考程序如下 FLASH2 MOVDPTR 7FFFHMOVA 0FEHMOVX DPTR A 讓最低位LED亮LCALLDELAY 調(diào)用延時子程序DELAYMOVA 0FFH 讓最低位LED滅LCALLDELAY 調(diào)用軟件延時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人造石英石樹脂合作協(xié)議書
- 房建勞務(wù)分包合同集
- 農(nóng)業(yè)種植合作合同協(xié)議
- 餐飲業(yè)連鎖店標(biāo)準(zhǔn)化管理運營方案
- 現(xiàn)代農(nóng)業(yè)園區(qū)運營承包合同書
- 公務(wù)員擔(dān)保合同
- 行政管理思想演變試題及答案
- 城市綠化工程項目合作協(xié)議書
- 城市交通管理與優(yōu)化技術(shù)服務(wù)協(xié)議
- 2025年行政管理自考知識綜合試題及答案
- 2024年填海工程土石方合同
- 【高考復(fù)習(xí)】文言文閱讀專題:特殊句式-(公開課課件)
- 【基于單片機(jī)的定時智能藥箱設(shè)計(論文)7700字】
- 采訪課件模板
- 2020年廣東深圳中考滿分作文《見證美好》8
- 人教版英語七年級上冊閱讀理解專項訓(xùn)練16篇(含答案)
- 移動醫(yī)療賦能慢病管理的模式與效果
- 《老年人輔助器具應(yīng)用( 第2版)》高職全套教學(xué)課件
- 2024至2030年全球及中國比特幣和加密貨幣錢包細(xì)分市場深度研究報告
- 2023年海南省中考物理試題(解析版)
- DL-T+544-2012電力通信運行管理規(guī)程
評論
0/150
提交評論