版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、equation chapter 1 section 1* mergeformat (1.1)本科畢業(yè)設(shè)計(jì)說明書 題 目懸掛式旋耕耙的設(shè)計(jì)姓 名學(xué) 號專 業(yè)機(jī)械設(shè)計(jì)制造及其自動化指導(dǎo)教師職 稱教授 中國武漢二 七 年 五 月華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))i目 錄摘 要.i關(guān)鍵詞.iabstract.ikey words.i1緒論.12開發(fā)環(huán)境簡介.121proteldxp 簡介 .122使用 protel 畫圖原理.223仿真開發(fā)環(huán)境簡介.43單片機(jī)基礎(chǔ).531單片機(jī)的體系結(jié)構(gòu).532at89c2051 單片機(jī)的原理 .5321at89c2051 特性 .5322at89c2051 的結(jié)構(gòu)框
2、圖 .6323at89c2051 的引腳說明及引腳功能 .6323專用功能寄存器(sfr) .8324指令約束條件 .8325cpu 工作方式 .9326對 flash 閃速存儲器的編程 .9327內(nèi)部地址計(jì)數(shù)器 .1033at89c2051 軟硬件的開發(fā) .1034性能價(jià)格比.1035應(yīng)用.104系統(tǒng)硬件設(shè)計(jì).104.1總體方案設(shè)計(jì).10411設(shè)計(jì)原理 .11412系統(tǒng)總體性能要求 .114121成本因素 .114122環(huán)境適應(yīng)性 .114123節(jié)能性 .114124可靠性 .114125方便性 .11413裝置總體結(jié)構(gòu)原理圖 .1142系統(tǒng)硬件設(shè)計(jì).12421單片機(jī)型號的選擇 .12422
3、環(huán)境照度檢測電路 .12423分時(shí)切換控制電路 .12424路燈點(diǎn)亮按鈕位 .13425看門狗電路 .13426系統(tǒng)供電電源設(shè)計(jì) .144271主系統(tǒng)電源電路 .144272分時(shí)切換控制電路工作電源 .14428系統(tǒng)時(shí)鐘電路設(shè)計(jì) .15429長期運(yùn)行的安全性設(shè)計(jì) .154291功耗與散熱問題 .154292裝置過流問題 .15華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))ii5軟件設(shè)計(jì).1551at89c2051 的程序編制 .15511編程算法 .15512數(shù)據(jù)查詢 .16513rdy/bsy .16514程序校驗(yàn) .16517片擦除 .16518讀特征字節(jié) .16519編程接口 .1652mcs-51
4、匯編語言簡介 .16521直接尋址 .16522寄存器尋址 .16523寄存器間接尋址 .17524立即尋址 .17535變址尋址 .17546位尋址 .17547相對尋址 .1753系統(tǒng)軟件設(shè)計(jì).17531主程序結(jié)構(gòu) .17532中斷服務(wù)程序 .186結(jié)束語.19參考文獻(xiàn).19致謝.20附錄 1:系統(tǒng)程序代碼 .21附錄 2:設(shè)計(jì)原理圖 .24附錄 3:仿真界面圖 .25華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))i住宅公用路燈用電量分配裝置的設(shè)計(jì)摘 要提出一款基于單片機(jī)的居民住宅公用樓道路燈用電分?jǐn)傃b置的設(shè)計(jì)方案。充分利用單片機(jī)的內(nèi)部資源,借助單片機(jī)的數(shù)據(jù)運(yùn)算處理能力和控制能力,采用按用電時(shí)間“均攤”
5、原理,各用戶輪流為住宅公用樓道路燈供電,較好地解決了樓道路燈電費(fèi)收繳的難題,有較好的實(shí)用價(jià)值。關(guān)鍵詞單片機(jī);公用路燈;電量分配器;硬件;軟件design of coulomb distributer for residential public road lampabstractput forward a design project of public stairway lampps electricity cost assigned device in residential building based onsingle chip computer. the project takes
6、full advantage of the internal resources of the single chip computer ,especially its data processingand controlling ability. in terms of the principle of even distribution based on the time of using electricity ,every user supplies power to the public stairway lamps in turn. thus the problem of coll
7、ecting stairway lamp electricity cost will be settled well.key wordssingle chip computer;public road lamp;coulomb distributer;hardware ;software華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))11緒論當(dāng)前我國經(jīng)濟(jì)快速增長,房地產(chǎn)市場持續(xù)升溫,各種檔次的商品房層出不窮。伴隨著住房制度改革的深入,越來越多的居民買了商品房。住進(jìn)了商品住宅樓。這種改變促進(jìn)了國民經(jīng)濟(jì)的發(fā)展,同時(shí)也提高了廣大人民生活的文明程度。隨之而來的問題就產(chǎn)生了,原來的單位住宅樓是由單位安裝路燈并由單位負(fù)責(zé)
8、繳費(fèi)的,樓內(nèi)居住的單位職工不用擔(dān)心沒路燈和收繳費(fèi)用的問題;而商品住宅樓內(nèi)的居民來自不同的單位,這就產(chǎn)生了路燈問題。不安裝路燈不便利;安裝路燈后,對于商品住宅樓的路燈電費(fèi),如果由各小區(qū)的物業(yè)管理人員或社區(qū)管理員統(tǒng)一挨家挨戶定期收取,住戶分擔(dān),十分不方便,因?yàn)槌鞘幸哑占傲艘粦粢槐?。樓道路燈問題日益成為住房商品化后的一個(gè)難題(楊本文,鄭旭東,2006)。而且目前我國作為一個(gè)能源短缺的國家,電力供應(yīng)十分地緊張,缺電現(xiàn)象非常嚴(yán)重,應(yīng)該推廣應(yīng)用節(jié)能型高效路燈設(shè)備,節(jié)約照明用電,實(shí)現(xiàn)資源的充分合理應(yīng)用,保障市民的出行安全(陳宇勤,2006)。因此,提出一款基于單片機(jī)的居民住宅公用樓道路燈用電分?jǐn)傃b置的全自動
9、控制設(shè)計(jì)方案。充分利用單片機(jī)的內(nèi)部資源,借助單片機(jī)的數(shù)據(jù)運(yùn)算處理能力和控制能力,采用按用電時(shí)間“均攤”原理(王振明,002)。各用戶輪流為住宅公用樓道路燈供電,較好地解決了樓道路燈電費(fèi)收繳的難題,有較好的實(shí)用價(jià)值。2開發(fā)環(huán)境簡介21proteldxp 簡介protel2004dxp 是 altium 公司(原名 protel 公司)推出的新一代優(yōu)秀桌面電路設(shè)計(jì)軟件,它不但繼承了 protel 99 se 的所有功能,而且擴(kuò)展了許多新功能,用戶界面更加友好,更加符合人性化設(shè)計(jì),它是大多數(shù)電路設(shè)計(jì)人員使用最多的 eda 設(shè)計(jì)軟件之一(王鵬,2006)。protel2004dxp 能實(shí)現(xiàn)的主要功能如
10、下:設(shè)計(jì)組件包括電路原理圖設(shè)計(jì)組件、pcb 設(shè)計(jì)組件、自動布局布線組件、可編程邏輯器件組件和電路仿真軟件;采用整合式的零件和零件庫,提供強(qiáng)大的零件庫支持和用戶自己設(shè)計(jì)庫功能;支持層次化原理圖設(shè)計(jì);強(qiáng)大的糾錯功能,能保障設(shè)計(jì)完整無錯;采用新一代的 situs 拓?fù)涫竭壿嬜詣硬季€器,使 pcb 布線更科學(xué)合理;可以直接在 pcb 編輯器中進(jìn)行信號分析;集成 spice3f5 數(shù)?;旌闲盘柗抡?;能生成 3dpcb 立體圖,形象直觀;華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))2圖 21protel 界面本設(shè)計(jì)主要使用 protel 2004dxp 進(jìn)行電路原理圖的設(shè)計(jì)。圖 21 是 proteldxp 打開后的
11、界面,共分為六塊:系統(tǒng)菜單:file 菜單用于文件的打開、關(guān)閉等操作;view 用于和視圖有關(guān)的操作,比如放大、縮小等;project 菜單,用于和工程有關(guān)的操作,比如加入新的工程文件;window 菜單用于和窗口有關(guān)的操作,比如水平排列窗口;help 菜單,幫助菜單。左工作區(qū)面板:包括文件項(xiàng)目和幫助的面板。工作區(qū):用于快速啟動任務(wù),比如最近打開打開的原理圖。右工作區(qū)面板:點(diǎn)擊可以出現(xiàn)更多的面板。面板控制:編輯特定的和通用的面板可以在這里選擇。幫助建議:使用語言快捷找到問題的答案。22使用 protel 畫圖原理華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))3圖 22畫原理圖狀態(tài)界面畫圖原理分為以下幾步:第
12、一步,依次打開 file 菜單,選擇新建命令,選擇 schematic,界面如圖 22 所示。第二步,放入元件。打開 library 面板(如圖),選擇需要的元件;如果我們需要的元件在 library 未包括,我們還需要添加元件庫,單擊 libraries 選項(xiàng)來完成元件庫的添加;如果元件庫沒有我們需要的元件,則自己動手建元件庫,方法是在新建時(shí)選擇 schematiclibrary。第三步,連接元件。單擊工具欄 wire 按鈕,光標(biāo)變成“+”型,這是處于連線編輯狀態(tài),當(dāng)出現(xiàn)紅色的十字時(shí)表示和元件已經(jīng)電器連接,我們可以把鼠標(biāo)指向任意方向來指向要連接的元件,單擊左鍵完成這次連接,單擊右鍵則取消編輯
13、狀態(tài)。第四步,畫總線,放置總線入口。各元件要通過總線連在一起,總線和連線要通過總線入口連在一起,如圖所示。z80asio 的 d0d7 通過導(dǎo)線總線入口和總線連接,圖中 d0 是標(biāo)號,它起實(shí)際的電器連接作用。華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))4圖 2導(dǎo)線通過總線入口與總線連接圖24打開 library 面板第五步,保存文件到工程中23仿真開發(fā)環(huán)境簡介proteus 是英國 labcenter 公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于 windows 操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特點(diǎn)是:(1)實(shí)現(xiàn)了單片機(jī)仿真和 spice 電路仿真相結(jié)合。具有模擬電路
14、仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232 動態(tài)仿真、i2c 調(diào)試器、spi 調(diào)試器、鍵盤和 lcd 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:arm7(lpc21xx)、8051/52 系列、avr 系列、pic10/12/16/18 系列、hc11 系列以及多種外圍芯片。華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))5(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編
15、譯和調(diào)試環(huán)境,如 keil c51 uvision2、mplab 等軟件。(4)具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和 spice 分析于一身的仿真軟件,功能極其強(qiáng)大。3單片機(jī)基礎(chǔ)單片機(jī)是微電子技術(shù)與計(jì)算機(jī)技術(shù)的結(jié)晶,現(xiàn)已成為集成電路大家族中的重要成員。單片機(jī)是微型計(jì)算機(jī)的簡稱,是在一塊芯片集成了 cpu、ram、rom(或 eprom)、時(shí)鐘定時(shí)計(jì)數(shù)器和多種功能的串行和并行 i/o 接口。單片機(jī)共同的特點(diǎn)是他們在一塊芯片上集成了一臺微機(jī)最基本的部分,只要輔以少了量的外部電路或外部設(shè)備即可構(gòu)成一個(gè)微機(jī)系統(tǒng)。而且單片機(jī)具有體積小、功能強(qiáng)、價(jià)格低廉等優(yōu)點(diǎn)?,F(xiàn)在單片機(jī)正朝著兼容性、單
16、片系統(tǒng)化、多功能和低功耗方向發(fā)展。31單片機(jī)的體系結(jié)構(gòu)單片機(jī)采用哈佛結(jié)構(gòu),即數(shù)據(jù)存儲空間與程序存儲空間是相互分離的。為了減小引腳數(shù)量,單片機(jī) i/o 線多采用分時(shí)復(fù)用技術(shù),正是因?yàn)橛辛藘?nèi)部 rom 和 ram(可進(jìn)一步擴(kuò)展),在執(zhí)行指令時(shí)又統(tǒng)一在時(shí)鐘下工作,故可靠性和執(zhí)行速度都大大超過相當(dāng)?shù)耐ㄓ糜?jì)算機(jī)。目前市場中單片機(jī)微處理器中,位,16 位,32 位居多,每類有多種產(chǎn)品,每種單片機(jī)均有各自的指令系統(tǒng),如mcs51 兼容單片機(jī)的指令系統(tǒng)均是在 mcs51 的結(jié)構(gòu)上加以擴(kuò)展,這也直接擴(kuò)展了單片機(jī)的功能。廣泛采用的精簡指令系統(tǒng)計(jì)算機(jī) risc(reducedinstrutionsetcompute
17、r)結(jié)構(gòu),是軟硬件配合和整體性能能夠得以提高。其含義是計(jì)算機(jī)指令系統(tǒng)僅包括使用頻率較高的指令,同時(shí)這些指令的控制和實(shí)現(xiàn)有比較簡單,然后優(yōu)化這些指令并使其速度最快。它與傳統(tǒng)復(fù)雜指令系統(tǒng)計(jì)算機(jī)cisc 結(jié)構(gòu)等微處理器形成了完全不同的風(fēng)格(畢維峰,2006)。32at89c2051 單片機(jī)的原理321at89c2051 特性at89c2051 是美國 atmel 公司生產(chǎn)的低電壓,高性能的 cmos 型 8 位單片機(jī),片內(nèi)含有2kbytes 的可反復(fù)寫的只讀程序存儲器和 128bytes 的隨機(jī)存取數(shù)據(jù)寄存器,器件采用 atmel 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs51 指令系統(tǒng),
18、片內(nèi)置 8 位中央處理器 flash存儲單元,功能強(qiáng)大的 at89c2051 單片機(jī)可為用戶提供許多高性價(jià)比的應(yīng)用場合。at89c2051 是一個(gè)有 20 個(gè)引腳的芯片,引腳如圖 31 所示,與 8051 內(nèi)部結(jié)構(gòu)進(jìn)行對比可發(fā)現(xiàn),at89c2051 減少了兩個(gè)對外端口(即 p0、p2 口),使它最大可能地減少了對外引腳,因而芯片尺寸有所減少(余永權(quán),1999)。圖 31引腳封裝at89c2051 主要特性參數(shù):和 mcs51 產(chǎn)品的兼容引腳封裝;2k 字節(jié)可重編程閃速存儲器;耐久性:1,000 寫擦除周期;2.7v6v 的操作范圍;全靜態(tài)操作:0hz24mhz;華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))
19、6兩級加密程序存儲器;1288 位內(nèi)部 ram;15 根可編程 io 引線;兩個(gè) 16 位定時(shí)器計(jì)數(shù)器;六個(gè)中斷源;可編程串行 uart 通道;直接 led 驅(qū)動輸出;片內(nèi)模擬比較器;低功耗空載和掉電方式;根據(jù)其性能參數(shù),其功能特性可概述為:at89c2051 提供一下標(biāo)準(zhǔn)功能:2k 字節(jié) flash 存儲器,128 字節(jié)內(nèi)部 ram,15 個(gè) io 口,兩個(gè) 16 位的定時(shí)/計(jì)數(shù)器,一個(gè) 5 向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,內(nèi)置一個(gè)精密比較器,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),at89c2051 可降至 0 赫茲的靜態(tài)邏輯操作,并支持兩中軟件節(jié)電工作模式:空閑方式停止 cpu 的工作,但允
20、許 ram,定時(shí)計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保持 ram 中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。322at89c2051 的結(jié)構(gòu)框圖at89c2051 是一帶有 2k 字節(jié)閃速可編程可擦除只讀存儲體(eeprom)的低電壓,高性能 8 位cmos 型微型計(jì)算機(jī)。如圖 32 所示。它采用 atmel 的高密非易失存儲技術(shù)制造并和工業(yè)標(biāo)準(zhǔn)mcs51 指令集和引腳結(jié)構(gòu)完全兼容。通過在單塊芯片上組合通用的 cpl1 和閃速存,89c2051 是一款強(qiáng)勁的微型計(jì)算機(jī),它對許多嵌入式控制應(yīng)用提供一高度靈活和成本低的解決辦法。圖 32at89c2051 內(nèi)部結(jié)
21、構(gòu)圖此外,從 at89c2051 內(nèi)部結(jié)構(gòu)圖也可看出,其內(nèi)部結(jié)構(gòu)與 8051 內(nèi)部結(jié)構(gòu)基本一致(除模擬比較器外),引腳 rst、xtal1、xtal2 的特性和外部連接電路也完全與 51 系列單片機(jī)相應(yīng)引腳一致,但 p1 口、p3 口有其獨(dú)特之處。323at89c2051 的引腳說明及引腳功能vcc:電源電壓 89c2051 有很寬的工作電源電壓,可為 2.76v,當(dāng)工作在 3v 時(shí),電流相當(dāng)華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))7于 6v 工作時(shí)的 14。89c2051 工作于 12hz 時(shí),動態(tài)電流為 5.5ma,空閑態(tài)為 1ma,掉電態(tài)僅為20na。這樣小的功耗很適合于電池供電的小型控制系統(tǒng)。
22、gnd:接地。 p1 口:p1 口是一組 8 位雙向的 i/o,p1.2p1.7 提供內(nèi)部上拉電阻,p1.0 和 p1.1 內(nèi)部無上拉電阻,主要是考慮它們分別是內(nèi)部精密比較器的同相輸入端和反相輸入端,如果需要應(yīng)在外部接上拉電阻。p1 口輸出緩沖器可以吸收 20ma 電流并直接驅(qū)動 led。當(dāng) p1 口引腳寫入“1”時(shí)可作輸入端,當(dāng)引腳 p1.2p1.7 用作輸入并被外部拉低時(shí),它們將因?yàn)閮?nèi)部的上拉電阻而輸出電流。p1口還在閃速編程和程序校驗(yàn)期間接收代碼數(shù)據(jù)。p3 口:p3 口的 p3.0p3.7 是帶有內(nèi)部上拉電阻的七個(gè)雙向 io 口。p3.6 沒有引出,它作為一個(gè)通用 io 口但不可訪問,但
23、可作為固定輸入片內(nèi)比較的輸出信號,p3 口緩沖器可吸收 20ma電流。當(dāng) p3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并作為輸入端口。作輸入端時(shí),內(nèi)部拉低的p3 口將用上拉電阻輸出電流p3 口還用于實(shí)現(xiàn) at89c2051 的各種功能,如下表 31 所示。表3口引腳功能特性p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2int0(外部中斷 0)p3.3int1(外部中斷 1)p3.4t0(定時(shí)計(jì)數(shù)器 0 外部輸入)p3.5t1(定時(shí)計(jì)數(shù)器 1 外部輸入)從上述引腳說明可看出,at89c2051 沒有提供外部擴(kuò)展存儲器與 io 設(shè)備所需的地址、數(shù)據(jù)、控制信號,因此利用 at89c
24、2051 構(gòu)成的單片機(jī)應(yīng)用系統(tǒng)不能在 at89c2051 之外擴(kuò)展存儲器或io 設(shè)備,也即 at89c2051 本身即構(gòu)成了最小單片機(jī)系統(tǒng)。p3 口還接收一些用于閃速存儲器編程和程序校驗(yàn)的控制信號。rst:復(fù)位輸入。rst 一旦變成高電平,所有的 io 引腳就復(fù)位到“1”。當(dāng)振蕩器正在運(yùn)行時(shí),持續(xù)給出 rst 引腳兩個(gè)機(jī)器周期的高電平便可完成復(fù)位。每一個(gè)機(jī)器周期需 12 個(gè)振蕩器或時(shí)鐘周期。xtal1:作為振蕩器反相放大器的輸入和內(nèi)部時(shí)鐘發(fā)生器的輸入。xtal2:作為振蕩器反相放大器的輸出。 振蕩器特征:xtal1、xtal2 為片內(nèi)振蕩器的反向放大器的輸入和輸出端,如圖和所示??刹捎檬⒕w
25、或陶瓷振蕩器組成的時(shí)鐘振蕩器,如需從外部輸入時(shí)鐘驅(qū)動at89c2051,時(shí)鐘信號從 xtal1 輸入,xtal2 應(yīng)懸空。由于輸入到內(nèi)部電路是經(jīng)過一個(gè)二分頻觸發(fā)器,所以輸入的外部時(shí)鐘信號無需特殊要求,但它必須符合電平的最大和最小值及時(shí)序范圍。a at t8 89 9c c2 20 05 51 1x xt ta al l1 1x xt ta al l2 2v vc cc c外外部部時(shí)時(shí)鐘鐘輸輸入入t tt tl ln nc c圖 33外部時(shí)鐘驅(qū)動電路華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))8a at t8 89 9c c2 20 05 51 1x xt ta al l1 1x xt ta al l2 2
26、c c1 1c c2 2圖 34內(nèi)部震蕩電路 由上述對 at89c2051 引腳介紹可見:p1 口和 p3 口共占 15 個(gè)引腳,外加復(fù)位、振蕩(時(shí)鐘)和電源端等已把芯片的引腳全部占完。然而單片機(jī)在執(zhí)行各種功能時(shí)還需要更多的引腳才能受控或與外界交換的信息,為解決這種矛盾,生產(chǎn)廠家給芯片的某些引腳設(shè)置了第二功能,通過它可完成單片機(jī)的多種控制功能。例如對 89c2051編程,需由 p3 口的 p3.3、p3.4、p3.5 和 p3.7 端加控制信號以完成閃速編程(如表 31);89c2051要完成串行的輸入、輸出,外中斷功能和外部輸入定時(shí),需 p3.0p3.5 端提供端口(表 31)。再有p1.0
27、、p1.1 是內(nèi)部比較器輸入端口。323專用功能寄存器(sfr)at89c2051 中特殊功能寄存器描述如表 9-2 所示,它們共占用了 19 字節(jié),其功能與 8051sfr功能相對應(yīng)。表 3-2 專用寄存器地址和復(fù)位值寄存器符號寄存器地址復(fù)位值寄存器符號寄存器地址復(fù)位值b0f0h00000000tmod89h00000000acc0eoh00000000tl08ah00000000psw0d0h00000000tl18bh00000000ip0b8h00000th08ch00000000p30b0h11111111tl08dh00000000ie0a8h000000sp82h00000000
28、scon98h00000000dpl83h00000011subf99hdph84h00000000p190h11111111pcon87h00000000tcon88h0000000000000324指令約束條件at89c2051 是 atmel 微控制器家族經(jīng)濟(jì)中低價(jià)成員。它含有 2k 字節(jié)的閃速程序存儲器,完全和 mcs51 結(jié)構(gòu)兼容并可用 mcs51 指令集進(jìn)行編程。但是在使用有關(guān)指令進(jìn)行編程時(shí),卻有一些限制(張曉君,2004)。跳轉(zhuǎn)或分支相關(guān)的全部指令必須進(jìn)行空間約束,這樣目的地址就會落在 at89c2051 的 2k 字節(jié)的物理程序存儲器空間內(nèi)。例如,對于 2k 字節(jié)存儲器的 at
29、89c2051 來說,ljmp7e0h 是一有效的指令而 ljmp900h 則是無效的。分支指令對于 lcall、ljmp、acall、ajmp、sjmp、jmpa+dptr 等指令,只要編程人員記住這些分支指令的目的地址落在程序存儲器大小的物理范圍內(nèi)(89c2051 的 00h 至 7ffh 單元),這些無條分支指令就會正確執(zhí)行。違背物理空間的限制會引起不可知的程序出錯。cjne,djnz,jb,jnb,jc,jnc,jbc,jn,jnz 這些條件分支指令也適合上面的規(guī)則。同樣,超出內(nèi)存界限,會導(dǎo)致不正確的執(zhí)行結(jié)果。對于包括中斷的應(yīng)用,80c51 家族架構(gòu)的正常中斷服務(wù)線程地址位置已被保留。
30、和 movx 相關(guān)的指令,數(shù)據(jù)存儲器at89c2051 包含 128 字節(jié)內(nèi)部數(shù)據(jù)存儲器。這樣,at89c205l 中的堆棧深度局限于內(nèi)部 ram華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))9的 128 字節(jié)范圍內(nèi)。它既不支持外部數(shù)據(jù)存儲器的訪問,也不支持外部程序存儲器的執(zhí)行。因此,程序中不應(yīng)包括 movx指令。一般的 8051 匯編器即使在違反上述指令約束而寫入指令時(shí)仍對指令進(jìn)行匯編,使用時(shí)應(yīng)了解at89c2051 微控制器的存儲物理空間和約束范圍,適當(dāng)調(diào)整所使用的指令尋址范圍 at89c2051。325cpu 工作方式空閑方式在空閑模式下,cpu 自己轉(zhuǎn)入睡眠狀態(tài),而芯片上其余所有的外圍單元保持活動狀
31、態(tài)。該模式由軟件調(diào)用。在該模式中,芯片級 ram 和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可以由任意有效的中斷或硬件復(fù)位來終止(王衛(wèi)海,1995)。如果未使用外部上拉電阻,p1.0 和 p1.1 應(yīng)該被置為“0”,而如果用了外部上拉電阻,它們應(yīng)該被置為“1”。應(yīng)該注意,當(dāng)空閑模式被硬件復(fù)位終止時(shí),單片機(jī) at89c2051 從它轉(zhuǎn)入睡眠前的狀態(tài)恢復(fù)到正常的程序執(zhí)行狀態(tài),比內(nèi)部復(fù)位算法獲得控制權(quán)提前兩個(gè)機(jī)器周期。在這種場合,芯片內(nèi)的硬件禁止訪問內(nèi)部 ram,但訪問端口引線是允許的。為了消除當(dāng)空閑模式被復(fù)位終止時(shí)可能往端口作不希望發(fā)生的寫入操作,調(diào)用空閑模式指令后面緊跟的那條指令不應(yīng)該是寫端口
32、或?qū)懲獠績?nèi)存的指令。低功耗方式在低功耗模式下,振蕩器被停止,調(diào)用低功耗模式的指令是被執(zhí)行的最后一條指令。芯片級ram 和特殊功能寄存器保持它們的值,直到低功耗模式終止。終止低功耗模式的唯一方法是,硬件復(fù)位。復(fù)位操作重定義 sfr,但是不會改變芯片級 ram。復(fù)位動作應(yīng)在 vcc 恢復(fù)到正常工作電平時(shí)進(jìn)行,而且必須保持足夠長的時(shí)間,以使振蕩器重啟動并趨于穩(wěn)定。如果未使用外部上拉電阻,p1.0 和 p1.1 應(yīng)該被置為“0”,而如果用了外部上拉電阻,它們應(yīng)該被置為“1”。326對 flash 閃速存儲器的編程at89c2051 是在擦除狀態(tài)下(也即所單元內(nèi)容均為 ffh 時(shí))用 2k 字節(jié)的片內(nèi)
33、perom 代碼存儲陣列進(jìn)行封裝微控制器,其程序存儲器是可以反復(fù)編程的。代碼存儲陣列一次編程一個(gè)字節(jié),一旦陣列被編程,如需重新編程非空(空為:ffh)字節(jié),必須對整個(gè)存儲陣列進(jìn)行電擦除。如圖和。圖 35編程電路華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))10圖 36校驗(yàn)電路327內(nèi)部地址計(jì)數(shù)器at89c2051 包含一個(gè)內(nèi)部 eeprom 地址計(jì)數(shù)器,它總是在 rst 上升沿復(fù)位到 000h 并在xtal1 引腳有一正跳變脈沖時(shí)進(jìn)行計(jì)數(shù)。33at89c2051 軟硬件的開發(fā)89c2051 可以采用下面 2 種方法開發(fā)應(yīng)用系統(tǒng):由于 89c2051 內(nèi)部程序存貯器為 flash,所以修改它內(nèi)部的程序十分方便
34、快捷,只要配備一個(gè)可以編程 89c2051 的編程器即可。調(diào)試人員可以采用程序編輯編譯固化插到電路板中試驗(yàn)這樣反復(fù)循環(huán)的方法,對于熟練的 mcs51 程序員來說,這種調(diào)試方法并不十分困難。當(dāng)做這種調(diào)試不能夠了解片內(nèi) ram 的內(nèi)容和程序的走向等有信息(fiorini p,2000)。將普通 8031/80c31 仿真器的仿真插頭中 p1.0p1.7 和 p3.0p3.6 引出來仿真 2051,這種方法可以運(yùn)用單步、斷點(diǎn)的調(diào)試方法,但是仿真不夠真實(shí),比如,2051 的內(nèi)部模擬比較器功能,p1 口、p3 口的增強(qiáng)下拉能力等。34性能價(jià)格比下面就目前國內(nèi)全勝較多的兩種單片機(jī),討論一下 2051 的性
35、能價(jià)格比。與 80c31 系統(tǒng)相比較 如果需要構(gòu)成一個(gè) 80c31 的最小系統(tǒng)的話,除了 cpu 之外,至少需要一片 27c64,而系統(tǒng)的有效引腳和 89c2051 基本相同。從元器件的成本,電路板的面積和加密性來看,使用 89c2051 都是合算的。與 pic 單片機(jī)比較目前,國內(nèi)小型的單片機(jī)全勝較多的有 pic 系列,89c2051 與 pic 相對應(yīng)芯片比較有如下特點(diǎn):89c2051 的價(jià)格高于 pic 的 otp 型號,但大大低于 pic 的 eprom 型,89c2051 片內(nèi)不含 watchdog,這是 89c2051 的不足之處,中斷系統(tǒng)堆棧結(jié)構(gòu)、串等通訊筆定時(shí)器系統(tǒng)都大大強(qiáng)于
36、pic 系統(tǒng)。由于 pic 芯片中無標(biāo)準(zhǔn)串等口,所以在單片機(jī)的聯(lián)網(wǎng)應(yīng)用上面,pic 不太適合。與 pic 相比 2051更適合于較復(fù)雜的應(yīng)用場合,適合一些軟件需要多次修改的應(yīng)用。35應(yīng)用就目前中國市場的情況來看,89c2051 有很大的市場。其原因有下列 2 點(diǎn):2051 采用的是 mcs51 的核心,十分容易為廣大用戶所接受;2051 內(nèi)部基本保持了 80c31 的硬件 i/o 功能;2051 的 flash 存貯器技術(shù),可重復(fù)擦/寫 1000 次以上,容易解決調(diào)試手段;更適合小批量系統(tǒng)的應(yīng)用,容易實(shí)現(xiàn)軟件的升級。89c2051 適合于家用電器控制,分布式測控網(wǎng)絡(luò),i/o 量不足不是很大的應(yīng)
37、用系統(tǒng)(沈紅衛(wèi),2003)。4系統(tǒng)硬件設(shè)計(jì)4.1總體方案設(shè)計(jì)華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))11411設(shè)計(jì)原理該裝置的目的是解決樓道路燈的電費(fèi)自動分?jǐn)倖栴}。設(shè)用電量為 m 每度電費(fèi)為 l,則總電費(fèi)為:f=ml=iutl(4-1)式中:u 為電源電壓,可認(rèn)為是常數(shù);i 為總電流,與點(diǎn)亮的樓道路燈有關(guān),是變量;t 為樓道路燈點(diǎn)亮總時(shí)間,是變量。如住一樓用戶,晚上進(jìn)出只有一盞點(diǎn)亮;二樓用戶,則有 2 盞燈(一樓和二樓均點(diǎn)亮);以此類推,六樓的用戶,則按順序依次點(diǎn)亮盞燈,又按逆序熄滅。設(shè)路燈的功率為(可認(rèn)為是常數(shù));則式(4-1)可寫為:f=luit=lt=kt(4-2)式中 k 為常數(shù)(莊興元,19
38、99)。因此,樓道內(nèi)的電費(fèi)問題,則轉(zhuǎn)化為路燈點(diǎn)亮的總時(shí)間 t 的數(shù)學(xué)計(jì)算問題。根據(jù) t 的值,確定各用戶的接通時(shí)間,實(shí)現(xiàn)電費(fèi)的自動“收費(fèi)”目的。412系統(tǒng)總體性能要求根據(jù)原理設(shè)計(jì),該耗電分配裝置的設(shè)計(jì)考慮以下因素及性能要求:4121成本因素考慮到用戶的心理接受傾向,其成本應(yīng)接近或低于普通電表或各種電計(jì)量電表,同時(shí)具有較高的精度,即較好的可信度,才有市場推廣價(jià)值。4122環(huán)境適應(yīng)性具有環(huán)境照度檢測控制,白天不開燈,夜晚開燈;不管是采用手動開關(guān),還是采用紅外線人體自動開關(guān),都可以使用。4123節(jié)能性該裝置全天候工作在公用電網(wǎng)中,作為一個(gè)電子裝置其本身有定功耗,若功耗過高,則電力部門每年要承擔(dān)較多的
39、電力損失,同時(shí)有散熱問題,從而產(chǎn)生安全隱患;該裝置只有在使用路燈時(shí),才處于工作狀態(tài),此外絕大多數(shù)時(shí)間,處于待機(jī)狀態(tài),因此,必須采用電睡眠待機(jī),通過按鍵喚醒投入正常工作的運(yùn)行模式(姚志中,2005)。4124可靠性必須確保裝置不因外界干擾引起誤動作;不會因?yàn)檠b置本身的過熱問題等因素引起火災(zāi),或者其它安全因素導(dǎo)致使用者觸電等;同時(shí)還要有較長的壽命。4125方便性該裝置一般裝在一樓的集中配電箱內(nèi),若只有 1 條共用相線引到各樓層,各樓層的 2 個(gè)用戶的路燈開關(guān)又可直接并聯(lián)使用(或共用 1 個(gè)紅外人體感應(yīng)開關(guān)),布線就十分方便(徐璞,孫新懷,2006)。413裝置總體結(jié)構(gòu)原理圖裝置的總體結(jié)構(gòu)原理圖如圖
40、所示。大虛線框內(nèi)為該裝置的控制電路,s 為分時(shí)切換的選擇開關(guān)。 圖 41耗電分?jǐn)傃b置總體結(jié)構(gòu)原理框圖華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))1242系統(tǒng)硬件設(shè)計(jì)主系統(tǒng)電路主要有看門狗電路、照度檢測電路、路燈點(diǎn)亮按鈕電路、分時(shí)切換控制電路及單片機(jī)等組成。421單片機(jī)型號的選擇為了滿足性能要求,選擇了 atmel 公司的 51 系列單片機(jī) 89c2051 作為控制核心。422環(huán)境照度檢測電路lm393 是雙電壓比較器其有兩個(gè)獨(dú)立,精確的電壓比較器組成,失調(diào)電壓不超過 2.0mv 兩比較器是專門設(shè)計(jì)在電壓范圍較寬的單電源下工作,但在雙電源下也能工作,并且其電源電流大小不受電源電壓幅度大小影響。這些比較器有一
41、個(gè)獨(dú)特的性能,就是即使在單電源下工作,其輸入共模電壓范圍也保持零電平。它有兩個(gè)輸入端和兩個(gè)輸出端,一個(gè)基準(zhǔn)電壓端。輸入端電壓低于基準(zhǔn)電壓時(shí)輸出端為高電平,反之輸出端電平翻轉(zhuǎn)。圖為照度檢測電路原理,圖中的 r為光敏電阻。當(dāng)環(huán)境照度變低時(shí),即 r6100k,運(yùn)放輸出約 7v 的直流電壓,經(jīng)電阻分壓獲得約 3.5v 的數(shù)字邏輯高電平,送往單片機(jī)的 p3.0 腳,供單片機(jī)決策是否啟用樓道里的路燈(張有軍,張新廷,孫洪勛,2001)。圖 42環(huán)境照度檢測電路423分時(shí)切換控制電路圖 43 為 12 路分時(shí)切換控制電路,光電耦合器件完成電平轉(zhuǎn)換和隔離作用,以增強(qiáng)抗干擾能力。分時(shí)切換執(zhí)行部件由繼電器 k1
42、完成,繼電器選用直流 12v,線圈直流電阻約 400 的 jzc-21f 型號。因?yàn)檎斩容^低是夜間,系統(tǒng)中始終有 1 只繼電器的線圈是通電的,因此它的功耗和節(jié)能很重要。繼電器在吸合后,其維持電壓額定電壓的 75%,就是說在繼電器吸合后時(shí)加 12v 電壓,吸合以后降到額定電壓的 80%,既能保證可靠工作,又能起到節(jié)能目的。圖中的電容 c和電阻r33 就是為此目的設(shè)置的,繼電器剛吸合時(shí),電容 c上的電壓為 0,且不能突變,12v 電壓全部加在繼電器上,繼電器吸合后,電容沖電結(jié)束相當(dāng)于斷開,r33 串入繼電器線圈。因此,r33 是限流電阻,d1 是繼電器釋放時(shí)的放電回路。發(fā)光二極管 l1 為繼電器工
43、作指示,同時(shí)也為 r33 分擔(dān)部分電流。由圖中參數(shù)可求得其節(jié)能約為(李衛(wèi)平,2003):(43)22uu11p-7.2%+rrrkk33華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))13圖 43分時(shí)切換控制電路424路燈點(diǎn)亮按鈕電路為了提高控制系統(tǒng)的抗干擾能力,在控制電路和開關(guān)電路之間使用光電耦合器實(shí)現(xiàn)隔離。圖中的 s1,s2,s12 為分布于各樓層住戶的路燈按鈕。當(dāng)其中任何一個(gè)被按下時(shí)均會通過光電耦合tlp521-1 在 p3.2(int0)引腳產(chǎn)生一個(gè)下降沿,觸發(fā)外部中斷 0,喚醒 89c2051。在外部中斷 0的中斷服務(wù)程序中,完成是否允許點(diǎn)燈的判斷,如果允許,則分時(shí)切換控制電路的繼電器就動作,點(diǎn)亮路
44、燈。當(dāng)然路燈是否點(diǎn)亮首先取決于 p3.0 的狀態(tài)(即環(huán)境照度)(秦曾煌,1999)。圖 44路燈點(diǎn)亮按鈕位原理圖425看門狗電路當(dāng)微機(jī)受到干擾時(shí)會引起程序亂飛,將有可能使程序陷入“死循環(huán)”。此時(shí),采用指令冗余、軟件陷阱等技術(shù)都不能使失控的程序擺脫“死循環(huán)”的困境,所以采用程序監(jiān)控技術(shù),又稱“看門狗”技術(shù),使程序脫離“死循環(huán)”。系統(tǒng)應(yīng)用程序一般往往采用循環(huán)運(yùn)行方式,每次循環(huán)的時(shí)間基本固定在一個(gè)區(qū)間內(nèi)?!翱撮T狗”技術(shù)就是不斷監(jiān)控程序運(yùn)行時(shí)間,若發(fā)現(xiàn)時(shí)間超過已知的循環(huán)上限設(shè)定時(shí)間。則認(rèn)為系統(tǒng)進(jìn)入了“死循環(huán)”,然后強(qiáng)迫程序返回開始入口,并在開始入口,并在開始入口處安排一段出錯處理程序,使系統(tǒng)快速納入正
45、軌運(yùn)行(張向豐,2006)。本裝置的看門狗電路使用了 maxim 公司生產(chǎn)的低成本微處理器監(jiān)控芯片 max813l,其 dip封裝引腳圖如圖所示。其中為 mr 手動復(fù)位端;vcc 為工作電源端,接電源;vss 為電源接地端;pfi 為電源故障輸入端;pfo 為電源故障輸出端,這兩兩個(gè)引腳在本裝置未使用;wdi 為看門狗信號輸入端,程序正常運(yùn)行時(shí),必須在小于 1.6s 的時(shí)間內(nèi)向該輸入端發(fā)送一個(gè)脈沖信號,以消除芯片內(nèi)部的看門狗定時(shí)器,當(dāng)單片機(jī)超過 1.6 秒未向 max813l 的看門狗輸入端發(fā)沖信號,max813l 內(nèi)部的定時(shí)器將會強(qiáng)制將 wdr 拉到低電平;rst 為復(fù)位信號脈沖輸出端,上電
46、和掉電時(shí)自動產(chǎn)生 200ms 的復(fù)位脈沖,手動復(fù)位端輸入低電平時(shí)該端也產(chǎn)生復(fù)位輸出;wdr 為看門狗信華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))14號輸出端,正常運(yùn)行時(shí)輸出保持高電平,看門狗輸出時(shí)該端有高電平變?yōu)榈碗娖?。其電路圖如圖所示。接 89c2051 的管腳p3.3,rst 端與電片機(jī)的復(fù)位端相連,mr 和 wdr 相連,程序正常運(yùn)行時(shí)每隔一段時(shí)間通過p3.3 給 wdi 端送入一個(gè)脈沖,以清除 max813l 內(nèi)部的看門狗計(jì)數(shù)器,若程序“跑飛”,1.6s 未向 wdi 輸出脈沖,看門定時(shí)器便會溢出,wdr 輸出低電平,由于 wdr 與 mr 相連,所以相當(dāng)于手動復(fù)位,最終由 rst 端輸出復(fù)位信
47、號,使單片機(jī)復(fù)位。同時(shí) mr 通過開關(guān) s0 與 vss 相通,也可使單片機(jī)復(fù)位(黃曉明,2006)。圖 45看門狗電路圖圖 46max813l 引腳圖426系統(tǒng)供電電源設(shè)計(jì)系統(tǒng)供電電源原理圖 4-7 所示。圖 47電源原理圖4271主系統(tǒng)電源電路主系統(tǒng)采用+5v 電源。為了減低成本,采用“變壓器降壓整流濾波穩(wěn)壓”的線性電源。這里選用了 78l05 端穩(wěn)壓器(李曉豁,2004)。4272分時(shí)切換控制電路工作電源繼電器工作電壓為+12v,考慮繼電器對到系統(tǒng)穩(wěn)定性的影響,這里采用“變壓器降壓整流華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))15穩(wěn)壓”的方式,有穩(wěn)壓但沒有大容量濾波。這是因?yàn)榇笕萘繛V波電容的存儲電
48、能會使繼電器關(guān)斷時(shí)間延長,從而導(dǎo)致上個(gè)繼電器沒有關(guān)斷,下個(gè)繼電器動合的現(xiàn)象。428系統(tǒng)時(shí)鐘電路設(shè)計(jì)系統(tǒng)時(shí)鐘為,目的是減少功耗。因?yàn)橄到y(tǒng)對運(yùn)行速度的要求很低,外圍繼電器的動作時(shí)間和路燈按鍵的響應(yīng)時(shí)間,均在以上(吳瑰麗,2004)。圖時(shí)鐘電路圖429長期運(yùn)行的安全性設(shè)計(jì)由于該裝置的長期運(yùn)行工況,因此必須考慮裝置本身的安全問題和合裝置安全引發(fā)的其他諸如人身安全性、住宅樓安全性問題。這里關(guān)鍵要保證裝置本身的安全性。4291功耗與散熱問題裝置的功耗和散熱是連在一起的。只有降低功耗,才能減少裝置的發(fā)熱,也才能從根本上解決散熱問題。兩個(gè)三端穩(wěn)壓器和變壓器均緊貼在裝置的外殼上,以外殼作為一個(gè)大散熱體。由于裝置
49、一般安裝在配電箱內(nèi),而配電箱一般是金屬外殼,這樣可促進(jìn)散熱,從外界解決了散熱問題。4292裝置過流問題由于裝置本身的元器件失效導(dǎo)致系統(tǒng)過流,引發(fā)電力火災(zāi)等,這個(gè)問題比較容易解決。只要在裝置的電源進(jìn)線的相線上串接快速熔斷器,就足以保證避免此類現(xiàn)象發(fā)生(陳鵬,2006)。5軟件設(shè)計(jì)51at89c2051 的程序編制511編程算法要編程 at89c2051,則需要下列步驟(楊振江,2003):上電次序在 vcc 和 gnd 引腳之間加上電源;設(shè)置 rst 和 xtal1 為 gnd;所有其它引腳浮空,至少等待 10ms。設(shè)置 rst 引腳為高電平“h”,設(shè)置 p3.2 引腳為高“h”。對引腳 p3.
50、3,p3.4,p3.5,p3.7 加上邏輯電平高“h”或低“l(fā)”的正確組合,來選擇 eeprom 編程方式如表 51 中所示中的一種編程操作。表 51閃速編程方式 方式rst/vppp3.2/progp3.3 p3.4p3.5p3.7寫代碼數(shù)據(jù)12vlhhh讀代碼數(shù)據(jù)hhllhh寫加密位-112vhhhh寫加密位-212vhhll片擦除12vhlll讀特征節(jié)hhllll注:內(nèi)部 eprom 地址計(jì)數(shù)在 rst 的上升沿復(fù)位到 000h 并由 xtal1 引腳正脈沖進(jìn)行計(jì)數(shù);華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))16片擦除需要 10ms 的 prog;編程期間 p3.1 被拉低來指示 rdy/bsy;
51、編程和校驗(yàn)存儲器陣列,由下列(4)(10)點(diǎn)實(shí)現(xiàn):在 000h 單元對 p1.0pl.7 加人數(shù)據(jù)代碼字節(jié)。升高 rst 到 12v 來激活編程。使 p3.2 跳變一次來編程 eeprom 陣列中的一字節(jié)或者加密位。寫字節(jié)周期是自身定時(shí)的,一般需用 l.2ms。校驗(yàn)已被編程的數(shù)據(jù),使 rst 從 12v 降到邏輯電平“h”并設(shè)置 p33p37 引腳到正確的電平。可在 p1 口引腳輸出數(shù)據(jù)。在下一地址單元編程字節(jié),使 xtal1 跳變一次提升內(nèi)部地址計(jì)數(shù)器。對 p1 口引腳加入新數(shù)據(jù)。重復(fù)步驟 5 至 8,對整個(gè) 2k 字節(jié)陣列改變數(shù)據(jù)并提升地址計(jì)數(shù)器或者一直到目標(biāo)文件的結(jié)束。下電次序:設(shè)置 x
52、tal1 為“l(fā)”;設(shè)置 rst 為“l(fā)”電平;懸空所有其它 i/0 引腳,直到關(guān)閉電源512數(shù)據(jù)查詢at89c2051 具有指示寫周期結(jié)束的數(shù)據(jù)查詢功能。在寫周期期間,對最后寫入字節(jié)的試圖讀將令 p1.7 上寫入數(shù)據(jù)的操作結(jié)束。一旦寫周期完成,則全部輸出端的真實(shí)數(shù)據(jù)有效,同時(shí)下一個(gè)周期開始。數(shù)據(jù)查詢可在寫周期被初始化的任一時(shí)刻開始。513rdy/bsy字節(jié)編程的進(jìn)度還可由“rdy/bsy”輸出信號監(jiān)控,編程期間,p3.1 引腳在 p3.2 變“高”后被拉低來指示“bsy”。p3.1 在編程結(jié)束時(shí)被再次拉高來指示“rdy”。514程序校驗(yàn)如果加密位 lb1 和 lb2 沒進(jìn)行編程,則代碼數(shù)據(jù)可
53、通過校驗(yàn)數(shù)據(jù)線讀回:使 rst 從“l(fā)”變到“h”,復(fù)位內(nèi)部地址計(jì)數(shù)器 000h。對讀代碼數(shù)據(jù)加入正確的控制信號并在 p1 口引腳讀輸出數(shù)據(jù)。使 xtal1 引腳跳變一次來提升內(nèi)部地址計(jì)數(shù)器。在 p1 口引腳讀下一個(gè)代碼數(shù)據(jù)字節(jié)。重復(fù)步驟(3)和(4)直到讀完整個(gè)陣列。加密位不可直接進(jìn)行校驗(yàn)。加密位的校驗(yàn)可通過對存儲器的校驗(yàn)和寫入狀態(tài)來得到。517片擦除利用控制信號的正確組合并保持 p3.2 引腳 10ms 的低電平就可電擦除整個(gè) eeprom 陣列(2k字節(jié))和兩個(gè)加密位。代碼陣列在片擦除操作中寫入全“1”并必須在任何非空存儲器字節(jié)可被再編程之前執(zhí)行。518讀特征字節(jié)除 p3.5 和 p3.
54、7 必須被拉成邏輯低電平外,讀特征字節(jié)的過程和單元 000h,001h 以及 002h的正常校驗(yàn)過程相同(周彥明,2002)。返回值如下:(000h)=1eh 指示產(chǎn)品由 atmel 制造(001h)=21h 指示 89c2051 單片機(jī)519編程接口閃速陣列中的每一代碼字節(jié)可進(jìn)行寫入并且整個(gè)陣列可用控制信號的正確組合進(jìn)行擦除。寫操作周期是自身定時(shí)的,一旦初始化它將自動定時(shí)到操作完成。52mcs-51 匯編語言簡介mcs-51 匯編語言共有指令 111 條,分五類:數(shù)據(jù)傳送類指令 29 條;算術(shù)運(yùn)算類指令 24 條;邏輯運(yùn)算及移位指令 24 條;控制轉(zhuǎn)移類指令條;布爾變量操作類指令條。絕大部分
55、指令執(zhí)行時(shí)都要用到操作數(shù),最容易到哪里去取得操作數(shù)呢?最易想到的是告訴 cpu 操作數(shù)所在的地址單元,從那里可以取得相應(yīng)的操作數(shù),這便是“尋址”之意。mcs-51 的尋址方式很多,使用起來也相當(dāng)方便,功能也很強(qiáng)大,靈活性強(qiáng)。這便是指令系統(tǒng)“好用”的原因之一。下面我們分別幾種尋址方式(徐詠龍,2004)。521直接尋址指令中操作數(shù)直接以單元地址形式出現(xiàn),mova,68h,這條指令的意義是把內(nèi)部 ram68h 單元中的數(shù)據(jù)內(nèi)容傳送到累加器 a 中。522寄存器尋址寄存器尋址對選定的八個(gè)工作寄存器 r0r7 進(jìn)行操作,也就是操作數(shù)在寄存器中,因此指定華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))17了寄存器就得到
56、了操作數(shù),寄存器尋址的指令中以寄存器的符號表示寄存器,例如:mova,r1,這條指令的意義是把所用的工作寄存器中的 r1 的內(nèi)容送到累加器 a 中。523寄存器間接尋址寄存器中存放的為操作數(shù)的地址,也即操作數(shù)是通過寄存器指向的地址單元得到的,這便是寄存器間接尋址名稱的由來。例如指令:mova,r0,這條指令的意義是將 r0 寄存器指向地址單元中的內(nèi)容送到累加器 a 中。524立即尋址 把操作數(shù)直接在指令中給出,即操作數(shù)包含在指令中,指令操作碼的后面緊跟著操作數(shù),一般把指令中的操作數(shù)稱為立即數(shù),因此而得名。為了與直接尋址方式相區(qū)別,在立即數(shù)前加上“#”符號,例如:mova,0eh,這條指令的 意
57、義是 0eh 這個(gè)操作數(shù)送到累加器 a 中。535變址尋址以或 pc 作為基址寄存器,以累加器 a 作為變址寄存器,將兩寄存器的內(nèi)容相加形成16 地址作成操作數(shù)的實(shí)際地址。例如:mova,a+dptr,a 作為偏移量寄存器,dptr 作為變址寄存器,a 作為無符號數(shù)與 dptr 或 pc 的內(nèi)容相加,得到訪問的實(shí)際地址。546位尋址在 mcs51 單片機(jī)中,ram 中的 20h2fh 字節(jié)單元對應(yīng)的位地址為 00h7fh,特殊功能寄存器中的某些也可以進(jìn)行位址,這些單元既可以采用字節(jié)方式訪問它們,也可以采用位尋址的方式訪問它們。547相對尋址相對尋址方式是為了程序的相對轉(zhuǎn)移而設(shè)計(jì)的,以 pc 的
58、內(nèi)容為基址,加上給出的偏移量作為轉(zhuǎn)移地址,從而實(shí)現(xiàn)程序的轉(zhuǎn)移。轉(zhuǎn)移的目的地址可參見如下表達(dá)式:目的地址轉(zhuǎn)移指令地址轉(zhuǎn)移指令字節(jié)數(shù)偏移量。53系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件結(jié)構(gòu)主要包括主程序,外部中斷 0,定時(shí)器 0、1 的中斷服務(wù)程序等幾個(gè)部分。531主程序結(jié)構(gòu)主程序用于完成系統(tǒng)初始化、喂看門狗及設(shè)置系統(tǒng)進(jìn)入待機(jī)節(jié)能工作模式等任務(wù)。主程序流程框圖如圖 5-1 所示。系統(tǒng)初始化時(shí),應(yīng)把外部中斷 0 的優(yōu)先級別設(shè)置為高優(yōu)先中斷,采用下降沿觸發(fā)式并開放其中斷;而兩個(gè)定時(shí)器 0、1 設(shè)置為允許中斷,其中斷優(yōu)先級別設(shè)置為低優(yōu)先級,應(yīng)設(shè)置好定時(shí)器 0、1 的工作模式(均為方式 1)、計(jì)數(shù)初值,并關(guān)閉定時(shí)器。系統(tǒng)初始
59、化后,應(yīng)及時(shí)關(guān)閉所有路燈,并喂看門狗,設(shè)置系統(tǒng)進(jìn)入節(jié)能待機(jī)狀態(tài)(置 pcon 的最低位 idl 為 1)。當(dāng)系統(tǒng)因干擾被喚醒后,應(yīng)通過轉(zhuǎn)移指令強(qiáng)行軟復(fù)位,再次初始化并進(jìn)入 idle,如屬正常喚醒,則進(jìn)入外中斷 0 中斷服務(wù)程序(ulrich i, mondada f, nicoud j d,1997)。華中農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))18開始系統(tǒng)初始化定義外中斷 0 為邊沿高優(yōu)先中斷關(guān)閉所有路燈喂看門狗開放外中斷 0設(shè)置成 idle 運(yùn)行方式系統(tǒng)軟件復(fù)位延時(shí)以等待喚醒ny圖 51主程序流程圖532中斷服務(wù)程序在外中斷 0 中斷服務(wù)程序處理過程中,首先關(guān)閉外中斷 0,并進(jìn)行點(diǎn)燈按鈕是否誤觸發(fā)以及
60、是否允許點(diǎn)燈的判斷,如屬誤觸發(fā)或環(huán)境照度不允許點(diǎn)燈,則在開放外中斷 0 后,隨即中斷返回,執(zhí)行主程序,進(jìn)入待機(jī)模式。否則,進(jìn)行喂狗并熄滅所有路燈。為了保證繼電器的可靠動作,在發(fā)出熄滅所有路燈指令后,必須啟動定時(shí)器 0 進(jìn)行延時(shí),延時(shí)時(shí)間 15ms,在此過程中還需不斷喂狗,以免引起干擾。延時(shí)時(shí)間到,關(guān)閉定時(shí)器 0,然后才發(fā)出用戶 1 點(diǎn)亮路燈指令,同時(shí)啟動定時(shí)器1,控制亮燈時(shí)間 5s。在 5s 定時(shí)過程中,一樣要不斷喂狗,定時(shí)時(shí)間到,關(guān)閉定時(shí)器 1,發(fā)出繼電器斷開指令,并再次啟動定時(shí)器 0,延時(shí) 15ms,確保繼電器斷開,接著發(fā)出用戶 2 點(diǎn)亮路燈指令,依此順序進(jìn)行點(diǎn)燈;最后在用戶 12 點(diǎn)燈結(jié)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自制水囊在剖宮產(chǎn)宮縮乏力出血中的臨床應(yīng)用
- 應(yīng)急響應(yīng)的統(tǒng)一指揮
- 二零二五年度道路設(shè)施更新改造合同3篇
- 二零二五年度個(gè)人鄉(xiāng)村旅游消費(fèi)貸款合同示范文本2篇
- 二零二五年度屋頂防水隔熱節(jié)能改造合同4篇
- 2025年度新能源儲能系統(tǒng)采購與安裝合同范本3篇
- 2025版高層建筑消防系統(tǒng)改造合同協(xié)議書3篇
- 二零二五年度個(gè)人股權(quán)代持與公司解散合同3篇
- 不良反應(yīng)上報(bào)流程
- 二零二五年度大學(xué)生創(chuàng)業(yè)項(xiàng)目融資借款合同
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計(jì)算方法
- 運(yùn)動競賽學(xué)課件
- 2022年上海市初中畢業(yè)數(shù)學(xué)課程終結(jié)性評價(jià)指南
- DIC診治新進(jìn)展課件
- 公路工程施工現(xiàn)場安全檢查手冊
- 1汽輪機(jī)跳閘事故演練
- 禮品(禮金)上交登記臺賬
- 高考作文備考-議論文對比論證 課件14張
- 普通高中英語課程標(biāo)準(zhǔn)詞匯表
- 新華師大版七年級下冊初中數(shù)學(xué) 7.4 實(shí)踐與探索課時(shí)練(課后作業(yè)設(shè)計(jì))
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應(yīng)用
評論
0/150
提交評論