定時(shí)器畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩41頁(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、<p><b>  目 錄</b></p><p>  畢業(yè)論文及答辯評(píng)價(jià)意見…………………………………………………………(3)</p><p>  畢業(yè)論文任務(wù)書……………………………………………………………………(4)</p><p><b>  畢業(yè)論文</b></p><p> 

2、 1 摘要……………………………………………………………………… (6)</p><p>  2 引言……………………………………………………………………… (6)</p><p>  2.1 課題的來(lái)源和意義…………………………………………………(6)</p><p>  2.2 電子定時(shí)器的應(yīng)用…………………………………………………(6)</p&g

3、t;<p>  2.3 電子定時(shí)器的發(fā)展前景……………………………………………(7)</p><p>  3 51單片機(jī)內(nèi)部結(jié)構(gòu)及計(jì)數(shù)原理…………………………………………(7)</p><p>  3.1 51單片機(jī)內(nèi)部機(jī)構(gòu)……………………………………………… (7)</p><p>  3.2 計(jì)數(shù)原理……………………………………………………

4、………(8)</p><p>  4 電子定時(shí)器的設(shè)計(jì)………………………………………………………(14)</p><p>  4.1 總體的設(shè)計(jì)要求………………………………………………… (14)</p><p>  4.2 系統(tǒng)硬件電路設(shè)計(jì)……………………………………………… (14)</p><p>  4.2.1 芯片的選擇……

5、…………………………………………(14)</p><p>  4.2.2 交流控制接口電路………………………………………(14)</p><p>  4.2.3 顯示電路…………………………………………………(14)</p><p>  4.2.4 報(bào)警電路…………………………………………………(14)</p><p>  4.3 系

6、統(tǒng)程序的設(shè)計(jì)………………………………………………… (14)</p><p>  4.3.1 主程序流程圖……………………………………………(15)</p><p>  5 重要元件及重要電路……………………………………………………(16)</p><p>  5.1 AT89C2051的內(nèi)部結(jié)構(gòu)及功能和引腳說(shuō)明………………………(16)</p>

7、<p>  5.1.1 AT89C2051主要性能…………………………………… (16) 5.1.2 AT89C2051的內(nèi)部結(jié)構(gòu)………………………………… (17)</p><p>  5.1.3 AT89C2051的引腳說(shuō)明………………………………… (18)</p><p>  5.2 繼電器…………………………………………………………… (18)

8、</p><p>  5.2.1電磁繼電器的工作原理和特性……………………………(18)</p><p>  5.2.2繼電器主要產(chǎn)品技術(shù)參數(shù)…………………………………(18)</p><p>  5.2.3繼電器的電符號(hào)和觸點(diǎn)形式………………………………(19)</p><p>  5.3 數(shù)碼管………………………………………………………

9、………(19)</p><p>  5.3.1數(shù)碼管的分類………………………………………………(19)</p><p>  5.3.2數(shù)碼管的驅(qū)動(dòng)方式…………………………………………(19)</p><p>  6 軟件設(shè)計(jì)………………………………………………………………… (21)</p><p>  6.1 偽定義…………………………

10、………………………………… (21)</p><p>  6.2 中斷入口………………………………………………………… (22)</p><p>  6.3 主程序…………………………………………………………… (22)</p><p>  6.4 倒計(jì)時(shí)程序……………………………………………………… (25)</p><p>  6.

11、5 BCD子程序(加1或減1)…………………………………………(27)</p><p>  6.6 加1程序………………………………………………………… (28)</p><p>  6.7 調(diào)時(shí)快進(jìn)程序…………………………………………………… (28)</p><p>  6.8 功能菜單程序…………………………………………………… (29)</p&

12、gt;<p>  6.9 到點(diǎn)工作程序…………………………………………………… (32)</p><p>  6.10 響鈴程序………………………………………………………… (33)</p><p>  6.11 顯示程序………………………………………………………… (34)</p><p>  6.12 無(wú)顯示(滅燈)程序…………………………………

13、…………… (36)</p><p>  6.13 延時(shí)程序………………………………………………………… (37)</p><p>  6.14 ERR(出錯(cuò)處理)程序………………………………………………(38)</p><p>  7 結(jié) 論……………………………………………………………………(39)</p><p>  8 參考文獻(xiàn)

14、…………………………………………………………………(40)</p><p>  畢業(yè)論文及答辯評(píng)價(jià)意見</p><p><b>  畢業(yè)論文任務(wù)書</b></p><p>  畢業(yè)論文題目 電子定時(shí)器 </

15、p><p>  題目來(lái)源 自選課題 題目性質(zhì) □ 真實(shí)題目 □ 虛擬題目 </p><p>  起止時(shí)間 2011 年 10 月 25 日 —— 2011 年 12 月 23 日 </p><p>  學(xué)生姓名 黃澤成 系(院) 機(jī)械與電子系 班級(jí) 09應(yīng)用電子1班

16、 </p><p>  一、畢業(yè)論文主要內(nèi)容</p><p>  二、畢業(yè)論文基本(技術(shù))要求及應(yīng)提交的成果 </p><p>  三、畢業(yè)論文進(jìn)度安排</p><p>  四、畢業(yè)論文應(yīng)收集的資料及主要參考文獻(xiàn)</p><p>  1、 胡漢才.單片機(jī)原理及其接口技術(shù).北京:清華大學(xué)出版社,2004(第二版)<

17、;/p><p>  2、 趙德安等. 單片機(jī)原理與應(yīng)用. 北京:機(jī)械工業(yè)出版社,2004</p><p>  3、 趙曉安等.MCS-51單片機(jī)原理及應(yīng)用.天津:天津大學(xué)出版社,2001-3第一版</p><p>  4、 趙亮等. 單片機(jī)C語(yǔ)言編程與實(shí)例.北京: 人民郵電出版社</p><p>  5、 何立民. MCS-51系列單片機(jī)應(yīng)用系統(tǒng)

18、設(shè)計(jì)系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社</p><p>  6、 張洪潤(rùn)等.單片機(jī)應(yīng)用技術(shù)教程.北京:清華大學(xué)出版社</p><p>  7 、夏繼強(qiáng). 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程. 北京:北京航空航天大學(xué)出版社.2001</p><p>  8、 徐惠民、安德寧. 單片微型計(jì)算機(jī)原理接口與應(yīng)用.第1版.北京:北京</p><p> 

19、 9、 李葉紫. MCS-51單片機(jī)應(yīng)用教程.北京:清華大學(xué)出版社</p><p>  10、鄒應(yīng)金. 51系列單片機(jī)原理與實(shí)驗(yàn)教程.西安:西安電子科技大學(xué)出版社</p><p>  11、郝建國(guó).單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用.北京:清華大學(xué)出版社</p><p>  12、萬(wàn)光毅. 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程(一).北京.北京航空航天大學(xué)出版社</p>&

20、lt;p>  指導(dǎo)教師(簽名): </p><p>  教研室主任(簽名): </p><p>  系(院)負(fù)責(zé)人(簽名): </p><p>  2 0 年 月 日</p><p><

21、;b>  1、摘 要</b></p><p>  隨著時(shí)代的進(jìn)步,電子行業(yè)的發(fā)展,定時(shí)器的應(yīng)用也越來(lái)越廣泛。但傳統(tǒng)的定時(shí)器都是使用發(fā)條驅(qū)動(dòng)式、電機(jī)傳動(dòng)式或電鐘式等機(jī)械定時(shí)器。電子定時(shí)器相對(duì)產(chǎn)痛定時(shí)器來(lái)說(shuō),體積小、重量輕、造價(jià)低、精度高、壽命長(zhǎng)、而且安全可靠、調(diào)整方便、適于頻繁使用。本設(shè)計(jì)采用AT89C2051單片機(jī)為核心,闡述了系統(tǒng)工作原理,給出了軟件流程。該電子定時(shí)器滿足對(duì)電器的電源進(jìn)行控制

22、,同時(shí)要方便用戶對(duì)電子定時(shí)器的操作。最大時(shí)間能達(dá)到30h,且最大精度可以到分鐘</p><p>  關(guān)鍵詞:定時(shí)器;單片機(jī);AT89C2051;動(dòng)態(tài)掃描;繼電器</p><p><b>  2、引 言</b></p><p>  我們?cè)谌粘I钪?,?jīng)常碰到一些需要定時(shí)的事情,例如:印相或放大照片,需要定在零點(diǎn)幾秒的時(shí)間,洗衣機(jī)洗滌衣物需要定在

