基于單片機(jī)技術(shù)的(洗車機(jī)專用)電流互感控制器_第1頁
基于單片機(jī)技術(shù)的(洗車機(jī)專用)電流互感控制器_第2頁
基于單片機(jī)技術(shù)的(洗車機(jī)專用)電流互感控制器_第3頁
基于單片機(jī)技術(shù)的(洗車機(jī)專用)電流互感控制器_第4頁
基于單片機(jī)技術(shù)的(洗車機(jī)專用)電流互感控制器_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、題 目: 基于單片機(jī)技術(shù)的(洗車機(jī)專用)電流 互感控制器 摘 要本課題是設(shè)計(jì)一個以單片機(jī)為控制核心的電流互感控制器。根據(jù)電流的大小,提供兩個開關(guān)量輸出,作為PLC控制洗車機(jī)洗刷的動作控制信號。最終實(shí)現(xiàn)洗車機(jī)橫刷和立刷與車身之間的準(zhǔn)確定位,達(dá)到自動洗車目的。其中設(shè)有方便的給定值調(diào)整按鈕和增減按鈕,實(shí)際值和給定值的顯示、動作指示燈、整點(diǎn)報時、時鐘顯示。設(shè)計(jì)中采用了LPC916單片機(jī)、啟動芯片ZLG7290、時鐘芯片DS1302、LED四位聯(lián)體數(shù)碼等。關(guān)鍵詞:寄存器時鐘源 控制字存儲器 IIC總線目錄1、引言32、方案總體設(shè)計(jì)33、方案實(shí)體設(shè)計(jì)43.1元器件的選型(硬件原理)43.2 ZLG7290

2、 IIC 接口鍵盤及LED 驅(qū)動器83.3 LPC900系列單片機(jī)掉電檢測應(yīng)用123.4 看門狗部分143.5 時鐘芯片184、電路原理圖的設(shè)計(jì)214.1 電源部分224.2 ICP接口電路224.3 CPU及其I/O連接、晶振連接電路234.4 蜂鳴器及其驅(qū)動電路234.5 數(shù)碼管及其驅(qū)動電路234.6 驅(qū)動電路244.7 按鍵電路244.8 通訊接口電路245、軟件部分255.1 P89LPC91x系列單片機(jī)255.2 看門狗清零序列 266、方案的試驗(yàn)266.1 對時鐘芯片的使用測試26結(jié)論29致謝31參考文獻(xiàn)32附錄33 1、引言隨著社會的發(fā)展、科技的進(jìn)步以及人們生活水平的逐步提高,各

3、種方便于生活的自動控制系統(tǒng)開始進(jìn)入了人們的生活,以單片機(jī)為核心的自動門系統(tǒng)就是其中之一。同時也標(biāo)志了自動控制領(lǐng)域成為了數(shù)字化時代的一員。它實(shí)用性強(qiáng),功能齊全,技術(shù)先進(jìn),使人們相信這是科技進(jìn)步的成果。它更讓人類懂得,數(shù)字時代的發(fā)展將改變?nèi)祟惖纳睿瑢⒓涌炜茖W(xué)技術(shù)的發(fā)展。當(dāng)前,在世界范圍內(nèi),一個以微電子技術(shù),計(jì)算機(jī)和通信技術(shù)為先導(dǎo)的,以信息技術(shù)和信息產(chǎn)業(yè)為中心的信息革命方興未艾。為使我國盡快實(shí)現(xiàn)經(jīng)濟(jì)信息化,趕上發(fā)達(dá)國家水平,必須加速發(fā)展我國的信息技術(shù)和信息產(chǎn)業(yè)。而計(jì)算機(jī)技術(shù)怎樣與實(shí)際應(yīng)用更有效的結(jié)合并有效的發(fā)揮其作用是科學(xué)界最熱門的話題,也是當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域。單片機(jī)以其集成度高、運(yùn)算

4、速度快、體積小、運(yùn)行可靠、價格低廉、等優(yōu)勢,在過程控制、數(shù)據(jù)采集、機(jī)電一體化、智能化儀表、家用電器以及網(wǎng)絡(luò)技術(shù)等方面得到拉廣泛的應(yīng)用。特別是單片機(jī)嵌入式系統(tǒng)的開發(fā)與應(yīng)用,標(biāo)志著計(jì)算機(jī)發(fā)展史上又一個新的里程碑。作為計(jì)算機(jī)兩大發(fā)展方向之一的單片機(jī),以面向?qū)ο蟮牡膶?shí)時控制為己任,嵌入到如家用電器、汽車、機(jī)器人、儀器儀表等設(shè)備中使其智能化。目前國內(nèi)外各大電氣公司,大的半導(dǎo)體廠商正不斷地開發(fā)、使用單片機(jī),使用單片機(jī),使其無論在控制能力,減小體積,降低成本,還是開發(fā)環(huán)境的改善等方面,都得到了空前迅速的發(fā)展。隨著計(jì)算機(jī)在各個領(lǐng)域及更深入的應(yīng)用,單片機(jī)的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新

5、。在實(shí)時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,以作完善。本次選題的意義和主要功能就在于通過利用單片機(jī)的應(yīng)用來實(shí)現(xiàn)全自動洗車機(jī)的方便、的正常運(yùn)作。2、方案總體設(shè)計(jì)在設(shè)計(jì)中我們所使用的是LPC916單片機(jī),利用其IIC總線和ZLG7290聯(lián)接,以驅(qū)動LED四位聯(lián)體數(shù)碼管(一個顯示采集值,一個顯示設(shè)定值)顯示及按鍵(共四個銨鍵。一個是模式鍵,一個是功能鍵,一個左移鍵,另一個是右移鍵)功能??刂埔笕缦拢簭腖PC916P0.1口采集一個電壓信號,讓其在LED0中顯示;同時利用按鍵進(jìn)行具體

6、值設(shè)置,并在LED1中顯示。要求銨下模式鍵LED1閃爍,銨下左移右移鍵可進(jìn)行快速移位設(shè)值,同時銨下功能鍵和左移鍵所移到的當(dāng)前位值增加;同時銨下功能鍵和右移鍵所移到的當(dāng)前位值減小。當(dāng)不進(jìn)行設(shè)定值調(diào)整時,兩支數(shù)碼管的其中六位顯示當(dāng)前的時間:小時/分鐘/秒。當(dāng)前時間由DS1302提供。設(shè)定值存放在一個地址中,采集值存放在另一個地址中,兩個數(shù)值做比較,如果采集值大于設(shè)定值時讓P1.0=1;如果采集值小于設(shè)定值時讓P0.3=1。3、方案實(shí)體設(shè)計(jì)3.1 元器件的選型(硬件原理)3.1.1 對P89LPC915/916/917 Flash單片機(jī)的選擇LPC900系列單片機(jī)PHILIPS公司開發(fā)的一款高速、低

