小功率差動(dòng)變壓器_第1頁(yè)
小功率差動(dòng)變壓器_第2頁(yè)
小功率差動(dòng)變壓器_第3頁(yè)
小功率差動(dòng)變壓器_第4頁(yè)
小功率差動(dòng)變壓器_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1 小功率差動(dòng)變壓器 摘要: 隨著時(shí)代科技的迅猛發(fā)展,微電子學(xué)和計(jì)算機(jī)等現(xiàn)代電子技術(shù)的成就給傳統(tǒng)的電子測(cè)量與儀器帶來(lái)了巨大的沖擊和革命性的影響。常規(guī)的測(cè)試儀器儀表和控制裝置被更先進(jìn)的智能儀器所取代,使得傳統(tǒng)的電子測(cè)量?jī)x器在遠(yuǎn)離、功能、精度及自動(dòng)化水平定方面發(fā)生了巨大變化,并相應(yīng)的出現(xiàn)了各種各樣的智能儀器控制系統(tǒng),使得科學(xué)實(shí)驗(yàn)和應(yīng)用工程的自動(dòng)化程度得以顯著提高。 本文設(shè)計(jì)用匯編語(yǔ)言進(jìn)行軟件設(shè)計(jì),硬件則以 差動(dòng)變壓器式 (LVDT)位移傳感器 為主 ,測(cè)量 0 10mm。傳感器輸出的電量是模擬量,數(shù)值比較小達(dá)不到 A/D轉(zhuǎn)換接收 的電壓范圍。所以送 A/D轉(zhuǎn)換之前要對(duì)其進(jìn)行前端放大、整形濾波等處理。然后, A/D轉(zhuǎn)換的結(jié)果才能送單片機(jī)進(jìn)行數(shù)據(jù)處理并顯示。 關(guān)鍵詞:小功率;位移式傳感器;差動(dòng)變壓器; 一、 總體方案設(shè)計(jì) 1.1設(shè)計(jì)目的 差動(dòng)變壓器式 (LVDT)位移傳感器廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)和測(cè)試領(lǐng)域,如過(guò)程檢測(cè)和自動(dòng)控制、形變測(cè)量等,適用于油污、光照等惡劣環(huán)境。這種傳感器可靠而耐用,但選用它監(jiān)控機(jī)械位移量,還需設(shè)計(jì)與傳感器配套的測(cè)量裝置 通過(guò)本次課程設(shè)計(jì),達(dá)到以下三點(diǎn): ( 1) .通過(guò)本次 課程設(shè)計(jì) 加深對(duì)差動(dòng)變壓器電感傳感器在工程實(shí)踐中的應(yīng)用的了解; ( 2) .掌握用這種傳感器組成位移測(cè)量系統(tǒng)的原理和方法; ( 3) .進(jìn)一步掌握這種傳感器的性能特點(diǎn)和工程應(yīng)用。 1.2總體方案設(shè)計(jì) 本系統(tǒng)采用內(nèi)含 4KB 程序存儲(chǔ)器的 8 位單片微型計(jì)算機(jī) 89C51,其內(nèi)部 4KB程序存貯器可以滿足本系統(tǒng)的需求,同時(shí)可以較大限度地減少外圍器件 ;按照有效量程和精度。 2 1.3 原理 框 圖 3 二、 硬件電路設(shè)計(jì) 2.1傳感器的工作原理 差動(dòng)變壓器由一只初級(jí)線圈和二只次線圈及一個(gè)鐵芯組成,根據(jù)內(nèi)外層排列不同,有二段 式和三段式,本實(shí)驗(yàn)采用三段式結(jié)構(gòu)。當(dāng)差動(dòng)變壓器隨著被測(cè)體移動(dòng)時(shí)差動(dòng)變壓器的鐵芯也隨著軸向位移,從而使初級(jí)線圈和次級(jí)線圈之間的互感發(fā)生變化促使次級(jí)線圈感應(yīng)電勢(shì)產(chǎn)生變化,一只次級(jí)感應(yīng)電勢(shì)增加,另一只感應(yīng)電勢(shì)則減少,將兩只次級(jí)反向串接(同名端連接),就引出差動(dòng)電勢(shì)輸出。利用兩個(gè)線圈之間互感的變化引起感應(yīng)電勢(shì)的變化,來(lái)獲得與被測(cè)量成一定函數(shù)關(guān)系的輸出電壓,實(shí)現(xiàn)非電量的測(cè)量。應(yīng)用最多的是螺線管式差動(dòng)變壓器,它可以測(cè)量 1 100(mm)范圍內(nèi)的機(jī)械位移、 150HZ以下的低頻振動(dòng)、加速度、應(yīng)變、比重、張力、厚度、稱重等一 切能引起機(jī)械位移變化的非電物理量。 本次差動(dòng)變壓器的原理是建立在 CSY2000 型傳感器實(shí)訓(xùn)臺(tái)的基礎(chǔ)上的。差動(dòng)變壓器電感傳感器具有結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)越、測(cè)量精度高、靈敏度高和價(jià)格合理等優(yōu)點(diǎn)。 2.2、 差動(dòng)變壓器傳感器安裝 1.將差動(dòng)變壓器和測(cè)微頭 (參照附:測(cè)微頭使用 )安裝在實(shí)驗(yàn)?zāi)0宓闹Ъ茏?,如下圖 2.2.1。 4 圖 2.2.1 差動(dòng)變壓器傳感器安裝示意圖 2、差動(dòng)變壓器的原理圖已印刷在實(shí)驗(yàn)?zāi)0迳希?L1為初級(jí)線圈; L2、 L3為次級(jí)線圈;號(hào)為同名端。按圖 2-3接線,差動(dòng)變壓器的原邊的激勵(lì)電壓必須從主機(jī)箱中音頻振蕩器的 Lv 端子引入,檢查接線無(wú)誤后合上總電源開(kāi)關(guān),調(diào)節(jié)音頻振蕩器的頻率為 4 5KHz(可用主機(jī)箱的頻率表輸入 Fin 來(lái)監(jiān)測(cè));調(diào)節(jié)輸出幅度峰峰值為 Vp-p 2V(可用示波器監(jiān)測(cè): X 軸為 0.2ms/div)。 圖 2.2.2 差動(dòng)變壓器性能實(shí)驗(yàn)安裝、接線 2.3 放大電路的設(shè)計(jì) 傳感器輸出電壓為 0 50mV,而我的要求電壓是 250V,所以要加入放大電路,放大倍數(shù)為 5000倍。 由于單運(yùn)放在應(yīng)用中要求外圍電路匹配精度高、增益調(diào)整不便、差動(dòng)輸入阻抗低,故采用三運(yùn)放結(jié)構(gòu)。 三運(yùn)放結(jié)構(gòu)具有差動(dòng)輸入阻抗高、共膜抑制比高、偏置電流低等優(yōu)點(diǎn),且有 5 良好的溫度穩(wěn)定性,低噪單端輸出和和增益調(diào)整方便,適于在傳感器電路中應(yīng)用。 如圖所示,圖中 R為增益調(diào)節(jié)電阻,而運(yùn)放 A1 為增益為 100的差動(dòng)輸入放大器,運(yùn)放 Ac為增益為 50的差動(dòng)輸入放大器。 電壓的放大倍數(shù) :可由公式 得出 倍數(shù)。因此我們可以改變 R2和 R1的比值來(lái)改變放大倍數(shù)。 硬件原理圖 量程的確定:量程的確定 : 鐵芯每秒行走 1mm 電壓變化 1V 靈敏度 S=dU= mmV11=1V/mm (8) 根據(jù)電壓得量程是 250.0 250.0 可以由公式 8得出距離 d得量程是 250mm 250mm. 電壓的可調(diào)性 輸出電壓 190-250 之間 , U0的輸出電壓在 0-5mv之間,再經(jīng)過(guò) 100 倍的放大器,輸出電壓放大到 0-5v 之間,再經(jīng)過(guò) 50 倍的放大器,輸出電壓放大到 0-250v 之間 ,根據(jù)所需要電壓在 190-250 之間,只需鐵芯的初始位置就行。 190v 所對(duì)應(yīng)的初始位置時(shí)在 190mm 處, 250v所對(duì)應(yīng)的初始位置在 250mm處。 2.4 輸入通道設(shè)計(jì) 2.5 顯示部分 為了簡(jiǎn)便, 顯示部分直接用 數(shù) 字電壓 作為顯示器 6 數(shù)字萬(wàn)用表 DT9205 一、 特點(diǎn) 1. 功能選擇具有 32 個(gè)量程 . 量程與 LCD有一定的對(duì)應(yīng)關(guān)系 :選擇一個(gè)量程 ,如果量程是一位數(shù) ,則 LCD上顯示一位整數(shù) ,小數(shù)點(diǎn)后顯示三位小數(shù) ;如果是兩位數(shù) ,則 LCD 上顯示兩位整數(shù) ,小數(shù)點(diǎn)后顯示兩位小數(shù) ;如果是三位數(shù) ,則 LCD 上顯示三位整 數(shù) ,小數(shù)點(diǎn)后顯示一位小數(shù) ;有幾個(gè)量程 ,對(duì)應(yīng)的 LCD沒(méi)有小數(shù)顯示 . 2. 測(cè)試數(shù)據(jù)顯示在 LCD中 . 3. 過(guò)量程時(shí) ,LCD的第一位顯示 1,其他位沒(méi)有顯示 . 4. 最大顯示值為 1999(液晶顯示的后三位可從 0變到 9,第一位從 0 到 1只有兩種狀態(tài),這樣的顯示方式叫做三位半。 ) 5. 全量程過(guò)載保護(hù) 6. 工作溫度 : 00C-400C 儲(chǔ)存溫度: -100C - +500C 7. 電池不足指示: LCD液晶屏左下方顯示 二 、技術(shù)指標(biāo) 精確度 :(% 讀數(shù) +第四位上的字?jǐn)?shù) ).注意 :括號(hào)內(nèi)的第 2部分 ,為精確度的修正值 ,應(yīng)放在該檔位的最后一位數(shù)字上 .精確度保證期為 1年 例如 :一個(gè)電子元件在 200檔位的讀數(shù)為 100.0,該檔位精確度標(biāo)示為 (5%+2),該檔位在 LCD中有一位小數(shù) 則這個(gè)電子元件的實(shí)際數(shù)據(jù) a,介于不等式 100-(5%100.0+ 0.2)a100+(5%100.0+0.2) 即 94.8a105.2 環(huán)境溫度 :230C5 0C 相對(duì)濕度 : 75% 直流電壓 量程 分辨率 準(zhǔn)確度 200mV(毫伏 ) 100V( 微伏 ) (0.5%+2) 2V(伏 ) 1mV(毫伏 ) 20V 10mV 200V 100mV 7 1000V 1V (0.8%+2) 2.6 單片機(jī)的性能 2.61 51系列單片機(jī)的功能特點(diǎn) 5l系列單片機(jī) 中典型芯片采用 40引腳雙列直插封裝 (DIP)形式,內(nèi)部由 CPU,4kB的 ROM, 256 B 的 RAM, 2個(gè) 16b的定時(shí)計(jì)數(shù)器 TO 和 T1, 4個(gè) 8 b的工 O端 I: IP0, P1, P2, P3,一個(gè)全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的 Flash可編程、可擦除只讀存儲(chǔ)器 (EPROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機(jī)引腳與封裝如圖 1所示。 5l系列單片機(jī)提供以下功能: 4 kB存儲(chǔ)器; 256 BRAM; 32條工 O線;2個(gè) 16b定時(shí)計(jì)數(shù)器; 5個(gè) 2級(jí)中斷源; 1個(gè)全雙向的串行口以及時(shí)鐘電路。 空閑方式: CPU 停止工作,而讓RAM、定時(shí)計(jì)數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。 掉電方式:保存 RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。 5l系列單片機(jī)為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測(cè)距系統(tǒng)。 MCS-51是標(biāo)準(zhǔn)的 40引腳雙列直插式集成電路芯片,引腳分布請(qǐng)參照 -單片機(jī)引腳圖: P0.0P0.7 P0 口 8位雙向口線(在引腳的 3932號(hào)端子)。 P1.0P1.7 P1 口 8位雙向口線(在引腳的 18號(hào)端子)。 P2.0P2.7 P2 口 8位雙向口線(在引腳的 2128號(hào)端子)。 P3.0P3.7 P2 口 8位雙向口線(在引腳的 1017號(hào)端子)。 這 4個(gè) I/O口具有不完全相同的功能,大家可得學(xué)好了,其它書本里雖然有,但寫的太深,對(duì)于初學(xué)者來(lái)說(shuō)很難理解的,我這里都是按我自已的表達(dá)方式來(lái)寫的,相信你也能夠理解的。 P0口有三個(gè)功能: 1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線(如圖 1中的 D0D7為數(shù)據(jù)總線接口) 2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如 圖 1中的 A0A7為地址總線接口) 8 3、不擴(kuò)展時(shí),可做一般的 I/O使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。 引腳說(shuō)明: P1口只做 I/O 口使用:其內(nèi)部有上拉電阻。 P2口有兩個(gè)功能: 1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用 2、做一般 I/O 口使用,其內(nèi)部有上拉電阻; P3口有兩個(gè)功能: 除了作為 I/O 使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來(lái)設(shè)置,具體功能請(qǐng)參考我們后面的引腳說(shuō)明。 有內(nèi)部 EPROM 的單片機(jī)芯片(例如 8751),為寫入程序需提供專門的編程脈沖和編程電源, 這些信號(hào)也是由信號(hào)引腳的形式提供的, 即:編程脈沖: 30腳( ALE/PROG) 編程電壓( 25V): 31腳( EA/Vpp) 在介紹這四個(gè) I/O口時(shí)提到了一個(gè) “ 上拉電阻 ” , 當(dāng)作為輸入時(shí),上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果 P0口如果作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效。 ALE 地址鎖存控制信號(hào) : 在系統(tǒng)擴(kuò)展時(shí), ALE用于控制把 P0口的輸出低 8位地址送鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。當(dāng) CPU對(duì)外部進(jìn)行存取時(shí),用以鎖住地址的低位地址,即 P0口輸出。 由于 ALE是以晶振六分之一的固定頻率輸出的正脈沖,當(dāng)系統(tǒng)中未使用外部存儲(chǔ)器時(shí), ALE腳也會(huì)有六分之一的固定頻率輸出,因此可作為外部時(shí)鐘或外部定時(shí)脈沖使用。 PSEN 外部程序存儲(chǔ)器讀選通信號(hào) : 在讀外部 ROM時(shí) PSEN低電平有效,以實(shí)現(xiàn)外部 ROM單元的讀操作。 1、內(nèi)部 ROM讀取時(shí), PSEN不動(dòng)作; 2、外部 ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次; 3、外部 RAM讀取時(shí),兩個(gè) PSEN脈沖被跳過(guò)不會(huì)輸出; 4、外接 ROM時(shí),與 ROM的 OE腳相接。 EA/VPP 訪問(wèn)和序存儲(chǔ)器控制信號(hào) 1、接高電平時(shí): CPU讀取內(nèi)部程序 存儲(chǔ)器( ROM) 擴(kuò)展外部 ROM:當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過(guò) 0FFFH( 8051) 1FFFH( 8052)時(shí)自動(dòng)讀取外部 ROM。 2、接低電平時(shí): CPU讀取外部程序存儲(chǔ)器( ROM)。 3、 8751燒寫內(nèi)部 EPROM時(shí),利用此腳輸入 21V的燒寫電壓。 RST 復(fù)位信號(hào) : 當(dāng)輸入的信號(hào)連續(xù) 2 個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。 XTAL1和 XTAL2 外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。 VCC:電源 +5V輸入 9 VSS: GND接地。 2.7 89C51 單片機(jī)為控制的開(kāi)關(guān)電源 開(kāi)關(guān)電源是利用現(xiàn)代電力電子技術(shù)控制功率開(kāi)關(guān)管 (MOSFET, IGBT)開(kāi)通和關(guān)斷的時(shí)間比率來(lái)穩(wěn)定輸出電壓的一種新型穩(wěn)壓電源。從上世紀(jì) 90 年代以來(lái)開(kāi)關(guān)電源相繼進(jìn)入各種電子、電器設(shè)備領(lǐng)域,計(jì)算機(jī)、程控交換機(jī)、通訊、電子檢測(cè)設(shè)備電源、控制設(shè)備電源等都已廣泛地使用了開(kāi)關(guān)電源。利用單片機(jī)控制的開(kāi)關(guān)電源 ,可使開(kāi)關(guān)電源具備更加完善的功能,智能化進(jìn)一步提高,便于實(shí)時(shí)監(jiān)控。其功能主要包括對(duì)運(yùn)行中的開(kāi)關(guān)電源進(jìn)行檢測(cè)、自動(dòng)顯示電源狀態(tài);可以通過(guò)按鍵進(jìn)行編程控制 ;可以進(jìn)行故障自診斷,對(duì)電源功率部分實(shí)現(xiàn)自動(dòng)監(jiān)測(cè) ;可以對(duì)電源進(jìn)行過(guò)壓、過(guò)流保護(hù);可以對(duì)電池充放電進(jìn)行實(shí)時(shí)控制。 開(kāi)關(guān)電源的系統(tǒng)結(jié)構(gòu) 通信用 10V 開(kāi)關(guān)電源結(jié)構(gòu)圖如圖 1 所示: 圖 1 開(kāi)關(guān)電源結(jié)構(gòu)圖 市電經(jīng)整流濾波和功率因數(shù)校正后得到高壓直流電,然后通過(guò) DC/DC 變換電路得到所需要的直流電壓??刂苹芈窂妮敵龆巳硬⑴c設(shè)定基準(zhǔn)進(jìn)行比較,然后去控制逆變器,改變功率開(kāi)關(guān)管的導(dǎo)通頻率或?qū)?/截止時(shí)間進(jìn)行輸出穩(wěn)定;另1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 2 0 - A p r - 2 0 0 6 S h e e t o f F i l e : I : 超聲波 . D d b D r a w n B y :E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 1 0 / T1P 1 1 / T2P 1 23P 1 34P 1 45P 1 56P 1 67P 1 78P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 2 021P 2 122P 2 223P 2 324P 2 425P 2 526P 2 627P 2 728P S E N29A L E / P30T X D11R X D10U18 9 C 5 1C12 7 PC22 7 PY16MR1 1 0 0R21KC53 0 U FS1S W - P BV C CRDWRabfcgde1234567abcdefg8dpdpcom9D S 1D P Y _ 7abfcgde1234567abcdefg8dpdpcom9D S 2D P Y _ 7D I N1L O A D12C L K13G N D4G N D9V+19I S E T18D I G 02D I G 111D I G 26D I G 37D I G 43D I G 510D I G 65D I G 78S E G A14S E G B16S E G C20S E G D23S E G E21S E G F15S E G G17S E G D P22D O U T24U57 2 1 9R49 . 5 3 kP 1 . 3P 1 . 4P 1 . 5123456J1C O N 6+ 5 v+ 5 vAB B BA AC CD DDCE E EF F FG G GP P PD0D1D0V i n1GND3+ 5 V2U?M C 7 8 L 0 5 C GQ?N P NR?R E S 2R?R E S 2R?接收器1122335566778844L M 3 5 8R?L M 3 5 8R?接收器C?C A PR?R E S 2R?R E S 2R?R E S 2C?C A PR?R E S 2R?R E S 2R?R E S 2C?C A PR?R E S 2V c cR?R E S 2C?C A PC?C A PD?D I O D EC? C A PC? C A PR?P O T 2R?R E S 4C?C A PR?R E S 2I N T 01234 5678L M 3 8 6U?C?C A PC?C A PR? R E S 2R?R E S 2C?C A PL S ?S P E A K E RP 2 . 1I N T 0 P 2 . 1P 1 . 3P 1 . 5P 1 . 4V d dC?C A PV c c電源接收子電路報(bào)警電路顯示電路 單片機(jī)系統(tǒng)L M 3 8 6L M 3 5 8L M 5 6 78 9 C 5 17 2 1 91GND2DO3VccU?Q?J F E T NV C CV C C1234 5678Q?5 6 7 10 一方面,根據(jù)檢測(cè)電路提供的數(shù)據(jù),經(jīng)保護(hù)電路鑒別,利用控制電路對(duì)整機(jī)進(jìn)行各種保護(hù)和蓄電池的充放電控制??刂齐娐肥钦麄€(gè)開(kāi)關(guān)電源的核心部分,一般開(kāi)關(guān)電源的控制電路主要有檢測(cè)比較放大電路、電壓 脈沖寬度轉(zhuǎn)換電路 (或電壓 頻率轉(zhuǎn)化電路 )、時(shí)鐘振蕩器 (或恒脈寬發(fā)生器 )、基極驅(qū)動(dòng)電路、過(guò)壓過(guò)流保護(hù)電路以及輔助電源等電路組成。存在著電路復(fù)雜,功耗大,靈敏度差,不能實(shí)現(xiàn)很好的控制等缺點(diǎn)。 采用單片機(jī) 89C51模塊組成的控制電路,它具有可編程、功能強(qiáng)、控制簡(jiǎn)單、集成度高等諸多優(yōu)點(diǎn),并對(duì)原來(lái)的電路存在的不足進(jìn)行改進(jìn),其原理方框圖如圖 2 所示。 圖 2 單片機(jī)控制電源結(jié)構(gòu)圖 本智能開(kāi)關(guān)電源利用通信用開(kāi)關(guān)電源的基礎(chǔ)電路,以高性能單片機(jī) 89C51為控制核心,組成數(shù)據(jù)處理電路,在檢測(cè)與控制軟件支持下,通過(guò)對(duì)開(kāi)關(guān)電源輸出電流、電壓進(jìn)行數(shù)據(jù)采樣與給定數(shù)據(jù)比較,從而調(diào)整和控制開(kāi)關(guān)功率管的工作 狀態(tài),同時(shí)監(jiān)測(cè)輸出電流大小,進(jìn)行電流控制。其電路的工作原理為 :市電經(jīng)整流濾波、功率校正電路 PFC(Power Factor Correct)變成直流電送入功率變換電路(DC/DC),功率變換電路在脈沖寬度調(diào)制電路 (PWM)和單片機(jī)的控制下輸出穩(wěn)定的直流電壓。用戶可根據(jù)需要通過(guò)鍵盤設(shè)定開(kāi)關(guān)電源輸出的電壓值及最大輸出電流值,單片機(jī)系統(tǒng)自動(dòng)對(duì)電源輸出電壓和電流進(jìn)行數(shù)據(jù)采樣,并與用戶給定數(shù)據(jù)進(jìn)行比較,然后根據(jù)設(shè)置的調(diào)整算法控制開(kāi)關(guān)調(diào)整電路,使電源輸出電壓符合給定值。單片機(jī)在調(diào)整電源輸出電壓的同時(shí)還要檢測(cè)電路的輸出電 流,當(dāng)輸出電流超過(guò)給定值時(shí),就啟動(dòng)保護(hù)電路,實(shí)現(xiàn)保護(hù)功能。為了使智能開(kāi)關(guān)電源能可靠、安全地工作,本系統(tǒng)設(shè)置了多重監(jiān)測(cè)和保護(hù)系統(tǒng),主要包括過(guò)流保護(hù)和短路保護(hù)。單片機(jī)系統(tǒng)通過(guò)電流傳感器檢測(cè)開(kāi)關(guān)功率管的輸出電流,當(dāng)電流超過(guò)給定值,單片機(jī)系統(tǒng)切斷開(kāi)關(guān)激勵(lì)信號(hào)并發(fā)出聲光報(bào)警,并對(duì)電池工作狀況實(shí)施檢測(cè)。 控制電路 控制電路采用 ATMEL 公司的 89C51單片機(jī),擴(kuò)展了 A/D、 D/A、鍵盤顯示、 RS232通訊口電路。原理結(jié)構(gòu)如圖 3所示。 11 圖 3 控制電路原理結(jié)構(gòu)圖 控制系統(tǒng)通過(guò) I/O輸入端口經(jīng) D/A轉(zhuǎn)換控制功率轉(zhuǎn)換的開(kāi)關(guān)的導(dǎo)通與關(guān)斷時(shí)間,完成對(duì)輸出電壓的穩(wěn)定,通過(guò) A/D轉(zhuǎn)換完成對(duì)開(kāi)關(guān)電源輸出電壓和電流的采樣,通過(guò)系統(tǒng)軟件實(shí)現(xiàn)了過(guò)壓、過(guò)流保護(hù)及限流功能。同時(shí)采用雙閉環(huán)控制系統(tǒng),開(kāi)關(guān)電源工作時(shí),采用電壓反饋由 PWM控制實(shí)現(xiàn)對(duì)輸出電壓的穩(wěn)壓功能,控制閉環(huán)為電壓環(huán)或電流 環(huán) ;在電池充電或過(guò)載時(shí)采用電流信號(hào)作為反饋,控制電池的充放電電流并實(shí)現(xiàn)過(guò)載保護(hù)的功能。為了精確控制開(kāi)關(guān)電路的電壓輸出,把單片機(jī)的高頻脈沖信號(hào)分頻后變成適宜的開(kāi)關(guān)脈沖信號(hào),作為 89C51的計(jì)數(shù)脈沖和門控信號(hào)。單片機(jī)把給定值與傳感器采集的信號(hào)進(jìn)行比較,產(chǎn)生誤差信號(hào)。根據(jù)電壓控制算法設(shè)置 89C51 產(chǎn)生不同占空比 (0 90%)的方波信號(hào),經(jīng)過(guò)光電耦合器控制開(kāi)關(guān)調(diào)整電路電壓輸出。輸出端與開(kāi)關(guān)電路進(jìn)行光電隔離,從而避免了來(lái)自開(kāi)關(guān)電源電路的騷擾信號(hào)對(duì)單片機(jī)系統(tǒng)正常工作的影響。 鑒于受控的開(kāi)關(guān)電路輸出電壓的 高精度和快速調(diào)整特性,可采用改進(jìn)的 PID控制算法,該算法具有電壓調(diào)整快、超調(diào)量小、性能穩(wěn)定等優(yōu)點(diǎn)。鍵盤與顯示部分裝在儀器操作面板上,由 8 位 LED數(shù)碼管, 3個(gè) LED 指示燈以及16個(gè)鍵構(gòu)成,其中 4位數(shù)碼管顯示電源電壓, 4位數(shù)碼管顯示電流, 3個(gè) LED指示燈作為報(bào)警顯示。 2.8 89C51 單片機(jī)與 PC 鍵盤接口 鍵盤是數(shù)字視頻監(jiān)控錄像系統(tǒng)中最重要的輸入設(shè)備之一,是人機(jī)接口的重要組成部分。目前常用的工業(yè)控制計(jì)算機(jī)鍵盤除配置電子鎖開(kāi)關(guān)防止非法鍵盤輸入外,與 PC鍵盤并沒(méi)有多大區(qū)別。這種鍵盤不僅鍵數(shù)多,操作不靈活,而且通 常只能作為輸入設(shè)備,主機(jī)無(wú)法通過(guò)鍵盤與外設(shè)進(jìn)行通信。本文在分析 PC 機(jī)鍵盤通信方式的基礎(chǔ)上,設(shè)計(jì)出以 89C51單片機(jī)為核心的數(shù)字視頻監(jiān)控系統(tǒng)鍵盤及報(bào)警控制卡,該卡具有鍵盤通信和輸入輸出報(bào)警兩種功能,采用標(biāo)準(zhǔn) PCI卡的結(jié)構(gòu),但不占用主機(jī)硬件資源。其中,報(bào)警部分有 4 路輸入和 4路輸出,可以與標(biāo)準(zhǔn)的報(bào)警傳感器相連;鍵盤部分有 16個(gè)鍵,通信方式與 PC機(jī)完全兼容。采用這種控制卡,不僅可以節(jié)省視頻監(jiān)控系統(tǒng)中常用的專用報(bào)警解碼器,而且能夠?qū)崿F(xiàn)在不占用主機(jī)硬件資源的情況下實(shí)現(xiàn)與外設(shè)的雙向通信,利用這個(gè)特性,可以及時(shí)發(fā)現(xiàn) 12 系統(tǒng)的異 常情況并加以解決,從而大大提高目前普遍采用的基于 WINDOWS 操作系統(tǒng)的數(shù)字視頻監(jiān)控錄像系統(tǒng)的可靠性。 鍵盤與主機(jī)的通信方式 主機(jī)通過(guò)鍵盤接口與鍵盤聯(lián)絡(luò),主機(jī)與鍵盤的通信,實(shí)際上是鍵盤接口與鍵盤的通信。 PC機(jī)鍵盤接口采用 Intel8042芯片作為控制器,接收鍵盤掃描碼以及向鍵盤發(fā)送命令。除了電源線和地線之外,鍵盤與主機(jī)之間還有兩條雙向通信線:時(shí)鐘線和數(shù)據(jù)線。采用串行傳送方式,在時(shí)鐘脈沖作用下同步地收發(fā)數(shù)據(jù),既可以向主機(jī)傳送鍵盤響應(yīng)或鍵盤掃描碼,也可以接收來(lái)自主機(jī)的鍵盤命令。主機(jī)通過(guò)設(shè)置數(shù)據(jù)線和時(shí)鐘 線的狀態(tài),指導(dǎo)鍵盤收發(fā)數(shù)據(jù): (1)時(shí)鐘線為低電平,禁止鍵盤傳送數(shù)據(jù); (2)時(shí)鐘線為高電平,數(shù)據(jù)線為低電平,通知鍵盤接收命令或參數(shù); (3)時(shí)鐘線和數(shù)據(jù)線都為高電平,允許鍵盤傳送數(shù)據(jù); 1. 鍵盤向主機(jī)發(fā)送數(shù)據(jù) 由于鍵盤輸入是異步的,且具有實(shí)時(shí)性,所以主機(jī)系統(tǒng)以中斷方式支持鍵符的隨機(jī)輸入。每當(dāng)鍵盤接口接收完從鍵盤送來(lái)的串行掃描碼時(shí),即向中斷系統(tǒng)發(fā)出一個(gè)鍵盤中斷,若 CPU響應(yīng)該中斷,則由鍵盤中斷程序讀取此掃描碼,經(jīng)轉(zhuǎn)換后成為系統(tǒng)掃描碼,存到鍵盤緩沖區(qū)。鍵盤發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)線和時(shí)鐘線都由鍵盤控制。鍵盤發(fā)送 一個(gè)字節(jié)的數(shù)據(jù)格式如圖 1所示。 圖 1 鍵盤串行數(shù)據(jù)格式 鍵盤首先檢測(cè)時(shí)鐘線和數(shù)據(jù)線的狀態(tài),當(dāng)兩者皆為高電平時(shí),開(kāi)始傳送數(shù)據(jù)。依次傳送起始位、 8位數(shù)據(jù)位 (低位在前 )、校驗(yàn)位和停止位。每傳送一位,時(shí)鐘線同步地產(chǎn)生一個(gè)脈沖。當(dāng)主機(jī)收到該脈沖后,將時(shí)鐘線置成低電平并保持一段時(shí)間,禁止鍵盤繼續(xù) 發(fā)碼,以便于檢驗(yàn)該數(shù)據(jù)的正確性,并產(chǎn)生中斷、進(jìn)行代碼轉(zhuǎn)換和執(zhí)行相應(yīng)的操作。如果檢驗(yàn)出錯(cuò),就向鍵盤傳送重發(fā)命令 0FEH,要求重送,鍵盤向主機(jī)發(fā)送數(shù)據(jù)采用奇校驗(yàn)方式。 2. 鍵盤接收主機(jī)命令和參數(shù) 主機(jī)首先將時(shí)鐘線置為低電平,隨后將數(shù)據(jù)線置為低電平,延時(shí)大約 200s后,將時(shí)鐘線置為高電平。當(dāng)鍵盤檢測(cè)到這一狀態(tài)后,開(kāi)始接收主機(jī)命令,接收數(shù)據(jù)格式與發(fā)送的一樣。鍵盤依次接收 1個(gè)起始位、 8個(gè)數(shù)據(jù)位、 1 個(gè)校驗(yàn)位、 1個(gè)停止位。特別值得注意的是,在接收鍵盤命令或參數(shù)時(shí),雖然數(shù)據(jù)是由主機(jī)發(fā)向鍵盤的,但是時(shí)鐘脈沖是由鍵 盤產(chǎn)生的。主機(jī)在時(shí)鐘線上每接收一個(gè)脈沖的下降沿,就在數(shù)據(jù)線上輸出一位數(shù)據(jù)。如果接收正確,在時(shí)鐘線和數(shù)據(jù)線都成為高電平后,鍵盤將向主機(jī)發(fā)一個(gè)應(yīng)答信號(hào) (0FAH),否則向主機(jī)發(fā)一個(gè) 0FEH信號(hào), 13 要求重發(fā)。主機(jī)收到 0FEH信號(hào)后,把剛才輸出過(guò)的數(shù)據(jù)重新發(fā)送一次。如果這一過(guò)程持續(xù)三次后,鍵盤仍然不能正確接收,主機(jī)就放棄傳送這個(gè)數(shù)據(jù),轉(zhuǎn)去執(zhí)行下面的程序或顯示錯(cuò)誤信息。主機(jī)命令和參數(shù)也采用奇校驗(yàn)方式。 3.單片機(jī)與 PC 鍵盤接口 的硬件電路 本系統(tǒng)采用 89C51 單片機(jī)與 PC鍵盤接口相連,圖 2給出了系統(tǒng)硬件電路原理。其中 P3.0和 P3.1 分別與主機(jī)鍵盤接口的時(shí)鐘線 CLK和數(shù)據(jù)線 DATA 相連, P2口與 44 鍵盤矩陣相連, P0口經(jīng)過(guò)驅(qū)動(dòng)后與輸入輸出報(bào)警設(shè)備相連接。為保證鍵盤可靠工作,系統(tǒng)配置了看門狗電路 MAX813L,另外,系統(tǒng)還配置了蜂鳴器,每次按鍵均有聲音提示。 圖 2 系統(tǒng)硬件電路原理 2.9 鐵芯直線位移方法 鐵芯的直線位移是由電動(dòng)機(jī)加上齒輪組轉(zhuǎn)化的,通過(guò)齒輪組把電動(dòng)機(jī)的轉(zhuǎn)動(dòng)轉(zhuǎn)化為鐵芯的直線位移,從而達(dá)到鐵芯直線位移的目的。 電動(dòng)機(jī)的轉(zhuǎn)速是 600 轉(zhuǎn) /秒,電動(dòng)機(jī)的鐵心周長(zhǎng)為 10mm,齒輪組轉(zhuǎn)化系數(shù)為 6000:1,從而轉(zhuǎn)化鐵心直線位移為 1mm/秒 14 三、軟件部分 3.1 89C51 單片機(jī)為控制的開(kāi)關(guān)電源 的軟件部分 本軟件主要完成對(duì)信號(hào)采樣,各種數(shù)據(jù)處理、以及對(duì)功率轉(zhuǎn)換部分的控制等。本系統(tǒng)軟件主要包括鍵開(kāi)關(guān)掃描程序、故障判別子 程序、均充及浮充子程序、中斷檢測(cè)子程序和通信子程序等。主程序流程圖如圖 4所示。 圖 4 主程序流程圖 在初始化過(guò)程中,先是將 89C51各個(gè)輸入端口復(fù)位,然后從 EEROM 中讀出上次關(guān)機(jī)前存入的數(shù)據(jù),控制開(kāi)關(guān)電路,并進(jìn)行顯示。 初始化完成后,開(kāi)中斷程序。若有中斷請(qǐng)求則響應(yīng),否則進(jìn)行數(shù)據(jù)采樣并讀取給定值,然后進(jìn)行數(shù)據(jù)處理 ;若有短路或過(guò)流情況發(fā)生,則調(diào)用報(bào)警保護(hù)子程序 ;若要對(duì)電池浮一定的動(dòng)態(tài)性,能在一定程度上反映出電池內(nèi)部的變化及 SoC 的大小,但該方法在推導(dǎo)過(guò)程中是假設(shè)電流是時(shí)變的,若電池在一個(gè)較長(zhǎng)時(shí)間段內(nèi)恒流放電,則會(huì)大大降低 SoC預(yù)測(cè)的準(zhǔn)確性?;跔顟B(tài)空間的動(dòng)態(tài)模型以反應(yīng)物的動(dòng)態(tài)變化建立模型,以測(cè)量的電流和電壓作為輸入量計(jì)算 SoC,同時(shí)考慮了活性物質(zhì)的擴(kuò)散現(xiàn)象,以此提高SoC的精度,是一種較好的方法;但由于電池模型階數(shù)較高,計(jì)算比 較困難,模型的建立需要確定相當(dāng)多的經(jīng)驗(yàn)參數(shù),給應(yīng)用帶來(lái)較大麻煩。 基于能量模型的 SoC定義修正了原來(lái) SoC模型的不足,考慮到電池的可恢復(fù)性,綜合了電流、電壓、電阻判斷,在一定程度上提高了 SoC的判 15 斷精度,但它沒(méi)考慮溫度的影響,需要大量試驗(yàn)數(shù)據(jù)。由于電池是密封的,所以外部可測(cè)參數(shù)只有電流和電壓,采用 Randels Ershler 電池模型對(duì)電池建模,并通過(guò)精確的安時(shí)積分估算 SoC,同時(shí)進(jìn)行容量老化補(bǔ)償、溫度補(bǔ)償、自放電補(bǔ)償及放電率補(bǔ)償,也不失為一種可行的方法。 上述方法能夠在 一定程度上反映剩余電量的多少,適用于電動(dòng)車用電池 SoC的預(yù)測(cè),但是這些模型參數(shù)確定需要許多反復(fù)的迭代步驟,并且重要的是,這些算法必須知道電池的 SoC初值。因?yàn)橐獙?shí)時(shí)計(jì)算顯示 SoC的值,這是需要時(shí)間的。模型越復(fù)雜,計(jì)算 SoC所需時(shí)間也越多。 SoC的預(yù)測(cè)方法很多,但要達(dá)到較高的精度,在電池建模及 SoC預(yù)測(cè)方法方面還有大量的工作可做。 3.2 單片機(jī)與 PC 鍵盤接口 的軟件部分 1 鍵盤向主機(jī)發(fā)送鍵盤掃描碼 與 PC標(biāo)準(zhǔn)鍵盤兼容,當(dāng)檢測(cè)到有效鍵閉合時(shí),鍵盤向主機(jī)發(fā)送接通碼,當(dāng)檢測(cè)到閉合鍵釋放時(shí),發(fā)送斷開(kāi)碼,即在接通碼 前加 0F0H,系統(tǒng)采用中斷的方式每隔 10ms掃描一次鍵盤,考慮到數(shù)字視頻監(jiān)控系統(tǒng)的實(shí)際情況,與標(biāo)準(zhǔn) PC機(jī)鍵盤不一樣的是,每次按鍵無(wú)論時(shí)間長(zhǎng)短,只發(fā)送一次接通碼,且每次有效按鍵輸入,均有聲音提示。 2 鍵盤接收主機(jī)控制命令及應(yīng)答 主機(jī)的控制命令包括兩部分,一部分是標(biāo)準(zhǔn) PC機(jī)發(fā)送給鍵盤的控制命令,主要是用于鍵盤的自檢,另一部分是本系統(tǒng)增設(shè)的控制命令,主要是和外設(shè)進(jìn)行雙向通信以實(shí)現(xiàn)輸入輸出報(bào)警功能。主機(jī)開(kāi)機(jī)時(shí)都要對(duì)鍵盤進(jìn)行自檢,主機(jī)對(duì)鍵盤的自檢是通過(guò)鍵盤控制命令實(shí)現(xiàn)的,主機(jī)要求鍵盤每接收一個(gè)命令都要用 0FAH 作為應(yīng)答,而且在發(fā)送鍵盤復(fù)位命令 0FFH后,鍵盤要發(fā)送 0FAH和 0AAH 作為鍵盤自檢正確的響應(yīng)。本系統(tǒng)增設(shè)的控制命令是在檢測(cè)到動(dòng)態(tài)報(bào)警信號(hào)及系統(tǒng)異常時(shí)通知外設(shè)以便發(fā)出聲光報(bào)警信號(hào)。這些控制命令是通過(guò)對(duì)主機(jī)鍵盤接口狀態(tài)寄存器(口地址 064H)和數(shù)據(jù)寄存器 (口地址 060H)的讀寫操作實(shí)現(xiàn)的。圖 3給出了鍵盤處理中斷服務(wù)子程序框圖。 圖 3 鍵盤處理中斷服務(wù)子程序框圖 16 3.3 鍵盤接口及程序 矩陣式鍵盤的結(jié)構(gòu)與工作原理: 在鍵盤中按鍵數(shù)量較多 時(shí),為了減少 I/O 口的占用,通常將按鍵排列成矩陣形式,如圖 1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如 P0口)就可以構(gòu)成 8*3=24個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍 。由此可見(jiàn) P1.0 P1.2口為輸入端口,接鍵盤列線; P0口經(jīng) 74LS273接鍵盤行線。輸出控制信號(hào)由 P2.0 和 合成。當(dāng)二者同時(shí)為低電平時(shí),或門輸出“ 0”,將 P0口輸出的掃描碼鎖存到 74LS273中。 P1口讀到的是列線的狀態(tài),當(dāng) P1.0-P1.2讀到的值不是 111B時(shí)表示有鍵按下。 下面介紹鍵盤掃描程序,本程序中用延時(shí) 10ms子程序經(jīng)行軟件消抖;通過(guò)設(shè)置處理標(biāo)志來(lái)區(qū)分閉合鍵是否已經(jīng)處理過(guò);用計(jì)算機(jī)方法得到鍵碼,高 4位代表行,地 4位代表列。 17 鍵盤掃描程序的流程圖 各功能程序如下: 鍵盤掃描主程序 KEY_SCAN,不斷掃描鍵盤直到有一鍵按下,最后鍵值存于 A 中返回。鍵值是以鍵號(hào)經(jīng)行編碼所得的值。 KEY_SCAN: LCALL KEY_ON ;判斷有無(wú)鍵按下 JZ KEY_SCAN ;無(wú)鍵按下,繼續(xù)掃描 LCALL DL10MS ;延時(shí) 10ms 進(jìn)行消抖 LCALL KEY_ON ;再判有無(wú)鍵按下 JZ KEY_SCAN ;是鍵抖動(dòng)繼續(xù)掃描 LCALL KEY_P ;調(diào)確定鍵位置子程序 ANY A,#OFFH JZ KEY_SCAN ; A=0,出錯(cuò)繼續(xù)掃描 LCALL KEY_CODE ;對(duì)按鍵編碼 PUSH ACC ;保護(hù) A, A中為鍵 編碼值 KEY_OFF: 18 LCALL KEY_ON ;等待,直到按鍵被釋放為止 JZ KEY_OFF POP ACC ;恢復(fù) A RET ; 返回 KEY_ON: MOV A,#00H ;全掃描字 00H MOV DPTR,#0FEFFH ; 74LS273 地址 0FEFFH送到 DPTR MOVX DPTR,A ; 74LS273輸出全掃描字 MOV A,P1 ; P1口狀態(tài)讀入 A 中 ORL A,#0F8H ;取低 3位 COL A ; A取反 RET ; A不 等于 0,表示有鍵按下 ;延遲 10ms子程序 DL10MS(設(shè)時(shí)鐘為 6MHz) DL10MS: MOV R7,#05H LOOP1: MOV R6,#0F9H LOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RET ;確定按鍵位置子程序 KEY P.用掃描法 ,R2,R3 保護(hù)行、列信息 ,最后將按鍵的位置存放于 A ;中高 4位是行號(hào) ,低 4位是列號(hào) . KEY-P: MOV R7,#0FEH ;鍵盤第 1 行置 0 MOV A,R7 L_LOOP: MOV DPTR,#0FEFFH ; 74LS273 口地址送 DPTR MOVX DPTR,A ;掃描字送 74LS273 MOV A,P1 ;讀入 P1口狀態(tài) ORL A,#0F8H MOV R6,A ;R6 中暫存所讀列值 CPL A ;A取反 JNZ KEY_C ;按鍵在此行 ,轉(zhuǎn) KEY_C NEXT: MOV A,R7 ;上一掃描字送 A JNB ACC.7,NO_KEY ;第八行掃描完 ,沒(méi)發(fā)現(xiàn)按鍵 ,返回 RL A ;循環(huán)左移得下一掃描字 MOV R7,A ;保存于 R7中 LJMP L_LOOP ;開(kāi)始下一行掃描 19 NO_KEY: MOV A,#00H ;置出錯(cuò)碼 00H RET ;返回 ;找出 R7、 R6中為 0的位 ,此位即為按鍵所在行、列位 ,R3、 R2中保存行、列值 KEY_C: MOV R2,#00H ;初始化 R2、 R3 MOV R3,#00H MOV R5,#03H ;共三列 MOV A,R6 ;列狀態(tài)送 A AGAIN1: JNB ACC.0,OUT1 ;ACC.0 位為 0,轉(zhuǎn) OUTE INC R2 RR A ;循環(huán)右移 DJNZ R5,#08H ;8 列未測(cè)試完繼續(xù) MOV A,R7 OUT1: INC R2 MOV R5,#08H ;共 8行 MOV A,R7 ;行狀態(tài)送入 A AGAIN2: JNB ACC.0,OUT2 ;ACC.0 位為 0,轉(zhuǎn) OUT2 INC R3 RR A DJNZ R5,AGAIN2 OUT2: INC R3 MOV A,R3 ;行號(hào)送 A SWAP A ;行號(hào)置于高四位 ADD A,R2 ;列號(hào)置于 第四位 RET;返回 ;鍵編碼子程序 KEY-CODE ;本子程序根據(jù)鍵位置找出鍵的編號(hào) ;鍵編號(hào)是依據(jù)鍵的位置順序指定的一個(gè)號(hào)碼 ,以便于執(zhí)行散轉(zhuǎn)指令 ;由于是矩陣鍵盤 ,鍵編號(hào)通常可根據(jù)鍵所在行和列的位置來(lái)確定 ,對(duì)圖所示的8*3鍵盤 ,行號(hào)可調(diào)整為 0-7,列號(hào)可調(diào)整為 0-2,則鍵編號(hào)可用行號(hào)乘以 3再加上列號(hào)所得結(jié)果 KEY_CODE: PUSH ACC ;保存 A ANL A,#0FH ;屏蔽行號(hào) MOV R7,A ;列號(hào)送 R7 20 DEC R7 POP ACC ;恢復(fù) A SWAP A ;A中高、低四位交換 ANL A,#0FH ;屏蔽列號(hào) DEC A MOV B,#03H ;3 送入 B MUL AB ;行號(hào)乘以 3 ADD A,R7 ;加上列號(hào) ,得到鍵編號(hào) RET ;返回 3.4 單片機(jī) 時(shí)間定時(shí)器程序 /* 中斷服務(wù)程序 */ unsigned char Time_ms1 ; / 毫秒計(jì)時(shí) 1 unsigned char Time_ms2 ; / 毫秒計(jì)時(shí) 2 unsigned char Time_s ; / 秒計(jì)時(shí) unsigned char Time_min ; / 分計(jì)時(shí) unsigned char Time_hour ; / 小時(shí)計(jì)時(shí) /= /TIMER1 initialisation - prescale:8 / WGM: 0) Normal, TOP=0xFFFF / desired value: 50mSec / actual value: 50.000mSec (0.0%) void timer1_init(void) TCCR1B = 0x00; /stop TCNT1H = 0x9E; /setup TCNT1L = 0x58; OCR1AH = 0x61; OCR1AL = 0xA8; OCR1BH = 0x61; 21 OCR1BL = 0xA8; ICR1H = 0x61; ICR1L = 0xA8; TCCR1A = 0x00; TCCR1B = 0x02; /start Timer #pragma interrupt_handler timer1_ovf_isr:9 void timer1_ovf_isr(void) /TIMER1 has overflowed TCNT1H = 0x9E; /reload Fcounter high value TCNT1L = 0x58; /reload Fcounter low value /= 定 時(shí) 器 1 程 序 結(jié) 束= /ADC initialisation / Conversion time: 104uS void adc_init(void) adc_mux = 0x00 ; ADCSRA = 0x00; ADMUX = adc_mux&0x0f ; ACSR =

溫馨提示

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

評(píng)論

0/150

提交評(píng)論