數(shù)字萬用表的設(shè)計(jì)單片機(jī)自動(dòng)打鈴系統(tǒng)論文_第1頁
數(shù)字萬用表的設(shè)計(jì)單片機(jī)自動(dòng)打鈴系統(tǒng)論文_第2頁
數(shù)字萬用表的設(shè)計(jì)單片機(jī)自動(dòng)打鈴系統(tǒng)論文_第3頁
數(shù)字萬用表的設(shè)計(jì)單片機(jī)自動(dòng)打鈴系統(tǒng)論文_第4頁
數(shù)字萬用表的設(shè)計(jì)單片機(jī)自動(dòng)打鈴系統(tǒng)論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、欽州學(xué)院電子電路課程設(shè)計(jì)報(bào)告數(shù)字萬用表的設(shè)計(jì)院 系 物理與電子工程學(xué)院 專 業(yè) 自動(dòng)化 學(xué) 生 班 級(jí) 自動(dòng)本101班 姓 名 _韋永強(qiáng)_ 指導(dǎo)教師單位 學(xué)院 指導(dǎo)教師 申康 指導(dǎo)教師職稱 講 師 2013年10月38 / 41摘要在現(xiàn)如今快節(jié)奏的生活中,人們對(duì)于時(shí)間的要求越來越苛刻,很多時(shí)候都需要對(duì)時(shí)間進(jìn)行規(guī)劃,然后到時(shí)間點(diǎn)就要有時(shí)間提醒,這就必須用到時(shí)鐘提醒裝置,亦可稱為打鈴裝置。打鈴裝置有很多種,比如手機(jī)的打鈴系統(tǒng),鬧鐘的機(jī)械打鈴裝置,廣播打鈴系統(tǒng)等等,但是日常生活中見得最多的還是校園的自動(dòng)打鈴系統(tǒng)。在學(xué)校生活中,每天上下課都離不開打鈴系統(tǒng)的使用。打鈴器可以為上下課的學(xué)生和老師們提供時(shí)間

2、提醒,有利于師生對(duì)上課和學(xué)習(xí)的合理安排,同時(shí),也可作為一個(gè)提醒學(xué)生們作息時(shí)間的時(shí)間表,讓老師和學(xué)生都能有一個(gè)規(guī)律和科學(xué)的時(shí)間安排。因此,打鈴系統(tǒng)的核心部分也是時(shí)鐘部分,為系統(tǒng)提供時(shí)間基準(zhǔn)。本設(shè)計(jì)主要是針對(duì)適用于校園打鈴系統(tǒng)要求的,其介紹了一種基于單片機(jī)的自動(dòng)打鈴系統(tǒng)的設(shè)計(jì)方法,系統(tǒng)以AT89C52單片機(jī)為控制器,以ISD4004時(shí)鐘芯片為系統(tǒng)提供時(shí)間,并在液晶顯示器上顯示,通過按鍵可以設(shè)定定時(shí)打鈴時(shí)間和打鈴的時(shí)間間隔。系統(tǒng)軟件設(shè)計(jì)采用C語言來完成,C語言語法簡潔,使用方便,用于完成軟件設(shè)計(jì)非常方便。本文提出的設(shè)計(jì)方法電路簡單、成本低廉、實(shí)用性強(qiáng)。關(guān)鍵字:打鈴器、AT89C52單片機(jī)、ISD40

3、04、液晶顯示器目錄1 前言11.1 選題目的與意義11.2 論文容12 方案設(shè)計(jì)22.1 方案比較與選擇22.1.1 系統(tǒng)方案選擇22.1.2 時(shí)鐘芯片選擇22.1.3 顯示器件選擇32.2 設(shè)計(jì)方案33 系統(tǒng)硬件設(shè)計(jì)43.1 硬件電路圖43.2 時(shí)鐘電路43.2.1 時(shí)鐘電路設(shè)計(jì)43.3 按鍵電路53.4 單片機(jī)電路63.4.1 單片機(jī)簡介63.4.2 單片機(jī)最小系統(tǒng)電路93.5 顯示電路103.6 打鈴電路114 系統(tǒng)軟件設(shè)計(jì)124.1 軟件設(shè)計(jì)流程圖124.2 讀取ISD4004時(shí)間程序設(shè)計(jì)134.3 顯示程序設(shè)計(jì)144.4 按鍵設(shè)定程序設(shè)計(jì)175 系統(tǒng)調(diào)試185.1 元件清單185.

4、2 調(diào)試過程186 總結(jié)與展望20心得體會(huì)20參考文獻(xiàn)21附錄221 前言1.1 選題目的與意義隨著現(xiàn)代科技的發(fā)展,管理水平的完善,具有自動(dòng)提示功能的打鈴器能夠?yàn)槠髽I(yè)節(jié)省人力資源,減少開支,對(duì)做到一體化管理具有很大的幫助。而且自動(dòng)打鈴系統(tǒng)不斷影響著我們的學(xué)習(xí)和生活,它已被廣泛應(yīng)用于各個(gè)學(xué)校中,它能夠?qū)崿F(xiàn)學(xué)校的辦公自動(dòng)化,便于學(xué)校的管理。用單片機(jī)控制的自動(dòng)打鈴器,充分發(fā)揮了體積小,價(jià)格便宜,功耗低可靠性好等特點(diǎn),而且具有可改性,用于學(xué)校作息,方便了廣大師生。目前自動(dòng)打鈴系統(tǒng)的研究和使用已經(jīng)非常普與,之所以選這個(gè)課題就是看在他的成熟性和普遍性。打鈴器可以為上下課的學(xué)生和老師們提供時(shí)間提醒,同時(shí),也