7、功耗、多功能的8位微處理器,其內(nèi)部集成有高精度RC振蕩器、模擬比較器、UART接口、IIC接口、內(nèi)部看門狗、內(nèi)部實(shí)時時鐘及AD/DA等模塊。該系列芯片適合于許多要求高集成度、低成本的場合,可以滿足多方面的性能要求。已經(jīng)廣泛應(yīng)用于工控、安防、測量儀表、消費(fèi)類儀表等諸多領(lǐng)域,是一款性價比較高的微處理器。P89LPC915/916/917是一款低成本的14腳和16腳單片微控制器。它們采用高性能的處理器結(jié)構(gòu),指令執(zhí)行時間只需2到4個時鐘周期。6倍于標(biāo)準(zhǔn)80C51器件。P89LPC915/916/917集成了許多系統(tǒng)級的功能,這樣可大大減少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。1)主要特性: 2kB可

8、字節(jié)擦除的Flash程序存儲器,具有256字節(jié)的扇區(qū)和16字節(jié)的頁。單字節(jié)擦除功能使得任何字節(jié)可用作非易失性數(shù)據(jù)存儲器。 256字節(jié) RAM數(shù)據(jù)存儲器。 2個16位定時/計(jì)數(shù)器,定時器0(P89LPC917的定時器1)可設(shè)置為溢出時觸發(fā)相應(yīng)端口輸出或作為PWM輸出。 23位的系統(tǒng)定時器,可用作實(shí)時時鐘。 4輸入8位A/D轉(zhuǎn)換器/1個DAC輸出。2個模擬比較器,可選擇參考源。 增強(qiáng)型UART。具有波特率發(fā)生器、間隔檢測、幀錯誤檢測、自動地址識別和通用的中斷功能。 SPI通信端口(P89LPC916)。 選擇高精度的內(nèi)部RC振蕩器時不需要外接振蕩器件??蛇x擇RC振蕩器選項(xiàng)并且其頻率可進(jìn)行很好的調(diào)節(jié)

9、。 VDD操作電壓范圍為2.43.6V。I/O口可承受5V(可上拉或驅(qū)動到5.5V)。 選擇片內(nèi)振蕩和片內(nèi)復(fù)位時可多達(dá)14個I/O口(P89LPC916,P89LPC917)。2)附加特性: 14腳(P89LPC915)和16腳(P89LPC916,P89LPC917)TSSOP封裝。 當(dāng)操作頻率為12MHz時,除乘法和除法指令外,高速80C51 CPU的指令執(zhí)行時間為 167333ms。同一時鐘頻率下,其速度為標(biāo)準(zhǔn)80C51器件的6倍。只需要較低的時鐘頻率即可達(dá)到同樣的性能,這樣無疑降低了功耗和EMI。 在應(yīng)用中編程(IAP-Lite)和字節(jié)擦寫功能使得程序存儲器可用于非易失性數(shù)據(jù)的存儲。

10、串行Flash在電路編程(ICP)允許利用商用EPROM編程器實(shí)現(xiàn)簡單代碼的編程。 Flash保密位可防止程序被讀出。 看門狗定時器具有片內(nèi)獨(dú)立振蕩器,無需外接元件??撮T狗定時器預(yù)分頻器有8種選擇。 低電壓復(fù)位(掉電檢測)可在電源故障時使系統(tǒng)安全關(guān)閉。該功能也可配置為一個中斷。 空閑和兩種不同的掉電節(jié)電模式。提供從掉電模式中喚醒功能(低電平中斷輸入喚醒)。典型的掉電電流為1A(比較器關(guān)閉時的完全掉電狀態(tài))。 低電平復(fù)位。使用片內(nèi)上電復(fù)位時不需要外接元件。復(fù)位計(jì)數(shù)器和復(fù)位干擾抑制電路可防止虛假和不完全的復(fù)位。另外還提供軟件復(fù)位功能。 可編程I/O口輸出模式:準(zhǔn)雙向口,開漏輸出,推挽和僅為輸入功能

11、。 端口“輸入模式匹配”檢測。當(dāng)P0口管腳的值與一個可編程的模式匹配或者不匹配時,可產(chǎn)生一個中斷。 所有口線均有LED驅(qū)動能力(20mA)。但整個芯片有一個最大值的限制。 可控制口線輸出斜率以降低EMI,輸出最小跳變時間約為10ns。 當(dāng)選擇片內(nèi)復(fù)位時,P89LPC915/916/917只需連接電源和地。 4個中斷優(yōu)先級。 5個(P89LPC916)、6個(P89LPC915)或7個(P89LPC917)鍵盤中斷輸入。 雙數(shù)據(jù)指針(DPTR)。 施密特觸發(fā)端口輸入。 仿真支持。 經(jīng)過對比,并且結(jié)合次此設(shè)計(jì)的要求,最后選用了LPC916這一款單片機(jī)。3)邏輯符號:圖1 P89LPC916邏輯符號

12、4)P89LPC916單片機(jī)管腳配置及其描述:圖2 P89LPC916管腳配置管腳1-P0.1:P0口位1,比較器2正向輸入B,鍵盤輸入1,A/D通道1,輸入0;管腳2-P2.4:P2口位3,/SS SPI從機(jī)選擇;管腳3-P1.5:P1口位5(僅為輸入),/RST上電時外部復(fù)位輸入。當(dāng)用作該管腳上的低電平復(fù)位輸入復(fù)位微處理器時,使I/O口和外圍功能進(jìn)入默認(rèn)狀態(tài),處理器從地址0開始執(zhí)行。也用與上電期間強(qiáng)制In-System編程模式。管腳4-Vss:0V參考點(diǎn);管腳5-P2.3:P2口位3,MOSI SPI主機(jī)輸出/從機(jī)輸入。當(dāng)配置為主機(jī)時,該管腳為輸入;當(dāng)配置為從機(jī)時,該管腳為輸出;管腳6-P