23、幾分鐘到幾十分鐘的時(shí)間,電風(fēng)扇需要定在數(shù)十分鐘的時(shí)間。完成這種定時(shí)的定時(shí)器有多種多樣,在家用電器中采用機(jī)械定時(shí)器就是根據(jù)一般上弦鐘表原理設(shè)計(jì)的,這種定時(shí)器雖然結(jié)構(gòu)簡(jiǎn)單,成本低,維修也比較方便,但是它的觸頭頻繁接觸和斷開,大大的縮減了它的使用壽命,也不利于進(jìn)一步全自動(dòng)化。在電子技術(shù)突飛猛進(jìn)的今天,電子定時(shí)器一定會(huì)逐步取而代之,這是不言而喻的。</p><p>  本文是基于51系列單片機(jī)設(shè)計(jì)的一種用于控制家用電器的

24、設(shè)計(jì)方案</p><p>  2.1課題的來(lái)源和意義</p><p>  本課題是通過(guò)導(dǎo)師篩選提出的,電子設(shè)計(jì)課題不一定很大,只要通過(guò)親手做一遍全過(guò)程,完成一個(gè)產(chǎn)品制作,收獲是很大的。</p><p>  本課題的意義在于通過(guò)設(shè)計(jì)和制作本課題把在學(xué)校學(xué)習(xí)到的知識(shí)融會(huì)貫通并應(yīng)用到實(shí)際當(dāng)中。做到學(xué)有所成,學(xué)有所用。并且希望通過(guò)本設(shè)計(jì)為節(jié)能減排做出貢獻(xiàn)。</p>

25、;<p>  2.2電子定時(shí)器的應(yīng)用</p><p>  電子定時(shí)器在家用電器中經(jīng)常用于延時(shí)自動(dòng)關(guān)機(jī)、定時(shí)。延時(shí)自動(dòng)關(guān)機(jī)可用于:收音機(jī)、電視機(jī)、錄音機(jī)、催眠器、門燈、路燈、汽車頭燈、轉(zhuǎn)彎燈以及其他電器的延時(shí)斷電及延時(shí)自停電源等。定時(shí)可用于:照相定時(shí)曝光、定時(shí)閃光、定時(shí)放大、定時(shí)調(diào)速、定時(shí)烘箱、冰箱門開定時(shí)報(bào)警、水位定時(shí)報(bào)警、延時(shí)催眠器、延時(shí)電鈴、延時(shí)電子鎖、觸摸定時(shí)開關(guān)等。例如:空調(diào)中的定時(shí)器,在工

26、作一段時(shí)間之后便能自動(dòng)切斷電源停止工作。夏季夜間使用,入睡前先頂好時(shí)間,等睡熟后到了預(yù)定時(shí)間,空調(diào)自動(dòng)關(guān)機(jī)。方便節(jié)能。定時(shí)器除了應(yīng)用</p><p>  家用電器外,還廣泛地用于工業(yè)農(nóng)業(yè)生產(chǎn)和服務(wù)設(shè)施,甚至軍事等。</p><p>  2.3電子定時(shí)器的發(fā)展前景</p><p>  傳統(tǒng)的定時(shí)器絕大多數(shù)都是發(fā)條驅(qū)動(dòng)式、電機(jī)傳動(dòng)式或電鐘式等機(jī)械定時(shí)器,部分電子器械中也

27、有試用時(shí)間繼電器的。相對(duì)于傳統(tǒng)的定時(shí)器,電子定時(shí)器的體積小、重量輕、造價(jià)低、精度高、壽命長(zhǎng)、而且安全可靠、調(diào)整方便、適于頻繁使用。所以電子定時(shí)器的發(fā)展必定大有前途。同時(shí)隨著現(xiàn)代電子技術(shù)的發(fā)展,電子定時(shí)器也在不斷的進(jìn)步,朝向著更多用途、更高精度、更小體積發(fā)展著。</p><p>  例如:一個(gè)可編程電子定時(shí)器,它可以設(shè)置20組開、關(guān)電源設(shè)置,可以當(dāng)時(shí)鐘使用,還也可以按星期組合讓它在一周內(nèi)的任意一天或幾天按設(shè)置程序工

28、作。而且它只有長(zhǎng)12.5cm×寬5.5cm×厚5cm大小。且它的功耗特別小只有3W??梢哉f(shuō)是小巧玲瓏,節(jié)能省電。</p><p>  3、 51單片機(jī)內(nèi)部結(jié)構(gòu)及計(jì)數(shù)原理</p><p>  3.1 51單片機(jī)內(nèi)部機(jī)構(gòu)</p><p>  51單片機(jī)內(nèi)部有一個(gè)8位的CPU,同時(shí)CPU內(nèi)部包含了運(yùn)算器,控制器及若干寄存器。</p>&