5、可作為一個(gè)提醒學(xué)生們作息時(shí)間的時(shí)間表,讓大家有一個(gè)時(shí)間意識(shí),形成規(guī)律的生物鐘,對(duì)自身的健康也有很大的好處的。對(duì)于那些上課精力過于集中、知識(shí)面拓展比較廣的老師的拖堂現(xiàn)象也給了一個(gè)下課時(shí)間提醒,以免耽誤學(xué)生們下一節(jié)課的上課時(shí)間。打鈴器作為一個(gè)提醒人們時(shí)間的設(shè)備,自然離不開提供時(shí)間的系統(tǒng),最原始的打鈴器是人工根據(jù)時(shí)間通過敲鐘來提醒,隨著技術(shù)的發(fā)展,開始有了機(jī)械時(shí)打鈴器。隨著二十世紀(jì)電子技術(shù)的發(fā)展和二十一世紀(jì)半導(dǎo)體技術(shù)和集成電路的發(fā)展,電子技術(shù)開始滲入到各行各業(yè),以電子表為主要基礎(chǔ)提供時(shí)間基準(zhǔn)的打鈴器自然也是更新?lián)Q代的更快,現(xiàn)在各種功能更多、使用更先進(jìn)的打鈴器層出不窮,有的還可以以音樂響鈴代替?zhèn)鹘y(tǒng)的“

6、呤呤”聲,打鈴器更多的向著智能型轉(zhuǎn)變。設(shè)備的智能化離不開單片機(jī)的使用。單片機(jī)簡單的說就是一款微型的計(jì)算機(jī),包含中央處理器CUP、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O口、串行口等部分,可以作為一個(gè)系統(tǒng)的主控制器,將其他部分電路整合到一起組成一個(gè)系統(tǒng),為控制提供智能化?;谝陨显颍菊n題設(shè)計(jì)了一款基于單片機(jī)的自動(dòng)打鈴系統(tǒng),使用簡單方便、功能齊全。本次的設(shè)計(jì)重點(diǎn)在于實(shí)現(xiàn)自動(dòng)打鈴系統(tǒng)的基本功能之外,爭取設(shè)計(jì)出亮點(diǎn),出新意,對(duì)我本身是個(gè)不小的挑戰(zhàn),因此對(duì)這個(gè)課題的研究不管是對(duì)于我本身還是對(duì)此項(xiàng)目在科技方面的發(fā)展都是有很重要的意義1.2論文容本設(shè)計(jì)是以AT89C52單片機(jī)為核心的一款自動(dòng)打鈴系

7、統(tǒng),以時(shí)鐘芯片來實(shí)現(xiàn)計(jì)時(shí)功能,然后單片機(jī)負(fù)責(zé)將時(shí)間送入顯示電路顯示,整個(gè)系統(tǒng)不是很復(fù)雜,其設(shè)計(jì)主要包括單片機(jī)控制模塊、時(shí)鐘電路和顯示電路三個(gè)模塊的設(shè)計(jì),在設(shè)計(jì)前本人在學(xué)校圖書館看了很多關(guān)于單片機(jī)方面的書,也在網(wǎng)上查了不少資料,也查閱過跟此設(shè)計(jì)相似的論文或者期刊,得到了不少啟發(fā)和經(jīng)驗(yàn),對(duì)本人的設(shè)計(jì)工作有很大的幫助,能很好的把握設(shè)計(jì)的整體方向和細(xì)節(jié)。2 方案設(shè)計(jì)2.1 方案比較與選擇2.1.1 系統(tǒng)方案選擇方案一:采用數(shù)字電路來搭建,利用555時(shí)基電路構(gòu)成振蕩器產(chǎn)生100Hz頻率的振蕩電路,再通過分頻器得到1Hz頻率,即產(chǎn)生1秒計(jì)時(shí)時(shí)間,顯示部分通過鎖存器和驅(qū)動(dòng)芯片將計(jì)時(shí)時(shí)間送入數(shù)碼管顯示。設(shè)計(jì)框

8、圖如圖2-1所示。這種方案電路結(jié)構(gòu)比較復(fù)雜,芯片使用比較多,靈活性不高,而且準(zhǔn)確度不夠精確,不利于系統(tǒng)的擴(kuò)展。而且這種電路中需要使用獨(dú)立式的數(shù)碼管,每一個(gè)數(shù)碼管都需要連接一個(gè)數(shù)據(jù)鎖存器和數(shù)碼管驅(qū)動(dòng)芯片,連接線比較多,制作的過程中很容易出錯(cuò)。NE555時(shí)基電路分頻器100Hz信號(hào)數(shù)據(jù)鎖存器1Hz信號(hào)數(shù)碼管驅(qū)動(dòng)數(shù)碼管顯示圖2-1 方案一設(shè)計(jì)框圖方案二:采用AT89S51單片機(jī)作為系統(tǒng)控制單元,通過時(shí)鐘芯片來實(shí)現(xiàn)計(jì)時(shí)功能,單片機(jī)負(fù)責(zé)將時(shí)間送入顯示電路顯示。設(shè)計(jì)框圖如圖2-2所示。這種方案電路設(shè)計(jì)簡單,時(shí)間精確,使用方便。而且單片機(jī)的強(qiáng)大功能使得系統(tǒng)方便擴(kuò)展,有利于提高智能性。時(shí)鐘芯片秒計(jì)時(shí)單片機(jī)液晶

9、顯示器顯示計(jì)時(shí)時(shí)間圖2-2 方案二設(shè)計(jì)框圖綜上所述,本設(shè)計(jì)選用第二種設(shè)計(jì)方案。2.1.2 時(shí)鐘芯片選擇方案一:因?yàn)楸疚脑O(shè)計(jì)的數(shù)字鐘只需要顯示分鐘和秒,因此可以直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,硬件就比較復(fù)雜,穩(wěn)定性低,而且不易控制。所以不采用此方案。方案二:采用ISD4004時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘。ISD4004,它是I2C總線接口實(shí)時(shí)時(shí)鐘芯片,可以獨(dú)立于CPU工作,不受CPU主晶振與其電容的影響,且計(jì)時(shí)準(zhǔn)確,月累積誤差一般小于10秒。芯片還具有主電源掉電情況下的時(shí)鐘保護(hù)電路,ISD4004的時(shí)鐘靠后備電池

10、維持工作,拒絕CPU對(duì)其讀出和寫入訪問。同時(shí)還具有備用電源自動(dòng)切換控制電路,因而可在主電源掉電和其它一些惡劣環(huán)境場合中保證系統(tǒng)時(shí)鐘的定時(shí)準(zhǔn)確性。同時(shí),ISD4004芯片部還集成有一定容量、具有掉電保護(hù)特性的靜態(tài)RAM,可用于保存一些關(guān)鍵數(shù)據(jù)。所以采用ISD4004作為時(shí)鐘芯片。2.1.3 顯示器件選擇為了能以十進(jìn)制數(shù)碼直觀地顯示數(shù)字系統(tǒng)的運(yùn)行數(shù)據(jù),目前廣泛使用了七段字符顯示器,或稱做七段數(shù)碼管。這種字符顯示器由七段可發(fā)光的線段拼合而成。常見的七段字符顯示器有半導(dǎo)體數(shù)碼管和液晶顯示器兩種。半導(dǎo)體數(shù)碼管的每個(gè)線段都是一個(gè)發(fā)光二極管(Light Emitting Diode,簡稱LED),因而也把它