13、2.2:P2口位0,MOSI SPI主機(jī)輸出/從機(jī)輸入。當(dāng)配置為主機(jī)時,該管腳為輸出;當(dāng)配置為從機(jī)時,該管腳為輸入;管腳7-P1.3: P1口位2(作輸出時為開漏),/INT0 外部中斷0輸入,SDA IIC IIC總線串行數(shù)據(jù)輸入/輸出;管腳8-P1.2: P1口位2(用做輸出時為開漏),T0 定時/記數(shù)器0外部記數(shù)輸入,溢出輸出,或PWM輸出;SCL IIC總線串行數(shù)據(jù)輸入/輸出;管腳9-P1.1: P1口位0,RXD串行口發(fā)送器數(shù)據(jù);管腳10-P1.0: P1口位0,TXD串行口發(fā)送器數(shù)據(jù);管腳11-P2.5: P2是一個可以由用戶定義輸出類型的4位I/O口,復(fù)位時,P1口鎖存器配置為內(nèi)

14、部上拉禁止的僅為輸入模式。P2口由配置寄存器設(shè)定為輸出或輸入模式;管腳12-Vdd:電源;管腳13-P0.5:P0口位5,比較器參考(反向)輸入,鍵盤輸入5,外部時鐘輸入;管腳14-P0.4:P0口位4,比較器1正向輸入A,鍵盤輸入4,A/D通道1,輸入3;數(shù)字到模擬轉(zhuǎn)換器輸出1;管腳15-P0.3:P0口位3,比較器1正向輸入B,鍵盤輸入1,A/D通道1,輸入2;管腳16-P0.2:P0口位2,比較器2正向輸入A,鍵盤輸入2,A/D通道1,輸入1;5)P89LPC916功能框圖:圖3 P89LPC916功能框圖3.2 ZLG7290 IIC 接口鍵盤及LED 驅(qū)動器1)特 點(diǎn) I2C 串行接

15、口提供鍵盤中斷信號方便與處理器接口 可驅(qū)動8 位共陰數(shù)碼管或64 只獨(dú)立LED 和64 個按鍵 可控掃描位數(shù)可控任一數(shù)碼管閃爍 提供數(shù)據(jù)譯碼和循環(huán)移位段尋址等控制 8 個功能鍵可檢測任一鍵的連擊次數(shù) 無需外接元件即直接驅(qū)LED 可擴(kuò)展驅(qū)動電流和驅(qū)動電壓 提供工業(yè)級器件多種封裝形式PDIP24 SO242)引腳圖:采用24引腳封裝,引腳圖如圖4所示。圖4 .引腳圖3)系統(tǒng)功能框圖即寄存器映象圖圖5.系統(tǒng)功能框圖4)寄存器詳解1系統(tǒng)狀態(tài)部分:系統(tǒng)寄存器(SystemReg):地址00H,復(fù)位值B。系統(tǒng)寄存器保存ZLG7290 系統(tǒng)狀態(tài),并可對系統(tǒng)運(yùn)行狀態(tài)進(jìn)行配置,其功能分位描述如下: KeyAvi

16、 (SystemReg.0):置1 時表示有效的按鍵動作(普通鍵的單擊、連擊和功能鍵狀態(tài)變化),/INT 引腳信號有效(變?yōu)榈碗娖剑磺? 表示無按鍵動作,/INT 引腳信號無效(變?yōu)楦咦钁B(tài))。有效的按鍵動作消失后或讀Key 后,KeyAvi 位自動清0。2鍵盤部分:鍵值寄存器(Key):地址01H, 復(fù)位值00H。 Key 表示被壓按鍵的鍵值。當(dāng)Key=0 時,表示沒有鍵被壓按。連擊次數(shù)計(jì)數(shù)器(RepeatCnt):地址02H,復(fù)位值00H。RepeatCnt=0 時,表示單擊鍵。RepeatCnt 大于0 時,表示鍵的連擊次數(shù)。用于區(qū)別出單擊鍵或連擊鍵,判斷連擊次數(shù)可以檢測被按時間。功能鍵

17、寄存器(FunctionKey): 地址03H,復(fù)位值0FFH。 FunctionKey 對應(yīng)位的值=0 表示對應(yīng)功能鍵被壓按 (FunctionKey.7-FunctionKey.0 對應(yīng)S64-S57)。3命令接口部分命令緩沖區(qū)(CmdBuf0 -CmdBuf1):地址07H-08H,復(fù)位值00H -00H。用于傳輸指令。4顯示部分閃爍控制寄存器(FlashOnOff):地址0CH,復(fù)位值0111B/0111B。高4 位表示閃爍時亮的時間,低4 位表示閃爍時滅的時間,改變其值同時也改變了閃爍頻率,也能改變亮和滅的占空比。FlashOnOff的1 個單位相當(dāng)于150-250ms(亮和滅的時間

18、范圍為:116,0000B 相當(dāng)1 個時間單位)所有象素的閃爍頻率和占空比相同。掃描位數(shù)寄存器(ScanNum):地址0DH,復(fù)位值7。用于控制最大的掃描顯示位數(shù)(有效范圍為:0-7 ,對應(yīng)的顯示位數(shù)為18),減少掃描位數(shù)可提高每位顯示掃描時間的占空比,以提高LED 亮度。不掃描顯示的顯示緩存寄存器則保持不變。如ScanNum 3 時只顯示DpRam0-DpRam3 的內(nèi)容。顯示緩存寄存器(DpRam0 DpRam7):地址10H-17H,復(fù)位值00H-00H。緩存中一位置1表示該像素亮,DpRam7-DpRam0 的顯示內(nèi)容對應(yīng)Dig7-Dig0 引腳。5)通信接口ZLG7290 的IIC

19、接口傳輸速率可達(dá)32kbit/s,容易與處理器接口。并提供鍵盤中斷信號。提高主處理器時間效率。ZLG7290 的從地址(slave address)為70H(B)。有效的按鍵動作普通鍵的單擊連擊和功能鍵狀態(tài)變化都會令系統(tǒng)寄存器(SystemReg)的(KeyAvi) 位置。1 /INT 引腳信號有效變?yōu)榈碗娖接脩舻逆I盤處理程序可由/INT 引腳低電平中斷觸發(fā),以提高程序效率也可以不采樣/INT 引腳信號,節(jié)省系統(tǒng)的I/O 數(shù)而輪詢系統(tǒng)寄存器的(KeyAvi) 位。要注意讀鍵值寄存器會令(KeyAvi)位清0 ,并會令/INT 引腳信號無效。為確保某個有效的按鍵動作所有參數(shù)寄存器的同步性,建議利

