畢業(yè)設(shè)計--單片機自動打鈴系統(tǒng)論文_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  在現(xiàn)如今快節(jié)奏的生活中,人們對于時間的要求越來越苛刻,很多時候都需要對時間進行規(guī)劃,然后到時間點就要有時間提醒,這就必須用到時鐘提醒裝置,亦可稱為打鈴裝置。打鈴裝置有很多種,比如手機的打鈴系統(tǒng),鬧鐘的機械打鈴裝置,廣播打鈴系統(tǒng)等等,但是日常生活中見得最多的還是校園的自動打鈴系統(tǒng)。在學校生活中,每天上下課都離不開打鈴系統(tǒng)的使用。打

2、鈴器可以為上下課的學生和老師們提供時間提醒,有利于師生對上課和學習的合理安排,同時,也可作為一個提醒學生們作息時間的時間表,讓老師和學生都能有一個規(guī)律和科學的時間安排。因此,打鈴系統(tǒng)的核心部分也是時鐘部分,為系統(tǒng)提供時間基準。</p><p>  本設(shè)計主要是針對適用于校園打鈴系統(tǒng)要求的,其介紹了一種基于單片機的自動打鈴系統(tǒng)的設(shè)計方法,系統(tǒng)以AT89S51單片機為控制器,以DS1307時鐘芯片為系統(tǒng)提供時間,并在

3、液晶顯示器上顯示,通過按鍵可以設(shè)定定時打鈴時間和打鈴的時間間隔。系統(tǒng)軟件設(shè)計采用C語言來完成,C語言語法簡潔,使用方便,用于完成軟件設(shè)計非常方便。本文提出的設(shè)計方法電路簡單、成本低廉、實用性強。</p><p>  關(guān)鍵字:打鈴器、AT89S51單片機、DS1307、液晶顯示器</p><p><b>  Abstract</b></p><p&g

4、t;  Now fast-paced life, the time more and more demanding, often need time to plan and then to the point in time there should be reminded, which must be used to clock reminder can also be calledrang the bell device. Rang

5、 the bell device are many, such as the phone rang the bell system, mechanical bell device of the alarm clock, radio bell systems, etc., but in daily life appear or campus automatic bell system. In school life, the last c

6、lass of the day are inseparable from the bell system. The bell c</p><p>  This design is mainly for the applicable requirements of the campus bell system, introduced a microcontroller-based automatic bell sy

7、stem design method, the system controller is AT89S51 SCM , the DS1307 clock chip provide the system with time, and the LCD displayed on the monitor button can set the time interval of the timer rang the bell time and ran

8、g the bell. System software design using C language, C language syntax is simple, easy to use, very convenient to be used to complete the software </p><p>  Key words: Rang the bell AT89S51 SCM the DS1307

9、 LCD monitors</p><p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  1 緒論3</b></p><p>  1.1 選題目的及意義

10、3</p><p>  1.2 技術(shù)發(fā)展概況3</p><p>  1.3 論文內(nèi)容與結(jié)構(gòu)3</p><p><b>  2 方案設(shè)計3</b></p><p>  2.1 方案比較與選擇3</p><p>  2.1.1 系統(tǒng)方案選擇3</p><p>  2

11、.1.2 時鐘芯片選擇3</p><p>  2.1.3 顯示器件選擇3</p><p>  2.2 設(shè)計方案3</p><p>  3 系統(tǒng)硬件設(shè)計3</p><p>  3.1 硬件電路圖3</p><p>  3.2 時鐘電路3</p><p>  3.2.1 DS1307簡介

12、3</p><p>  3.2.2 時鐘電路設(shè)計3</p><p>  3.3 按鍵電路3</p><p>  3.4 單片機電路3</p><p>  3.4.1 單片機簡介3</p><p>  3.4.2 單片機最小系統(tǒng)電路3</p><p>  3.5 顯示電路3</

13、p><p>  3.6 打鈴電路3</p><p>  4 系統(tǒng)軟件設(shè)計3</p><p>  4.1 軟件設(shè)計流程圖3</p><p>  4.2 讀取DS1307時間程序設(shè)計3</p><p>  4.3 顯示程序設(shè)計3</p><p>  4.4 按鍵設(shè)定程序設(shè)計3</p&g

14、t;<p><b>  5 系統(tǒng)調(diào)試3</b></p><p>  5.1 元件清單3</p><p>  5.2 調(diào)試過程3</p><p><b>  6 總結(jié)與展望3</b></p><p><b>  致謝3</b></p><

15、;p><b>  參考文獻3</b></p><p><b>  附錄3</b></p><p><b>  附錄一:電路圖3</b></p><p><b>  附錄二:源程序3</b></p><p><b>  1 緒論<

16、;/b></p><p>  1.1 選題目的及意義</p><p>  隨著現(xiàn)代科技的發(fā)展,管理水平的完善,具有自動提示功能的打鈴器能夠為企業(yè)節(jié)省人力資源,減少開支,對做到一體化管理具有很大的幫助。而且自動打鈴系統(tǒng)不斷影響著我們的學習和生活,它已被廣泛應(yīng)用于各個學校中,它能夠?qū)崿F(xiàn)學校的辦公自動化,便于學校的管理。用單片機控制的自動打鈴器,充分發(fā)揮了體積小,價格便宜,功耗低可靠性好等

17、特點,而且具有可改性,用于學校作息,方便了廣大師生。目前自動打鈴系統(tǒng)的研究和使用已經(jīng)非常普及,之所以選這個課題就是看在他的成熟性和普遍性。</p><p>  在學校生活中,每天上下課都離不開打鈴器的使用。打鈴器可以為上下課的學生和老師們提供時間提醒,同時,也可作為一個提醒學生們作息時間的時間表,讓大家有一個時間意識,形成規(guī)律的生物鐘,對自身的健康也有很大的好處的。對于那些上課精力過于集中、知識面拓展比較廣的老師

18、的拖堂現(xiàn)象也給了一個下課時間提醒,以免耽誤學生們下一節(jié)課的上課時間。</p><p>  打鈴器作為一個提醒人們時間的設(shè)備,自然離不開提供時間的系統(tǒng),最原始的打鈴器是人工根據(jù)時間通過敲鐘來提醒,隨著技術(shù)的發(fā)展,開始有了機械時打鈴器。隨著二十世紀電子技術(shù)的發(fā)展和二十一世紀半導體技術(shù)和集成電路的發(fā)展,電子技術(shù)開始滲入到各行各業(yè),以電子表為主要基礎(chǔ)提供時間基準的打鈴器自然也是更新?lián)Q代的更快,現(xiàn)在各種功能更多、使用更先進

