第1章 設(shè)計(jì)任務(wù)書(shū)
1.1目的與目標(biāo)在學(xué)校生活中,每一天和下一堂課都離不開(kāi)打鈴器的使用。鈴聲可以為在校學(xué)生和老師提供提醒,同時(shí)也可以作為提醒學(xué)生日程安排,讓我們有時(shí)間感,形成一個(gè)規(guī)律的時(shí)鐘,對(duì)自己的健康也有很大的好處。對(duì)于那些上課拖堂現(xiàn)象,廣大教師知識(shí)的發(fā)展也給一個(gè)班的時(shí)間提醒學(xué)生,以免耽誤下一節(jié)課的上課時(shí)間。
隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,提高管理水平,已使鐘裝置自動(dòng)提示節(jié)省人力資源,降低成本,對(duì)實(shí)現(xiàn)綜合管理有很大幫助。而自動(dòng)打鈴系統(tǒng)繼續(xù)影響著我們的生活和學(xué)習(xí),它已廣泛應(yīng)用于各個(gè)學(xué)校,它可以實(shí)現(xiàn)學(xué)校的辦公自動(dòng)化,為學(xué)校管理服務(wù)。自動(dòng)打鈴器配有微電腦,充分發(fā)揮了體積小、價(jià)格便宜、功耗低、可靠性好等優(yōu)點(diǎn),而且還可以修改為學(xué)校課表,方便廣大師生。自動(dòng)打鈴系統(tǒng)的研究和應(yīng)用已經(jīng)非常普及,選擇這一課題的原因是看其成熟性和通用性。
在第二十世紀(jì)和第二十一世紀(jì)的半導(dǎo)體和集成電路技術(shù)的電子技術(shù)的發(fā)展,電子技術(shù)已滲透到各行各業(yè),具有更快的林格電子表格為自然主要依據(jù)時(shí)間和更新提供參考,現(xiàn)在各種功能,層出不窮的貝爾更先進(jìn)使用智能設(shè)備的使用,離不開(kāi)供應(yīng)鏈管理。單片機(jī)只是一個(gè)微型計(jì)算機(jī),包括中央處理器杯、隨機(jī)存取存儲(chǔ)器ram、只讀存儲(chǔ)器ROM、I/O口、串口等部件,可作為系統(tǒng)的主控制器,其他部分電路將集成在一起構(gòu)成一個(gè)智能控制系統(tǒng)。
基于以上原因,本課題設(shè)計(jì)了一款基于單片機(jī)的自動(dòng)打鈴系統(tǒng),使用簡(jiǎn)單方便、功能齊全。
1.2軟硬件環(huán)境1.硬件清單:
2、軟件
Proteus7.5sp3
記事本
第2章 設(shè)計(jì)、制作2.1 總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)框圖如下:(見(jiàn)附件)
系統(tǒng)軟件設(shè)計(jì)流程圖如圖所示。

程序設(shè)計(jì)過(guò)程:首先要定義單片機(jī)的引腳,然后初始化器件,再利用DS1307的讀寫(xiě)時(shí)序讀取時(shí)間數(shù)據(jù)。再利用按鍵進(jìn)入時(shí)間設(shè)定狀態(tài),設(shè)定完時(shí)間后單片機(jī)通過(guò)比較時(shí)間是否到達(dá)設(shè)定的時(shí)間來(lái)確定是否到打鈴時(shí)間,如果達(dá)到打鈴時(shí)間,則控制蜂鳴器響LED燈亮。
2.2各部分的電路設(shè)計(jì)2.2.1時(shí)鐘電路設(shè)計(jì)
時(shí)鐘芯片的SCL引腳和SDA引腳分別由單片機(jī)的P3.1和P3.2引腳控制,單片機(jī)只需按照DS1302的工作時(shí)序來(lái)控制即可實(shí)現(xiàn)時(shí)間的寫(xiě)入和讀取,其中DS1302的時(shí)鐘端與數(shù)據(jù)端需外接上拉電阻,本設(shè)計(jì)選用5針排阻來(lái)充當(dāng)上拉電阻。

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