20、用IiC 通信的自動增址功能連續(xù)讀(epeatCnt) (FunctionKey) 和(Key)寄存器。但用戶無需太擔(dān)心寄存器的同步性問題應(yīng)為鍵參數(shù)寄存器變化速度較緩慢典型250ms,最快9ms。ZLG7290 內(nèi)可通過IIC 總線訪問的寄存器地址范圍為00H17H,任一寄存器都可按字節(jié)直接讀寫也可以通過命令接口間接讀寫或按位讀寫請參考指令詳解部分。支持自動增址功能訪問一寄存器后寄存器子地址(sub address)自動加一和地址翻轉(zhuǎn)功能。訪問最后一寄存器子地址17H 后寄存器子地址翻轉(zhuǎn)為00H ,ZLG7290 的控制和狀態(tài)查詢?nèi)慷际峭ㄟ^讀/寫寄存器實(shí)現(xiàn)的。用戶只需象讀寫24C02 內(nèi)的單

21、元一樣即可實(shí)現(xiàn)對ZLG7290 的控制關(guān)于IIC 總線。訪問的細(xì)節(jié)請參考IIC 總線規(guī)范。6)指令詳解ZLG7290 提供兩種控制方式寄存器映象控制和命令解釋控制。寄存器映象控制是指直接訪問底層寄存器除通信緩沖區(qū)外的寄存器,實(shí)現(xiàn)基本控制功能請參考寄存器詳解部分。命令解釋控制是指通過解釋命令緩沖區(qū)CmdBuf0 CmdBuf1 中的指令,間接訪問底層寄存器實(shí)現(xiàn)擴(kuò)展控制功能。如實(shí)現(xiàn)寄存器的位操作對顯示緩存循環(huán)移位對操作數(shù)譯碼等。操作一個有效的指令由一字節(jié)操作碼和數(shù)個操作數(shù)組成,只有操作碼的指令稱為純指令帶操作數(shù)的指令稱為復(fù)合指令一個完整的指令。須在一個IiC 幀中起始信號和結(jié)束信號間連續(xù)傳輸?shù)矫?/p>

22、緩沖區(qū)CmdBuf0 CmdBuf1 中否則會引起錯誤。1. 對純指令選擇(1) 左移指令命令緩沖區(qū) Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0CmdBuf0: 0 0 0 1 N3 N2 N1 N0該指令使與ScanNum 相對應(yīng)的顯示數(shù)據(jù)和顯示屬性閃爍自右向左移動N 位N3N0 +1,移動后右邊N 位無顯示與ScanNum 不相關(guān)的顯示數(shù)據(jù)和顯示屬性則不受影響例 DpRamB DpRam0= 其中4 閃爍ScanNum 5 87 不顯示,執(zhí)行指令 B 后DpRamB DpRam0= 4321 4 閃爍高兩位和低兩位無顯示(2) 右移指令通信緩沖區(qū) Bit

23、7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0ComBuf0: 0 0 1 0 N3 N2 N1 N0與左移指令類似只是移動方向?yàn)樽宰笙蛴乙苿雍笞筮匩 位N3N0 +1 無顯示,例 DpRamB DpRam0= 其中3 閃爍ScanNum 5 87 不顯示執(zhí)行指令 B 后DpRamB DpRam0= 6543 3 閃爍高四位無顯示(3) 閃爍控制指令通信緩沖區(qū) Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0CmdBuf0: 0 1 1 1 X X X XCmdBuf1: F7 F6 F5 F4 F3 F2 F1 F0當(dāng)Fn=1 時該位閃

24、爍n 的范圍為07 對應(yīng)07 位當(dāng)Fn=0 時該位不閃爍該指令會改變所有像素的閃爍屬性3.3 LPC900系列單片機(jī)掉電檢測應(yīng)用1)概 述掉電檢測功能電源電壓是否降至某一特定值以下,一般的處理器檢測到掉電狀態(tài)采用復(fù)位系統(tǒng)的方式,可以防止系統(tǒng)在不正常的電壓范圍內(nèi)進(jìn)行誤操作。LPC900系列單片機(jī)掉電檢測的默認(rèn)操作也是使處理器復(fù)位。但是也可配置為產(chǎn)生一個中斷。利用其對應(yīng)的中斷服務(wù)程序,在VDD降到正常工作電壓范圍以下的一小段時間那內(nèi)來完成,某些鐵別的任務(wù):比如保存對應(yīng)某些重要的數(shù)據(jù)。在多機(jī)系統(tǒng)中,分析向主機(jī)發(fā)送掉電信號,以通知系統(tǒng)采用相應(yīng)的補(bǔ)救措施等。這樣的功能無疑可以增加系統(tǒng)的可靠性,能夠使系統(tǒng)

25、在意外掉電的情況下采取必要的措施減輕這些意外所帶來的損失。2)具體方法以及部分注意事項(xiàng)LPC900系列單片機(jī)可以正常工作的電壓范圍使2.4V3.6V,而掉電檢測的門限電壓是2.7V,也就是說,當(dāng)發(fā)生掉電中斷的時候,必須保證中斷服務(wù)程序能夠在VDD從2.7V降到2.4V這段時間t內(nèi)能夠完成相應(yīng)的操作,但是由于硬件系統(tǒng)的不同,這個時間也有相當(dāng)大的浮動范圍。關(guān)于掉電檢測,如果要正確檢測到掉電,VDD上升和下降速度應(yīng)滿足掉電選項(xiàng)。具體如下圖所示:表.掉電檢測的選項(xiàng)3)硬件掉電的測試硬件掉電測試曲線如下圖所示。在t1時間段內(nèi),單片機(jī)仍在運(yùn)行。雖然低于2.4V,單片機(jī)仍然在工作,但電源已經(jīng)不在安全范圍,所

26、以最好不要把這段時間也算進(jìn)在中斷服務(wù)的時間中去。從檢測到掉電(VDD2.7V)到VDD降到2.4V大約要23ms的時間。這段時間可以利用來做掉電中斷服務(wù)的時間。圖 電源測試曲線圖3.4 看門狗部分當(dāng)系統(tǒng)處于一些比較的惡劣環(huán)境(工控、底層采集),如果系統(tǒng)的抗干擾沒有作好,則容易出現(xiàn)“死機(jī)”的現(xiàn)象。這時硬件電路并沒有損壞,只是內(nèi)部程序運(yùn)行出現(xiàn)錯誤,必須復(fù)位才能恢復(fù)。如果是洗衣機(jī)或隨身聽中的單片機(jī)出現(xiàn)死機(jī),那么重新開機(jī)一次就可以了影響不大。但如果是復(fù)費(fèi)率電度表或溫控儀中的單片機(jī)出現(xiàn)死機(jī),則會影響電度表的計(jì)量或造成溫度失控的事故。因此了解死機(jī)產(chǎn)生的原因并消除死機(jī)的影響是單片機(jī)系統(tǒng)抗干擾設(shè)計(jì)中重要的一個