29、lt;p>  從上圖中我們可以看到,在虛線框內(nèi)的就是CPU的內(nèi)部結(jié)構(gòu)了,8位的MCS-51單片機(jī)的CPU內(nèi)部有數(shù)術(shù)邏輯單元ALU(Arithmetic Logic Unit)、累加器A(8位)、寄存器B(8位)、程序狀態(tài)字PSW(8位)、程序計(jì)數(shù)器PC(有時(shí)也稱為指令指針,即IP,16位)、地址寄存器AR(16位)、數(shù)據(jù)寄存器DR(8位)、指令寄存器IR(8位)、指令譯碼器ID、控制器等部件組成。</p><p

30、><b>  3.2計(jì)數(shù)原理</b></p><p>  80C51單片機(jī)內(nèi)部設(shè)有兩個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器??删幊痰囊馑际侵钙涔δ埽ㄈ绻ぷ鞣绞健⒍〞r(shí)時(shí)間、量程、啟動(dòng)方式等)均可由指令來(lái)確定和改變。在定時(shí)器/計(jì)數(shù)器中除了有兩個(gè)16位的計(jì)數(shù)器之外,還有兩個(gè)特殊功能寄存器(控制寄存器和方式寄存器)</p><p>  定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu):</p>

31、<p>  從上面定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)圖中我們可以看出,16位的定時(shí)/計(jì)數(shù)器分別由兩個(gè)8位專用寄存器組成,即:T0由TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。其訪問地址依次為8AH-8DH。每個(gè)寄存器均可單獨(dú)訪問。這些寄存器是用于存放定時(shí)或計(jì)數(shù)初值的。此外,其內(nèi)部還有一個(gè)8位的定時(shí)器方式寄存器TMOD和一個(gè)8位的定時(shí)控制寄存器TCON。這些寄存器之間是通過(guò)內(nèi)部總線和控制邏輯電路連接起來(lái)的。TMOD主要是用于選定定時(shí)器的

32、工作方式;TCON主要是用于控制定時(shí)器的啟動(dòng)停止,此外TCON還可以保存T0、T1的溢出和中斷標(biāo)志。當(dāng)定時(shí)器工作在計(jì)數(shù)方式時(shí),外部事件通過(guò)引腳T0(P3.4)和T1(P3.5)輸入。</p><p><b>  定時(shí)計(jì)數(shù)器的原理:</b></p><p>  16位的定時(shí)器/計(jì)數(shù)器實(shí)質(zhì)上就是一個(gè)加1計(jì)數(shù)器,其控制電路受軟件控制、切換。 </p><

33、p>  當(dāng)定時(shí)器/計(jì)數(shù)器為定時(shí)工作方式時(shí),計(jì)數(shù)器的加1信號(hào)由振蕩器的12分頻信號(hào)產(chǎn)生,即每過(guò)一個(gè)機(jī)器周期,計(jì)數(shù)器加1,直至計(jì)滿溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。因一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)頻率fcount=1/12osc。如果晶振為12MHz,則計(jì)數(shù)周期為:</p><p>  T=1/(12×106)Hz×1/12=1μs </p>&l

34、t;p>  這是最短的定時(shí)周期。若要延長(zhǎng)定時(shí)時(shí)間,則需要改變定時(shí)器的初值,并要適當(dāng)選擇定時(shí)器的長(zhǎng)度(如8位、13位、16位等)。 </p><p>  當(dāng)定時(shí)器/計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過(guò)引腳T0和T1對(duì)外部信號(hào)計(jì)數(shù),外部脈沖的下降沿將觸發(fā)計(jì)數(shù)。計(jì)數(shù)器在每個(gè)機(jī)器周期的S5P2期間采樣引腳輸入電平。若一個(gè)機(jī)器周期采樣值為1,下一個(gè)機(jī)器周期采樣值為0,則計(jì)數(shù)器加1。此后的機(jī)器周期S3P1期間,新的計(jì)數(shù)值裝入計(jì)

35、數(shù)器。所以檢測(cè)一個(gè)由1至0的跳變需要兩個(gè)機(jī)器周期,故外部事年的最高計(jì)數(shù)頻率為振蕩頻率的1/24。例如,如果選用12MHz晶振,則最高計(jì)數(shù)頻率為0.5MHz。雖然對(duì)外部輸入信號(hào)的占空比無(wú)特殊要求,但為了確保某給定電平在變化前至少被采樣一次,外部計(jì)數(shù)脈沖的高電平與低電平保持時(shí)間均需在一個(gè)機(jī)器周期以上。 </p><p>  當(dāng)CPU用軟件給定時(shí)器設(shè)置了某種工作方式之后,定時(shí)器就會(huì)按設(shè)定的工作方式獨(dú)立運(yùn)行,不再占用CP

36、U的操作時(shí)間,除非定時(shí)器計(jì)滿溢出,才可能中斷CPU當(dāng)前操作。CPU也可以重新設(shè)置定時(shí)器工作方式,以改變定時(shí)器的操作。由此可見,定時(shí)器是單片機(jī)中效率高而且工作靈活的部件。 </p><p>  綜上所述,我們已知定時(shí)器/計(jì)數(shù)器是一種可編程部件,所以在定時(shí)器/計(jì)數(shù)器開始工作之前,CPU必須將一些命令(稱為控制字)寫入定時(shí)/計(jì)數(shù)器。將控制字寫入定時(shí)/計(jì)數(shù)器的過(guò)程叫定時(shí)器/計(jì)數(shù)器初始化。在初始化過(guò)程中,要將工作方式控制字

37、寫入方式寄存器,工作狀態(tài)字(或相關(guān)位)寫入控制寄存器,賦定時(shí)/計(jì)數(shù)初值。下面我們就提出的控制字的格式及各位的主要功能與大家詳細(xì)的講解。 </p><p>  控制寄存器 定時(shí)器/計(jì)數(shù)器T0和T1有2個(gè)控制寄存器-TMOD和TCON,它們分別用來(lái)設(shè)置各個(gè)定時(shí)器/計(jì)數(shù)器的工作方式,選擇定時(shí)或計(jì)數(shù)功能,控制啟動(dòng)運(yùn)行,以及作為運(yùn)行狀態(tài)的標(biāo)志等。其中,TCON寄存器中另有4位用于中斷系統(tǒng)。</p><p