11、叫作LED數(shù)碼管或LED七段顯示器。半導(dǎo)體數(shù)碼管不僅具有工作電壓低、體積小、壽命長、可靠性高等優(yōu)點(diǎn),而且響應(yīng)時(shí)間短(一般不超過0.1us),亮度也比較高,但是只能顯示數(shù)字,顯示容比較受到限制,又過多的占用單片機(jī)的I/O口。液晶顯示器簡稱LCD,液晶是一種既具有液體的流動(dòng)性又具有光學(xué)特性的有機(jī)化合物,它的透明度和呈現(xiàn)的顏色受外加電場的影響,利用這一特點(diǎn)便可以做成字符顯示器。液晶顯示器最大的優(yōu)點(diǎn)是功耗極小,每平方厘米的功耗在1uW以下。它的工作電壓也很低,在1V以下仍能工作。而且顯示容比數(shù)碼管要豐富。因此,液晶顯示器在電子表以與各種小型、便攜式儀器、儀表中得到了廣泛的應(yīng)用。綜上所述,本設(shè)計(jì)中選用液

12、晶顯示器作為顯示單元器件。2.2 設(shè)計(jì)方案本設(shè)計(jì)系統(tǒng)框圖如圖2-3所示。系統(tǒng)以AT89C52單片機(jī)為控制器,通過ISD4004來為系統(tǒng)提供標(biāo)準(zhǔn)時(shí)間,單片機(jī)讀取ISD4004時(shí)間后送液晶顯示器顯示,通過按鍵來設(shè)置打鈴時(shí)間。當(dāng)打鈴時(shí)間到時(shí),系統(tǒng)實(shí)現(xiàn)蜂鳴器和LED燈聲光提示。系統(tǒng)設(shè)計(jì)框圖如下:時(shí)鐘電路按鍵設(shè)定打鈴時(shí)間單片機(jī)控制顯示電路打鈴電路3 系統(tǒng)硬件設(shè)計(jì)3.1 硬件電路圖根據(jù)系統(tǒng)設(shè)計(jì)框圖,本設(shè)計(jì)硬件電路主要由時(shí)鐘電路、按鍵設(shè)定電路、單片機(jī)電路、顯示電路和打鈴電路組成,電路原理圖見附錄一所示。系統(tǒng)工作原理:系統(tǒng)時(shí)間由時(shí)鐘芯片ISD4004來提供,單片機(jī)通過P3口讀取了ISD4004的時(shí)間數(shù)據(jù)后,經(jīng)

13、過處理得到時(shí)間顯示模式的時(shí)鐘數(shù)據(jù),并通過P2口送液晶顯示器顯示出來。再通過掃描P1口是否有按鍵按下,有按鍵按下時(shí),通過液晶顯示器顯示來設(shè)置定時(shí)時(shí)間、打鈴時(shí)間間隔,通過設(shè)定、移位、加數(shù)來實(shí)現(xiàn)。當(dāng)?shù)竭_(dá)打鈴時(shí)間時(shí),單片機(jī)引腳啟動(dòng)蜂鳴器和LED燈電路工作以聲光形式實(shí)現(xiàn)打鈴功能。3.2 時(shí)鐘電路3.2.1 時(shí)鐘電路設(shè)計(jì) 時(shí)鐘電路如圖3-2所示。時(shí)鐘芯片的SCL引腳和SDA引腳分別由單片機(jī)的P3.1和P3.2引腳控制,單片機(jī)只需按照ISD4004的工作時(shí)序來控制DS1307即可實(shí)現(xiàn)時(shí)間的寫入和讀取,其中ISD4004的時(shí)鐘端與數(shù)據(jù)端需外接上拉電阻,本設(shè)計(jì)選用5針排阻來充當(dāng)上拉電阻。圖3-1 時(shí)鐘電路3.3

14、 按鍵電路鍵盤是單片機(jī)應(yīng)用中常用的一種輸入器件,鍵盤的按鍵有觸點(diǎn)式和非觸點(diǎn)式之分,按接口原理有編碼鍵盤和非編碼鍵盤之分。編碼鍵盤主要用硬件來實(shí)現(xiàn)對(duì)按鍵的識(shí)別,非編碼鍵盤是由軟件來實(shí)現(xiàn)鍵盤的定義與識(shí)別。常用的按鍵一般為觸點(diǎn)式按鍵,根據(jù)按鍵所連接的單片機(jī)引腳的電平高低來判斷其是否按下。按功能分,鍵盤有獨(dú)立按鍵和矩陣按鍵之分,獨(dú)立按鍵每一路按鍵就占用單片機(jī)的一個(gè)控制引腳,單片機(jī)直接獲取其信息;矩陣按鍵將按鍵排成由行和列組成的行列式,通過確認(rèn)按鍵的行號(hào)和列號(hào)來確定每一路按鍵,利用少的單片機(jī)引腳控制更多的按鍵。本設(shè)計(jì)中按鍵電路如圖3-2所示,由單片機(jī)的P1口控制按鍵電路。本設(shè)計(jì)中按鍵用于設(shè)定定時(shí)時(shí)間、打

15、鈴時(shí)間間隔,所以只需4路按鍵即可實(shí)現(xiàn)所需功能,采用獨(dú)立式按鍵即可。由于按鍵是機(jī)械式觸點(diǎn),所以在斷開或閉合時(shí),一般都有抖動(dòng)產(chǎn)生,雖然這個(gè)抖動(dòng)時(shí)間在我們看來非常短,但是單片機(jī)執(zhí)行指令的速度為微秒級(jí)別,很容易會(huì)讀取這個(gè)時(shí)間而將其判斷為真正的工作狀態(tài),從而引起誤判。因此,在設(shè)計(jì)中必須考慮到按鍵抖動(dòng)的影響。常用的去抖動(dòng)的方法有兩種:硬件方法和軟件方法。硬件方法一般是加電容或者RS觸發(fā)器;軟件方法是在單片機(jī)在檢測引腳所連接的按鍵的工作狀態(tài)時(shí)加一個(gè)延時(shí)程序再次確認(rèn),通過2次的確認(rèn)就可以確保按鍵的工作狀態(tài)不受機(jī)械抖動(dòng)的影響了。圖3-2 按鍵電路3.4 單片機(jī)電路3.4.1 單片機(jī)簡介單片機(jī)是一種集成電路芯片,