19、的打鈴器層出不窮,有的還可以以音樂響鈴代替?zhèn)鹘y(tǒng)的“呤呤”聲,打鈴器更多的向著智能型轉(zhuǎn)變。設(shè)備的智能化離不開單片機的使用。單片機簡單的說就是一款微型的計算機,包含中央處理器CUP、隨機存取存儲器RAM、只讀存儲器ROM、I/O口、串行口等部分,可以作為一個系統(tǒng)的主控制器,將其他部分電路整合到一起組成一個系統(tǒng),為控制提供智能化。</p><p>  基于以上原因,本課題設(shè)計了一款基于單片機的自動打鈴系統(tǒng),使用簡單方便

20、、功能齊全。本次的設(shè)計重點在于實現(xiàn)自動打鈴系統(tǒng)的基本功能之外,爭取設(shè)計出亮點,出新意,對我本身是個不小的挑戰(zhàn),因此對這個課題的研究不管是對于我本身還是對此項目在科技方面的發(fā)展都是有很重要的意義</p><p>  1.2 技術(shù)發(fā)展概況</p><p>  日晷是最早報“標準時”的儀器,它由晷盤和晷針組成。晷盤是一個有刻度的盤,其中央裝有一根與盤面垂直的晷針,針影隨太陽運轉(zhuǎn)而移動在盤上的位置

21、。在公元前1400年,出現(xiàn)的漏壺(沙漏或者滴漏)是第一個擺脫天文現(xiàn)象的計時儀器。它是根據(jù)流沙從一個容器滴漏到另一個容器的數(shù)量來計量時間的。1400年,第一批機械鐘開始在歐洲流行,其始祖由意大利人喬瓦尼·唐迪于1364年制成,他首次在機械鐘里引入了輪式鐘擺。1511年,荷蘭人彼得·亨萊茵制成了第一塊懷表,但它只有時針而沒有分針和秒針,懷表和鐘的結(jié)構(gòu)其實是完全一樣的,所不同的是它利用螺旋彈簧制成的發(fā)條驅(qū)動,從而擺脫了傳統(tǒng)

22、的鐘擺,它靠小巧的“體形”,輕松進入人們的口袋。1582年前后,意大利的伽利略發(fā)明了重力擺,1657年,荷蘭的惠更斯把重力擺引入機械鐘,創(chuàng)立的擺鐘。1728~1759年,英國的哈里森制造出高精度的標準航海鐘。1775~1780年,英國的阿諾德創(chuàng)造出精密表用擒縱機構(gòu)。18~19世紀,鐘表制造業(yè)已逐步實現(xiàn)工業(yè)化生產(chǎn),并達到相當高的水平。20世紀,隨著電子工業(yè)的飛速發(fā)展,電池驅(qū)動鐘、交流電鐘、電機械表、指針式石英電子鐘表、數(shù)字式石英電子鐘表相

23、繼問</p><p>  在我國,東漢元初四年張衡發(fā)明了世界第一架“水運渾象”,此后唐高僧一行等人又在此基礎(chǔ)上借鑒改進發(fā)明了“水運渾天儀”、“水運儀象臺”。至元明之時,計時器擺脫了天文儀器的結(jié)構(gòu)形式,得到了突破性的新發(fā)展。機械鐘表進入中國最早是在公元1601年,意大利傳教士把鳴鐘作為貢品獻給當時的皇帝,揭開了中國人使用機械時鐘的序幕。清朝康熙年間,中國成為世界上最大的鐘表進口國。19世紀末期,我國造鐘工藝達到了一

24、個嶄新的水平,1875年由上?!懊览A”作坊制造的南京鐘以造型古樸典雅、民族風格鮮明和報時清脆、走時準確而聞名于海內(nèi)外。我國近代機械制鐘工業(yè)始于1915年,民族實業(yè)家李東山開辦了中國時鐘制造業(yè)的第一家鐘廠,并在1918年自制成功第一批座掛鐘投放市場。新中國成立后,1955年初在天津成功制造裝配出2只鉆成品手表,從那時起,結(jié)束了中國人只能修表、不能制表的歷史。時至今日,人們已經(jīng)可以通過測量原子的周期來計時了。</p><

25、;p>  隨著電子行業(yè)技術(shù)的發(fā)展和電子元器件工藝的精進,電子技術(shù)開始應(yīng)用于各行各業(yè),應(yīng)用電子元器件設(shè)計的智能電子時鐘也開始流行起來,人們利用電子元器件和微控制器,根據(jù)使用要求可以設(shè)計出各種功能齊全、使用方便的多功能時鐘,使其應(yīng)用范圍更廣,實用價值更高。80C51同樣如此,從開始的無人問津到現(xiàn)在的隨處可見,紅綠燈,記分牌,電子秒表,遙控器,電飯煲,電視等只要是電子產(chǎn)品,都會和芯片有關(guān),其實芯片并不是什么神秘的高科技,它只是里面裝了一

26、些編好的程序而己.而自動打鈴系統(tǒng)是用匯編語言來編程的一個系統(tǒng),它能夠讓一個學?;蚱髽I(yè)集團實現(xiàn)打鈴自動化,總之,一個需要時間系統(tǒng)的機構(gòu)實現(xiàn)自動提醒功能。當今時代是一個新技術(shù)層出不窮的時代,在電子領(lǐng)域尤其是自動化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未有的速度被單片機智能控制系統(tǒng)所取代。單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心就是單片機。目前,一個學習與應(yīng)用單片機的高潮正

27、在工廠、學校及企事業(yè)單位大規(guī)模地興起。對于本課題的研究與發(fā)展來說,不管是國內(nèi)或者國外都已經(jīng)發(fā)展的很成熟了,畢竟相對于單片機的飛速發(fā)展來說</p><p>  1.3 論文內(nèi)容與結(jié)構(gòu)</p><p>  本設(shè)計是以AT89S51單片機為核心的一款自動打鈴系統(tǒng),以時鐘芯片來實現(xiàn)計時功能,然后單片機負責將時間送入顯示電路顯示,整個系統(tǒng)不是很復(fù)雜,其設(shè)計主要包括單片機控制模塊、時鐘電路和顯示電路三

28、個模塊的設(shè)計,在設(shè)計前本人在學校圖書館看了很多關(guān)于單片機方面的書,也在網(wǎng)上查了不少資料,也查閱過跟此設(shè)計相似的論文或者期刊,得到了不少啟發(fā)和經(jīng)驗,對本人的設(shè)計工作有很大的幫助,能很好的把握設(shè)計的整體方向和細節(jié),論文的結(jié)構(gòu)如下:</p><p>  第二章:系統(tǒng)的設(shè)計方案,根據(jù)系統(tǒng)所要實現(xiàn)的功能,確定設(shè)計的基本方案。</p><p>  第三章:系統(tǒng)的硬件設(shè)計,主要介紹了硬件的電路圖,各模塊