27、環(huán)節(jié)。一般情況下,設(shè)計(jì)者會采用看門狗來解決死機(jī)問題,但是您的看門狗是不是在乖乖地幫您看門呢?那就取決于您怎么設(shè)計(jì)和使用它了。靈活使用LPC900系列FLASH單片機(jī)的看門狗可以使您事半功倍。其一,LPC900系列單片機(jī)在芯片的配置字里專門開辟了兩個位(WDT、EWDSE)來控制它,使得它呼之則來、揮之即去。其二,它的控制寄存器只有一個字節(jié),簡單好用??撮T狗定時器子系統(tǒng)可通過復(fù)位使系統(tǒng)從錯誤的操作中恢復(fù)。當(dāng)軟件沒能在定時器溢出之前將其清零,看門狗定時器就會導(dǎo)致系統(tǒng)產(chǎn)生一次復(fù)位??撮T狗定時器只能通過上電復(fù)位實(shí)現(xiàn)復(fù)位。1)看門狗(WDT)功能 WDCON和相關(guān)寄存器 LPC900系列單片機(jī)有4個SF

28、R用于看門狗功能 看門狗控制寄存器WDCON 地址A7H 7 6 5 4 3 2 1 0 PRE2 PRE1 PRE0 - - WDRUN WDTOF WDCLK PRE2PRE1PRE0 時鐘預(yù)分頻器節(jié)拍選擇 保留位用戶程序請勿將其置1 WDRUN 看門狗運(yùn)行控制為1時看門狗啟動為0時看門狗停止 WDTOF 看門狗溢出標(biāo)志該位在8位倒計(jì)數(shù)器溢出時置位在看門狗模式中一個清零序列將清零該位也可軟件清零 WDCLK 看門狗輸入時鐘選擇當(dāng)該位為1時選擇看門狗振蕩器作為時鐘源為0時選擇PCLK如CPU處于掉電狀態(tài)當(dāng)WDCLK0時看門狗被禁止 注當(dāng)WDTE和WDSE置位時WDRUN和WDCLK被強(qiáng)制為1

29、詳見表2.3 圖 7 看門狗控制寄存器看門狗定時器在溢出前的時鐘個數(shù)可由下面的等式得到 tclks(2(5+PRE)(WDL+1)+1;其中PRE為預(yù)分頻值PRE2PRE0范圍為07WDL為看門狗裝載寄存器的值范圍為0255。因此tclks的最小個數(shù)為 tclks(2(5+0)(0+1)+1=33tclks的最大個數(shù)為tclks(2(5+7)(255+1)+1=??撮T狗裝載寄存器WDL 地址C1H ,裝載寄存器WDL中存放數(shù)值在每次看門狗溢出或執(zhí)行清零序列時裝入8位倒計(jì)數(shù)器。看門狗清零寄存器WFEED1WFEED2 地址C2HC3H 主要在清零序列上使用 ;另外還有FLASH配置字節(jié)UCFG1

30、中的2個位與看門狗配置相關(guān)看門狗定時器使能位WDTE和看門狗安全使能位WDSE如圖7所示: 表 3 看門狗定時器配置WDTE WDSE 功能 0 X 看門狗被禁止定時器可作為一個內(nèi)部定時器并可用于產(chǎn)生中斷WDSE無效 1 0 看門狗使能用戶可對WDCLK進(jìn)行設(shè)置以選擇時鐘源 1 1 看門狗使能還具有一下的安全特性 WDCLK被強(qiáng)制為1使用看門狗振蕩器 WDCON和WDL寄存器只可寫入一次 WDRUN被強(qiáng)制為1 看門狗被禁止時它還可以作為一個間隔定時器并可產(chǎn)生中斷。當(dāng)看門狗使能且發(fā)生向下溢出時看門狗將請求執(zhí)行復(fù)位當(dāng)看門狗使能時在寫入WDL或WDCON后必須執(zhí)行一個看門狗清零序列以使新的值生效。如

31、果發(fā)生看門狗復(fù)位內(nèi)部復(fù)位至少保持一個看門狗時鐘周期PCLK或看門狗振蕩器時鐘有效,如果CCLK仍然運(yùn)行代碼將在復(fù)位周期之后立即開始執(zhí)行,如果處理器處于掉電模式看門狗復(fù)位將啟動振蕩器并在振蕩器并在振蕩器穩(wěn)定之后恢復(fù)代碼的執(zhí)行。 2)看門狗時鐘源 看門狗定時器系統(tǒng)帶有一個片內(nèi)400KHz振蕩器,當(dāng)看門狗使能時可以通過配置看門狗控制寄存器WDCON中的WDCLK位,選擇看門狗振蕩器或者PCLK作為時鐘源。當(dāng)看門狗特性使能時定時器必須通過軟件對其進(jìn)行周期性的清零以防止其溢出復(fù)位 。在改變WDCLKWDCON.0之后對時鐘源的切換不會立即生效,要在一個清零序列之后才能選擇裝入。此外由于時鐘同步邏輯的關(guān)系

32、在放棄舊的時鐘源之前還要經(jīng)過2個舊的時鐘周期,然后需要2個新的時鐘周期以使新的時鐘有效 3)掉電操作 在掉電模式下,如果使用看門狗振蕩器作為看門狗時鐘源,WDT會繼續(xù)運(yùn)行消耗大約50uA電流,選擇外部復(fù)位在完全掉電模式下功耗可以降到10uA左右。如果選擇PCLK作為時鐘源,WDT振蕩器將進(jìn)入掉電狀態(tài),并使器件產(chǎn)生復(fù)位。如果CPU處于掉電模式中,則PCLK停止運(yùn)行看門狗被禁止。 4)無需外部振蕩器實(shí)現(xiàn)從掉電狀態(tài)周期性喚醒 在不使用外部振蕩源的情況下周期性的喚醒器件所需功耗由產(chǎn)生喚醒的內(nèi)部振蕩源的功耗決定可使用內(nèi)部RC振蕩器來運(yùn)行實(shí)時時鐘該振蕩器的功耗大約為300uA但是如果使用WDT來產(chǎn)生中斷則