16、是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的CPU、RAM、ROM、多種I/O口、中斷系統(tǒng)和定時(shí)器/計(jì)時(shí)器功能集成到一塊芯片上的完善的計(jì)算機(jī)系統(tǒng),它最早是被用在工業(yè)控制領(lǐng)域。由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,為使更多的業(yè)人士、學(xué)生和愛好者學(xué)習(xí)掌握這門技術(shù),產(chǎn)生了單片機(jī)開發(fā)板。早期的單片機(jī)是8位或4位的,其中最成功的是INTEL的8031單片機(jī),因簡單可靠而獲得了很大的好評(píng)。此后,在8031的基礎(chǔ)上發(fā)展出了MCS51系列單片機(jī),基于這一系統(tǒng)的單片機(jī)一直到現(xiàn)在還廣泛應(yīng)用著。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位的單片機(jī),因性價(jià)比不好并未得到廣泛的應(yīng)用。90年代后期隨著消費(fèi)電子產(chǎn)品的大發(fā)展

17、,單片機(jī)技術(shù)得到了很大的提高,32位機(jī)迅速代替了16位機(jī)進(jìn)入主流市場,傳統(tǒng)的8位機(jī)的處理速度也提高了數(shù)百倍,而且價(jià)格也降低了很多,得到了廣泛的應(yīng)用?,F(xiàn)在人們生活中幾乎每個(gè)電子產(chǎn)品或機(jī)械產(chǎn)品都或多或少帶有單片機(jī)控制系統(tǒng),智能儀器儀表、醫(yī)療器械、家用電器、兒童玩具等等,汽車電子中單片機(jī)的應(yīng)用也是非常廣泛,一般汽車上配備有接近40多個(gè)單片機(jī)系統(tǒng)。AT89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓、高性能CMOS8位微處理器。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失性存儲(chǔ)器制造技術(shù),與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。主要特性:與MCS-

18、51產(chǎn)品指令系統(tǒng)完全兼容;4K字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲(chǔ)器;1000次擦鞋周期;4.0-5.5V的電壓工作圍;全靜態(tài)工作模式:0Hz-33MHz;三級(jí)程序加密鎖;128*8字節(jié)部RAM;32個(gè)可編程I/O口線(P1、P2、P3、P4);2個(gè)16位定時(shí)/計(jì)數(shù)器,可通過編程實(shí)現(xiàn)4種工作方式;1個(gè)具有6個(gè)中斷源、4個(gè)優(yōu)先級(jí)的中斷潛嵌套結(jié)構(gòu);全雙工UART通道;低功耗空閑和掉電模式;中斷可從空閑模式喚醒系統(tǒng);看門狗(WDT)與雙數(shù)據(jù)指針;掉電標(biāo)識(shí)和快速編程特性;靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式)。AT89C52單片機(jī)部主要由9個(gè)部件組成:1個(gè)8位中央處理器;4KBFlash存儲(chǔ)器

19、;128B的數(shù)據(jù)存儲(chǔ)器;32條I/O口線;2個(gè)定時(shí)器/計(jì)數(shù)器;1個(gè)具有6個(gè)中斷源、4個(gè)優(yōu)先級(jí)的中斷嵌套結(jié)構(gòu);用于多處理機(jī)通信、I/O擴(kuò)展或全雙工UART的串行口;特殊功能寄存器;1個(gè)片振蕩器和時(shí)鐘電路。AT89S51系列單片機(jī)完全繼承了MCS-51的指令系統(tǒng),共有111條指令,按其功能可分為五大類:數(shù)據(jù)傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算類指令、控制轉(zhuǎn)移類指令、布爾操作。中斷技術(shù)是計(jì)算機(jī)中的重要技術(shù)之一,它既和硬件相關(guān),也和軟件相關(guān),正因?yàn)橛辛恕爸袛唷辈攀沟糜?jì)算機(jī)的工作更加靈活、效率更高。所謂中斷實(shí)際是一個(gè)處理時(shí)間的過程,這一過程一般是由計(jì)算機(jī)部或外部某種緊急事件引起并向主機(jī)發(fā)出請(qǐng)求處理的信號(hào)

20、,主機(jī)在允許情況下相應(yīng)請(qǐng)求,暫停正在執(zhí)行的程序,保存好“斷點(diǎn)”處的現(xiàn)場,轉(zhuǎn)去執(zhí)行中斷處理程序,處理完后自動(dòng)返回到原斷點(diǎn)處,繼續(xù)執(zhí)行原程序。引起中斷的原因,或是能發(fā)出中斷申請(qǐng)的來源,稱為中斷源。AT89C52提供5個(gè)中斷源,即:外部中斷源/INT0:由P3.2輸入;外部中斷源/INT1:由P3.3輸入,I/O設(shè)備中斷請(qǐng)求信號(hào),或掉電故障異常事件中斷請(qǐng)求信號(hào)都可以作為外部中斷源連/INT0、/INT1。定時(shí)器/計(jì)數(shù)器T0溢出中斷:TF0做標(biāo)志,由P3.4輸出;定時(shí)器/計(jì)數(shù)器T1溢出中斷:TF1做標(biāo)志,由P3.5輸出;片串行口產(chǎn)生的中斷:RX、TX。I/O口分配:P0口(P0.0P0.7)為雙向8位