38、>  定時(shí)器/計(jì)數(shù)器方式寄存器TMOD:</p><p>  定時(shí)器方式控制寄存器TMOD在特殊功能寄存器中,字節(jié)地址為89H,無(wú)位地址。TMOD的格式如下圖所示。</p><p>  由圖可見,TMOD的高4位用于T1,低4使用于T0,4種符號(hào)的含義如下:</p><p>  GATE:門控制位。GATE和軟件控制位TR、外部引腳信號(hào)INT的狀態(tài),共同控制定

39、時(shí)器/計(jì)數(shù)器的打開或關(guān)閉。</p><p>  C/T:定時(shí)器/計(jì)數(shù)器選擇位。C/T=1,為計(jì)數(shù)器方式;C/T=0,為定時(shí)器方式。</p><p>  M1M0:工作方式選擇位,定時(shí)器/計(jì)數(shù)器的4種工作方式由M1M0設(shè)定。</p><p>  定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD不能進(jìn)行位尋址,只能用字節(jié)傳送指令設(shè)置定時(shí)器工作方式,低半字節(jié)定義為定時(shí)器0,高半字節(jié)定

40、義為定時(shí)器1。復(fù)位時(shí),TMOD所有位均為0。</p><p>  定時(shí)器/計(jì)數(shù)器控制寄存器TCON:</p><p>  TCON在特殊功能寄存器中,字節(jié)地址為88H,位地址(由低位到高位)為88H一8FH,由于有位地址,十分便于進(jìn)行位操作。</p><p>  TCON的作用是控制定時(shí)器的啟、停,標(biāo)志定時(shí)器溢出和中斷情況。</p><p>

41、  TCON的格式如下圖所示。其中,TFl,TRl,TF0和TR0位用于定時(shí)器/計(jì)數(shù)器;IEl,ITl,IE0和IT0位用于中斷系統(tǒng)。</p><p>  TCON中低4位與中斷有關(guān),我們將在下節(jié)課講中斷時(shí)再給予講解。由于TCON是可以位尋址的,因而如果只清溢出或啟動(dòng)定時(shí)器工作,可以用位操作命令。例如:執(zhí)行“CLR TF0”后則清定時(shí)器0的溢出;執(zhí)行“SETB TR1”后可啟動(dòng)定時(shí)器1開始工作(當(dāng)然前面還要設(shè)置方

42、式定)。</p><p>  定時(shí)器/計(jì)數(shù)器的初始化:</p><p>  由于定時(shí)器/計(jì)數(shù)器的功能是由軟件編程確定的,所以一般在使用定時(shí)/計(jì)數(shù)器前都要對(duì)其進(jìn)行初始化,使其按設(shè)定的功能工作。初始貨的步驟一般如下:</p><p>  1、確定工作方式(即對(duì)TMOD賦值);</p><p>  2、預(yù)置定時(shí)或計(jì)數(shù)的初值(可直接將初值寫入TH0、

43、TL0或TH1、TL1);</p><p>  3、根據(jù)需要開放定時(shí)器/計(jì)數(shù)器的中斷(直接對(duì)IE位賦值);</p><p>  4、啟動(dòng)定時(shí)器/計(jì)數(shù)器(若已規(guī)定用軟件啟動(dòng),則可把TR0或TR1置“1”;若已規(guī)定由外中斷引腳電平啟動(dòng),則需給外引腳步加啟動(dòng)電平。當(dāng)實(shí)現(xiàn)了啟動(dòng)要求后,定時(shí)器即按規(guī)定的工作方式和初值開始計(jì)數(shù)或定時(shí))。</p><p>  因?yàn)樵诓煌ぷ鞣绞较?/p>

44、計(jì)數(shù)器位數(shù)不同,因而最大計(jì)數(shù)值也不同。</p><p>  現(xiàn)假設(shè)最大計(jì)數(shù)值為M,那么各方式下的最大值M值如下:</p><p>  方式0:M=213=8 192</p><p>  方式1:M=216=65 536</p><p>  方式2:M=28=256</p><p>  方式3:定時(shí)器0分成兩個(gè)8位計(jì)數(shù)器

45、,所以兩個(gè)M均為256。 </p><p>  因?yàn)槎〞r(shí)器/計(jì)數(shù)器是作“加1”計(jì)數(shù),并在計(jì)數(shù)滿溢出時(shí)產(chǎn)生中斷,因此初值X可以這樣計(jì)算:</p><p><b>  X=M-計(jì)數(shù)值</b></p><p>  定時(shí)器/計(jì)數(shù)器的四種工作方式:</p><p>  定T0或T1無(wú)論用作定時(shí)器或計(jì)數(shù)器都有4種工作方式:方式0、方

46、式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作狀態(tài)。下面以T1為例,分述各種工作方式的特點(diǎn)和用法。 </p><p><b>  工作方式0:</b></p><p>  13位方式由TL1的低5位和TH1的8位構(gòu)成13位計(jì)數(shù)器(TL1的高3位無(wú)效)。工作方式0的結(jié)構(gòu)見下圖:</p><p>  定時(shí)/計(jì)數(shù)選擇:C/T=0,T1為

47、定時(shí)器,定時(shí)信號(hào)為振蕩周期12分頻后的脈沖;C/T=l,T1為計(jì)數(shù)器,計(jì)數(shù)信號(hào)來(lái)自引腳T1的外部信號(hào)。</p><p>  定時(shí)器T1能否啟動(dòng)工作,還受到了R1、GATE和引腳信號(hào)INT1的控制。由圖中的邏輯電路可知,當(dāng)GATE=0時(shí),只要TR1=1就可打開控制門,使定時(shí)器工作;當(dāng)GATE=1時(shí),只有TR1=1且INT1=1,才可打開控制門。GATE,TR1,C/T的狀態(tài)選擇由定時(shí)器的控制寄存器TMOD,TCON

48、中相應(yīng)位狀態(tài)確定,INT1則是外部引腳上的信號(hào)。</p><p>  在一般的應(yīng)用中,通常使GATE=0,從而由TRl的狀態(tài)控制Tl的開閉:TRl=1,打開T1;TRl=0,關(guān)閉T1。在特殊的應(yīng)用場(chǎng)合,例如利用定時(shí)器測(cè)量接于INT1引腳上的外部脈沖高電平的寬度時(shí),可使GATE=1,TRl=1。當(dāng)外部脈沖出現(xiàn)上升沿,亦即INT1由0變1電平時(shí),啟動(dòng)T1定時(shí),測(cè)量開始;一旦外部脈沖出現(xiàn)下降沿,亦即INT1由l變O時(shí)就