29、電路的設(shè)計,硬件元器件的結(jié)構(gòu),特點,引腳功能等。</p><p>  第四章:系統(tǒng)軟件部分的設(shè)計,主要是對系統(tǒng)的主程序的結(jié)構(gòu)圖和流程圖的解說。</p><p>  第五章:系統(tǒng)的調(diào)試,主要是介紹下系統(tǒng)硬件和軟件調(diào)試過程中的問題和解決方案,還有調(diào)試步驟的細節(jié)問題的說明。</p><p><b>  第六章:論文總結(jié)。</b></p>

30、<p><b>  2 方案設(shè)計</b></p><p>  2.1 方案比較與選擇</p><p>  2.1.1 系統(tǒng)方案選擇</p><p>  方案一:采用數(shù)字電路來搭建,利用555時基電路構(gòu)成振蕩器產(chǎn)生100Hz頻率的振蕩電路,再通過分頻器得到1Hz頻率,即產(chǎn)生1秒計時時間,顯示部分通過鎖存器和驅(qū)動芯片將計時時間送入數(shù)碼管

31、顯示。設(shè)計框圖如圖2-1所示。這種方案電路結(jié)構(gòu)比較復(fù)雜,芯片使用比較多,靈活性不高,而且準確度不夠精確,不利于系統(tǒng)的擴展。而且這種電路中需要使用獨立式的數(shù)碼管,每一個數(shù)碼管都需要連接一個數(shù)據(jù)鎖存器和數(shù)碼管驅(qū)動芯片,連接線比較多,制作的過程中很容易出錯。</p><p>  圖2-1 方案一設(shè)計框圖</p><p>  方案二:采用AT89S51單片機作為系統(tǒng)控制單元,通過時鐘芯片來實現(xiàn)計時

32、功能,單片機負責將時間送入顯示電路顯示。設(shè)計框圖如圖2-2所示。這種方案電路設(shè)計簡單,時間精確,使用方便。而且單片機的強大功能使得系統(tǒng)方便擴展,有利于提高智能性。</p><p>  圖2-2 方案二設(shè)計框圖</p><p>  綜上所述,本設(shè)計選用第二種設(shè)計方案。</p><p>  2.1.2 時鐘芯片選擇</p><p>  方案一:因

33、為本文設(shè)計的數(shù)字鐘只需要顯示分鐘和秒,因此可以直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大,硬件就比較復(fù)雜,穩(wěn)定性低,而且不易控制。所以不采用此方案。</p><p>  方案二:采用DS1307時鐘芯片實現(xiàn)時鐘。DS1307,它是I2C總線接口實時時鐘芯片,可以獨立于CPU工作,不受CPU主晶振及其電容的影響,且計時準確,月累積誤

34、差一般小于10秒。芯片還具有主電源掉電情況下的時鐘保護電路,DS1307的時鐘靠后備電池維持工作,拒絕CPU對其讀出和寫入訪問。同時還具有備用電源自動切換控制電路,因而可在主電源掉電和其它一些惡劣環(huán)境場合中保證系統(tǒng)時鐘的定時準確性。同時,DS1307芯片內(nèi)部還集成有一定容量、具有掉電保護特性的靜態(tài)RAM,可用于保存一些關(guān)鍵數(shù)據(jù)。所以采用DS1307作為時鐘芯片。</p><p>  2.1.3 顯示器件選擇<

35、;/p><p>  為了能以十進制數(shù)碼直觀地顯示數(shù)字系統(tǒng)的運行數(shù)據(jù),目前廣泛使用了七段字符顯示器,或稱做七段數(shù)碼管。這種字符顯示器由七段可發(fā)光的線段拼合而成。常見的七段字符顯示器有半導體數(shù)碼管和液晶顯示器兩種。</p><p>  半導體數(shù)碼管的每個線段都是一個發(fā)光二極管(Light Emitting Diode,簡稱LED),因而也把它叫作LED數(shù)碼管或LED七段顯示器。半導體數(shù)碼管不僅具有

36、工作電壓低、體積小、壽命長、可靠性高等優(yōu)點,而且響應(yīng)時間短(一般不超過0.1us),亮度也比較高,但是只能顯示數(shù)字,顯示內(nèi)容比較受到限制,又過多的占用單片機的I/O口。</p><p>  液晶顯示器簡稱LCD,液晶是一種既具有液體的流動性又具有光學特性的有機化合物,它的透明度和呈現(xiàn)的顏色受外加電場的影響,利用這一特點便可以做成字符顯示器。液晶顯示器最大的優(yōu)點是功耗極小,每平方厘米的功耗在1uW以下。它的工作電壓

37、也很低,在1V以下仍能工作。而且顯示內(nèi)容比數(shù)碼管要豐富。因此,液晶顯示器在電子表以及各種小型、便攜式儀器、儀表中得到了廣泛的應(yīng)用。</p><p>  綜上所述,本設(shè)計中選用液晶顯示器作為顯示單元器件。</p><p><b>  2.2 設(shè)計方案</b></p><p>  本設(shè)計系統(tǒng)框圖如圖2-3所示。系統(tǒng)以AT89S51單片機為控制器,通

38、過DS1307來為系統(tǒng)提供標準時間,單片機讀取DS1307時間后送液晶顯示器顯示,通過按鍵來設(shè)置打鈴時間。當打鈴時間到時,系統(tǒng)實現(xiàn)蜂鳴器和LED燈聲光提示。系統(tǒng)設(shè)計框圖如下:</p><p>  圖2-3 系統(tǒng)設(shè)計框圖</p><p><b>  3 系統(tǒng)硬件設(shè)計</b></p><p><b>  3.1 硬件電路圖</b&g

39、t;</p><p>  根據(jù)系統(tǒng)設(shè)計框圖,本設(shè)計硬件電路主要由時鐘電路、按鍵設(shè)定電路、單片機電路、顯示電路和打鈴電路組成,電路原理圖見附錄一所示。</p><p>  系統(tǒng)工作原理:系統(tǒng)時間由時鐘芯片DS1307來提供,單片機通過P3口讀取了DS1307的時間數(shù)據(jù)后,經(jīng)過處理得到時間顯示模式的時鐘數(shù)據(jù),并通過P2口送液晶顯示器顯示出來。再通過掃描P1口是否有按鍵按下,有按鍵按下時,通過液