21、三態(tài)I/O口,當(dāng)作為I/O口使用時(shí),可直接連接外部I/O設(shè)備。它是地址總線低8位與數(shù)據(jù)總線分時(shí)服用口,可驅(qū)動(dòng)8個(gè)TTL負(fù)載。一般作為擴(kuò)展時(shí)地址/數(shù)據(jù)總線口使用。P1口(P1.0P1.7)的每一位都可以分別定義為輸入線和輸出線(做輸入時(shí),鎖存器必須置1),可驅(qū)動(dòng)4個(gè)TTL負(fù)載。P1口常用作通用I/O口,它是一個(gè)標(biāo)準(zhǔn)的準(zhǔn)雙向口。P2口(P2.0P2.7)為8位準(zhǔn)雙向I/O口,當(dāng)作為I/O口使用時(shí),可直接連接外部I/O設(shè)備。它是地址總線的高8位復(fù)用,可驅(qū)動(dòng)4個(gè)TTL負(fù)載。一般作為擴(kuò)展地址總線的高8為使用。P3口(P3.0P3.7)為8位準(zhǔn)雙向I/O口,是雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)TTL負(fù)載,能夠?qū)崿F(xiàn)第

22、一功能,可作為通用I/O口。P3口的第二功能定義如表3-1所示:表3-1 P3口第二功能定義引腳定義功能引腳定義功能P3.0-RXD串行輸入口P3.1-TXD串行輸出口P3.2-外部中斷0P3.3-外部中斷1P3.4-T0計(jì)時(shí)器0外部輸入P3.5-T1計(jì)時(shí)器1外部輸入P3.6-外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7-外部數(shù)據(jù)存儲(chǔ)器讀選通RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:地址鎖存允許信號(hào)輸出。在CPU訪問外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE提供一個(gè)地址鎖存信號(hào),將低8位地址鎖存在片外鎖存器中。在與Flash并行編程/校驗(yàn)期間,該引腳也是編程

23、負(fù)脈沖的輸入端。在正常操作狀態(tài)下,該引腳端口輸出恒定頻率的脈沖。其頻率為晶振頻率的1/6,可用作外部定時(shí)或其他觸發(fā)信號(hào)。如果需要,可通過SFR的第0位置禁止ALE操作,但ALE的禁止位不影響對(duì)外部存儲(chǔ)器的訪問。:片外程序存儲(chǔ)器選通信號(hào),低電平有效。當(dāng)AT89S51執(zhí)行來自外部程序存儲(chǔ)器的指令代碼時(shí),PSEN/每個(gè)機(jī)器周期兩次有效。在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN/無效。:片外程序存儲(chǔ)器訪問允許信號(hào),低電平有效。當(dāng)接地時(shí),CPU只執(zhí)行片外存儲(chǔ)器中的程序;當(dāng)接Vcc時(shí),CPU首先執(zhí)行片程序存儲(chǔ)器中的程序(0000H0FFFH),然后自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器中的程序(1000HFFFFH)。如果程

24、序鎖定位LB1被編程(P),那么值將在復(fù)位時(shí)由片鎖存。在與Flash并行編程/校驗(yàn)期間,該引腳施加12V的編程電壓VPP。XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。AT89S51引腳圖如圖3-3所示3.4.2 單片機(jī)最小系統(tǒng)電路單片機(jī)最小系統(tǒng)由晶振電路和復(fù)位電路組成。電路如圖3-5所示。晶振電路用于產(chǎn)生單片機(jī)工作時(shí)所需要的時(shí)鐘信號(hào),單片機(jī)的指令必須在時(shí)鐘信號(hào)下按照時(shí)序執(zhí)行。晶振電路通常用兩種設(shè)計(jì)方式:部振蕩方式和外部振蕩方式。部振蕩方式是在單片機(jī)的XTAL1和XTAL2引腳外接一個(gè)晶體振蕩器,與單片機(jī)部的振蕩器組成時(shí)鐘信號(hào);外部振蕩方式是在外部將

25、已有的脈沖信號(hào)引入單片機(jī),一般用于使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。本設(shè)計(jì)選用部振蕩方式,在XTAL1和XTAL2引腳之間連接一個(gè)12MHz的晶振,再分別外接30p的對(duì)地電容。單片機(jī)在啟動(dòng)時(shí)需要復(fù)位,使系統(tǒng)各器件處于初始狀態(tài)。復(fù)位引腳為RST,當(dāng)系統(tǒng)上電后晶振電路穩(wěn)定后,RST引腳有一個(gè)高電平且持續(xù)2個(gè)機(jī)器周期以上,單片機(jī)系統(tǒng)就可以實(shí)現(xiàn)復(fù)位功能。復(fù)位一般有手動(dòng)復(fù)位和上電復(fù)位功能。手動(dòng)復(fù)位是在RST引腳設(shè)置按鍵,當(dāng)按鍵按下時(shí),RST引腳會(huì)有高電平,即可實(shí)現(xiàn)復(fù)位功能;上電復(fù)位是在RST引腳連接一個(gè)電解電容接至電源,再接一個(gè)電阻接地,系統(tǒng)上電時(shí),電容充電,只要電源的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)復(fù)

26、位功能。本設(shè)計(jì)選用按鍵復(fù)位。圖3-4 單片機(jī)最小系統(tǒng)電路3.5 顯示電路LCD1602為字符型液晶顯示器,分為帶背光和不帶背光兩種,主要技術(shù)參數(shù):顯示容量,16×2個(gè)字符;芯片工作電壓,4.5V-5.5V;工作電流,2.0mA;模塊最佳工作電壓,5V;字符尺寸,2.95×4.35mm。LCD1602共有16個(gè)引腳,引腳說明如下:1腳,VSS,電源地;2腳,VDD,電源正極,接+5V;3腳,VL,液晶顯示偏壓,接正電源時(shí)對(duì)比度較弱,接地時(shí)對(duì)比度最高;4腳,RS,數(shù)據(jù)/命令選擇,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器;5腳,R/W,讀/寫選擇,高電平時(shí)進(jìn)行讀操作,低電平

27、時(shí)進(jìn)行寫操作,當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù);6腳,E,使能信號(hào),當(dāng)E端由高電平跳變?yōu)榈碗娖綍r(shí),液晶塊執(zhí)行命令;7-14腳,D0-D7,8位雙向數(shù)據(jù)線;15腳,BLA,背光源正極;16腳,BLK,背光源負(fù)極。單片機(jī)的P2口作為LCD1602的數(shù)據(jù)線端口,P3口控制LCD1602的使能端。單片機(jī)讀取數(shù)據(jù)后,通過控制LCD1602的讀寫端、復(fù)位端和使能端將其設(shè)置為寫入數(shù)據(jù)狀態(tài),再將數(shù)據(jù)通過P2口送入LCD1602實(shí)現(xiàn)顯示功能。3.6 打鈴電路 打鈴電路一般用聲音或音樂作為提醒,本設(shè)計(jì)選用蜂