49、關(guān)閉了T1。</p><p>  定時(shí)器啟動(dòng)后,定時(shí)或計(jì)數(shù)脈沖加到TLl的低5位,從預(yù)先設(shè)置的初值(時(shí)間常數(shù))開始不斷增1。TL1計(jì)滿后,向THl進(jìn)位。當(dāng)TL1和THl都計(jì)滿之后,置位T1的定時(shí)器回零標(biāo)志TFl,以此表明定時(shí)時(shí)間或計(jì)數(shù)次數(shù)已到,以供查詢或在打開中斷的條件下,可向CPU請(qǐng)求中斷。如需進(jìn)一步定時(shí)/計(jì)數(shù),需用指令重置時(shí)間常數(shù)。 </p><p>  方式0是13位計(jì)數(shù)結(jié)構(gòu)的工作方

50、式,其計(jì)數(shù)器由TH0全部8位和TL0的低5位構(gòu)成。當(dāng)TL0的低5位計(jì)數(shù)溢出時(shí),向TH0進(jìn)位,而全部13位計(jì)數(shù)溢出時(shí),則向計(jì)數(shù)溢出標(biāo)志位TF0進(jìn)位。</p><p><b>  工作方式1:</b></p><p>  1是16位計(jì)數(shù)結(jié)構(gòu)的工作方式,計(jì)數(shù)器由TH0全部8位和TL0全部8位構(gòu)成。與工作方式0基本相同,區(qū)別僅在于工作方式1的計(jì)數(shù)器TL1和TH1組成16位計(jì)數(shù)

51、器,從而比工作方式0有更寬的定時(shí)/計(jì)數(shù)范圍。</p><p><b>  工作方式2:</b></p><p>  8位自動(dòng)裝入時(shí)間常數(shù)方式。由TLl構(gòu)成8位計(jì)數(shù)器,THl僅用來(lái)存放時(shí)間常數(shù)。啟動(dòng)T1前,TLl和THl裝入相同的時(shí)間常數(shù),當(dāng)TL1計(jì)滿后,除定時(shí)器回零標(biāo)志TFl置位,具有向CPU請(qǐng)求中斷的條件外,THl中的時(shí)間常數(shù)還會(huì)自動(dòng)地裝入TLl,并重新開始定時(shí)或計(jì)

52、數(shù)。所以,工作方式2是一種自動(dòng)裝入時(shí)間常數(shù)的8位計(jì)數(shù)器方式。由于這種方式不需要指令重裝時(shí)間常數(shù),因而操作方便,在允許的條件下,應(yīng)盡量使用這種工作方式。當(dāng)然,這種方式的定時(shí)/計(jì)數(shù)范圍要小于方式0和方式1。工作方式2的結(jié)構(gòu)見下圖:</p><p>  當(dāng)計(jì)數(shù)溢出后,不是像前兩種工作方式那樣通過(guò)軟件方法,而是由預(yù)置寄存器TH以硬件方法自動(dòng)給計(jì)數(shù)器TL重新加載。變軟件加載為硬件加載。</p><p&g

53、t;  初始化時(shí),8位計(jì)數(shù)初值同時(shí)裝入TL0和TH0中。當(dāng)TL0計(jì)數(shù)溢出時(shí),置位TF0,同時(shí)把保存在預(yù)置寄</p><p>  存器TH0中的計(jì)數(shù)初值自動(dòng)加載TL0,然后TL0重新計(jì)數(shù)。如此重復(fù)不止。這不但省去了用戶程序中的</p><p>  重裝指令,而且也有利于提高定時(shí)精度。但這種工作方式下是8位計(jì)數(shù)結(jié)構(gòu),計(jì)數(shù)值有限,最大只能到255。</p><p>  這

54、種自動(dòng)重新加載工作方式非常適用于循環(huán)定時(shí)或循環(huán)計(jì)數(shù)應(yīng)用,例如用于產(chǎn)生固定脈寬的脈沖,</p><p>  此外還可以作串行數(shù)據(jù)通信的波特率發(fā)送器使用。</p><p><b>  工作方式3:</b></p><p>  2個(gè)8位方式。工作方式3只適用于定時(shí)器0。如果使定時(shí)器1為工作方式3,則定時(shí)器1將處于關(guān)閉狀態(tài)。</p>&l

55、t;p>  當(dāng)T0為工作方式3時(shí),THo和TL0分成2個(gè)獨(dú)立的8位計(jì)數(shù)器。其中,TL0既可用作定時(shí)器,又可用作計(jì)數(shù)器,并使用原T0的所有控制位及其定時(shí)器回零標(biāo)志和中斷源。TH0只能用作定時(shí)器,并使用T1的控制位TRl、回零標(biāo)志TFl和中斷源,見下圖:</p><p>  通常情況下,T0不運(yùn)行于工作方式3,只有在T1處于工作方式2,并不要求中斷的條件下才可能使用。這時(shí),T1往往用作串行口波特率發(fā)生器(見1.

56、4),TH0用作定時(shí)器,TL0作為定時(shí)器或計(jì)數(shù)器。所以,方式3是為了使單片機(jī)有1個(gè)獨(dú)立的定時(shí)器/計(jì)數(shù)器、1個(gè)定時(shí)器以及1個(gè)串行口波特率發(fā)生器的應(yīng)用場(chǎng)合而特地提供的。這時(shí),可把定時(shí)器l用于工作方式2,把定時(shí)器0用于工作方式3下才可能使用。這時(shí),T1往往用作串行口波特率發(fā)生器,TH0用作定時(shí)器,TL0作為定時(shí)器或計(jì)數(shù)器。所以,方式3是為了使單片機(jī)有1個(gè)獨(dú)立的定時(shí)器/計(jì)數(shù)器、1個(gè)定時(shí)器以及1個(gè)串行口波特率發(fā)生器的應(yīng)用場(chǎng)合而特地提供的。這時(shí),可

57、把定時(shí)器l用于工作方式2,把定時(shí)器0用于工作方式3。</p><p>  4、電子定時(shí)器的設(shè)計(jì)</p><p>  4.1 總體的設(shè)計(jì)要求</p><p>  本文所涉及的電子定時(shí)器要求能定時(shí)給電器供電或斷電,最大時(shí)間可以長(zhǎng)達(dá)30h,操作使用方便,采用AT89C2051單片機(jī)控制,4位共陽(yáng)數(shù)碼管顯示時(shí)間,繼電器做電器電源輸出控制。</p><p&