40、晶顯示器顯示來設(shè)置定時時間、打鈴時間間隔,通過設(shè)定、移位、加數(shù)來實現(xiàn)。當?shù)竭_打鈴時間時,單片機引腳啟動蜂鳴器和LED燈電路工作以聲光形式實現(xiàn)打鈴功能。</p><p><b>  3.2 時鐘電路</b></p><p>  3.2.1 DS1307簡介</p><p>  DS1307是I2C總線接口的日歷時鐘芯片,片內(nèi)有8個特殊寄存器和56

41、字節(jié)的非易失性RAM,是一種低功耗、BCD碼的8引腳實時時鐘芯片。它的主要特點:</p><p>  可對秒、時、分、每月的天數(shù)、月份、每周的天數(shù)進行計數(shù),并具有閏年補償功能,記年上線為2100年;</p><p>  56字節(jié)非易失性RAM;</p><p><b>  兩線串行接口;</b></p><p><

42、b>  可編程方波輸出;</b></p><p>  自動掉電檢測和切換電路;</p><p>  在電池備份模式下,功耗小于50nA;</p><p>  工業(yè)級工作溫度:-40℃-80℃;</p><p>  8引腳DIP和SOIC封裝。</p><p>  DS1307的引腳排列如圖3-1所示,

43、引腳說明如下: </p><p>  X1、X2:接入32.768kHz的石英晶振;</p><p>  VBAT:+3V電源輸入;</p><p><b>  GND:地;</b></p><p>  SDA:數(shù)據(jù)線,輸入輸出數(shù)據(jù),需要外接上拉電阻;</p><p>  SCL:時鐘線,用來同步

44、數(shù)據(jù);</p><p>  SQW/OUT:方波信號輸出端,可輸出供選擇的頻率方波,1Hz、4 KHz、8K Hz、32K Hz,需外接上拉電阻。</p><p>  VCC:+5V電源;</p><p>  圖3-1 DS1307引腳圖</p><p>  3.2.2 時鐘電路設(shè)計</p><p>  時鐘電路如圖3

45、-2所示。時鐘芯片的SCL引腳和SDA引腳分別由單片機的P3.1和P3.2引腳控制,單片機只需按照DS1307的工作時序來控制DS1307即可實現(xiàn)時間的寫入和讀取,其中DS1307的時鐘端與數(shù)據(jù)端需外接上拉電阻,本設(shè)計選用5針排阻來充當上拉電阻。</p><p><b>  圖3-2 時鐘電路</b></p><p><b>  3.3 按鍵電路</b

46、></p><p>  鍵盤是單片機應(yīng)用中常用的一種輸入器件,鍵盤的按鍵有觸點式和非觸點式之分,按接口原理有編碼鍵盤和非編碼鍵盤之分。編碼鍵盤主要用硬件來實現(xiàn)對按鍵的識別,非編碼鍵盤是由軟件來實現(xiàn)鍵盤的定義與識別。常用的按鍵一般為觸點式按鍵,根據(jù)按鍵所連接的單片機引腳的電平高低來判斷其是否按下。按功能分,鍵盤有獨立按鍵和矩陣按鍵之分,獨立按鍵每一路按鍵就占用單片機的一個控制引腳,單片機直接獲取其信息;矩陣按

47、鍵將按鍵排成由行和列組成的行列式,通過確認按鍵的行號和列號來確定每一路按鍵,利用少的單片機引腳控制更多的按鍵。</p><p>  本設(shè)計中按鍵電路如圖3-3所示,由單片機的P1口控制按鍵電路。本設(shè)計中按鍵用于設(shè)定定時時間、打鈴時間間隔,所以只需4路按鍵即可實現(xiàn)所需功能,采用獨立式按鍵即可。由于按鍵是機械式觸點,所以在斷開或閉合時,一般都有抖動產(chǎn)生,雖然這個抖動時間在我們看來非常短,但是單片機執(zhí)行指令的速度為微秒

48、級別,很容易會讀取這個時間而將其判斷為真正的工作狀態(tài),從而引起誤判。因此,在設(shè)計中必須考慮到按鍵抖動的影響。常用的去抖動的方法有兩種:硬件方法和軟件方法。硬件方法一般是加電容或者RS觸發(fā)器;軟件方法是在單片機在檢測引腳所連接的按鍵的工作狀態(tài)時加一個延時程序再次確認,通過2次的確認就可以確保按鍵的工作狀態(tài)不受機械抖動的影響了。</p><p><b>  圖3-3 按鍵電路</b></p

49、><p><b>  3.4 單片機電路</b></p><p>  3.4.1 單片機簡介</p><p>  單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的CPU、RAM、ROM、多種I/O口、中斷系統(tǒng)和定時器/計時器功能集成到一塊芯片上的完善的計算機系統(tǒng),它最早是被用在工業(yè)控制領(lǐng)域。由于單片機在工業(yè)控制領(lǐng)域的廣泛應(yīng)用

50、,為使更多的業(yè)內(nèi)人士、學生和愛好者學習掌握這門技術(shù),產(chǎn)生了單片機開發(fā)板。</p><p>  早期的單片機是8位或4位的,其中最成功的是INTEL的8031單片機,因簡單可靠而獲得了很大的好評。此后,在8031的基礎(chǔ)上發(fā)展出了MCS51系列單片機,基于這一系統(tǒng)的單片機一直到現(xiàn)在還廣泛應(yīng)用著。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位的單片機,因性價比不好并未得到廣泛的應(yīng)用。90年代后期隨著消費電子產(chǎn)品的大發(fā)展,

51、單片機技術(shù)得到了很大的提高,32位機迅速代替了16位機進入主流市場,傳統(tǒng)的8位機的處理速度也提高了數(shù)百倍,而且價格也降低了很多,得到了廣泛的應(yīng)用?,F(xiàn)在人們生活中幾乎每個電子產(chǎn)品或機械產(chǎn)品都或多或少帶有單片機控制系統(tǒng),智能儀器儀表、醫(yī)療器械、家用電器、兒童玩具等等,汽車電子中單片機的應(yīng)用也是非常廣泛,一般汽車上配備有接近40多個單片機系統(tǒng)。</p><p>  AT89S51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲

52、器的低電壓、高性能CMOS8位微處理器。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失性存儲器制造技術(shù),與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。主要特性:</p><p>  與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;</p><p>  4K字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲器;</p><p>  1000次擦鞋周期;&

53、lt;/p><p>  4.0-5.5V的電壓工作范圍;</p><p>  全靜態(tài)工作模式:0Hz-33MHz;</p><p><b>  三級程序加密鎖;</b></p><p>  128*8字節(jié)內(nèi)部RAM;</p><p>  32個可編程I/O口線(P1、P2、P3、P4);</p&