2.2.3單片機(jī)電路
晶振電路用于產(chǎn)生單片機(jī)工作時(shí)所需要的時(shí)鐘信號(hào),單片機(jī)的指令必須在時(shí)鐘信號(hào)下按照時(shí)序執(zhí)行。晶振電路通常用兩種設(shè)計(jì)方式:內(nèi)部振蕩方式和外部振蕩方式。內(nèi)部振蕩方式是在單片機(jī)的XTAL1和XTAL2引腳外接一個(gè)晶體振蕩器,與單片機(jī)內(nèi)部的振蕩器組成時(shí)鐘信號(hào);外部振蕩方式是在外部將已有的脈沖信號(hào)引入單片機(jī)內(nèi),一般用于使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。本設(shè)計(jì)選用內(nèi)部振蕩方式,在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í)間不超過(guò)1ms,就可以實(shí)現(xiàn)復(fù)位功能。本設(shè)計(jì)選用按鍵復(fù)位。

2.2.4顯示電路
單片機(jī)的P2口作為L(zhǎng)CD1602的數(shù)據(jù)線端口,P3口控制LCD1602的使能端。單片機(jī)讀取數(shù)據(jù)后,通過(guò)控制LCD1602的讀寫(xiě)端、復(fù)位端和使能端將其設(shè)置為寫(xiě)入數(shù)據(jù)狀態(tài),再將數(shù)據(jù)通過(guò)P2口送入LCD1602實(shí)現(xiàn)顯示功能。

2.2.5打鈴電路
打鈴電路一般用聲音或音樂(lè)作為提醒,本設(shè)計(jì)選用蜂鳴器和LED燈實(shí)現(xiàn)聲光雙重打鈴功能,電路如圖3-7所示。打鈴時(shí)間到時(shí),單片機(jī)P3.3引腳置高,三極管9013導(dǎo)通,繼而蜂鳴器和LED燈導(dǎo)通,實(shí)現(xiàn)蜂鳴和燈亮打鈴功能。
系統(tǒng)蜂鳴器的工作原理如下:當(dāng)單片機(jī)端口輸出高電平時(shí),三極管B極(三極管的各個(gè)參數(shù)如3.6節(jié)所示)處于高電平,三極管不導(dǎo)通,蜂鳴器不響。當(dāng)單片機(jī)端口輸出低電平時(shí),三極管B極處于低電平,三極管導(dǎo)通,蜂鳴器鳴響。在本系統(tǒng)中如果要運(yùn)用到實(shí)際中的話本來(lái)是要把單片機(jī)端口P3.4口接上繼電器再控制220V電源的電鈴的,但由于各種原因,在這次設(shè)計(jì)中我是用蜂鳴器來(lái)顯示出打鈴的效果的,蜂鳴器與單片機(jī)的連接圖如圖所示。

2.3 硬件連接
2.4 程序設(shè)計(jì)(見(jiàn)附件)第3章 調(diào)試3.1源程序的編輯一、使用的工具:記事本
二、編輯的具體操作步驟
1、ds1302 內(nèi)部RAM RAM0 1100 000R/W 1讀 0寫(xiě)
RAM1 1100 001R/W
.......
RAM30 1111 110R/W
定義ds1302時(shí)鐘線、數(shù)據(jù)線和復(fù)位線。
2、寫(xiě)一個(gè)數(shù)據(jù)到對(duì)應(yīng)的地址里
3、從對(duì)應(yīng)的地址讀一個(gè)數(shù)據(jù)出來(lái)
4、把要的時(shí)間 年月日 都讀出來(lái)
5、把要寫(xiě)的時(shí)間 年月日 都寫(xiě)入ds1302里
6、把數(shù)據(jù)保存到ds1302 RAM中**0-31
7、設(shè)置ds1302時(shí)間函數(shù)
8、把數(shù)據(jù)從ds1302 RAM讀出來(lái)**0-31
9、初始化ds1302時(shí)間
10、AT89C51扇區(qū)分布
第一扇區(qū):1000H--11FF
第二扇區(qū):1200H--13FF
第三扇區(qū):1400H--15FF
第四扇區(qū):1600H--17FF
第五扇區(qū):1800H--19FF
第六扇區(qū):1A00H--1BFF
第七扇區(qū):1C00H--1DFF
第八扇區(qū):1E00H--1FFF
11、AT89C52扇區(qū)分布
第一扇區(qū):2000H--21FF
第二扇區(qū):2200H--23FF
第三扇區(qū):2400H--25FF
第四扇區(qū):2600H--27FF
第五扇區(qū):2800H--29FF
第六扇區(qū):2A00H--2BFF
第七扇區(qū):2C00H--2DFF
第八扇區(qū):2E00H--2FFF
12、打開(kāi) ISP,IAP 功能
13、關(guān)閉 ISP,IAP 功能
14、觸發(fā)代碼
15、字節(jié)讀
16、扇區(qū)擦除
17、字節(jié)寫(xiě)
18、延時(shí)函數(shù)
19、lcd1602寫(xiě)命令函數(shù)
20、lcd1602寫(xiě)數(shù)據(jù)函數(shù)
21、lcd1602初始化設(shè)置
22、lcd1602上顯示兩位十進(jìn)制數(shù)
23、lcd1602上顯示兩位十進(jìn)制數(shù)
24、lcd1602上顯示這字符函數(shù)
25、控制光標(biāo)函數(shù)
26、開(kāi)機(jī)液晶顯示函數(shù) 初始化液晶的內(nèi)容
三、編輯時(shí)注意的問(wèn)題
1、寫(xiě)一個(gè)數(shù)據(jù)到對(duì)應(yīng)的地址里時(shí)要低位在前
2、從對(duì)應(yīng)的地址讀一個(gè)數(shù)據(jù)出來(lái)時(shí)要注意最后返回讀出來(lái)的數(shù)據(jù)
3、把要寫(xiě)的時(shí)間 年月日 都寫(xiě)入ds1302里要記得開(kāi)始時(shí)打開(kāi)寫(xiě)保護(hù),結(jié)束時(shí)關(guān)閉寫(xiě)保護(hù)
4、把數(shù)據(jù)保存到ds1302 RAM中**0-31時(shí)地址是從第二位開(kāi)始的
5、初始化ds1302時(shí)間第一次讀寫(xiě)數(shù)據(jù)時(shí)要把IO品拿低
四、給出過(guò)程中的截圖。




