58、gt;  4.2 系統(tǒng)硬件電路設(shè)計(jì)</p><p>  4.2.1芯片的選擇</p><p>  硬件電路要實(shí)現(xiàn)對(duì)交流大電流電源的控制、定時(shí)時(shí)間的設(shè)定顯示和到點(diǎn)提醒等功能。若采用40腳的單片機(jī)有利于設(shè)計(jì),但會(huì)增大電路板的體積。本設(shè)計(jì)采用ATMEL公司的AT89C2051單片機(jī),芯片位20腳,體積小,工作電壓范圍寬(2.7V~6V)。性價(jià)比比較高。</p><p> 

59、 4.2.2交流控制接口電路</p><p>  交流接口電路可以選擇繼電器控制,也可采用可控硅控制等。本設(shè)計(jì)采用的是前一種——繼電器控制。</p><p><b>  4.2.3顯示電路</b></p><p>  顯示電路采用4個(gè)共陽(yáng)極LED數(shù)碼管。為了在定時(shí)達(dá)到分(鐘)的時(shí)候能顯示出時(shí)鐘在計(jì)時(shí),兩個(gè)數(shù)碼管之間增加一個(gè)發(fā)光二極管,以其閃爍

60、來(lái)代表秒走動(dòng);為了使硬件電路簡(jiǎn)單,采用單片機(jī)直接驅(qū)動(dòng)LED數(shù)碼管(AT89C2051輸出口能吸收20mA電流),用動(dòng)態(tài)掃描法實(shí)現(xiàn)LED顯示。</p><p><b>  4.2.4報(bào)警電路</b></p><p>  報(bào)警電路采用普通的5V成品蜂鳴器。</p><p>  4.3系統(tǒng)程序的設(shè)計(jì)</p><p>  程序采

61、用模塊化、結(jié)構(gòu)化設(shè)計(jì),并采用軟件抗干擾,使軟件的可靠性比較高,可維護(hù)性較強(qiáng)。</p><p><b>  主要模塊有:</b></p><p><b>  主程序</b></p><p><b>  菜單程序</b></p><p><b>  到點(diǎn)工作程序</

62、b></p><p><b>  抗干擾程序</b></p><p>  4.3.1主程序流程圖</p><p>  N Y</p><p><b>  N</b></p>&l

63、t;p><b>  Y</b></p><p><b>  N</b></p><p><b>  Y</b></p><p>  5、重要元件及重要電路</p><p>  5.1 AT89C2051的內(nèi)部結(jié)構(gòu)及功能和引腳說(shuō)明</p><p>

64、  AT89C2051是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含2k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C2051單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合。</p><p><

65、b>  程序保密</b></p><p>  89C2051設(shè)計(jì)有2個(gè)程序保密位,保密位1被編程之后,程序存儲(chǔ)器不能再被編程除非做一次擦除,保密位2被編程之后,程序不能被讀出。</p><p><b>  軟硬件的開發(fā)</b></p><p>  89C2051可以采用下面2種方法開發(fā)應(yīng)用系統(tǒng):</p><

66、p>  1)由于89C2051內(nèi)部程序存貯器為Flash,所以修改它內(nèi)部的程序十分方便快捷,只要配備一個(gè)可以編程89C2051的編程器即可。調(diào)試人員可以采用程序編輯-編譯-固化-插到電路板中試驗(yàn)這樣反復(fù)循環(huán)的方法,對(duì)于熟練的MCS-51程序員來(lái)說(shuō),這種調(diào)試方法并不十分困難。當(dāng)做這種調(diào)試不能夠了解片內(nèi)RAM的內(nèi)容和程序的走向等有關(guān)信息。</p><p>  2)將普通8031/80C31仿真器的仿真插頭中P1

67、.0~P1.7和P3.0~P3.6引出來(lái)仿真205T,這種方法可以運(yùn)用單步、斷點(diǎn)的調(diào)試方法,但是仿真不夠真實(shí),比如,2051的內(nèi)部模擬比較器功能,P1口、P3口的增強(qiáng)下拉能力等等。</p><p>  5.1.1 AT89C2051主要性能</p><p>  AT89C2051是ATMEL公司生產(chǎn)的帶2K字節(jié)閃速可編程可擦除只讀存儲(chǔ)器(EEPROM)的8位單片機(jī),它具有如下主要特性:

68、</p><p>  ·和MCS-51產(chǎn)品的兼容 </p><p>  ·2K字節(jié)可重編程閃速存儲(chǔ)器 </p><p>  ·耐久性:1,000寫/擦除周期 </p><p>  ·2.7V~6V的操作范圍 </p><p>  ·全靜態(tài)操作:0H

69、z~24MHz </p><p>  ·兩級(jí)加密程序存儲(chǔ)器  </p><p>  ·128×8位內(nèi)部RAM   </p><p>  ·15根可編程I/O引線    </p><p>  ·兩個(gè)16位定時(shí)器/計(jì)數(shù)

70、器 </p><p>  ·六個(gè)中斷源         </p><p>  ·可編程串行UART通道      </p><p>  ·直接LED驅(qū)動(dòng)輸出   

71、60;     </p><p>  ·片內(nèi)模擬比較器          </p><p>  ·低功耗空載和掉電方式 </p><p>  5.1.2 AT89C2051的內(nèi)部結(jié)構(gòu)</p&

72、gt;<p>  圖1 AT89C2051的內(nèi)部結(jié)構(gòu)圖</p><p>  圖2 AT89C2051內(nèi)部示意圖</p><p>  AT89C2051是一帶有2K字節(jié)閃速可編程可擦除只讀存儲(chǔ)體(EEPROM)的低電壓,高性能8位CMOS微型計(jì)算機(jī)。如圖2所示。它采用ATMEL的高密非易失存儲(chǔ)技術(shù)制造并和工業(yè)標(biāo)準(zhǔn)MCS—51指令集和引腳結(jié)構(gòu)兼容。AT89C2051是一強(qiáng)

73、勁的微型計(jì)算機(jī),它對(duì)許多嵌入式控制應(yīng)用提供一高度靈活和成本低的解決辦法。</p><p>  此外,從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ú)特之處。</p><p>  5.1.3 AT89C2051的引腳說(shuō)明</p