54、gt;<p>  2個16位定時/計數(shù)器,可通過編程實現(xiàn)4種工作方式;</p><p>  1個具有6個中斷源、4個優(yōu)先級的中斷潛嵌套結(jié)構(gòu);</p><p>  全雙工UART通道;</p><p>  低功耗空閑和掉電模式;</p><p>  中斷可從空閑模式喚醒系統(tǒng);</p><p>  看門狗(W

55、DT)及雙數(shù)據(jù)指針;</p><p>  掉電標識和快速編程特性;</p><p>  靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式)。</p><p>  AT89S51單片機內(nèi)部主要由9個部件組成:1個8位中央處理器;4KBFlash存儲器;128B的數(shù)據(jù)存儲器;32條I/O口線;2個定時器/計數(shù)器;1個具有6個中斷源、4個優(yōu)先級的中斷嵌套結(jié)構(gòu);用于多處理機通信、I/

56、O擴展或全雙工UART的串行口;特殊功能寄存器;1個片內(nèi)振蕩器和時鐘電路。AT89S51系列單片機完全繼承了MCS-51的指令系統(tǒng),共有111條指令,按其功能可分為五大類:數(shù)據(jù)傳送類指令、算術(shù)運算類指令、邏輯運算類指令、控制轉(zhuǎn)移類指令、布爾操作。</p><p>  中斷技術(shù)是計算機中的重要技術(shù)之一,它既和硬件相關(guān),也和軟件相關(guān),正因為有了“中斷”才使得計算機的工作更加靈活、效率更高。所謂中斷實際是一個處理時間的

57、過程,這一過程一般是由計算機內(nèi)部或外部某種緊急事件引起并向主機發(fā)出請求處理的信號,主機在允許情況下相應(yīng)請求,暫停正在執(zhí)行的程序,保存好“斷點”處的現(xiàn)場,轉(zhuǎn)去執(zhí)行中斷處理程序,處理完后自動返回到原斷點處,繼續(xù)執(zhí)行原程序。引起中斷的原因,或是能發(fā)出中斷申請的來源,稱為中斷源。AT89S51提供5個中斷源,即:</p><p>  外部中斷源/INT0:由P3.2輸入;</p><p>  外部

58、中斷源/INT1:由P3.3輸入,I/O設(shè)備中斷請求信號,或掉電故障異常事件中斷請求信號都可以作為外部中斷源連/INT0、/INT1。</p><p>  定時器/計數(shù)器T0溢出中斷:TF0做標志,由P3.4輸出;</p><p>  定時器/計數(shù)器T1溢出中斷:TF1做標志,由P3.5輸出;</p><p>  片內(nèi)串行口產(chǎn)生的中斷:RX、TX。</p>

59、;<p><b>  I/O口分配:</b></p><p>  P0口(P0.0~P0.7)為雙向8位三態(tài)I/O口,當作為I/O口使用時,可直接連接外部I/O設(shè)備。它是地址總線低8位及數(shù)據(jù)總線分時服用口,可驅(qū)動8個TTL負載。一般作為擴展時地址/數(shù)據(jù)總線口使用。</p><p>  P1口(P1.0~P1.7)的每一位都可以分別定義為輸入線和輸出線(做

60、輸入時,鎖存器必須置1),可驅(qū)動4個TTL負載。P1口常用作通用I/O口,它是一個標準的準雙向口。</p><p>  P2口(P2.0~P2.7)為8位準雙向I/O口,當作為I/O口使用時,可直接連接外部I/O設(shè)備。它是地址總線的高8位復(fù)用,可驅(qū)動4個TTL負載。一般作為擴展地址總線的高8為使用。</p><p>  P3口(P3.0~P3.7)為8位準雙向I/O口,是雙功能復(fù)用口,可驅(qū)

61、動4個TTL負載,能夠?qū)崿F(xiàn)第一功能,可作為通用I/O口。P3口的第二功能定義如表3-1所示:</p><p>  表3-1 P3口第二功能定義</p><p>  RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>  ALE/PROG:地址鎖存允許信號輸出。在CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器時,ALE提供一個地址

62、鎖存信號,將低8位地址鎖存在片外鎖存器中。在與Flash并行編程/校驗期間,該引腳也是編程負脈沖的輸入端。在正常操作狀態(tài)下,該引腳端口輸出恒定頻率的脈沖。其頻率為晶振頻率的1/6,可用作外部定時或其他觸發(fā)信號。如果需要,可通過SFR的第0位置禁止ALE操作,但ALE的禁止位不影響對外部存儲器的訪問。</p><p> ?。浩獬绦虼鎯ζ鬟x通信號,低電平有效。當AT89S51執(zhí)行來自外部程序存儲器的指令代碼時,PS

63、EN/每個機器周期兩次有效。在訪問外部數(shù)據(jù)存儲器時,PSEN/無效。</p><p> ?。浩獬绦虼鎯ζ髟L問允許信號,低電平有效。當接地時,CPU只執(zhí)行片外存儲器中的程序;當接Vcc時,CPU首先執(zhí)行片內(nèi)程序存儲器中的程序(0000H~0FFFH),然后自動轉(zhuǎn)向執(zhí)行片外程序存儲器中的程序(1000H~FFFFH)。如果程序鎖定位LB1被編程(P),那么值將在復(fù)位時由片內(nèi)鎖存。在與Flash并行編程/校驗期間,該

64、引腳施加12V的編程電壓VPP。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。</p><p>  AT89S51引腳圖如圖3-4所示:</p><p>  圖3-4 AT89S51引腳圖</p><p>  3.4.2 單片機最

65、小系統(tǒng)電路</p><p>  單片機最小系統(tǒng)由晶振電路和復(fù)位電路組成。電路如圖3-5所示。</p><p>  晶振電路用于產(chǎn)生單片機工作時所需要的時鐘信號,單片機的指令必須在時鐘信號下按照時序執(zhí)行。晶振電路通常用兩種設(shè)計方式:內(nèi)部振蕩方式和外部振蕩方式。內(nèi)部振蕩方式是在單片機的XTAL1和XTAL2引腳外接一個晶體振蕩器,與單片機內(nèi)部的振蕩器組成時鐘信號;外部振蕩方式是在外部將已有的脈

66、沖信號引入單片機內(nèi),一般用于使單片機的時鐘與外部信號保持同步。本設(shè)計選用內(nèi)部振蕩方式,在XTAL1和XTAL2引腳之間連接一個12MHz的晶振,再分別外接30p的對地電容。</p><p>  單片機在啟動時需要復(fù)位,使系統(tǒng)各器件處于初始狀態(tài)。復(fù)位引腳為RST,當系統(tǒng)上電后晶振電路穩(wěn)定后,RST引腳有一個高電平且持續(xù)2個機器周期以上,單片機系統(tǒng)就可以實現(xiàn)復(fù)位功能。復(fù)位一般有手動復(fù)位和上電復(fù)位功能。手動復(fù)位是在RS