3.2 編譯一、使用的工具Proteus7.5sp3
二、編譯的過(guò)程(主要步驟,要有截圖)
三、編譯后的結(jié)果
3.3 燒寫(xiě)燒寫(xiě)工具的名稱
燒寫(xiě)的過(guò)程(主要步驟,要有截圖)
3.4 調(diào)試調(diào)試的主要過(guò)程(或調(diào)試的主要內(nèi)容)
出現(xiàn)問(wèn)題的原因是什么,如何解決?
最終的調(diào)試結(jié)果
第4章 總結(jié)本設(shè)計(jì)是一種為上課時(shí)間設(shè)計(jì)的自動(dòng)打鈴系統(tǒng),可在工廠、工廠車間、學(xué)生等場(chǎng)所使用,能起到很好的時(shí)鐘功能,方便人們的日常生活。在硬件設(shè)計(jì)部分,LCD對(duì)LCD進(jìn)行監(jiān)控,具有功耗低、工作電壓低的特點(diǎn),顯示質(zhì)量高、可視面積大,能很好地實(shí)現(xiàn)設(shè)計(jì)要求,減少了軟件編程的難度。
自動(dòng)打鈴系統(tǒng)還存在不足和缺點(diǎn),主要表現(xiàn)在這些方面:雖然系統(tǒng)能夠很好的實(shí)現(xiàn)打鈴的要求,但是能夠設(shè)定的打鈴時(shí)間只有六個(gè),這是因?yàn)橄虢档途幊虝r(shí)的難度,在不影響其功能的前提下,降低了要求;還有就是其擴(kuò)展性不強(qiáng),后續(xù)的發(fā)展比較困難,制約了系統(tǒng)的升級(jí),在商品競(jìng)爭(zhēng)中沒(méi)什么優(yōu)勢(shì),需要進(jìn)一步的研究和開(kāi)發(fā)。
通過(guò)此次期末設(shè)計(jì),我對(duì)所學(xué)專業(yè)的知識(shí)有了很好的回顧和實(shí)踐,提高了自己的動(dòng)手和思考能力,這對(duì)我自身的發(fā)展有很大的幫助,同時(shí)在此期間我查閱了很多的書(shū)籍和資料,從中學(xué)到了很多課本上沒(méi)有的知識(shí),拓展了自己的知識(shí)面,如果沒(méi)有前期的準(zhǔn)備工作是沒(méi)法很好的完成此次設(shè)計(jì)的,所以想了解更多,看到更多更想做的,是學(xué)習(xí)知識(shí)的必備素質(zhì),這對(duì)我未來(lái)的發(fā)展和進(jìn)步有著至關(guān)重要的作用。