74、><p>  AT89C2051是一個(gè)有20個(gè)引腳的芯片,引腳如上述圖1所示,與8051內(nèi)部結(jié)構(gòu)進(jìn)行對(duì)比可發(fā)現(xiàn),AT89C2051減少了兩個(gè)對(duì)外端口(即P0、P2口),使它最大可能地減少了對(duì)外引腳,因而芯片尺寸有所減少。 </p><p>  AT89C2051沒有提供外部擴(kuò)展存儲(chǔ)器與I/O設(shè)備所需的地址、數(shù)據(jù)、控制信號(hào),因此利用AT89C2051構(gòu)成的單片機(jī)應(yīng)用系統(tǒng)不能在AT89C2051之

75、外擴(kuò)展存儲(chǔ)器或I/O設(shè)備,也即AT89C2051本身即構(gòu)成了最小單片機(jī)系統(tǒng)。</p><p><b>  5.2 繼電器</b></p><p>  繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。&

76、lt;/p><p>  5.2.1電磁繼電器的工作原理和特性</p><p>  電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)

77、與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))吸合。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線圈未通電時(shí)處于斷開狀態(tài)的靜觸點(diǎn),稱為“常開觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱為“常閉觸點(diǎn)”。</p><p>  5.2.2繼電器主要產(chǎn)品技術(shù)參數(shù)</p><p><b>  1)額定工作電壓</b></p><

78、p>  額定工作電壓是指繼電器正常工作時(shí)線圈所需要的電壓。根據(jù)繼電器的型號(hào)不同,可以是交流電壓,也可以是直流電壓。</p><p><b>  2)直流電阻</b></p><p>  直流電阻是指繼電器中線圈的直流電阻,可以通過(guò)萬(wàn)能表測(cè)量。</p><p><b>  3)吸合電流</b></p>&

79、lt;p>  吸合電流是指繼電器能夠產(chǎn)生吸合動(dòng)作的最小電流。在正常使用時(shí),給定的電流必須略大于吸合電流,這樣繼電器才能穩(wěn)定地工作。而對(duì)于線圈所加的工作電壓,一般不要超過(guò)額定工作電壓的1.5倍,否則會(huì)產(chǎn)生較大的電流而把線圈燒毀。</p><p><b>  4)釋放電流</b></p><p>  釋放電流是指繼電器產(chǎn)生釋放動(dòng)作的最大電流。當(dāng)繼電器吸合狀態(tài)的電流減

80、小到一定程度時(shí),繼電器就會(huì)恢復(fù)到未通電的釋放狀態(tài)。這時(shí)的電流遠(yuǎn)遠(yuǎn)小于吸合電流。 </p><p>  5)觸點(diǎn)切換電壓和電流</p><p>  觸點(diǎn)切換電壓和電流是指繼電器允許加載的電壓和電流。它決定了繼電器能控制電壓和電流的大小,使用時(shí)不能超過(guò)此值,否則很容易損壞繼電器的觸點(diǎn)。</p><p>  5.2.3繼電器的電符號(hào)和觸點(diǎn)形式</p><

81、;p>  繼電器線圈在電路中用一個(gè)長(zhǎng)方框符號(hào)表示,如果繼電器有兩個(gè)線圈,就畫兩個(gè)并列的長(zhǎng)方框。同時(shí)在長(zhǎng)方框內(nèi)或長(zhǎng)方框旁標(biāo)上繼電器的文字符號(hào)“J”。繼電器的觸點(diǎn)有兩種表示方法:一種是把它們直接畫在長(zhǎng)方框一側(cè),這種表示法較為直觀。另一種是按照電路連接的需要,把各個(gè)觸點(diǎn)分別畫到各自的控制電路中,通常在同一繼電器的觸點(diǎn)與線圈旁分別標(biāo)注上相同的文字符號(hào),并將觸點(diǎn)組編上號(hào)碼,以示區(qū)別。繼電器的觸點(diǎn)有三種基本形式:</p><

82、;p>  1)動(dòng)合型(H型)線圈不通電時(shí)兩觸點(diǎn)是斷開的,通電后,兩個(gè)觸點(diǎn)就閉合。以合字的拼音字頭“H”表示。</p><p>  2)動(dòng)斷型(D型)線圈不通電時(shí)兩觸點(diǎn)是閉合的,通電后兩個(gè)觸點(diǎn)就斷開。用斷字的拼音字頭“D”表示。</p><p>  3)轉(zhuǎn)換型(Z型)這是觸點(diǎn)組型。這種觸點(diǎn)組共有三個(gè)觸點(diǎn),即中間是動(dòng)觸點(diǎn),上下各一個(gè)靜觸點(diǎn)。線圈不通電時(shí),動(dòng)觸點(diǎn)和其中一個(gè)靜觸點(diǎn)斷開和另一個(gè)

83、閉合,線圈通電后,動(dòng)觸點(diǎn)就移動(dòng),使原來(lái)斷開的成閉合,原來(lái)閉合的成斷開狀態(tài),達(dá)到轉(zhuǎn)換的目的。這樣的觸點(diǎn)組稱為轉(zhuǎn)換觸點(diǎn)。用“轉(zhuǎn)”字的拼音字頭“z”表示。</p><p><b>  5.3數(shù)碼管</b></p><p>  數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。</p><p>  5.3.1數(shù)碼管的分類</p><

84、;p>  數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字

85、段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。</p><p>  5.3.2數(shù)碼管的驅(qū)動(dòng)方式</p><p>  數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此

86、根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。</p><p>  1)靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才3

87、2個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p>  2)動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形

88、碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不

89、會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p><b>  6、軟件設(shè)計(jì)</b></p><p><b>  6.1 偽定義</b></p><p>  SL EQU 30H ;SL存放秒的個(gè)位數(shù) </p><p>  

90、SH EQU 3lH ;SH存放秒的十位數(shù)</p><p>  ML EQU 32H ;ML存放分的個(gè)位數(shù)</p><p>  MH EQU 33H ;MH存放分的十位數(shù)</p><p>  HL EQU 34H ;HL存放小時(shí)的個(gè)位數(shù)</p><p>  HH E

91、QU 35H ;HH存放小時(shí)的十位數(shù)</p><p><b>  ;</b></p><p>  L0 EQU 36H ;L0~L3:顯示數(shù)據(jù)存儲(chǔ)器</p><p>  L1 EQU 37H</p><p>  L2 EQU 38H</p><p

92、>  L3 EQU 39H</p><p>  DSPLYP EQU 3AH ;顯示數(shù)據(jù)指針(DISPLAY—POINT)</p><p>  PLYTS EQU 3BH ;顯示次數(shù)計(jì)數(shù)器(DISPLAY—TIMES)</p><p><b> ??;</b></p><p>