28、鳴器和LED燈實(shí)現(xiàn)聲光雙重打鈴功能,電路如圖3-7所示。打鈴時(shí)間到時(shí),單片機(jī)P3.3引腳置高,三極管9013導(dǎo)通,繼而蜂鳴器和LED燈導(dǎo)通,實(shí)現(xiàn)蜂鳴和燈亮打鈴功能。圖3-5 打鈴電路4 系統(tǒng)軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)流程圖 系統(tǒng)軟件設(shè)計(jì)流程圖如圖4-1所示。圖4-1 軟件設(shè)計(jì)流程圖 程序設(shè)計(jì)過程:首先要定義單片機(jī)的引腳,然后初始化器件,再利用ISD4004的讀寫時(shí)序讀取時(shí)間數(shù)據(jù)。再利用按鍵進(jìn)入時(shí)間設(shè)定狀態(tài),設(shè)定完時(shí)間后單片機(jī)通過比較時(shí)間是否到達(dá)設(shè)定的時(shí)間來確定是否到打鈴時(shí)間,如果達(dá)到打鈴時(shí)間,則控制蜂鳴器響LED燈亮。4.2 讀取ISD4004時(shí)間程序設(shè)計(jì)ISD4004中的時(shí)間寄存器地址編碼為0

29、0H-07H,而具有掉電保護(hù)的RAM寄存器的地址編碼為08H-3FH。當(dāng)?shù)刂分羔樦赶騌AM的最后一個(gè)地址3FH時(shí),若進(jìn)行多字節(jié)操作,則地址指針將會(huì)復(fù)位而指向00H,這樣原來存在00H的數(shù)據(jù)將會(huì)丟失。DS1307的各類時(shí)間數(shù)據(jù)均以BCD碼的格式存儲(chǔ)在相應(yīng)的時(shí)間寄存器中,具體分配如表4-1所示:表4-1 ISD4004寄存器分配00H01H02H03H04H05H06H07H秒分小時(shí)星期日期月年控制字單片機(jī)通過讀取ISD4004相應(yīng)的寄存器字節(jié),可以獲取時(shí)鐘和日歷信息。時(shí)鐘和日歷信息以BCD碼的形式存放在寄存器中,寄存器0的第7位為時(shí)鐘停止位,振蕩器停止工作。由于在初次上電時(shí),所有寄存器的狀態(tài)是不

30、確定的,所以在初始化時(shí)必須將寄存器0中的第7位設(shè)為0。ISD4004可運(yùn)行在12/24小時(shí)模式下,并由時(shí)間控制器中的相應(yīng)位來進(jìn)行控制。根據(jù)小時(shí)寄存器的第6位是0還是1,置為1時(shí),是工作于12小時(shí)模式下,此時(shí),小時(shí)寄存器的第5位為AM/PM標(biāo)志。在24小時(shí)模式中,小時(shí)寄存器的第5位和第4位共同組成小時(shí)的十位數(shù)。時(shí)鐘模塊設(shè)計(jì)流程:單片機(jī)按如下順序?qū)?shù)據(jù)寫入到ISD4004 寄存器或部RAM 中:1、START 信號(hào)2、寫SLA+W(0xd0)字節(jié),DS1307 應(yīng)答(ACK);3、寫1 字節(jié)存地址(在以下第四步寫入的第一字節(jié)將存入到DS1307 該地址處,DS1307應(yīng)答);4、寫數(shù)據(jù)(可寫多個(gè)字

31、節(jié),每一字節(jié)寫入后DS1307 部地址計(jì)數(shù)器加一,ISD4004應(yīng)答);5、STOP 信號(hào)單片機(jī)讀取ISD4004子程序流程圖如圖4-2所示:圖4-2 單片機(jī)讀取DS1307子程序流程圖4.3 顯示程序設(shè)計(jì)LCD1602的基本操作時(shí)序:讀狀態(tài):輸入:RS=L,RW=H,E=H;輸出:D0-D7=狀態(tài)字。寫指令:輸入:RS=L,RW=L,D0-D7=指令碼,E=高脈沖;輸出:無。讀數(shù)據(jù):輸入:RS=H,RW=H,E=H;輸出:D0-D7=數(shù)據(jù)。寫數(shù)據(jù):輸入:RS=H,RW=L,D0-D7=數(shù)據(jù),E=高脈沖;輸出:無。LCD1602初始化過程:延時(shí)15ms;寫指令38H(不檢測忙信號(hào));延時(shí)5ms

32、;寫指令38H(不檢測忙信號(hào));延時(shí)5ms;寫指令38H(不檢測忙信號(hào));以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號(hào);寫指令38H,顯示模式設(shè)置;寫指令08H,顯示關(guān)閉;寫指令01H,顯示清屏;寫指令06H,顯示光標(biāo)移動(dòng)設(shè)置;寫指令0CH,顯示開與光標(biāo)設(shè)置。LCD有11條控制指令,如表4-2所示。表4-2LCD1602控制指令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存儲(chǔ)

33、器地址0001字符發(fā)生存儲(chǔ)器地址8置數(shù)據(jù)存儲(chǔ)器地址001顯示數(shù)據(jù)存儲(chǔ)器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10向CGRAM或DDRAM寫數(shù)10要寫的數(shù)據(jù)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)容LCD1602部自帶有80×8位的RAM緩沖區(qū),RAM地址映射如表4-3所示。表4-3 LCD1602的RAM地址映射表00010203040506070809404142434445464748490A0B0C0D0E0F10274A4B4C4D4E4F5067LCD1602寫操作時(shí)序如圖4-3所示。圖4-3 LCD1602寫操作時(shí)序向LCD1602寫數(shù)據(jù)程序子程序流程圖如圖4-4