67、T引腳設(shè)置按鍵,當按鍵按下時,RST引腳會有高電平,即可實現(xiàn)復(fù)位功能;上電復(fù)位是在RST引腳連接一個電解電容接至電源,再接一個電阻接地,系統(tǒng)上電時,電容充電,只要電源的上升時間不超過1ms,就可以實現(xiàn)復(fù)位功能。本設(shè)計選用按鍵復(fù)位。</p><p>  圖3-5 單片機最小系統(tǒng)電路</p><p><b>  3.5 顯示電路</b></p><p&

68、gt;  LCD1602為字符型液晶顯示器,分為帶背光和不帶背光兩種,主要技術(shù)參數(shù):</p><p>  顯示容量,16×2個字符;</p><p>  芯片工作電壓,4.5V-5.5V;</p><p>  工作電流,2.0mA;</p><p>  模塊最佳工作電壓,5V;</p><p>  字符尺寸,

69、2.95×4.35mm。</p><p>  LCD1602共有16個引腳,引腳說明如下:</p><p>  1腳,VSS,電源地;</p><p>  2腳,VDD,電源正極,接+5V;</p><p>  3腳,VL,液晶顯示偏壓,接正電源時對比度較弱,接地時對比度最高;</p><p>  4腳,RS

70、,數(shù)據(jù)/命令選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器;</p><p>  5腳,R/W,讀/寫選擇,高電平時進行讀操作,低電平時進行寫操作,當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù);</p><p>  6腳,E,使能信號,當E端由高電平跳變?yōu)榈碗娖綍r,液晶塊執(zhí)行命令;<

71、/p><p>  7-14腳,D0-D7,8位雙向數(shù)據(jù)線;</p><p>  15腳,BLA,背光源正極;</p><p>  16腳,BLK,背光源負極。</p><p>  本設(shè)計中顯示電路如圖3-6所示。單片機的P2口作為LCD1602的數(shù)據(jù)線端口,P3口控制LCD1602的使能端。單片機讀取數(shù)據(jù)后,通過控制LCD1602的讀寫端、復(fù)位端

72、和使能端將其設(shè)置為寫入數(shù)據(jù)狀態(tài),再將數(shù)據(jù)通過P2口送入LCD1602實現(xiàn)顯示功能。</p><p><b>  圖3-6 顯示電路</b></p><p><b>  3.6 打鈴電路</b></p><p>  打鈴電路一般用聲音或音樂作為提醒,本設(shè)計選用蜂鳴器和LED燈實現(xiàn)聲光雙重打鈴功能,電路如圖3-7所示。打鈴時間

73、到時,單片機P3.3引腳置高,三極管9013導通,繼而蜂鳴器和LED燈導通,實現(xiàn)蜂鳴和燈亮打鈴功能。</p><p><b>  圖3-7 打鈴電路</b></p><p><b>  4 系統(tǒng)軟件設(shè)計</b></p><p>  4.1 軟件設(shè)計流程圖</p><p>  系統(tǒng)軟件設(shè)計流程圖如圖4

74、-1所示。</p><p>  圖4-1 軟件設(shè)計流程圖</p><p>  程序設(shè)計過程:首先要定義單片機的引腳,然后初始化器件,再利用DS1307的讀寫時序讀取時間數(shù)據(jù)。再利用按鍵進入時間設(shè)定狀態(tài),設(shè)定完時間后單片機通過比較時間是否到達設(shè)定的時間來確定是否到打鈴時間,如果達到打鈴時間,則控制蜂鳴器響LED燈亮。</p><p>  4.2 讀取DS1307時間程

75、序設(shè)計</p><p>  DS1307中的時間寄存器地址編碼為00H-07H,而具有掉電保護的RAM寄存器的地址編碼為08H-3FH。當?shù)刂分羔樦赶騌AM的最后一個地址3FH時,若進行多字節(jié)操作,則地址指針將會復(fù)位而指向00H,這樣原來存在00H的數(shù)據(jù)將會丟失。DS1307的各類時間數(shù)據(jù)均以BCD碼的格式存儲在相應(yīng)的時間寄存器中,具體分配如表4-1所示:</p><p>  表4-1 D

76、S1307寄存器分配</p><p>  單片機通過讀取DS1307相應(yīng)的寄存器字節(jié),可以獲取時鐘和日歷信息。時鐘和日歷信息以BCD碼的形式存放在寄存器中,寄存器0的第7位為時鐘停止位,振蕩器停止工作。由于在初次上電時,所有寄存器的狀態(tài)是不確定的,所以在初始化時必須將寄存器0中的第7位設(shè)為0。</p><p>  DS1307可運行在12/24小時模式下,并由時間控制器中的相應(yīng)位來進行控制

77、。根據(jù)小時寄存器的第6位是0還是1,置為1時,是工作于12小時模式下,此時,小時寄存器的第5位為AM/PM標志。在24小時模式中,小時寄存器的第5位和第4位共同組成小時的十位數(shù)。時鐘模塊設(shè)計流程:單片機按如下順序?qū)?shù)據(jù)寫入到DS1307 寄存器或內(nèi)部RAM 中:</p><p>  1、START 信號</p><p>  2、寫SLA+W(0xd0)字節(jié),DS1307 應(yīng)答(ACK);&

78、lt;/p><p>  3、寫1 字節(jié)內(nèi)存地址(在以下第四步寫入的第一字節(jié)將存入到DS1307 內(nèi)該地址處,DS1307應(yīng)答);</p><p>  4、寫數(shù)據(jù)(可寫多個字節(jié),每一字節(jié)寫入后DS1307 內(nèi)部地址計數(shù)器加一,DS1307 應(yīng)答);</p><p><b>  5、STOP 信號</b></p><p>  單

79、片機讀取DS1307子程序流程圖如圖4-2所示:</p><p>  圖4-2 單片機讀取DS1307子程序流程圖</p><p>  4.3 顯示程序設(shè)計</p><p>  LCD1602的基本操作時序:</p><p>  讀狀態(tài):輸入:RS=L,RW=H,E=H;輸出:D0-D7=狀態(tài)字。</p><p>  

80、寫指令:輸入:RS=L,RW=L,D0-D7=指令碼,E=高脈沖;輸出:無。</p><p>  讀數(shù)據(jù):輸入:RS=H,RW=H,E=H;輸出:D0-D7=數(shù)據(jù)。</p><p>  寫數(shù)據(jù):輸入:RS=H,RW=L,D0-D7=數(shù)據(jù),E=高脈沖;輸出:無。</p><p>  LCD1602初始化過程:延時15ms;寫指令38H(不檢測忙信號);延時5ms;寫指