93、;  LPLMOD BIT 39H ;低兩位顯示方式(LOW—PLAY—MOD)</p><p>  HPLMOD BIT 3AH ;高兩位顯示方式(HIGH—PLAY—MOD)</p><p>  BRIGHT BIT 3BH :DISPLAY子程序參數(shù):亮/滅指示位</p><p><b> ??;</b>

94、;</p><p>  TCOUNT EQU 3CH ;時(shí)間計(jì)數(shù)器(TIME—COUNT)</p><p><b> ??;</b></p><p>  ADDRES EQU 3DH ,加l子程序參數(shù)</p><p>  MAX EQU 3EH ;加l子程序參數(shù)</p>

95、<p>  IFDEC BIT 20H ;BCD加法子程序參數(shù)</p><p><b>  ;</b></p><p>  R_MOD EQU 3FH ;響鈴方式參數(shù)</p><p><b> ?。?lt;/b></p><p>  LED4 BIT

96、 30H ;發(fā)光管狀態(tài)位</p><p>  BELL BIT P1.7 ;蜂鳴器</p><p>  WITCH BIT P3.7 ;繼電器</p><p>  FKEY BIT P3.0 ;功能鍵(S1) </p><p>  MKEY BIT P3.1 ;修

97、改鍵(S2)</p><p><b> ??;</b></p><p>  WORKIN BIT 38H ;工作狀態(tài)指示位</p><p><b>  6.2中斷入口</b></p><p>  ORG 0000H</p><p>  START: LJMP

98、 MAIN ;0000H引向主程序</p><p>  LJMP ERR ;0003H</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LJMP ERR ;引向出錯(cuò)處理程序</p>&l

99、t;p>  LJMP PGT0 ;000BH引向中斷處理程序PG丁0</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LJMP ERR ;引向出錯(cuò)處理程序</p><p>  LJMP ERR ;

100、0013H IN丁1</p><p><b>  NOP </b></p><p><b>  NOP</b></p><p>  LJMP ERR</p><p>  LJMP ERR ;00lBH T1</p><p><b>  NOP

101、</b></p><p><b>  NOP</b></p><p>  LJMP ERR</p><p>  LJMP ERR ;0023H</p><p><b>  NOP</b></p><p><b>  NOP</b&

102、gt;</p><p>  LJMP ERR</p><p>  LJMP ERR ;002BH</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  6.3主程序</b>&

103、lt;/p><p>  MAIN:MOV lE,#00H ;關(guān)中斷</p><p>  MOV SP,#57H ;設(shè)置堆棧指針</p><p>  MOV PSW,#00H ;選用寄存器組0</p><p>  MOV TMOD,#11H

104、 ;設(shè)定中斷工作方式為T0和T1</p><p><b>  ,</b></p><p>  MOV A,56H</p><p>  CJNE A,#0AAH,CSTART ;判斷上電復(fù)位標(biāo)志,無(wú)標(biāo)志轉(zhuǎn)冷啟動(dòng)</p><p>  MOV A,57H</p><p

105、>  CJNE A,#55H,CSTART ;無(wú)標(biāo)志轉(zhuǎn)冷啟動(dòng)</p><p>  AJMP HSTART ;有上電復(fù)位標(biāo)志轉(zhuǎn)熱啟動(dòng)</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p> 

106、 LJMP ERR ;軟件陷阱,引向出錯(cuò)處理程序</p><p>  CSTART:MOV P1,#0FFH ;冷啟動(dòng),全面初始化</p><p>  MOV P3,#0FFH</p><p>  MOV TCON,#00H ;計(jì)時(shí)停止</p&

107、gt;<p>  MOV TL0,#0BOH ;賦中斷T0初值</p><p>  MOV TH0,#3CH</p><p>  MOV TCOUNT,#0AH ;賦定時(shí)器初值</p><p>  M()V R5,#00H ;R5為一空單元(備用)<

108、;/p><p>  MOV R4,#00H ;R4為工作模式選擇寄存器</p><p>  MOV SI一#00H ;定時(shí)單元清零</p><p>  MOV SH,#00H ;秒</p><p>  MOV ML,#00H

109、 ;</p><p>  MOV MH,#00H ;分</p><p>  MOV HL,#00H ;</p><p>  MOV HH,#00H ;時(shí)</p><p>  MOV PLYTS,#64H

110、 ;賦顯示次數(shù)初值為100次</p><p>  MOV DSPLYP,#L0 ;顯示指針指向顯存單元</p><p>  MOV LO,#0AH ;送顯示數(shù)據(jù)“一一一一一”</p><p>  MOV L1, #0AH</p><p>  MOV

111、 L2,#0AH</p><p>  MOV L3,共04H</p><p>  SETB LED4 ;LED4為數(shù)碼管之間的發(fā)光二極管</p><p>  SETB LPLMOD ;設(shè)定顯示方式為閃爍</p><p>  SETB

112、HPLMOD ;</p><p>  SETB BRIGHT ;允許顯示</p><p>  CLR WORKIN ;清工作標(biāo)志,待命</p><p>  AJMP SETUP ;轉(zhuǎn)開始工作</p>

113、<p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LJMP ERR ;軟件陷阱</p><p>  HSTART:MOV SCON,#00H ;有上電標(biāo)志,熱啟動(dòng),清串行口控制寄存器</p><

114、p>  MOV IP,#00H ;清中斷優(yōu)先控制寄存器</p><p>  SETB FKEY ;重設(shè)按鍵</p><p>  SETB MKEY</p><p>  SETB EA ;開中斷</p>

115、<p>  AJMP BEGIN ;轉(zhuǎn)向繼續(xù)工作</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LJMP ERR ;軟件陷阱</p><p&g

116、t;  SETUP: SETB EA ;開中斷</p><p><b> ??;</b></p><p>  MAINl: ACALL DISPLY ;調(diào)用顯示</p><p>  JB FKEY,JUDGE ;按鍵掃描&

117、lt;/p><p>  ACALL KEYDLY ;延時(shí)消抖動(dòng)</p><p>  JB FKEY,JUDGE ;無(wú)鍵按下轉(zhuǎn)向判斷是否到點(diǎn)</p><p>  CLR ET0 ;功能鍵被按下</p><p>  CLR

118、 TR0 ;暫停計(jì)日寸</p><p>  ACALL MENU ;調(diào)用菜單設(shè)置程序</p><p>  BEGIN: SETB WORKIN ;置工作標(biāo)志位,開始工作</p><p>  SETB ET0

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論