34、所示:圖4-4 向LCD1602寫數(shù)據(jù)程序子程序流程圖4.4 按鍵設(shè)定程序設(shè)計(jì)單片機(jī)讀取按鍵的方式有2種:查詢方式和中斷方式。查詢方式是利用單片機(jī)引腳不斷查詢是否有按鍵按下,如果有按鍵按下,利用延時(shí)程序去除抖動(dòng)再次確認(rèn)后,進(jìn)入該按鍵對(duì)應(yīng)的子程序執(zhí)行命令。中斷方式是利用單片機(jī)的外部中斷功能來檢測是否有按鍵按下。利用中斷功能可以不用在主程序中不斷的執(zhí)行查詢命令,有中斷產(chǎn)生即有按鍵按下時(shí),再進(jìn)入中斷子程序中進(jìn)行處理。本設(shè)計(jì)選用查詢方式處理按鍵設(shè)定程序。每個(gè)獨(dú)立式按鍵直接接至單片機(jī)引腳,每個(gè)按鍵的鍵值與單片機(jī)端口的8個(gè)引腳的8位二進(jìn)制碼相對(duì)應(yīng)。本設(shè)計(jì)為P1.0-P1.3引腳控制4路按鍵。單片機(jī)控制按鍵

35、子程序流程圖如圖4-5所示:圖4-5 單片機(jī)控制按鍵子程序流程圖5 系統(tǒng)調(diào)試5.1 元件清單本設(shè)計(jì)中的硬件制作中所用元器件如表5-1所示。表5-1 元件清單元器件名稱個(gè)數(shù)元器件名稱個(gè)數(shù)AT89S51單片機(jī)1DS13071LCD1602132.768KHz晶振11N4148二極管15.1K電阻29013三極管1蜂鳴器1發(fā)光二極管112MHz晶振122P電容210U電解電容110K電阻210K電位器147電阻1按鍵45針排阻1萬用板15.2 調(diào)試過程 制作調(diào)試過程中所用儀器有:數(shù)字萬用表、電烙鐵,焊錫絲、焊錫膏、剝線鉗、尖嘴鉗、圓口鉗、鑷子,吸錫器等,另外準(zhǔn)備盡量多的導(dǎo)線。制作與調(diào)試過程如下:1、

36、按照元器件清單準(zhǔn)備好所需要用到的元器件。2、按照電路原理圖焊接硬件電路板,先焊接芯片的底座,再焊接其外圍電路。實(shí)物電路圖如圖5-1所示:圖5-1 實(shí)物電路圖3、當(dāng)定時(shí)時(shí)間到時(shí),蜂鳴器響,LED燈亮。4、每隔設(shè)置的打鈴時(shí)間間隔,蜂鳴器響,LED燈亮,實(shí)現(xiàn)打鈴功能。經(jīng)上述調(diào)試,系統(tǒng)工作正常,實(shí)現(xiàn)設(shè)計(jì)要求的功能。6 總結(jié)與展望經(jīng)過這段時(shí)間的努力,畢業(yè)設(shè)計(jì)也接近了尾聲。本文從選題目的與意義開始,介紹了系統(tǒng)的方案設(shè)計(jì),其中提供了兩種設(shè)計(jì)方案,經(jīng)過互相之間的比較后選擇了簡單易行的一種方案,后面還列出了其他兩種模塊的設(shè)計(jì)方案,并經(jīng)比較后選擇了合適的方案,然后對(duì)系統(tǒng)的硬件設(shè)計(jì)進(jìn)行了闡述,包括電路圖和元器件的介

37、紹,對(duì)它們實(shí)現(xiàn)的功能和部結(jié)構(gòu)都進(jìn)行了說明,接著是軟件部分的設(shè)計(jì),這也是此設(shè)計(jì)的關(guān)鍵部分,有很詳細(xì)的說明。本設(shè)計(jì)是針對(duì)學(xué)校的作息時(shí)間而設(shè)計(jì)的一種自動(dòng)打鈴系統(tǒng),但是它同樣可以用于其他的場所,如工廠,生廠車間等等,它能很好的起到時(shí)鐘提醒的作用,方便了人們的日常生活。在硬件設(shè)計(jì)部分,顯示器件選的是液晶顯示器,它具有功耗和工作電壓低的特點(diǎn),而且它的顯示質(zhì)量高,可視面積大,能很好的達(dá)到設(shè)計(jì)要求,還降低了軟件的編程難度。本設(shè)計(jì)的自動(dòng)打鈴系統(tǒng)還存在不足和缺點(diǎn),主要表現(xiàn)在這些方面:雖然系統(tǒng)能夠很好的實(shí)現(xiàn)打鈴的要求,但是能夠設(shè)定的打鈴時(shí)間只有六個(gè),這是因?yàn)橄虢档途幊虝r(shí)的難度,在不影響其功能的前提下,降低了要求;還

38、有就是其擴(kuò)展性不強(qiáng),后續(xù)的發(fā)展比較困難,制約了系統(tǒng)的升級(jí),在商品競爭中沒什么優(yōu)勢,需要進(jìn)一步的研究和開發(fā)。通過此次畢業(yè)設(shè)計(jì),我對(duì)所學(xué)專業(yè)的知識(shí)有了很好的回顧和實(shí)踐,提高了自己的動(dòng)手和思考能力,這對(duì)我自身的發(fā)展有很大的幫助,同時(shí)在此期間我查閱了很多的書籍和資料,從中學(xué)到了很多課本上沒有的知識(shí),拓展了自己的知識(shí)面,如果沒有前期的準(zhǔn)備工作是沒法很好的完成此次設(shè)計(jì)的,所以多學(xué)、多看、多想、多動(dòng)手才是學(xué)好知識(shí)的必要素質(zhì),這對(duì)我未來的發(fā)展和進(jìn)步有著至關(guān)重要的作用。心得體會(huì)回顧這次設(shè)計(jì)的過程,感慨良多,收獲頗豐,首先要感我的導(dǎo)師,成凌飛老師。在這段時(shí)間里成老師經(jīng)常給提醒我們在做畢業(yè)設(shè)計(jì)過程中應(yīng)當(dāng)注意的事項(xiàng),