81、令38H(不檢測忙信號);延時5ms;寫指令38H(不檢測忙信號);以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號;寫指令38H,顯示模式設(shè)置;寫指令08H,顯示關(guān)閉;寫指令01H,顯示清屏;寫指令06H,顯示光標移動設(shè)置;寫指令0CH,顯示開及光標設(shè)置。</p><p>  LCD有11條控制指令,如表4-2所示。</p><p>  表4-2LCD1602控制指令表</p>

82、<p>  LCD1602內(nèi)部自帶有80×8位的RAM緩沖區(qū),RAM地址映射如表4-3所示。</p><p>  表4-3 LCD1602的RAM地址映射表</p><p>  LCD1602寫操作時序如圖4-3所示。</p><p>  圖4-3 LCD1602寫操作時序</p><p>  向LCD1602寫數(shù)據(jù)程

83、序子程序流程圖如圖4-4所示:</p><p>  圖4-4 向LCD1602寫數(shù)據(jù)程序子程序流程圖</p><p>  4.4 按鍵設(shè)定程序設(shè)計</p><p>  單片機讀取按鍵的方式有2種:查詢方式和中斷方式。</p><p>  查詢方式是利用單片機引腳不斷查詢是否有按鍵按下,如果有按鍵按下,利用延時程序去除抖動再次確認后,進入該按鍵

84、對應(yīng)的子程序執(zhí)行命令。</p><p>  中斷方式是利用單片機的外部中斷功能來檢測是否有按鍵按下。利用中斷功能可以不用在主程序中不斷的執(zhí)行查詢命令,有中斷產(chǎn)生即有按鍵按下時,再進入中斷子程序中進行處理。</p><p>  本設(shè)計選用查詢方式處理按鍵設(shè)定程序。每個獨立式按鍵直接接至單片機引腳,每個按鍵的鍵值與單片機端口的8個引腳的8位二進制碼相對應(yīng)。本設(shè)計為P1.0-P1.3引腳控制4路

85、按鍵。</p><p>  單片機控制按鍵子程序流程圖如圖4-5所示:</p><p>  圖4-5 單片機控制按鍵子程序流程圖</p><p><b>  5 系統(tǒng)調(diào)試</b></p><p><b>  5.1 元件清單</b></p><p>  本設(shè)計中的硬件制作中所

86、用元器件如表5-1所示。</p><p><b>  表5-1 元件清單</b></p><p><b>  5.2 調(diào)試過程</b></p><p>  制作調(diào)試過程中所用儀器有:數(shù)字萬用表、電烙鐵,焊錫絲、焊錫膏、剝線鉗、尖嘴鉗、圓口鉗、鑷子,吸錫器等,另外準備盡量多的導線。</p><p> 

87、 制作與調(diào)試過程如下:</p><p>  1、按照元器件清單準備好所需要用到的元器件。</p><p>  2、按照電路原理圖焊接硬件電路板,先焊接芯片的底座,再焊接其外圍電路。實物電路圖如圖5-1所示:</p><p>  圖5-1 實物電路圖</p><p>  3、編譯軟件程序,將生成的.hex文件燒寫入單片機內(nèi)。</p>

88、<p>  4、給系統(tǒng)上電,液晶顯示器顯示時間,利用按鍵,可設(shè)置定時時間和打鈴時間間隔。</p><p><b>  圖5-2 時間顯示</b></p><p>  5、當定時時間到時,蜂鳴器響,LED燈亮。</p><p>  6、每隔設(shè)置的打鈴時間間隔,蜂鳴器響,LED燈亮,實現(xiàn)打鈴功能。</p><p&g

89、t;  經(jīng)上述調(diào)試,系統(tǒng)工作正常,實現(xiàn)設(shè)計要求的功能。</p><p><b>  6 總結(jié)與展望</b></p><p>  經(jīng)過這段時間的努力,畢業(yè)設(shè)計也接近了尾聲。本文從選題目的及意義開始,介紹了系統(tǒng)的方案設(shè)計,其中提供了兩種設(shè)計方案,經(jīng)過互相之間的比較后選擇了簡單易行的一種方案,后面還列出了其他兩種模塊的設(shè)計方案,并經(jīng)比較后選擇了合適的方案,然后對系統(tǒng)的硬件設(shè)

90、計進行了闡述,包括電路圖和元器件的介紹,對它們實現(xiàn)的功能和內(nèi)部結(jié)構(gòu)都進行了說明,接著是軟件部分的設(shè)計,這也是此設(shè)計的關(guān)鍵部分,有很詳細的說明。</p><p>  本設(shè)計是針對學校的作息時間而設(shè)計的一種自動打鈴系統(tǒng),但是它同樣可以用于其他的場所,如工廠,生廠車間等等,它能很好的起到時鐘提醒的作用,方便了人們的日常生活。在硬件設(shè)計部分,顯示器件選的是液晶顯示器,它具有功耗和工作電壓低的特點,而且它的顯示質(zhì)量高,可視

91、面積大,能很好的達到設(shè)計要求,還降低了軟件的編程難度。</p><p>  本設(shè)計的自動打鈴系統(tǒng)還存在不足和缺點,主要表現(xiàn)在這些方面:雖然系統(tǒng)能夠很好的實現(xiàn)打鈴的要求,但是能夠設(shè)定的打鈴時間只有六個,這是因為想降低編程時的難度,在不影響其功能的前提下,降低了要求;還有就是其擴展性不強,后續(xù)的發(fā)展比較困難,制約了系統(tǒng)的升級,在商品競爭中沒什么優(yōu)勢,需要進一步的研究和開發(fā)。</p><p> 

92、 通過此次畢業(yè)設(shè)計,我對所學專業(yè)的知識有了很好的回顧和實踐,提高了自己的動手和思考能力,這對我自身的發(fā)展有很大的幫助,同時在此期間我查閱了很多的書籍和資料,從中學到了很多課本上沒有的知識,拓展了自己的知識面,如果沒有前期的準備工作是沒法很好的完成此次設(shè)計的,所以多學、多看、多想、多動手才是學好知識的必要素質(zhì),這對我未來的發(fā)展和進步有著至關(guān)重要的作用。</p><p><b>  致謝</b>