33、功耗會降低到大約50uA只要WDT溢出器件就被喚醒。5)注意事項(xiàng) 雖然LPC900系列FLASH單片機(jī)的看門狗功能強(qiáng)大且簡單易用但是在使用過程中還是得注意以下幾方面的問題避免不必要的情況發(fā)生 1.寫清零序列 在清零序列中允許讀出SFR但不允許寫操作如果程序中允許中斷響應(yīng)并且該中斷服務(wù)程序中包含對任意SFR的寫操作這種情況將會觸發(fā)看門狗復(fù)位如果在清零序列中不會發(fā)生中斷可以取消禁止和重新使能中斷的指令 2寫WDCON 在看門狗模式中每次寫入WDCON后必須緊跟著一個清零序列否則將導(dǎo)致看門狗復(fù)位。例如:設(shè)置WDRUN1 MOV ACC,WDCON 取出WDCON的值 SETB ACC.2 設(shè)置RUN

34、=1 MOV WDL,#0FFH 裝入8位倒計(jì)數(shù)器的新值 CLR EA 禁止中斷 MOV WDCON,ACC 寫回到WDCON在看門狗使能后必須立即執(zhí)行清零序列 MOV WFEED1,#0A5H 執(zhí)行清零第一部分 MOV WFEED2,#05AH 執(zhí)行清零第二部分 SETB EA 使能中斷 程序中CLR EA不可以放在MOV WDCON,ACC后面否則會導(dǎo)致看門狗復(fù)位也就是說在這個位置不能加任何操作否則導(dǎo)致看門狗復(fù)位。 3時鐘源的切換 當(dāng)切換時鐘時,很重要的一點(diǎn)就是在完成清零序列后,將舊的時鐘再保持2個時鐘周期。否則當(dāng)舊的時鐘源禁止時,看門狗也被禁止。例如:假設(shè)PCLKWCLK=0為當(dāng)前的時鐘

35、源在將WCLK設(shè)置為1,后程序在清零序列完成后至少應(yīng)當(dāng)?shù)却?個PCLK4個CCLK才能進(jìn)入掉電模式。否則,當(dāng)CCLK關(guān)閉時看門狗也會被禁止。看門狗振蕩器永遠(yuǎn)也不可能成為時鐘源,除非CCLK再次打開。 4復(fù)位 看門狗定時器只能通過系統(tǒng)上電復(fù)位實(shí)現(xiàn)復(fù)位 5注意復(fù)位值 看門狗還有一個需要特別注意的地方就是它的控制寄存器復(fù)位值。WDCON的復(fù)位值是111x x111B,也就是說看門狗定時器在上電復(fù)位的時候,是打開的當(dāng)您不使用看門狗功能WDTE0時,看門狗定時器也是在工作的。如果您這時又恰好使用RTC實(shí)時時鐘,那么看門狗就會給您添亂子。因?yàn)樗鼈兊氖枪灿靡粋€中斷向量的。同為0053H這時您可以在中斷程序中

36、判斷看門狗溢出位WDTOFWDCON.1或者讀取RTCFRTCCON.7位來確定中斷,由那一個產(chǎn)生您也可以在程序中關(guān)閉不使用的中斷。如MOV WDCON,#0E0H 。6掉電時的看門狗 當(dāng)您在系統(tǒng)中計(jì)劃使用空閑模式或掉電模式,那么必須在進(jìn)入空閑模式或掉電模式之前把看門狗計(jì)數(shù)器關(guān)閉。清零WDRUN注意加上清零序列但是當(dāng)配置字中的WDTE和WDSE都置位的時候,看門狗沒法關(guān)閉。7例程 下面以兩個例子來演示一下看門狗的使用 芯片型號P89LPC932A1 硬件環(huán)境在P89LPC932的P0.0口接一個按鍵在P2.6口接一個LED,如下圖所示3.5 時鐘芯片在控制系統(tǒng)中,特別是長時間無人職守的測控系統(tǒng)

37、中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時間。DS1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。記錄及分析這些特殊意義的數(shù)據(jù),對測控系統(tǒng)的性能分析及正常運(yùn)行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時間;若采用單片機(jī)計(jì)時,一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測控系統(tǒng)可能不允許。而在系統(tǒng)中采用DS1302則能很好地解決這個問題。美國Dallas公司推出的串行接口實(shí)時時鐘芯片DSl302可對時鐘芯片備份電

38、池進(jìn)行涓流充電。由于該芯片具有體積小、功耗低、接口容易、占用CPU IO口線少等主要特點(diǎn),故該芯片可作為實(shí)時時鐘廣泛應(yīng)用于智能化儀器儀表中。1)DS1302的結(jié)構(gòu)及工作原理DS1302是一種高性能、低功耗、帶RAM的低功耗實(shí)時時鐘芯片,它可以對年、月、日、周日、時、分、秒進(jìn)行計(jì)時,且具有閏年補(bǔ)償功能,工作電壓寬達(dá)2.55.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源后背電源雙電源引腳,同時提供了對后背電源進(jìn)行

39、涓細(xì)電流充電的能力。 引腳功能及內(nèi)部結(jié)構(gòu)圖DS1302的引腳及內(nèi)部結(jié)構(gòu)如圖所示。圖 . DS1302的引腳及內(nèi)部結(jié)構(gòu)圖 DS1302的控制字節(jié)說明控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。如圖下圖所示。圖 .控制字節(jié)的含義 復(fù) 位通過把 輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。 輸入有兩種功能:首先, 接通控制邏輯,允許地址命令序列送入移位寄存器;其次, 提供了終止單字節(jié)或

40、多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) 為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中置 為低電平,則會終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在Vcc2.5V之前, 必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。 數(shù)據(jù)輸入輸出在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位至高位7,數(shù)據(jù)讀寫時序見下圖。圖 數(shù)字讀寫時序 DS1302的寄存器DS1302共有12個寄存器,其中有7個寄存器與

41、日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字見下表。 表 DS1302的日歷及時鐘控制字和寄存器此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為COHFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。2)DS1302在系統(tǒng)中的硬件電

