畢業(yè)論文----基于單片機(jī)教室忙閑顯示系統(tǒng)的畢業(yè)設(shè)計(jì)畢業(yè)論文_第1頁
畢業(yè)論文----基于單片機(jī)教室忙閑顯示系統(tǒng)的畢業(yè)設(shè)計(jì)畢業(yè)論文_第2頁
畢業(yè)論文----基于單片機(jī)教室忙閑顯示系統(tǒng)的畢業(yè)設(shè)計(jì)畢業(yè)論文_第3頁
畢業(yè)論文----基于單片機(jī)教室忙閑顯示系統(tǒng)的畢業(yè)設(shè)計(jì)畢業(yè)論文_第4頁
畢業(yè)論文----基于單片機(jī)教室忙閑顯示系統(tǒng)的畢業(yè)設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

吉 林 農(nóng) 業(yè) 大 學(xué) 本 科 畢 業(yè) 設(shè) 計(jì) 論文題目 : 綜合樓教室忙閑顯示系統(tǒng) 學(xué)生姓名: 專業(yè)年級(jí): 電 子信息科學(xué)與技術(shù) 指導(dǎo)教師: 職稱 講師 2008 年 6 月 3 日 I 目 錄 題目 . 錯(cuò)誤 !未定義書簽。 摘要 . I 1 前言 . 1 1.1 題目的來源與開發(fā)意義 . 1 1.2 系統(tǒng)功能概述 . 1 2 方案的提出及論證 . 1 3 系統(tǒng)硬件設(shè)計(jì) . 2 3.1 系 統(tǒng)硬件總體設(shè)計(jì)概述 . 2 3.2 系統(tǒng)各個(gè)模塊的設(shè)計(jì) . 3 3.2.1 教室狀態(tài)顯示模塊 . 3 3.2.2 時(shí)間顯示模塊 . 3 3.2.3 按鍵模塊 . 4 3.3 芯片介紹 . 4 3.3.1 AT89C51 單片機(jī)的簡介 . 4 3.3.2 DS1302 時(shí)鐘 . 9 3.3.3 8 位串入 /并出移位寄存器 74HC164 . 13 4 系統(tǒng)軟件設(shè)計(jì) . 14 4.1 系統(tǒng)軟件總體設(shè)計(jì)思想 . 14 4.2 Keil 開發(fā)軟件的介紹 . 14 4.2.1 Keil 軟件開發(fā)的流程 . 15 4.2.2 Keil 軟件的使用 . 16 4.3 各功能模塊程序設(shè)計(jì) . 18 4.3.1 數(shù)據(jù)模塊 . 18 4.3.2 時(shí)鐘模塊 . 21 4.3.3 功能模塊 . 25 5 系統(tǒng)調(diào)試 . 32 5.1 硬件 電路調(diào)試 . 32 5.2 各功能模塊軟件調(diào)試 . 32 6 結(jié)論 . 32 參考文獻(xiàn) . 33 致謝 . 33 附錄一 : 系統(tǒng)總體硬件原理圖 . 34 附錄二: 系統(tǒng)程序流程圖 . 35 附錄三:系統(tǒng)程序 . 38 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) I 綜合樓 教室忙閑狀態(tài)顯示系統(tǒng) 學(xué) 生: 左 晨 專 業(yè): 電子信息科學(xué)與技術(shù) 指導(dǎo)教師: 宮鶴 摘 要 :本設(shè)計(jì)實(shí)現(xiàn)了綜合樓教室忙閑狀態(tài)顯示的功能。綜合樓教室忙閑顯示系統(tǒng)是建立在單片機(jī)的基礎(chǔ)上的電子監(jiān)控系統(tǒng),它主要是用來 查詢和顯示綜合樓各個(gè)教室在某一時(shí)間段的忙閑狀態(tài),顯示當(dāng)前年月日等等。信息存儲(chǔ)調(diào)用系統(tǒng)是綜合樓教室忙閑狀態(tài)顯示系統(tǒng)中非常重要的一部分,而時(shí)鐘又是時(shí)間系統(tǒng)必不可少的。本設(shè)計(jì)就是以信息存儲(chǔ)調(diào)用系統(tǒng)和時(shí)鐘系統(tǒng)作為研究對(duì)象,主要介紹了信息存儲(chǔ)的基本概念,時(shí)鐘設(shè)置和編程的基本步驟等等,信息存儲(chǔ)系統(tǒng)是在 C+環(huán)境下進(jìn)行串行通信編程的。我們這次研究的信息存儲(chǔ)系統(tǒng)是為了實(shí)現(xiàn)綜合樓各個(gè)教室信息的存儲(chǔ),數(shù)據(jù)的調(diào)用。通過寫入程序來實(shí)現(xiàn)存儲(chǔ)和調(diào)出查詢功能,存儲(chǔ)系統(tǒng)和時(shí)間系統(tǒng)緊密結(jié)合,把從存儲(chǔ)調(diào)出的數(shù)據(jù)經(jīng)過對(duì)比分析,最后顯示出 所需要的 數(shù)據(jù),可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的更新。另外,數(shù)據(jù)還包括對(duì)時(shí)間的 查詢。通過時(shí)間的查詢獲得相應(yīng)時(shí)間教室的狀態(tài)信息。存儲(chǔ)系統(tǒng)和時(shí)鐘系統(tǒng)的有效結(jié)合,使系統(tǒng)工作更加準(zhǔn)確。 關(guān)鍵詞 : 存儲(chǔ)系統(tǒng); 單片機(jī) ; C+;時(shí)鐘系統(tǒng) Comprehensive Building Blassroom Busy Idle Condition Display System Name: ZuoChen Major: Electronic information science and technology Tutor: GongHe Abstract: This design has realized the synthesis building classroom busy idle condition demonstration function. The comprehensive building classroom busy idle display systems are the establishment in SCMs foundation electron supervisory system, it is mainly uses for to inquire and demonstration synthesis building each classroom in some time section busy idle condition, demonstration current year, month and day and so on. The information storage transfer system synthesizes in the building classroom busy idle condition display system a very important part, but the clock is also the time system is essential. This design is takes the object of study by the information storage transfer system and the clock system, mainly introduced information storages basic concept, clock establishment and programming basic step and so on, the information storage systems are carry on the serial communication programming under the C+ environment. Our researchs information storage system is to realize the synthesis building each classroom information memory, the data transfer. Through reads in the procedure to realize saves and assigns out the inquiry function, the memory system and the time system unifies closely, data which assigns out from the memory after contrastive analysis, finally demonstrated needs the data, may realize to the database renewal. 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) II Moreover, the data also includes to the time inquiry. Obtains the corresponding time classroom the pass time passage period inquiry the status messages. The memory system and clock systems effective union, causes the system work to be more accurate. Keywords: memory system; SCM; C+; clock system 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 1 1 前言 1.1 題目的來源與開發(fā)意義 自 20 世紀(jì) 90 年代以來,單片機(jī)已進(jìn)入了一個(gè)高速發(fā)展的階段,世界上著名的半導(dǎo)體廠商都注重新型單片機(jī)的研制、生產(chǎn)和推廣。單片機(jī)的應(yīng)用已經(jīng)深入到國民經(jīng)濟(jì)的各個(gè)領(lǐng)域中,由單片機(jī)控制的微型電腦產(chǎn)品比比皆是。單片機(jī)正朝著面向多層次用戶的多品種多規(guī)格方向發(fā)展。 隨著 電子技術(shù)的發(fā)展 , 現(xiàn)在的忙閑顯示系統(tǒng)功能越來越強(qiáng) , 可靠性和準(zhǔn)確性的要求也越來越高。以前的忙閑顯示系統(tǒng)大部分都是基于數(shù)字電路組成的,其功能比較單一,使用起來也不夠理想,制作過程復(fù)雜 , 而且準(zhǔn)確性與可靠性不高 , 成品面積大 , 安裝 , 維護(hù)困難。由于近年來單片機(jī)發(fā)展迅速 , 逐漸出現(xiàn)用單片機(jī)制作忙閑顯示系統(tǒng) , 制作過程簡單 , 而且安裝 , 維護(hù)簡單。 綜合樓 教室空閑狀態(tài)顯示系統(tǒng)主要是由存儲(chǔ)系統(tǒng)、時(shí)鐘系統(tǒng)和顯示系統(tǒng)三部分組成。本次畢業(yè)設(shè)計(jì),我主要研究的是存儲(chǔ)系統(tǒng)和顯示系統(tǒng)兩部分。它的主要功能是將預(yù)先輸入的信息數(shù)據(jù)通過 對(duì)應(yīng)時(shí)間調(diào)用方式將信息通過二級(jí)管亮滅狀態(tài)顯示出來,并能對(duì)數(shù)據(jù)庫進(jìn)行及時(shí)的更新。教室忙閑顯示系統(tǒng)的開發(fā)工具 KEIL。 1.2 系統(tǒng)功能概述 本設(shè)計(jì)以單片機(jī) AT89C51 為核心,通過一片 AT89C51 單片機(jī)控制綜合樓各個(gè)教室在某一時(shí)間忙閑狀態(tài)的顯示及鍵盤和各顯示終端。利用 74164 使本系統(tǒng)具有了顯示查詢時(shí)間和北京時(shí)間以及年月日的功能,并且能夠設(shè)置和查詢特定的時(shí)間。 在實(shí)際的學(xué)習(xí)生活中,如果應(yīng)用到此系統(tǒng),必然要考慮到它的實(shí)用性,所以本設(shè)計(jì)采用并排顯示, 它主要功能是顯示和查詢?cè)谀骋粋€(gè)特定的時(shí)間里,從存儲(chǔ)系統(tǒng)中 調(diào)出相應(yīng)時(shí)間段所對(duì)應(yīng)的綜合樓各個(gè)教室當(dāng)前空閑或繁忙的狀態(tài),通過發(fā)光二極管的亮、滅狀態(tài)來顯示。 可以直觀的看到每一層樓各個(gè)教室在當(dāng)前時(shí)間的忙閑狀態(tài),還有年月日時(shí)間的顯示,大大方便了同學(xué)查詢。 簡單、實(shí)用、廉價(jià)是本設(shè)計(jì)的創(chuàng)新之處,可以輕松的實(shí)現(xiàn)對(duì)綜合樓各個(gè)教室忙閑狀態(tài)的顯示和查詢的功能。 2 方案的提出及論證 方案一: 系統(tǒng)采用 點(diǎn)陣 做顯示, 顯示年月日時(shí)間。 用 LS273 做鎖存器 , DS1302 時(shí)鐘 I2C 總線模式, 24CXX 系列做存儲(chǔ),利用單片機(jī)進(jìn)行連接。 經(jīng)過多次試驗(yàn)嘗試,均不能成功。且系統(tǒng)成本較高,時(shí)間反應(yīng)速度緩慢, 不能實(shí)現(xiàn)預(yù)期的效果。因此放棄了本方案。 方案二: 系統(tǒng)軟件處理部分采用 AT89C51 芯片,用 DS1302 建立時(shí)鐘電路, 利用主控單片吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 2 機(jī)的兩個(gè) I/O 口作為新的串行口,利用 74164 做的靜態(tài)顯示模塊,使本系統(tǒng)具有了顯示回答時(shí)間和北京時(shí)間的功能,考慮到實(shí)際的應(yīng)用,利用 2 個(gè)大數(shù)碼管顯示層數(shù),方便同學(xué)查詢。 設(shè)置 S1, S2, S3 按鍵 圖 2.1方案二原理框圖 Fig 2.1 Project two principle frame diagram 3 系統(tǒng)硬件設(shè)計(jì) 3.1 系統(tǒng)硬件總體設(shè)計(jì) 概述 綜合樓教室忙閑狀態(tài)顯示系統(tǒng)就是用來準(zhǔn)確的實(shí)時(shí)的顯示出當(dāng)前在綜合樓里面每一個(gè)教室的狀態(tài),以及查詢各個(gè)時(shí)間段教室空閑狀態(tài)。 本著這個(gè)原則,可以利用單片機(jī)控制其工作,將樓層信息教室狀態(tài)顯示出來 為了使系統(tǒng)更人性化,功能更加完善,同學(xué)可以按照自己的需求進(jìn)行查詢某一個(gè)教室在某一個(gè)時(shí)間里是否有課。為了使同學(xué)能夠清楚的看到查詢的信息,利用數(shù)碼管進(jìn)行動(dòng)態(tài)顯示。 本設(shè)計(jì)的硬件系統(tǒng)分為 七 個(gè)模塊:處理 模塊 ,時(shí)鐘 模塊 ,晶振 模塊 , 按鍵 模塊 ,復(fù)位 模塊 , 時(shí)間顯示模塊,教室狀態(tài)顯示模塊。 年月顯示 查詢 北京時(shí)間 P3 P1 8 0 5 1 P2 P0 教室顯示 時(shí)鐘 數(shù)碼管 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 3 3.2 系統(tǒng)各個(gè)模塊的設(shè)計(jì) 3.2.1 教室 狀態(tài)顯示模塊 教室狀態(tài)顯示模塊中有一層教學(xué)樓的 40 個(gè)教室所一一對(duì)應(yīng)的發(fā)光二極管,其顯示方式為亮、滅兩種,狀態(tài)亮為教室有課,狀態(tài)滅為教室沒有課。 本功能模塊的設(shè)計(jì)采用一起顯示 單獨(dú) 查詢的方式, 具有顯示當(dāng)前時(shí)刻教室狀態(tài)的功能。譯碼器輸出驅(qū)動(dòng)數(shù)碼管顯示。電源范圍為 318 伏,本設(shè)計(jì)采用 5V 電源輸出驅(qū)動(dòng)電流可達(dá)到 10MA 以上,可直接驅(qū)動(dòng) LED 數(shù)碼管,而不需要其他的接口電路。 1其電路圖如 3.1 所示。 圖 3.1教室狀態(tài)模塊電路圖 Fig 3.1 Classroom condition module circuit diagram 3.2.2 時(shí)間顯示模塊 在同學(xué)沒有查詢的時(shí)候,系統(tǒng)顯示當(dāng)前年月日時(shí)間和樓層數(shù),在同學(xué)進(jìn)行時(shí)間查詢的時(shí)候顯示查詢時(shí)間。 此顯示模塊是采用動(dòng)態(tài)顯示。由 P2.0 和 P2.1 口進(jìn)行串行送數(shù)據(jù),經(jīng)過串并轉(zhuǎn)換器74LS164 并行輸出數(shù)據(jù)。 2采用串行輸出可以大大節(jié)省單片機(jī)的內(nèi)部資源,串并轉(zhuǎn)換器采用 74LS164,低電平時(shí)允許通過 8MA 的電流,無需添加其他的驅(qū)動(dòng)電路,采用較小的驅(qū)動(dòng)電流就可以得到較高的顯示亮度,其電路圖如圖 3.2 所示。 圖 3.2時(shí)間顯示模塊的電路圖 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 4 Fig 3.2 Time the circuit module 3.2.3 按鍵模塊 按鍵模塊連接到 P2 口,通過軟件來判斷哪個(gè)按鍵執(zhí)行哪個(gè)功能,是否按下。通過按鍵可以調(diào)整時(shí)間,達(dá)到查詢時(shí)間的作用。電路如圖 3.3 所示。 圖 3.3按鍵 模塊電路圖 Fig 3.3 Key module circuit diagram 3.3 芯片介紹 3.3.1 AT89C51 單片機(jī)的簡介 AT89C51是一種帶 4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器( FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8位微處理器,俗稱單片機(jī)。 AT89C51是一種帶 4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。 3單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除 100次。該器件采用 ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51指令集和輸出管腳相兼容。由于將多功能 8位 CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中, ATMEL的 AT89C51是一種高效微控制器, AT89C2051是它的一種精簡版本。 AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了 一種靈活性高且價(jià)廉的方案 主要特性: 與 MCS-51 兼容 4K 字節(jié)可編程閃爍存儲(chǔ)器 ,壽命: 1000 寫 /擦循環(huán),數(shù)據(jù)保留時(shí)間: 10 年 全靜態(tài)工作: 0Hz-24Hz 三級(jí)程序存儲(chǔ)器鎖定 128*8 位內(nèi)部 RAM 32 可編程 I/O 線 兩個(gè) 16 位定時(shí)器 /計(jì)數(shù)器 5 個(gè)中斷源 可編程串行通道 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 5 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路 管腳說明 : VCC:供電電壓。 GND:接地。 P0 口: P0 口為一個(gè) 8 位漏極開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng) P1 口的管腳第一次寫 1 時(shí),被定義為高阻輸入。 P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FIASH 編程時(shí), P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗(yàn)時(shí), P0 輸出原碼,此時(shí) P0 外部必須被拉高。 5 P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩沖器能接收輸出4TTL 門電流。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入, P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗(yàn)時(shí), P1 口作為第八位地址接收 6。 P2 口: P2 口為一 個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 口緩沖器可接收,輸出 4個(gè) TTL 門電流,當(dāng) P2 口被寫 “1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí), P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。 P2口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí), P2 口輸出地址的高八位。在給出地址 “1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí), P2 口輸出其特殊功能寄存器的內(nèi)容。 P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào) 7。 P3 口: P3 口管腳 是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。當(dāng) P3 口寫入 “1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故 6。 P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD (串行輸入口) P3.1 TXD (串行輸出口) P3.2 /INT0 (外部中斷 0) P3.3 /INT1(外部中斷 1) P3.4 T0 (記時(shí)器 0 外部輸入) P3.5 T1 ( 記時(shí)器 1 外部輸入) P3.6 /WR (外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD (外部數(shù)據(jù)存儲(chǔ)器讀選通) P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 6 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時(shí), ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的 1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然 而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時(shí), ALE 只有在執(zhí)行 MOVX, MOVC指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /PSEN 有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN 信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng) /EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器( 0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式 1 時(shí), /EA 將內(nèi)部鎖定為 RESET;當(dāng) /EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 定時(shí)器 0和 1的操作 7 定時(shí)和計(jì)數(shù)功能由特殊功能寄存器 TMOD的控制位 C/T進(jìn)行選擇。這兩個(gè)定時(shí) /計(jì)數(shù)器有 4種操作模式,通過 TMOD的 M1和 M0選擇。兩個(gè)定時(shí) /計(jì)數(shù)器的模式 0、 1和 2都相同,模式 3不同。如下所 述: 模式 0 將定時(shí)器設(shè)置成模式 0時(shí)類似 8048定時(shí)器,即 8位計(jì)數(shù)器帶 32分頻的預(yù)分頻器。 此模式下,定時(shí)器寄存器配置為 13位寄存器。當(dāng)計(jì)數(shù)從全為 “1”翻轉(zhuǎn)為全為 “0”時(shí),定時(shí)器中斷標(biāo)志位 TFn置位。當(dāng) TRn=1同時(shí) GATE=0或 INTn=1時(shí)定時(shí)器計(jì)數(shù)。置位 GATE時(shí)允許由外部輸入 INTn控制定時(shí)器,這樣可實(shí)現(xiàn)脈寬測量。 TRn為 TCON寄存器內(nèi)的控制位。 該 13位寄存器包含 THn全部 8個(gè)位及 TLn的低 5位。 TLn的高 3位不定,可將其忽略。置位運(yùn)行標(biāo)志( TRn)不能清零此寄存器。模式 0的操作對(duì)于定時(shí)器 0及定 時(shí)器 1都是相同的。兩個(gè)不同的 GATE位( TMOD.7和 TMOD.3)分別分配給定時(shí)器 0及定時(shí)器 1。 模式 1 模式 1除了使用了 THn及 TLn全部 16位外,其它與模式 0相同。 模式 2 此模式下定時(shí)器寄存器作為可自動(dòng)重裝的 8位計(jì)數(shù)器( TLn)。 TLn的溢出不僅置位TFn,而且將 THn內(nèi)容重新裝入 TLn, THn內(nèi)容由軟件預(yù)置。重裝時(shí) THn內(nèi)容不變。模式2的操作對(duì)于定時(shí)器 0及定時(shí)器 1是相同的。 模式 3 在模式 3中,定時(shí)器 1停止計(jì)數(shù),效果與將 TR1設(shè)置為 0相同。 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 7 此模式下定時(shí)器 0的 TL0及 TH0作為兩個(gè)獨(dú)立的 8位計(jì)數(shù)器 。 TL0占用定時(shí)器 0的控制位: C/T, GATE, TR0, INT0及 TF0。 TH0限定為定時(shí)器功能(計(jì)數(shù)器周期),占用定時(shí)器 1的 TR1及 TF1。此時(shí) TH0控制 “定時(shí)器 1”中斷。 模式 3可用于需要一個(gè)額外的 8位定時(shí)器的場合。定時(shí)器 0工作于模式 3時(shí), 80C51看似有 3個(gè)定時(shí)器 /計(jì)數(shù)器,當(dāng)定時(shí)器 0工作于模式 3時(shí),定時(shí)器 1可通過開關(guān)進(jìn)入 /退出模式 3,它仍可用作串行端口的波特率發(fā)生器,或者應(yīng)用于任何不要求中斷的場合。 串行口 8 51單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器( SBUF),這兩個(gè)在物理 上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為 99H。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標(biāo)準(zhǔn)的 RS-232接口 串行數(shù)據(jù)通信兩種形式 異步通信 在這種通信方式中,接收器和發(fā)送器有各自的時(shí)鐘,它們的工作是非同步的,異步通信用一幀來表示一個(gè)字符,其內(nèi)容如下:一個(gè)起始位,僅接著是若干個(gè)數(shù)據(jù)位。 同步通信格式中, 發(fā)送器和接收器由同一個(gè)時(shí)鐘源控制,為了克服在異步通信中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時(shí)間,在要求傳送數(shù)據(jù)量較大的場合,速度就慢得多。同步傳輸方式去掉了這些起始位和停止位,只在傳輸數(shù)據(jù)塊時(shí)先送出一個(gè)同步頭(字符)標(biāo)志即可。 同步傳輸方式比異步傳輸方式速度快,這是它的優(yōu)勢。但同步傳輸方式也有其缺點(diǎn),即它必須要用一個(gè)時(shí)鐘來協(xié)調(diào)收發(fā)器的工作,所以它的設(shè)備也較復(fù)雜。 串行數(shù)據(jù)通信的傳輸速率 串行數(shù)據(jù)傳輸速率有兩個(gè)概念,即每秒轉(zhuǎn)送的位數(shù) bps( Bit per second) 和每秒符號(hào)數(shù) 波特率( Band rate),在具有調(diào)制解調(diào)器的通信中,波特率與調(diào)制速率有關(guān)。 9 串行口和控制寄存器 單片機(jī)串行口寄存器結(jié)構(gòu)如圖 3.5所示。 SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址( 99H)。 10MCS-51的串行數(shù)據(jù)傳輸很簡單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)。 移位時(shí)鐘 TI 發(fā)送中斷 TXD 串行輸出 接受 SBUF 輸入移位寄存器 RXD 串行輸入 RI 接受中斷 發(fā)送 SBUF 系統(tǒng)總線 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 8 圖 3.5 串行口寄存器結(jié)構(gòu)圖 Fig 3.5 The string goes to deposit machine knot composition 串行口控制寄存器 : SCON控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址是 98H,其結(jié)構(gòu)格式如表 3.1所示 . 表 3.1 SCON寄存器結(jié)構(gòu) Table 3.1 The SCON deposits machine structure SCON 寄存器結(jié)構(gòu) SCON D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H SM0、 SM1:串行口工作方式控制位。 SM0, SM1 工作方式 00 方式 0 01 方式 1 10 方式 2 11 方式 3 SM2:多機(jī)通信控制位。 多機(jī)通信是工作于方式 2和方式 3, SM2位主要用于方式 2和方式 3。接收狀態(tài),當(dāng)串行口工作于方式 2或 3,以及 SM2=1時(shí),只有當(dāng) 接收到第 9位數(shù)據(jù)( RB8)為 1時(shí),才把接收到的前 8位數(shù)據(jù)送入 SBUF,且置位 RI發(fā)出中斷申請(qǐng),否則會(huì)將接受到的數(shù)據(jù)放棄。 11當(dāng) SM2=0時(shí),就不管第位數(shù)據(jù)是 0還是 1,都難得數(shù)據(jù)送入 SBUF,并發(fā)出中斷申請(qǐng)。 工作于方式 0時(shí), SM2必須為 0。 REN:允許接收位。 REN用于控制數(shù)據(jù)接收的允許和禁止, REN=1時(shí),允許接收, REN=0時(shí),禁止接收。 TB8:發(fā)送接收數(shù)據(jù)位 8。 在方式 2和方式 3中, TB8是要發(fā)送的 即第 9位數(shù)據(jù)位。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù), TB8=0為數(shù)據(jù), TB8=1時(shí)為地址。 RB8:接收數(shù)據(jù)位 8。 在方式 2和方式 3中, RB8存放接收到的第 9位數(shù)據(jù),用以識(shí)別接收到的數(shù)據(jù)特征。 TI:發(fā)送中斷標(biāo)志位。 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 9 可尋址標(biāo)志位。方式 0時(shí),發(fā)送完第 8位數(shù)據(jù)后,由硬件置位,其它方式下,在發(fā)送或停止位之前由硬件置位,因此, TI=1表示幀發(fā)送結(jié)束, TI可由軟件清 “0”。 RI:接收中斷標(biāo)志位。 可尋址標(biāo)志位。接收完第 8位數(shù)據(jù)后,該位由硬件置位,在其他工作方 式下,該位由硬件置位, RI=1表示幀接收完成。 電源管理寄存器 PCON PCON主要是為 CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址是87H,其結(jié)構(gòu)格式如表 3.2所示。 表 3.2PCON電源管理寄存器結(jié)構(gòu) Table 3.2 The PCON power supply management deposits machine structure PCON 電源管理寄存器結(jié)構(gòu) PCON D7 D6 D5 D4 D3 D2 D1 D0 位符號(hào) SMOD - - - GF1 GF0 PD IDL 在 CHMOS 型單片機(jī)中,除 SMOD 位外,其他位均為虛設(shè)的, SMOD 是串行口波特率倍增位,當(dāng) SMOD=1 時(shí),串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為 SMOD=0。 3.3.2 DS1302 時(shí)鐘 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為 2.5V 5.5V。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM 數(shù)據(jù)。 DS1302 內(nèi)部有一 個(gè) 318 的用于臨時(shí)性存放數(shù)據(jù)的 RAM寄存器。 DS1302 是 DS1202 的升級(jí)產(chǎn)品,與 DS1202 兼容,但增加了主電源 /后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。 12 DS1302 的引腳排列 ,其中 Vcc1 為后備電源, VCC2 為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。 DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。當(dāng) Vcc2 大于 Vcc1 0.2V 時(shí), Vcc2 給 DS1302 供電。當(dāng) Vcc2 小于 Vcc1 時(shí), DS1302 由 Vcc1 供電。X1 和 X2 是振蕩源,外接 32.768kHz 晶振。 RST 是復(fù)位 /片選線,通過把 RST 輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。 RST 輸入有兩種功能:首先, RST 接通控制邏輯,允許地址 /命令序列送入移位寄存器;其次, RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) RST 為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì) DS1302 進(jìn)行操作。如果在傳送過程中 RST 置為低電平,則會(huì)終止此次數(shù)據(jù)傳送, I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 Vcc2.5V 之前, RST 必須保持低電平。只有在 SCLK 為低電平時(shí),才能將RST 置為高電平。 I/O 為串行數(shù)據(jù)輸入輸出端 (雙向 ),后 面有詳細(xì)說明。 SCLK 始終是輸入端。 DS1302 的控制字如圖 2 所示??刂谱止?jié)的最高有效位 (位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中,位 6 如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 10 表示存取 RAM 數(shù)據(jù) ;位 5 至位 1 指示操作單元的地址 ;最低有效位 (位 0)如為 0 表示要進(jìn)行寫操作,為 1 表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。同樣,在緊跟 8 位的控制指令字后的下一個(gè) SCLK 脈沖 的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0 位到高位 7。 DS1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼形式 ,其日歷、時(shí)間寄存器及其控制字。此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302 與 RAM 相關(guān)的寄存器分為兩類:一類是單個(gè) RAM 單元,共 31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8 位的字節(jié),其命令控制字為 C0H FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作 ;另一類為突發(fā)方式下的 RAM寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個(gè)字節(jié),命令控制字為 FEH(寫 )、FFH(讀 )。 時(shí)鐘是單片機(jī)系統(tǒng)中不可或缺的。時(shí)鐘可以通過軟件實(shí)現(xiàn) ,當(dāng)時(shí)鐘只是系統(tǒng)的輔助功能時(shí) ,用大量的軟件來實(shí)現(xiàn)時(shí)鐘功能 ,會(huì)影響主要功能的實(shí)現(xiàn)或使軟件復(fù)雜化。本文介紹串行實(shí)時(shí)時(shí)鐘芯片 DS1302,采用該芯片 ,單片機(jī)只需定時(shí)讀出芯片的時(shí)鐘 ,其余時(shí)間可作別的工作。 DS1302 的實(shí)時(shí)時(shí)鐘包括秒、分、小時(shí)、日、月、星期、年等信息 ,與單片機(jī)采用串行通信。時(shí)鐘可選 24 小時(shí)制或 12 小時(shí)制 ,可自動(dòng)調(diào)整閏年及 月份、日期。讀寫命令字節(jié)的格式及讀寫操作方式如圖 1。最高位為 “1”,允許寫操作 ,為 “0”,禁止寫操作。RAM/CK 為 “0”,表示讀寫時(shí)鐘 /日歷數(shù)據(jù) ,為 “1”,表示讀寫 RAM 數(shù)據(jù)。 A4A0 為數(shù)據(jù)讀寫的地址。 R/W 為 “0”,表示可進(jìn)行寫操作 ,為 “1”則進(jìn)行讀操作。單字節(jié)操作需 16 個(gè)時(shí)鐘 ,前 8 個(gè)時(shí)鐘寫命令字 ,后 8 個(gè)時(shí)鐘讀寫數(shù)據(jù)。多字節(jié)突發(fā)模式讀寫 ,其命令字的地址A4A3A2A1A0=11111 即可。其命令字的格式及操作方式如圖 2。 DS1302 的時(shí)鐘 /日歷數(shù)據(jù)格式為 BCD 碼 ,秒、分、小時(shí)、日、月、星期、年的地址分 別為 00H、 01H、 02H、03H、 04H、 05H、 06H。寫保護(hù)寄存器的地址 A4A3A2A1A0=00111,格式如圖 3。 WP 為“0”,可對(duì)時(shí)鐘或 RAM 進(jìn)行寫操作。 WP 為 “1”,禁止寫任何寄存器。 LED 數(shù)碼顯示用MC14499 四位七段譯碼驅(qū)動(dòng)器 ,輸入為 BCD 碼 ,譯碼輸出直接驅(qū)動(dòng) LED 的各段。當(dāng)使能信號(hào) EN 為 “0”時(shí) ,在時(shí)鐘 CLK 的作用下 ,串行數(shù)據(jù)輸入端接收 20 位串行數(shù)據(jù) ,然后使 EN為 “1”,將移位寄存器中的內(nèi)容裝入鎖存器。其數(shù)據(jù)格式如圖 4。前 4 位數(shù)據(jù)為小數(shù)點(diǎn) ,后16 位是 4 位數(shù)碼顯示器顯示的數(shù)據(jù)。 MC14499 級(jí)聯(lián)使用時(shí) ,小數(shù)點(diǎn)顯示無效 ,小數(shù)點(diǎn)代碼鎖存器需裝入全 “1”。單片機(jī)選用 Microchip 公司的 PIC16C63A,電路如圖 5。本例中只顯示年、月、日、小時(shí)、分、秒等 ,不顯示星期 ,但對(duì) DS1302 的讀、寫采用突發(fā)模式。為了保證讀、寫時(shí)地址的連續(xù)性 ,在操作中設(shè)有星期的讀、寫。程序中小數(shù)點(diǎn)位用 “1111”填充 ,先輸入的第一字節(jié)是秒的 BCD 碼 ,第二字節(jié)是分的 BCD 碼 ,第三字節(jié)的低四位是小數(shù)點(diǎn)填充位 “1111”,第三字節(jié)的高四位及第四字節(jié)的低四位是小時(shí)的 BCD 碼 ,依此類推 ,顯示年、月、日、小時(shí)、分、秒需輸入 8 字節(jié) 數(shù)據(jù) ,PIC16C63A 發(fā)送了 88=64 位數(shù)據(jù) ,吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 11 三片 MC14499 實(shí)際接收 60 位 ,第八字節(jié)的高四位 “1111”被移出 ,實(shí)現(xiàn)了 MC14499 的級(jí)聯(lián)。 DS1302 數(shù)據(jù)的讀取采用中斷方式 ,0.1 秒讀取 1 次數(shù)據(jù)。時(shí)間 /日歷的顯示每變化 0.05秒顯示 1 次。 實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè) 32.768kHz 的晶振即可。只是選擇晶振時(shí),不同的晶振,誤差也較大。另外,還可以在上面的電路中加入 DS18B20,同時(shí)顯示實(shí)時(shí)溫度。只要占用 CPU 一個(gè)口線即可。 LCD 還可以換成 LED,還可以使用北京衛(wèi)信杰科技發(fā)展 有限公司生產(chǎn)的 10 位多功能 8 段液晶顯示模塊 LCM101,內(nèi)含看門狗 (WDT)/時(shí)鐘發(fā)生器及兩種頻率的蜂鳴器驅(qū)動(dòng)電路,并有內(nèi)置顯示 RAM,可顯示任意字段筆劃,具有 3 4 線串行接口,可與任何單片機(jī)、 IC 接口。功耗低,顯示狀態(tài)時(shí)電流為 2A (典型值 ),省電模式時(shí)小于 1A,工作電壓為 2.4V 3.3V,顯示清晰。 DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位 MSB(D7)必須為邏輯 1,如果 D7=0,則禁止寫 DS1302,即寫保護(hù); D6=0,指定時(shí)鐘數(shù)據(jù), D6=1,指定 RAM 數(shù)據(jù); D5 D1 指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯 0,指定寫操作 (輸入 ), D0=1,指定讀操作 (輸出 )。 在 DS1302 的時(shí)鐘日歷或 RAM 進(jìn)行數(shù)據(jù)傳送時(shí), DS1302 必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送, 8 位命令字節(jié)傳送結(jié)束之后,在下 2 個(gè) SCLK 周期的上升沿輸入數(shù)據(jù)字節(jié),或在下 8 個(gè) SCLK 周期的下降沿輸出數(shù)據(jù)字節(jié)。 DS1302 與 RAM 相關(guān)的寄存器分為兩類 :一類是單個(gè) RAM 單元,共 31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8 位的字節(jié),其命令控制字為 C0H FDH,其中奇 數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的 RAM 寄存器,在此方式下可一次性讀、寫所有的 RAM的 31 個(gè)字節(jié)。 要特別說明的是備用電源 B1,可以用電池或者超級(jí)電容器 (0.1F 以上 )。雖然 DS130

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論