93、</p><p>  回顧這次畢業(yè)設(shè)計的過程,感慨良多,收獲頗豐,首先要感謝我的導師,成凌飛老師。在這段時間里成老師經(jīng)常給提醒我們在做畢業(yè)設(shè)計過程中應(yīng)當注意的事項,并在百忙之中特地抽出時間為我們講課,講解論文的排版及寫作技巧,使我們受益不淺,還不忘督促我們按步驟完成每一項內(nèi)容,可以說從畢業(yè)設(shè)計的開始到完成都能看見老師的身影,沒有老師的辛勤輔導和對學生的責任心就沒有我現(xiàn)在這樣一篇畢業(yè)論文。同時我還要感謝大學四年所有

94、教導過我的老師,是他們的諄諄教誨給了我大學四年的專業(yè)知識,在學習的道路上,他們就是我的領(lǐng)路人,真的非常感謝,還要感謝陪伴了我四年的每一個同學,因為他們,我的大學才不蒼白,因為他們,我的大學才精彩,也是因為他們,我的大學才有意義。</p><p>  畢業(yè)設(shè)計告一段落了,但是我的人生卻迎來了另一個出發(fā)點,畢業(yè)并不意味著結(jié)束,它同時是一個新的開始,我會帶著老師們的希冀,朋友們的祝福和友誼走得更遠、更高、更堅定,謝謝,

95、謝謝你們?。?!</p><p><b>  參考文獻</b></p><p>  [1] 張鳳言.電子電路基礎(chǔ).北京高等教育出版社,1995.</p><p>  [2] 戴佳,戴衛(wèi)恒,劉博文等.51單片機C語言應(yīng)用程序設(shè)計實例精講.電子工業(yè)出版社,2008.</p><p>  [3] 孫江宏等. Protel 99

96、電路設(shè)計與應(yīng)用.機械工業(yè)出版社,2001.</p><p>  [4] 閻石.數(shù)字電子技術(shù)基礎(chǔ).高等教育出版社,1998.</p><p>  [5] 范風強,蘭嬋麗.單片機語言C51應(yīng)用實戰(zhàn)集錦.電子工業(yè)出版社,2001. </p><p>  [6]張萌,和湘,姜斌等.單片機應(yīng)用系統(tǒng)開發(fā)綜合實例.清華大學出版社,2007.</p><p&g

97、t;  [7] 張義和.例說51單片機(C語言版),人民郵電出版社,2010.</p><p>  [8] 張毅剛, 劉杰. MCS-51單片機原理及應(yīng)用. 哈爾濱工業(yè)大學出版社,2004.</p><p>  [9] 曹冬,尹成群,何玉鈞等.基于AT89S51的新型打鈴器的研制.現(xiàn)代電子技術(shù),2005,(10):79-81.</p><p>  [10] 徐福成.

98、一款人性化的打鈴器.電子制作,2008,(2):36-37.</p><p>  [11] 魏建安,龍?,F(xiàn).智能式電子打鈴器的原理與設(shè)計.湖南教育學院學報,2000,18(2):49-51. </p><p>  [12] 王水富,韓云東,鐘超等.基于8051的自動打鈴系統(tǒng)設(shè)計.電腦編程技巧與維護,2009,(17):23-26.</p><p>  [13] 顧曙

99、敏.單片機與串行時鐘DS1307的接口設(shè)計.現(xiàn)代電子技術(shù),2003,26(14):85-87.</p><p>  [14] 王書杰,陳震.基于校園網(wǎng)絡(luò)的自動打鈴系統(tǒng)設(shè)計.科學技術(shù)與工程,2011,11(31):7804-7807. </p><p>  [15] 王娟,魏雄.基于單片機的多功能定時打鈴鐘設(shè)計.湖南農(nóng)機,學術(shù)版,2011,(5):85-86.</p><

100、p>  [16] 于永,戴佳,常江.51單片機C語言常用模塊與綜合系統(tǒng)設(shè)計實例精講.北京:電子工業(yè)出版社,2007.</p><p><b>  附錄</b></p><p><b>  附錄一:電路圖</b></p><p><b>  附錄二:源程序</b></p><p

101、>  #include<reg51.h></p><p>  #include<stdio.h></p><p>  #include<intrins.h></p><p>  #define uchar unsigned char</p><p>  #define uint u

102、nsigned int</p><p>  sbit LCD_EN=P3^5;</p><p>  sbit LCD_RS=P3^7;</p><p>  sbit LCD_RW=P3^6;</p><p>  sbit sda=P1^2;</p><p>  sbit sclk=P1^1;&l

103、t;/p><p>  sbit FMQ=P3^4;</p><p>  #define LCD_DATA 1</p><p>  #define LCD_COMMAND 0</p><p>  #define LCD_PORT P2</p><p>  uchar DISP_up[16];&l

104、t;/p><p>  uchar DISP_dw[16];</p><p>  uchar LCD_NO; </p><p>  uchar TBA[]={"0123456789"};</p><p>  uchar temp5,count_1,temp6;</p><p>  uchar

105、 D1307[3];</p><p>  uchar flag;</p><p>  uchar time_tab[24];</p><p>  uchar t_count;</p><p>  uchar key_board_t;</p><p>  uchar key_count;</p>

106、<p>  uchar save_data[8];</p><p>  uchar opt_time;</p><p>  /********************************************/</p><p>  void delay(uint tt)</p><p><b>  {&

107、lt;/b></p><p><b>  uchar i;</b></p><p>  for(;tt>0;tt--)</p><p><b>  {</b></p><p>  for(i=0;i<10;i++);</p><p><b>  

108、}</b></p><p><b>  }</b></p><p>  /*********************************************************/</p><p>  /*************************************************/</p>

109、<p>  bit LCD_BUSY()</p><p><b>  {</b></p><p>  bit result;</p><p><b>  LCD_RS=0;</b></p><p><b>  LCD_RW=1;</b></p>&l

110、t;p><b>  LCD_EN=1;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p>  result=(bit)(LCD_PORT&0x80);</p><p><b&g

111、t;  LCD_EN=0;</b></p><p>  return result;</p><p><b>  }</b></p><p>  void LCD_Write(uchar dat,uchar type)</p><p><b>  {</b></p>&l

112、t;p><b>  uchar i;</b></p><p>  while((LCD_BUSY()&&i<100)){i++;}</p><p>  if(i>99)LCD_NO=1;</p><p>  LCD_RS=type;</p><p><b>  LCD_RW=0

113、;</b></p><p><b>  LCD_EN=0;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p&g

114、t;<p><b>  _nop_();</b></p><p><b>  }</b></p><p>  void LCD_INITIALIZE()</p><p><b>  {</b></p><p>  LCD_Write(0x06,LCD_COMMAN

115、D);</p><p>  LCD_Write(0x38,LCD_COMMAND);</p><p>  LCD_Write(0x0c,LCD_COMMAND);</p><p><b>  }</b></p><p>  void LCD_Prints(uchar *dat,uchar add,uchar lens)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論