42、路DS1302與CPU的連接僅需要三條線,即SCLK(7)、I/O(6)、RST(5)。DS1302與CPU連接的電路原理圖如下圖所示。 在單電源與電池供電的系統(tǒng)中提供低電源并提供低功率的電池備份。 在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式下 連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由 或 兩者中的較大者供電。當(dāng) 大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng) 小于 時,DS1302由 供電。圖 . DS1302與CPU連接的電路原理圖采用DS1302作為記錄測控系統(tǒng)中的數(shù)據(jù)記錄,其軟硬件設(shè)計(jì)簡單,時間記錄準(zhǔn)確,既避免了連續(xù)記錄的大工作量,又避免了

43、定時記錄的盲目性,給連續(xù)長時間的測量、控制系統(tǒng)的正常運(yùn)行及檢查都來了很大的方便,可廣泛應(yīng)用于長時間連續(xù)的測控系統(tǒng)中。4、電路原理圖的設(shè)計(jì)4.1 電源部分1)電源電路及電壓監(jiān)控復(fù)位電路圖12.電源電路2)電壓監(jiān)控電路圖13.電壓監(jiān)控電路3)手動復(fù)位電路圖14.手動復(fù)位電路4.2 ICP接口電路圖15.ICP接口電路4.3 CPU及其I/O連接、晶振連接電路圖16.CPU及其I/O連接、晶振連接電路4.4 蜂鳴器及其驅(qū)動電路圖17.蜂鳴器及其驅(qū)動電路 4.5 數(shù)碼管及其驅(qū)動電路圖18.數(shù)碼管及其驅(qū)動電路 4.6 驅(qū)動電路圖19. 驅(qū)動電路4.7 按鍵電路圖20.按鍵電路4.8 通訊接口電路圖21.

44、通訊接口電路5、軟件部分5.1 P89LPC91x系列單片機(jī)LPC932 硬件IIC 軟件包應(yīng)用(主方式)LPC932 是一款高性能低功耗的小封裝微型控制器,它具有512 字節(jié)附加片內(nèi)RAM 8K Flash,程序代碼空間可以ISP 或IAP ,內(nèi)帶硬件IIC 控制器,支持400K 高速模式,此軟件包是對PHILIPSP89LPC932 單片機(jī)的硬件IIC 而設(shè)計(jì)的。用戶通過調(diào)用軟件包可實(shí)現(xiàn)IIC 總線的單主多主系統(tǒng),硬件IIC 的總線競爭和同步邏輯是軟件無法模擬的,且它還能夠設(shè)置為從機(jī)工作方式功能更強(qiáng)。軟件包是硬件IIC 以主方式工作的它包括了申請總線發(fā)送字節(jié)數(shù)據(jù)接收字節(jié)數(shù)據(jù)等等而面用戶程序

45、的是幾個歸一化子程序只要設(shè)置幾個的入口參數(shù)即可調(diào)用;使用前須在你的程序里要做以下定義;定義變量 SLA 器件從地址 SUBA 器件子地址 NUMBYTE 讀寫的字節(jié)數(shù) 位變量ACK;定義常量 MTD 發(fā)送數(shù)據(jù)緩沖區(qū)首址 MRD 接收數(shù)據(jù)緩沖區(qū)首址;定義LPC932 的I2C 相關(guān)寄存器的定義。 I2ADR DATA 0DBH I2DAT DATA 0DAH I2CON DATA 0D8H I2STAT DATA 0D9H I2SCLH DATA 0DDH I2SCLL DATA 0DCH STA BIT I2CON.5 SI BIT I2CON.3P89LPC91x是一系列14/16腳的單片封

46、裝的微控制器,適合于許多要求高集成度、低成本的場合,可以滿足多方面的性能要求。P89LPC91x系列器件內(nèi)部集成了許多系統(tǒng)級的功能,這樣可大大減少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。內(nèi)部Flash同時用作E2PROM使用,內(nèi)含RTC日歷時鐘功能。點(diǎn)擊下面的器件型號來查看詳細(xì)的器件信息。5.2 看門狗清零序列 看門狗定時器控制寄存器和8位倒計(jì)時器并不直接由用戶裝載用戶對WDCON和WDL進(jìn)行寫操作。在清零序列結(jié)束時WDCON和WDL寄存器的值裝入控制寄存器和8位倒計(jì)數(shù)器在清零序列之前,任何寫入這2個寄存器的新值都將無效為了避免看門狗復(fù)位,看門狗必須定時進(jìn)行清零通過一個叫做清零序列的特殊軟件時

47、序。 要將看門狗清零必須按順序執(zhí)行2條指令。在這2條寫指令之間允許讀出SFR,但不允許寫操作這2條指令,就是將A5H送入WFEED1寄存器和將5AH送入WFEED2寄存器。不正確的清零序列會立即導(dǎo)致看門狗復(fù)位下面是一個清零序列操作實(shí)例。 CLR EA 禁止中斷 MOV WFEED1,#0A5H 執(zhí)行清零第一部分 MOV WFEED2,#05AH 執(zhí)行清零第二部分 SETB EA 使能中斷 在看門狗模式中WDTE=1寫入WDCON后必須立即執(zhí)行一次清零序列,以使WDL裝入8位倒計(jì)數(shù)器WDCON裝入映象寄存器。如果不這樣操作將立即導(dǎo)致看門狗復(fù)位。在定時器模式中WDTE=0WDCON,每CCLK周期

48、被裝入控制寄存器一次不要求清零序列但是溢出發(fā)生之前將WDL寄存器值裝入8位倒計(jì)數(shù)器時需要執(zhí)行清零序列。 6、方案的試驗(yàn)6.1 對時鐘芯片的使用測試1)讀操作出現(xiàn)的錯誤單字節(jié)讀操作每次需16個時鐘,地址字節(jié)在前8個時鐘周期的上升沿輸入,而數(shù)據(jù)字節(jié)在后8個時鐘周期的下降沿輸出。則程序執(zhí)行后A中的數(shù)據(jù)為2DH,顯然讀出的數(shù)據(jù)不正確。若再使用一條RL A指令調(diào)整后,則A中為5AH,結(jié)果才正確。由此說明:使用上述程序讀出的RAM1單元中的第0位數(shù)據(jù)實(shí)為第1位數(shù)據(jù),讀出的第7位數(shù)據(jù)實(shí)為第0位數(shù)據(jù)。經(jīng)筆者仔細(xì)研究時序圖和多次試驗(yàn)得知,問題的原因在于:對于讀操作時序,在SCLK出現(xiàn)第8個正脈沖時,上升沿輸入地