39、并在百忙之中特地抽出時(shí)間為我們講課,講解論文的排版與寫作技巧,使我們受益不淺,還不忘督促我們按步驟完成每一項(xiàng)容,可以說從畢業(yè)設(shè)計(jì)的開始到完能看見老師的身影,沒有老師的辛勤輔導(dǎo)和對(duì)學(xué)生的責(zé)任心就沒有我現(xiàn)在這樣一篇畢業(yè)論文。同時(shí)我還要感大學(xué)四年所有教導(dǎo)過我的老師,是他們的諄諄教誨給了我大學(xué)四年的專業(yè)知識(shí),在學(xué)習(xí)的道路上,他們就是我的領(lǐng)路人,真的非常感,還要感陪伴了我四年的每一個(gè)同學(xué),因?yàn)樗麄?,我的大學(xué)才不蒼白,因?yàn)樗麄儯业拇髮W(xué)才精彩,也是因?yàn)樗麄儯业拇髮W(xué)才有意義。畢業(yè)設(shè)計(jì)告一段落了,但是我的人生卻迎來了另一個(gè)出發(fā)點(diǎn),畢業(yè)并不意味著結(jié)束,它同時(shí)是一個(gè)新的開始,我會(huì)帶著老師們的希冀,朋友們的祝福和

40、友誼走得更遠(yuǎn)、更高、更堅(jiān)定,你們!參考文獻(xiàn)1 鳳言.電子電路基礎(chǔ).高等教育,1995.2 戴佳,戴衛(wèi)恒,博文等.51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講.電子工業(yè),2008.3 江宏等. Protel 99 電路設(shè)計(jì)與應(yīng)用.機(jī)械工業(yè),2001.4 閻石.數(shù)字電子技術(shù)基礎(chǔ).高等教育,1998.5 風(fēng)強(qiáng),蘭嬋麗.單片機(jī)語言C51應(yīng)用實(shí)戰(zhàn)集錦.電子工業(yè),2001. 6萌,和湘,斌等.單片機(jī)應(yīng)用系統(tǒng)開發(fā)綜合實(shí)例.清華大學(xué),2007.7 義和.例說51單片機(jī)(C語言版),人民郵電,2010. 10 徐福成.一款人性化的打鈴器.電子制作,2008,(2):36-37.附錄源程序#include <reg

41、52.h>#include"YUYIN3.H"/#include"match.H"#define uchar unsigned char#define uint unsigned int#define keyinc 0xfb / P32#define keydec 0xf7 / P33/#define flaginc 0xfe /P30/#define flagdec 0xfd/P31/uchar num;sbit rw=P06;sbit lcdrs=P07;sbit lcden=P05;sbit sda=P04;sbit scl=P03;sbit

42、 warming=P00;/報(bào)警中斷/*sbit k1= P30;/加sbit k2= P31;/sbit k3= P32; /加sbit k4= P33;/ 加sbit k5= P34;/ jiansbit k6= P35;/ jian*/ sbit k7= P01; /fensbit k8= P02;/ jiansbit LED= P10;/ jianuint year;uchar s,hour,min,sec,week,mon,day,r,x=1,p=0,d=0,m;uchar flag=0;uchar code table='0','1','2&

43、#39;,'3','4','5','6','7','8','9',':','-'/uint code table1="Mon","Tue","Wed","Thu","Fri","Sat","Sun"uchar code table1='S','u','n','

44、M','o','n','T','u','e','W','e','d','T','h','u','F','r','i','S','a','t'uchar code table2="flag"uchar code fen=0x10,0x11,0x15,0x20,0x25,0x30,0x35,0x40,0

45、x45,0x50,0x55; /fendingshiuchar code shi=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20,0x21,0x22,0x23; /fendingshivoid delayus();void write_add(uchar address,uchar date);delay(uint t)/延時(shí)函數(shù)uint i,j;for(i=0;i<t;i+)for(j=0;j<120;j+);void write

46、_(uchar )/寫指令于lcdrw=0;lcdrs=0;P2=;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)/寫容與lcd顯示lcdrs=1;P2=date;delay(5);lcden=1;delay(5);lcden=0;void init()/初始化rw=0;lcden=0;write_(0x38);write_(0x0c);write_(0x06);write_(0x01);write_(0x80+0x10);sda=1;delayus();scl=1;delayus();write_add(0x00,0

47、x00);/00write_add(0x01,0x00);/00write_add(0x02,0x50);/57秒鐘write_add(0x03,0x09);/56分鐘write_add(0x04,0x01);/09小時(shí)write_add(0x05,0x13);/20 日期write_add(0x06,0x07);/04 星期write_add(0x07,0x10);/ 01 月write_add(0x08,0x13);/ 10 年/write_add(0x02,0x00);/秒設(shè)置/*write_add(0x09,0X49);/報(bào)警時(shí)間49分write_add(0x0A,0X22); /報(bào)警

48、時(shí)間22小時(shí) write_add(0x01,0x12); /報(bào)警生效 */*void warming1() /uchar p,d,m; write_add(0x09,fenp);/報(bào)警時(shí)間49分write_add(0x0A,shid); /報(bào)警時(shí)間22小時(shí) write_add(0x01,0x12); /報(bào)警生效 if(k1=0)/被按下 if(p<0x60)LED=LED;p+;/fen else p=0x00; if(k2=0) if(d<0x25)d+;LED=LED; else d=0x01; /shi if(k3=0)if(m<0x32)m+;LED=LED; /ti

49、an else d=0x01; if(k4=0) if(p>0x01)p-;LED=LED; else p=0x00;if(k5=0) if(d>0x02)d-;LED=LED; else p=0x01;if(k6=0) if(m>0x02)m-; LED=LED; else p=0x01; */void delayus()/延時(shí)微秒函數(shù);void start() /開始信號(hào)sda=1;delayus();scl=1;delayus();sda=0;delayus();void stop() /停止sda=0;delayus();scl=1;delayus();sda=1;d

50、elayus();void respons() /應(yīng)答uchar i;scl=1;delayus();while(sda=1)&&(i<250)i+;scl=0;delayus();void write_byte(uchar date)/寫一個(gè)字節(jié)子函數(shù)uchar i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;scl=0; delayus();sda=CY;delayus();scl=1;delayus();scl=0;delayus();sda=1;delayus();uchar read_byte()/讀一個(gè)字節(jié)函數(shù)uchar i,k;scl=0;delayus();sda=1;delayus();for(i=0;i<8;i+)scl=1;delayus();k=(k<<1)|sda;scl=0;delayus();return k;void write_add(uchar address,uchar date)/往一個(gè)單元里寫容函數(shù)star

溫馨提示

  • 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)論