49、址字節(jié)的最后一位數(shù)據(jù),而在此正脈沖的下降沿就要輸出數(shù)據(jù)字節(jié)的第0位數(shù)據(jù)。然而筆者的程序中是在第9個正脈沖的下降沿才誤認(rèn)為輸出了數(shù)據(jù)字節(jié)的第0位數(shù)據(jù),此位數(shù)據(jù)事實(shí)上是第二個下降沿輸出的,故實(shí)為數(shù)據(jù)字節(jié)的第1位數(shù)據(jù)。經(jīng)筆者實(shí)驗(yàn):只要RST保持為高電平,如果超過8個下降沿,它們將重新從第0位輸出數(shù)據(jù)位,因程序中輸出的最后一位數(shù)據(jù)位,是9個下降沿輸出的數(shù)據(jù)位,故實(shí)為數(shù)據(jù)字節(jié)的第0位數(shù)據(jù)位。由此可見,單字節(jié)讀操作的時序圖如改為圖所示時序圖,則讀者較容易理解可避免發(fā)生上述編程錯誤。單字節(jié)讀操作的時序圖2)禁止涓流充電出現(xiàn)的錯誤涓流充電寄存器(TCR)控制著DSl302的涓流充電特性。寄存器的位(TCS)4

50、7決定著是否具備充電性能。僅在1010編碼的條件下才具備充電性能,其它編碼組合不允許充電。位2和3(DS)則在和之間選擇是一個還是兩個二極管串入其中。如果編碼是01,選擇一個二極管;如果編碼是10,選擇兩個;其它編碼將禁止充電。該寄存器的0和1位(RS)用于選擇與二極管相串聯(lián)的電阻值,其中編碼01為2k;10為4k;11為8k;而00將不允許充電。筆者編制了如下的允許涓流充電的控制程序(選擇一個二極管,充電限流電阻為4k):用萬用表串入與可充電池之間,執(zhí)行程序后,則有電流流過萬用表,表示充電正常。筆者通過將上述程序的第6句改為:MOV A,B,即置DS為00來禁止涓流充電器工作。執(zhí)行程序后,在

51、與電池之間串入萬用表,則仍有電流流過,表示尚未禁止充電。若將第6語句改為:MOV A,B,即置DS為11,執(zhí)行上述程序后情況仍如此。若將第6語句改為: MOV A,B 即TCS1010 或: MOV A,B 即RS=00則充電被禁止。筆者誤認(rèn)為芯片損壞,換上另一新購置的芯片,結(jié)果仍如此。隨即筆者取下可充電池,換上 一標(biāo)稱為10k的電阻對芯片進(jìn)行了測試,測試結(jié)果如表1所示=5V。由此可見,當(dāng)涓流充電控制寄存器中的DS位為00和11時并不能禁止充電,而是選擇了一個二極管充電,這說明參考文獻(xiàn)中介紹的有誤。若要想禁止充電器充電,應(yīng)將第句改為:MOV A,0101XX00B 即TCS1010,RS=00

52、,這樣,就能雙保險地禁止充電。3)受干擾時鐘日歷信息出現(xiàn)的錯誤將DSl302應(yīng)用于某產(chǎn)品中,發(fā)現(xiàn)系統(tǒng)受到干擾時,有時其時鐘停振不能正常工作,此時的時鐘日歷信息也被修改。經(jīng)分析得知:系統(tǒng)受到干擾程序飛跑,在看門狗復(fù)位前,CPU正好執(zhí)行寫程序?qū)懕Wo(hù)寄存器的最高位置0為允許寫(實(shí)際上,在系統(tǒng)校時程序之后已將其置為1禁止寫),修改了時鐘日歷信息且使秒寄存器的最高位置1,致使時鐘停振出現(xiàn)錯誤。為避免此類錯誤的產(chǎn)生,筆者采用的方法是:在寫程序中增加了某一檢測條件,此條件為系統(tǒng)中某一口線上的電平,低電平條件滿足。只有在實(shí)時校時過程中,才通過手動使此口線為低電平,實(shí)時校時過程完成后,又通過手動使此口線為高電

53、平。這樣只有實(shí)時校時過程中,才允許修改時鐘日歷信息,因此起到了時鐘日歷信息的寫保護(hù)作用。繼電器的吸合測試結(jié)論歷時近一個半月的畢業(yè)設(shè)計(jì)即將結(jié)束,在短暫的時間里我認(rèn)識了許多新的東西。這是我大學(xué)生活的最后一站,我把它放在了極高的高度,用極認(rèn)真的態(tài)度去對待它。在確定了設(shè)計(jì)思想后,我們根據(jù)具體的設(shè)計(jì)要求,開始對元件進(jìn)行選型。經(jīng)過指導(dǎo)教師的推薦及其對其功能的了解,我們采用菲利浦公司LPC900系列的單片機(jī)做為核心元件,另加帶用IIC接口的ZLG7290做為鍵盤和LED驅(qū)動元件,DS1302時鐘芯片提供時間等元件的選型。在選型過程中,我們對各元件的功能、電氣性能等各方面都做了詳細(xì)的了解。誠然,以我們目前所學(xué)

54、到的知識要做到這些顯然就是天方夜譚,就此,我們不停地往返于圖書館、網(wǎng)吧之間,從其它書中、網(wǎng)絡(luò)上等方式尋求更多我們需要的東西。過了選型這一關(guān),我們已經(jīng)將主要的元件確定下來了,下一步就到了原理圖的繪制。首先根據(jù)所選的單片機(jī)的各支管腳的功能,與設(shè)計(jì)要求做對比,如果有與設(shè)計(jì)要求相關(guān)的功能管腳,我們就把它勾出來,再另加相應(yīng)的分離元件來實(shí)現(xiàn)相關(guān)的動作,以達(dá)到設(shè)計(jì)要求。利用單片機(jī)的IIC接口與ZLG7290的IIC接口聯(lián)接,以實(shí)現(xiàn)兩塊芯片間的相互通信。在原理圖繪制過程中,我們參閱了大量的資料,借鑒別人成功的例子。這樣可以使設(shè)計(jì)可靠性進(jìn)一步提高,同時也節(jié)省了設(shè)計(jì)時間。經(jīng)過別人的設(shè)計(jì)應(yīng)用,避免了我們?nèi)ゾ_計(jì)算各元件的電氣量,且這些成功的典范已經(jīng)過應(yīng)用證明,它的可行性、可靠性等都復(fù)合要求。原理圖是整個設(shè)計(jì)的核心

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論