數(shù)字時鐘畢業(yè)論文_第1頁
已閱讀1頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著生活節(jié)奏的加快,人們時間觀念的加強(qiáng),時鐘已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,而如何在時鐘的基礎(chǔ)上,根據(jù)人們生活的需要增加相應(yīng)的功能以方便人們的生活,成為時鐘設(shè)計(jì)方面的重點(diǎn)。</p><p>  本設(shè)計(jì)基于單片機(jī)技術(shù)原理,以單片機(jī)芯片STC89C52作為核心控制器,通過硬件電路的制作以及軟件程序的

2、編制,設(shè)計(jì)了基于數(shù)字時鐘的可定時報警并向手機(jī)發(fā)送短信的巡檢定時器。其中時鐘系統(tǒng)主要由時鐘模塊、液晶顯示模塊、鍵盤控制模塊以及報警模塊組成。系統(tǒng)具有簡單清晰的操作界面,能在+5V直流電源下正常工作。能夠準(zhǔn)確顯示日期和時間(顯示格式為年、月、日、時、分、秒;24小時制),可隨時進(jìn)行時間調(diào)整。具有鬧鐘時間設(shè)置、鬧鐘開/關(guān)、止鬧功能。而定時向手機(jī)發(fā)送短信的部分則是基于單片機(jī)的GSM短信收發(fā)系統(tǒng)。</p><p>  關(guān)鍵

3、詞:單片機(jī);數(shù)字時鐘;巡檢;定時</p><p><b>  Abstract</b></p><p>  With the accelerated pace of life,with people’s concept of time to strengthen,the clock has become an integral part of daily life,a

4、nd how to increase,according to the needs of people’s lives on the basis of the clock,the corresponding functions to facilitate people’s lives becomes what the clock design focuses on.</p><p>  Based on prin

5、ciples of single-chip computer,using chip STC89C52 as the core controller,the paper shows a design of a polling timer based on the design of the digital clock timing alarm.The design can realize the function of sending S

6、MS to mobile phone. The clock system is mainly composed of a clock module, LCD display module, keyboard control module and a warning module. The system has a simple and clear user interface, and it can be in the +5V DC p

7、ower supply to work. Also it can be able to acc</p><p>  Key words: Single chip microcomputer;digital clock; On-site inspection;Timing</p><p><b>  目 錄</b></p><p><b&g

8、t;  第1章 緒論1</b></p><p>  1.1 課題研究背景及意義1</p><p>  1.2 數(shù)字時鐘的發(fā)展現(xiàn)狀1</p><p>  1.3 論文主要內(nèi)容及結(jié)構(gòu)安排3</p><p>  第2章 總體方案論證與設(shè)計(jì)4</p><p>  2.1 設(shè)計(jì)要求4</p>

9、<p>  2.2 總體設(shè)計(jì)方案5</p><p>  2.3 各功能模塊方案選擇5</p><p>  2.4 本章小結(jié)7</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)8</p><p>  3.1 單片機(jī)最小系統(tǒng)電路設(shè)計(jì)8</p><p>  3.2 LCD顯示系統(tǒng)硬件設(shè)計(jì)11</p>

10、;<p>  3.3 時鐘系統(tǒng)電路設(shè)計(jì)12</p><p>  3.4 鍵盤控制系統(tǒng)電路設(shè)計(jì)14</p><p>  3.5 報警系統(tǒng)電路設(shè)計(jì)15</p><p>  3.6 手機(jī)傳送短信系統(tǒng)電路設(shè)計(jì)15</p><p>  3.7 串行通信接口系統(tǒng)電路設(shè)計(jì)18</p><p>  3.8 本章

11、小結(jié)20</p><p>  第4章 系統(tǒng)軟件設(shè)計(jì)21</p><p>  4.1 主程序的設(shè)計(jì)21</p><p>  4.2 時鐘電路程序的設(shè)計(jì)22</p><p>  4.3 LCD顯示電路程序的設(shè)計(jì)25</p><p>  4.4 按鍵電路程序的設(shè)計(jì)27</p><p>  

12、4.5 報警電路程序的設(shè)計(jì)29</p><p>  4.6 定時向手機(jī)發(fā)送短信電路程序的設(shè)計(jì)29</p><p>  4.7 本章小結(jié)30</p><p>  第5章 系統(tǒng)調(diào)試31</p><p>  5.1 系統(tǒng)調(diào)試環(huán)境31</p><p>  5.2 軟件調(diào)試31</p><p>

13、;  5.3 硬件調(diào)試32</p><p>  5.4 調(diào)試結(jié)果33</p><p>  5.5 本章小結(jié)34</p><p><b>  結(jié) 論35</b></p><p><b>  參考文獻(xiàn)36</b></p><p><b>  致 謝37<

14、;/b></p><p>  附錄1 程序清單38</p><p>  附錄2 電路原理圖47</p><p>  附錄3 實(shí)物圖48</p><p><b>  第1章 緒論</b></p><p>  1.1 課題研究背景及意義</p><p>  數(shù)字時鐘

15、顯示的計(jì)時裝置,廣泛用于個人家庭、車站、碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式指針式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此

16、,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><p>  在數(shù)字時鐘的基礎(chǔ)上設(shè)計(jì)一種巡檢定時器,突破了每次定時一次就只提醒一次的鬧鈴的功能,可以實(shí)現(xiàn)只預(yù)設(shè)一次時間就起到每隔特定時間提醒的作用。間隔的時間可以通過按鍵來設(shè)定,在預(yù)設(shè)的時間點(diǎn)上報警并向手機(jī)發(fā)送短信告訴人們時間。將巡檢定時器應(yīng)用于工廠中,給工作人員帶來了很大的方便。</p><p>  1.2 數(shù)字時鐘的發(fā)展現(xiàn)狀<

17、/p><p>  現(xiàn)今,高精度的計(jì)時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英表、石英鐘都采用了石英技術(shù),因此走時精度高、穩(wěn)定性好、使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時時,譯碼代替機(jī)械式傳動,用LCD顯示器代替指針顯示進(jìn)而顯示時間,減小了計(jì)時誤差,這種表具有時,分,秒顯示時間的功能,還可以進(jìn)行時和分的校對,片選的靈活性好[1]。</p><p>  時鐘電路在計(jì)算機(jī)系統(tǒng)

18、中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機(jī)應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時/計(jì)數(shù)器來實(shí)現(xiàn),主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實(shí)現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘

19、芯片有:DS1302,DS12887,X1203等都可以滿足高精度的要求。近些年,隨著科技的發(fā)展和社會的進(jìn)步,人們對數(shù)字鬧鐘的要求也越來越高,傳統(tǒng)的時鐘不能滿足人們的需求。多功能數(shù)字鬧鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等[2]。</p><p>  數(shù)字時鐘的發(fā)展現(xiàn)狀:</p><p>  一、基于微機(jī)系統(tǒng)的數(shù)字時鐘設(shè)計(jì)</p><p>

20、;  計(jì)時單元由定時/計(jì)數(shù)器8253的通道0來實(shí)現(xiàn)。定時采用硬件計(jì)數(shù)和軟件技術(shù)相結(jié)合的方式,即通過8253產(chǎn)生一定的定時時間,然后再利用軟件進(jìn)行計(jì)數(shù),從而實(shí)現(xiàn)24小時制定時。8253定時時間到了之后產(chǎn)生中斷信號,8253在中斷服務(wù)程序中實(shí)現(xiàn)時、分、鈔的累加。時間顯示采用實(shí)驗(yàn)平臺上的6個LED數(shù)碼管分別顯示時、分、秒,采用動態(tài)掃描方式實(shí)現(xiàn)。校時和鬧鈴定時通過鍵盤電路和單脈沖產(chǎn)生單元來輸入。按鍵包括校時鍵、鬧鐘定時鍵、加1鍵、減1鍵等。報警

21、聲響用蜂鳴器產(chǎn)生,將蜂鳴器接8253的一個端口,通過輸出電平的高低來控制蜂鳴器的發(fā)聲。</p><p>  二、基于VHDL的數(shù)字時鐘設(shè)計(jì)</p><p>  基于VHDL語言,用Top_Down的思想進(jìn)行設(shè)計(jì)。</p><p>  用CN6無進(jìn)位六進(jìn)制計(jì)數(shù)器選擇數(shù)碼管的亮滅以及對應(yīng)的數(shù)、循環(huán)掃描顯示,用SEL61六選一選擇器選擇給定的信號輸出對應(yīng)的數(shù)送到七段碼譯碼

22、器。K4模塊進(jìn)行復(fù)位,設(shè)置小時和分、輸出整點(diǎn)報時信號和時、分、秒信號。</p><p>  三、基于單片機(jī)數(shù)字時鐘設(shè)計(jì)</p><p>  基于單片機(jī)的數(shù)字時鐘設(shè)計(jì)是模塊化設(shè)計(jì),以單片機(jī)做主控制模塊,控制時鐘芯片、溫度傳感器芯片等,又將數(shù)據(jù)控制輸出到顯示模塊。</p><p>  基于單片機(jī)的數(shù)字時鐘系統(tǒng)具有顯示準(zhǔn)確、直觀、易于調(diào)整等特點(diǎn)。單片機(jī)自誕生以來給全世界人

23、類的生活和工作起到了劇烈的變化,通過該系統(tǒng)的設(shè)計(jì),對單片機(jī)的原理和功能有個比較系統(tǒng)和全面的掌握。</p><p>  單片機(jī)指一個集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實(shí)時時鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入

24、輸出系統(tǒng)集成在一塊芯片上[3]。</p><p>  目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,錄象機(jī)、攝象機(jī),以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算

25、機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)在多功能數(shù)字鐘中的應(yīng)用已是非常普遍的,人們對數(shù)字鐘的功能及工作順序都非常熟悉。但是卻很少知道它的內(nèi)部結(jié)構(gòu)以及工作原理。由單片機(jī)作為數(shù)字鐘的核心控制器,可以通過它的時鐘信號進(jìn)行時實(shí)現(xiàn)計(jì)時功能,將其時間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來。通過鍵盤可以進(jìn)行定時、校時功能。輸出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。</p><p>  單片機(jī)在多功能數(shù)字鬧鐘中的應(yīng)用已是

26、越來越普遍,人們對數(shù)字鬧鐘的功能及工作順序都非常熟悉。但是卻很少知道它的內(nèi)部結(jié)構(gòu)以及工作原理。由單片機(jī)作為數(shù)字鬧鐘的核心控制器,可以通過它的時鐘信號進(jìn)行計(jì)時實(shí)現(xiàn)計(jì)時功能,將其時間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來,與此同時,還可以設(shè)定時間,當(dāng)?shù)竭_(dá)設(shè)定的時間時,在LCD上可以顯示的溫度,通過鍵盤可以進(jìn)行定時、校時功能。輸出設(shè)備顯示器用液晶顯示技術(shù)[4]。</p><p>  1.3 論文主要內(nèi)容及結(jié)構(gòu)安排 <

27、;/p><p>  本次在數(shù)字時鐘的基礎(chǔ)上設(shè)計(jì)一種巡檢定時器,突破了每次定時一次就只提醒一次的鬧鈴的功能,可以實(shí)現(xiàn)只預(yù)設(shè)一次時間就起到每隔特定時間提醒的作用。本次的數(shù)字時鐘設(shè)計(jì)中由單片機(jī)AT89S52芯片和LCD為核心,輔以必要的電路,如調(diào)時按鍵、蜂鳴器等。實(shí)現(xiàn)了對各個單元的有效控制,本文分五章對系統(tǒng)設(shè)計(jì)進(jìn)行了詳細(xì)介紹,各章節(jié)安排如下:</p><p>  第1章 簡要介紹了數(shù)字時鐘的發(fā)展現(xiàn)狀

28、,提出了研究課題,介紹了論文的章節(jié)安排。</p><p>  第2章 本章給出了總體方案的論證與設(shè)計(jì),其中提出了設(shè)計(jì)要求,給出方案的比較并最終確定了方案。</p><p>  第3章 本章主要是對巡檢定時器各個功能模塊進(jìn)行設(shè)計(jì)。并且分別闡述了各個功能模塊的工作原理、具體工作過程以及硬件連接。</p><p>  第4章 本章主要研究了在電路的基礎(chǔ)上設(shè)計(jì)相應(yīng)的軟件程序

29、,說明程序運(yùn)行過程,給出各個功能模塊應(yīng)用程序的流程圖以及源程序。</p><p>  第5章 本章主要介紹數(shù)字時鐘的調(diào)試,包括調(diào)試環(huán)境、硬件制作和軟件調(diào)試過程,給出了調(diào)試軟件的成功運(yùn)行結(jié)果。</p><p>  第2章 總體方案論證與設(shè)計(jì)</p><p><b>  2.1 設(shè)計(jì)要求</b></p><p>  本系統(tǒng)采

30、用單片機(jī)STC89C52為LCD顯示屏的控制核心,基本要求是設(shè)計(jì)鍵盤電路,用按鍵完成系統(tǒng)信息的輸入,用三個按鍵分別實(shí)現(xiàn)調(diào)整,按鍵加和按鍵減的功能;顯示電路擬采用LCD液晶顯示;要求顯示屏可以顯示兩個界面:一個界面顯示實(shí)時日期和時間,另一個界面顯示鬧鐘時間和設(shè)定鬧鐘響起的間隔時間。有定時報警系統(tǒng),用蜂鳴器實(shí)現(xiàn),預(yù)計(jì)響聲持續(xù)一分鐘;有定時向手機(jī)傳送短信系統(tǒng)。</p><p>  在數(shù)字時鐘的基礎(chǔ)上設(shè)計(jì)一種巡檢定時器,

31、突破了每次定時一次就只提醒一次的鬧鈴的功能,可以實(shí)現(xiàn)只預(yù)設(shè)一次時間就起到每隔特定時間提醒的作用。間隔的時間可以通過按鍵來設(shè)定,在預(yù)設(shè)的時間點(diǎn)上報警并向手機(jī)發(fā)送短信告訴人們時間。將巡檢定時器應(yīng)用于工廠中,給工作人員帶來了很大的方便。其中巡檢定時器的功能有:</p><p>  本設(shè)計(jì)時鐘能用LCD顯示年、月份、日期、小時(24小時制)、分鐘、秒,能對各位進(jìn)行調(diào)節(jié)。</p><p>  (1)

32、本設(shè)計(jì)有2種顯示模式,分別是顯示模式和調(diào)整模式,并且有兩個界面,分別是時間、日期界面和鬧鐘界面。</p><p>  (2)用戶可以設(shè)置電子時鐘的時間。設(shè)置時間時必須先單擊模式選擇按鈕,進(jìn)入調(diào)整時間模式,選擇相應(yīng)的調(diào)節(jié)位,然后再單擊調(diào)整時間加減按鈕,使其調(diào)節(jié)為正確的時間。</p><p>  (3)單擊調(diào)整時間的加按鈕時,數(shù)字時鐘的分或者秒會一直往上增加,當(dāng)增加到59就會循環(huán)到0,數(shù)字時鐘

33、的時會增加到23就會循環(huán)到0,數(shù)字時鐘的月也是增加到12循環(huán)至0,但日就不一樣了,它會由月來決定增加到的最高數(shù)值,其數(shù)值遵循現(xiàn)實(shí)的值。當(dāng)單擊調(diào)整時間的減按鈕時,與增剛好相反,減為0時,循環(huán)到相應(yīng)數(shù)值最高位去。</p><p>  (4)鬧鈴響起時可通過按下加按鈕停止響鈴,減按鈕使鬧鈴重新開始響起。</p><p>  (5)進(jìn)入調(diào)整模式后,在預(yù)設(shè)鬧鐘的時間后再按一次調(diào)整按鍵可以調(diào)整鬧鐘響起

34、的間隔時間,實(shí)現(xiàn)巡檢定時的作用:定時響鈴和發(fā)送短信。</p><p>  2.2 總體設(shè)計(jì)方案</p><p>  綜合上述要求系統(tǒng)主要包括LCD顯示系統(tǒng)模塊、時間采集系統(tǒng)模塊、按鍵控制系統(tǒng)模塊、報警系統(tǒng)模塊、手機(jī)發(fā)送短信模塊,其中手機(jī)發(fā)送短信模塊又是由TC35i模塊和GSM網(wǎng)絡(luò)組成的。系統(tǒng)框圖如圖2-1所示。下面對各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。</p><p> 

35、 圖2-1總體硬件組成框圖</p><p>  2.3 各功能模塊方案選擇</p><p>  2.3.1 LCD顯示系統(tǒng)模塊</p><p>  方案一:用液晶12864顯示。用可以顯示漢字的12864液晶顯示器可以增加顯示信息的可讀性,讓人看起來會很方便。但是價格高些。</p><p>  方案二:用液晶1602顯示。用1602液晶雖然顯

36、示數(shù)據(jù)有限,但對于本次的設(shè)計(jì)顯示是足夠的且顯示數(shù)據(jù)的可讀性好,價格便宜。</p><p>  比較以上兩種方案,系統(tǒng)設(shè)計(jì)中采用方案二。</p><p>  2.3.2 時鐘采集系統(tǒng)模塊</p><p>  方案一:通過單片機(jī)內(nèi)部的定時器/計(jì)數(shù)器,用軟件實(shí)現(xiàn),直接用單片機(jī)的定時器編程以實(shí)現(xiàn)時鐘;雖然用軟件實(shí)現(xiàn)時鐘硬件線路簡單,但是程序運(yùn)行的每一步都需要時間,多一步或少

37、一步程序都會影響記時的準(zhǔn)確度,對定時器定時也不是十分準(zhǔn)確,時鐘精度很低,對于我們實(shí)現(xiàn)所需要的功能造成軟件編程非常復(fù)雜。</p><p>  方案二:用專門的時鐘芯片實(shí)現(xiàn)時鐘的記時,再把時間數(shù)據(jù)送入單片機(jī),由單片機(jī)控制顯示。用專用時鐘芯片硬件成本相對較高,但它的精度很高,軟件編程很簡單。</p><p>  比較以上兩種方案,方案二有明顯的優(yōu)點(diǎn),因此選擇方案二。</p><

38、;p>  2.3.3 按鍵控制系統(tǒng)模塊</p><p>  方案一:購買集成鍵盤,采用矩陣形式連接。集成美觀,與單片機(jī)的接口少,但是它的成本比較高。</p><p>  方案二:購買單個復(fù)位開關(guān)做成鍵盤。單片機(jī)的IO口對于我們的設(shè)計(jì)綽綽有余。</p><p>  比較以上兩種方案,我們選用價格便宜的單個復(fù)位開關(guān)做成鍵盤。因此選擇方案二。</p>

39、<p>  2.3.4 報警系統(tǒng)模塊</p><p>  方案一:語音報警,電路復(fù)雜。</p><p>  方案二:采用蜂鳴器實(shí)現(xiàn)用聲音報警。價格便宜,電路簡單,易于實(shí)現(xiàn)。</p><p>  比較以上兩種方案,我們選用價格便宜的蜂鳴器實(shí)現(xiàn)用聲音報警。因此選擇方案二。</p><p>  2.3.5 手機(jī)短信發(fā)送系統(tǒng)模塊</p

40、><p>  方案一:通過移動網(wǎng)關(guān)發(fā)送短消息,使用該方法不需要附加的硬件,但是需要到電信部門申請網(wǎng)關(guān),比較適用于一些大型的網(wǎng)絡(luò)通訊公司開發(fā),目前華為、中興等公司就做的這方面的工作,并且還有相應(yīng)的開發(fā)包供開發(fā)人員使用。</p><p>  方案二:通過一些網(wǎng)站上提供的短信發(fā)送功能來實(shí)現(xiàn),比如新浪網(wǎng)、網(wǎng)易都提供這方面的服務(wù),這種方法是這三種方法中實(shí)現(xiàn)起來最簡單,所需資源最少的,但是對于網(wǎng)站的依賴性

41、太強(qiáng),對網(wǎng)絡(luò)的依賴同樣無法避免,不適用于項(xiàng)目開發(fā)。</p><p>  方案三:在電腦或單片要上通過GSM MODEM向手機(jī)發(fā)送中文短消息,這是目前比較適合于小項(xiàng)目開發(fā)的一種方法,所需硬件包括一款手機(jī),提供GSM MODEM,以及相應(yīng)的數(shù)據(jù)線或是紅外線適配器。該方法編碼簡單,只需對AT指令和串口編程比較熟悉就可以實(shí)現(xiàn),而且對硬件需求不高,并能自動收發(fā)短消息。</p><p>  比較以上三

42、種方案,選擇方案三。</p><p><b>  2.4 本章小結(jié)</b></p><p>  本章給出了各個模塊的方案論證,比較與選擇。經(jīng)過多方比較,我們最終確定出各個模塊的最佳方案。液晶顯示采用LCD1602,時鐘采集系統(tǒng)采用專用芯片DS1302來實(shí)現(xiàn),按鍵用復(fù)位開關(guān)實(shí)現(xiàn),報警系統(tǒng)用蜂鳴器實(shí)現(xiàn),手機(jī)短信發(fā)送系統(tǒng)則利用TC35i模塊和GSM網(wǎng)絡(luò)實(shí)現(xiàn)。如圖2-2所示。

43、</p><p>  圖2-2 模塊選擇形式方框圖</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)</p><p>  為使該模塊化LCD顯示屏控制系統(tǒng)具有更加方便和靈活性,我們對系統(tǒng)的硬件做了精心設(shè)計(jì)。硬件電路包括LCD顯示模塊、時間采集系統(tǒng)模塊、按鍵控制系統(tǒng)模塊、報警系統(tǒng)模塊、手機(jī)發(fā)送短信系統(tǒng)模塊、串口下載程序模塊。</p><p>  3.1

44、 單片機(jī)最小系統(tǒng)電路設(shè)計(jì)</p><p>  3.1.1 單片機(jī)芯片選擇</p><p>  單片機(jī)采用52系列單片機(jī)。STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Fl

45、ash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個16 位 定時器/計(jì)數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高

46、運(yùn)作頻率35Mhz,6T/12T可選[5]。 </p><p>  3.1.2 單片機(jī)管腳說明</p><p><b>  VCC:供電電壓。</b></p><p><b>  GND:接地。 </b></p><p>  P0口:P0口為一個8位漏極開路雙向I/O口,每

47、腳可吸收8TTL門流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。 </p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外

48、部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器

49、進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 </p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出

50、電流(ILL)這是由于上拉的緣故。 </p><p>  P3口也可作為AT89S52的一些特殊功能口。</p><p>  P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。 </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 </p><p>  ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖

51、存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX、MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁

52、止,置位無效。 </p><p>  PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 </p><p>  EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),</p><p>  不管是否有內(nèi)部程序存儲器。注意加密方式

53、1時,/EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 </p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出[6]。</p><p>  3.1.3 單片機(jī)的最小系統(tǒng)</p><

54、p>  單片機(jī)最小系統(tǒng)主要由復(fù)位電路、晶振電路、電源等幾部分組成。</p><p><b>  (1)復(fù)位電路</b></p><p>  復(fù)位電路有兩種方式:上電復(fù)位和按鈕復(fù)位,我們采用上電和按鍵復(fù)位方式。如圖3-1所示: </p><p><b>  圖3-1 復(fù)位電路</b></p><

55、p><b>  (2)晶振電路 </b></p><p>  晶振電路原理圖如3-2:選取原則:電容選取30pF,晶振為12MHz。如圖3-2所示:</p><p><b>  圖3-2 晶振電路</b></p><p><b>  (3)電源</b></p><p> 

56、 AT89S52單片機(jī)的供電電源是5V的直流電。用USB口實(shí)現(xiàn)。如圖表3-3所示。USB引腳如表3-3所示。</p><p>  圖3-3 電源電路 </p><p>  表3-1 USB引腳介紹</p><p>  (4)EA非/Vpp腳</p><p>  我們沒有用外部擴(kuò)展ROM,因此EA非/Vpp為高電平,即接+5V電源。</p

57、><p>  3.2 LCD顯示系統(tǒng)硬件設(shè)計(jì)</p><p>  3.2.1 LCD1602簡介 </p><p>  工業(yè)字符型液晶,能夠同時顯示16x02即32個字符(16列2行)。注:為了表示的方便,后文皆以1表示高電平,0表示低電平。 </p><p>  1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型

58、液晶模塊它有若干個5X7或者5X11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符。每位之間有一個點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形 (用自定義CGRAM,顯示效果也不好)1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。 </p><p>  目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是

59、完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。藍(lán)底白字,標(biāo)準(zhǔn)型16X2液晶顯示字符模塊(背光/藍(lán)屏)。</p><p>  1602采用標(biāo)準(zhǔn)的16腳接口,其中:</p><p>  第1腳:VSS為地電源。</p><p>  第2腳:VDD接5V正電源。</p><p>  第3腳:V0為液晶顯示

60、器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。</p><p>  第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。</p><p>  第5腳:R/W為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高

61、電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。</p><p>  第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p>  第15腳:背光電源正極。</p><p>  第16腳:背光電源負(fù)極。</p><p

62、>  1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A” 。</p><p>  3.2.3 液晶顯示電路</p><p&g

63、t;  設(shè)計(jì)中采用 LCD1602液晶顯示。1602的4腳與單片機(jī)的P1.0相連,5腳接地,6腳與單片機(jī)的P1.1相連。7~14腳與單片機(jī)的 P0口相連。1、16號腳接地,2號腳接電源,15號腳背光燈與電源相連。3號腳是對比度(亮度)調(diào)整,這里要用一個滑動變阻器來調(diào)整亮度,這里我們?nèi)‰娢黄鞔笮?0K。LCD1602顯示電路如圖3-4所示:</p><p>  圖3-4 LCD驅(qū)動電路原理圖</p>

64、<p>  3.3 時鐘系統(tǒng)電路設(shè)計(jì)</p><p>  3.3.1 時鐘芯片選擇</p><p>  我們采用具有涓細(xì)電流充電能力的低功耗實(shí)時時鐘電路DS1302。它可以對年、月、日、時、分、秒進(jìn)行計(jì)時,且具有閏年補(bǔ)償?shù)榷喾N功能。它采用主電源和備用電源雙電源供電。它的工作電壓范圍2.0-5.5V,在2.2V時,小于300mA。它內(nèi)部含有31個字節(jié)的靜態(tài)RAM,可提供用戶訪問。

65、</p><p>  DS1302可以對年、月、日、時、分、秒進(jìn)行計(jì)時,可以達(dá)到我們設(shè)計(jì)的基本要求。內(nèi)部的寄存器為我們調(diào)時,鬧鐘定時提供了寄存空間。備用用電源也實(shí)現(xiàn)了當(dāng)系統(tǒng)斷電后,時鐘仍然可以保持。而且它是串行接口,與單片機(jī)通信所需要的接口少。不像DS12887等芯片并行通信需要很多IO口。</p><p>  3.3.2 DS1302管腳及寄存器說明</p><p&g

66、t;  (1)DS1302的引腳排列 </p><p>  Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。</p><p>  當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。因此,我們Vcc1用3V的紐扣電池作為備用電源,Vcc2

67、用系統(tǒng)電源作為主電源。 X1和X2是振蕩源,外接32.768kHz晶振。 RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,

68、在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。 SCLK為時鐘輸入端。</p><p>  (2)DS1302的寄存器說明 </p><p>  DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄

69、存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 </p><p>  3.3.3

70、 DS1302時鐘電路</p><p>  DS1302與單片機(jī)的連接僅需3條線:時鐘線SCLK、數(shù)據(jù)線I/O和復(fù)位線RST。時鐘線SCLK與P1.4相連,數(shù)據(jù)線I/O與P1.3相連,復(fù)位線RST與P1.2相連。由于DS1302是靠涓細(xì)電流充電來實(shí)現(xiàn)串行輸入輸出的,因此,在SCLK、I/O、RST線上要加上拉電阻,其中,它們的電流應(yīng)該在500u-1mA之間,若電源為5V,則R約為5K,因此,我們的電阻R=4.7K

71、。</p><p>  在單電源與電池供電系統(tǒng)中,Vcc1提供低電源并提供低功率的備用電源。Vcc2提供高電源作為芯片供電的主電源。因此,這里Vcc1用3V紐扣電池,Vcc2用5V的系統(tǒng)電源。</p><p>  晶振為32.768KHz接入X1、X2引腳。DS1302時鐘電路如圖3-5所示:</p><p><b>  圖3-5 時鐘電路</b&g

72、t;</p><p>  3.4 鍵盤控制系統(tǒng)電路設(shè)計(jì)</p><p>  按鍵需要3個,分別實(shí)現(xiàn)為時間調(diào)整、時間的加、時間的減三個功能。用單片機(jī)的3個I/O口接收控制信號,3個按鍵的一端與地相連,另一端分別與P2.0、P2.1、P2.2相連。這時當(dāng)按鍵按下就輸入低電平。其中按下K1set鍵后,系統(tǒng)進(jìn)入調(diào)整模式,即可對年、月、日、時、分、秒、鬧鐘定時時間及響鈴間隔時間進(jìn)行設(shè)定。K2up和K

73、3down鍵分別是可實(shí)現(xiàn)進(jìn)入調(diào)整狀態(tài)后的加操作和減操作。另外,在鬧鐘響起時,按下K2up可使鬧鐘停止,再按下K3down則可使鬧鐘重新開始響起。其電路圖如圖3-6所示:</p><p>  圖3-6 鍵盤控制電路</p><p>  3.5 報警系統(tǒng)電路設(shè)計(jì)</p><p>  報警電路設(shè)計(jì)原理:用一個三極管,平時導(dǎo)通,短接基極和發(fā)射極該管截止蜂鳴器不響,一旦斷開,

74、三極管導(dǎo)通蜂鳴器鳴響。蜂鳴器與單片機(jī)的連接僅需1條線,與單片機(jī)的P3.5口相連。電路圖如圖3-7所示。</p><p><b>  圖3-7 報警電路</b></p><p>  3.6 手機(jī)傳送短信系統(tǒng)電路設(shè)計(jì)</p><p>  在本次設(shè)計(jì)中采用單片機(jī)和GSM模塊來實(shí)現(xiàn)手機(jī)短信的傳送。GSM(Global System for Mobile

75、 communication)系統(tǒng)是目前基于時分多址技術(shù)的移動通訊體制中比較成熟、完善、應(yīng)用最廣泛的一種系統(tǒng)。目前已建成的覆蓋全國的GSM數(shù)字蜂窩移動通信網(wǎng),是我國公眾移動通信網(wǎng)的主要方式。基于GSM的短信息服務(wù),是一種信息在移動網(wǎng)絡(luò)上儲存和轉(zhuǎn)寄的過程。由于公眾GSM網(wǎng)絡(luò)在是一種在移動網(wǎng)絡(luò)上傳送簡短信息的無線應(yīng)用全球范圍內(nèi)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,建立上述系統(tǒng)不須再組建專用通信網(wǎng)絡(luò),所以具有實(shí)時傳輸數(shù)據(jù)功能的短信應(yīng)用將得到迅速普及。</p

76、><p>  目前,國內(nèi)已經(jīng)開始使用的GSM模塊有Falcom的A2D系列、Wavecome的WMO2系列、西門子的TC35系列、愛立信的DM10/DM20系列、中興的ZXGM18系列等,而且這些模塊的功能、用法差別不大。其中西門子的TC35系列模塊性價比很高,并且已經(jīng)有國內(nèi)的無線電設(shè)備入網(wǎng)證[7]。所以本設(shè)計(jì)選用的是西門子TC35系列的TC35i。這是西門子推出的最新的無線模塊,功能上與TC35兼容,設(shè)計(jì)緊湊,大大

77、縮小了用戶產(chǎn)品的體積。TC35i與GSM2/2+兼容、雙頻(GSM900/GSM1800)、RS232數(shù)據(jù)口、符合ETSI標(biāo)準(zhǔn)GSM0707和GSM0705,且易于升級為GPRS模塊。該模塊集射頻電路和基帶于一體,向用戶提供標(biāo)準(zhǔn)的AT命令接口,為數(shù)據(jù)、語音、短消息和傳真提供快速、可靠、安全的傳輸,方便用戶的應(yīng)用開發(fā)及設(shè)計(jì)。</p><p>  3.6.1 TC35i模塊簡介</p><p>

78、;  TC35i新版西門子工業(yè)GSM模塊是一個支持中文短信息的工業(yè)級GSM模塊,工作在EGSM900和GSM1800雙頻段,電源范圍為直流3.3~4.8V,電流消耗休眠狀態(tài)為3.5mA,空閑狀態(tài)為25mA,發(fā)射狀態(tài)為300mA(平均),2.5A峰值;可傳輸語音和數(shù)據(jù)信號, 功耗在EGSM900(4類)和GSM1800(1類)分別為2W和1W,通過接口連接器和天線連接器分別連接SIM卡讀卡器和天線。SIM電壓為3V/1.8V,TC35i的

79、數(shù)據(jù)接口(CMOS電平)通過AT命令可雙向傳輸指令和數(shù)據(jù),可選波特率為300b/s~115kb/s,自動波特率為1.2kb/s~115kb/s。它支持Text和PDU格式的SMS(Short Message Service,短消息),可通過AT命令或關(guān)斷信號實(shí)現(xiàn)重啟和故障恢復(fù),資料如下:     TC35i由供電模塊(ASIC)、閃存、ZIF連接器、天線接口等6部分組成。作為TC35i的核心基

80、帶處理器主要處理GSM終端內(nèi)的語音和數(shù)據(jù)信號,并涵蓋了蜂窩射頻設(shè)備中的所有模擬和數(shù)字功能。 TC35i硬件設(shè)計(jì):TC35i模塊有40個引腳,通過一個ZIF(Z</p><p>  3.6.2 SIM卡</p><p>  用戶識別模塊(SIM),SIM卡上包含了所有的用戶信息。TC35i使用外接式SIM卡,ZIF連接器上有6個引腳作為SIM卡的接口,SIM卡上也有6個引腳分別與它

81、們相對應(yīng),如圖3-8所示:</p><p>  圖3-8 SIM卡引腳圖</p><p>  與TC35i模塊的引腳連接方式見圖3-9。但是SIM卡不能真焊到電路板上,應(yīng)該需要一個SIM卡座,這里我們用一個8個引腳的SIM卡座。</p><p>  圖3-9 手機(jī)發(fā)送短信電路</p><p>  3.7 串行通信接口系統(tǒng)電路設(shè)計(jì)</

82、p><p>  MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。它可以將TTL電平轉(zhuǎn)換成和電腦串口匹配的電壓。DB9通過下載線纜于電腦連接,可以將程序下載到單片機(jī)上。MAX232芯片的11腳和12腳分別接單片機(jī)的P3.1和P3.0口,電路圖如圖3-10所示。</p><p>  MAX232內(nèi)部有兩個電荷泵,將+5V 轉(zhuǎn)換為±

83、10V (空載),為RS-232驅(qū)動器提供工作電壓。第一個轉(zhuǎn)換器利用電容C1 將+5V輸入加倍,得到V+ 輸出端C3上的+10V;第二個轉(zhuǎn)換器利用電容C2將+10V轉(zhuǎn)換為V-輸出端C4上的-10V??梢詮?10V (V+)和-10V (V-)輸出端獲取少量的電源功率,為外部電路供電;當(dāng)V+、V-為外部電路提供電流時,注意不要因?yàn)樗迂?fù)載的原因使V+、V-低于EIA/TIA-232E驅(qū)動器輸出電壓最小值±5V的限制[9]。<

84、;/p><p>  MAX232引腳和內(nèi)部電路引腳功能如下:</p><p>  第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。</p><p>  第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。</p><p>  

85、其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p>&

86、lt;p>  第三部分是供電。15腳GND、16腳VCC(+5V)。</p><p>  圖3-10串行通信接口電路</p><p><b>  3.8 本章小結(jié)</b></p><p>  本章通過對設(shè)計(jì)思想的介紹,分別對單片機(jī)最小系統(tǒng)、按鍵模塊、LCD顯示模塊、時鐘模塊、報警模塊、串行通信接口模塊的設(shè)計(jì)原理進(jìn)行分析和闡述。對各模塊所需

87、的芯片、元器件進(jìn)行介紹。</p><p>  第4章 系統(tǒng)軟件設(shè)計(jì)</p><p>  本次設(shè)計(jì)用Keil編程軟件進(jìn)行軟件設(shè)計(jì)。Keil軟件是目前最流行的開發(fā)系列單片機(jī)軟件,近年來各仿真機(jī)廠商紛紛宣布全面支持Keil。Keil提供了包括C 編譯器、宏匯編、連接器、庫管理和仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過集成開發(fā)環(huán)境將這些部分組合在一起。Keil支持匯編語言和C語言的程序設(shè)計(jì),易學(xué)易用。&

88、lt;/p><p>  4.1 主程序的設(shè)計(jì)</p><p>  系統(tǒng)主程序首先對系統(tǒng)進(jìn)行初始化,包括設(shè)置端口,液晶,DS1302的初始化。由于單片機(jī)沒有命令指令,所以可以設(shè)計(jì)系統(tǒng)程序不斷的循環(huán)執(zhí)行顯示程序,用while語句實(shí)現(xiàn)。如果單片機(jī)接收命令指令,就執(zhí)行相應(yīng)的程序及鬧鐘是否到的判斷,執(zhí)行相應(yīng)的報警及手機(jī)發(fā)送短信程序。主程序流程圖如圖4-1所示:</p><p> 

89、 圖4-1 主程序流程圖</p><p>  4.2 時鐘電路程序的設(shè)計(jì)</p><p>  DS1302 所進(jìn)行的一切工作必須先由CPU 向DS1302 發(fā)送命令字節(jié), 命令字節(jié)格式如圖4-2。各位定義如下:命令字節(jié)的最高位7 必須為“1”,否則禁止對DS1302 進(jìn)行操作。第6 位是時鐘/日歷或RAM 選擇位,如它為“1”可對內(nèi)部RAM 讀寫,如它為“0”可對時鐘日歷操作。此處所謂日歷

90、型數(shù)據(jù)即數(shù)據(jù)格式為壓縮型BCD 碼,且數(shù)值必須在它的定義域內(nèi);例如:“月份”的定義域?yàn)?~12, “秒”的定義域?yàn)?~59 等等。所謂RAM型數(shù)據(jù)即指一般16 進(jìn)制數(shù)據(jù)。位5 至位1 為DS1302 內(nèi)部寄存器地址。DS1302 有單字節(jié)和多字節(jié)兩種讀、寫方式。所謂單字節(jié)讀、寫方式即每次只能從DS1302 中讀、寫1 字節(jié)數(shù)據(jù)。所謂多字節(jié)讀、寫方式則每次可從DS1302 中連續(xù)讀、寫若干字節(jié)數(shù)據(jù)。當(dāng)位5 至位1 各位均為“1”時,DS1

91、302為多字節(jié)讀、寫方式。最低位0 為“0”表示寫操作,否則為讀操作。命令字節(jié)的傳輸都是從最低位開始。</p><p>  7 6 5 4 3 2 1 0</p><p>  圖4-2 DS1302時鐘芯片的控制字</p><p>  DS1302 采用串行方式與微控制器

92、通訊。在片選信號RST 變?yōu)楦唠娖胶?,可向芯片發(fā)送指令及讀取數(shù)據(jù)。DS1302 的命令字的傳輸從最低位開始。當(dāng)對DS1302 進(jìn)行寫數(shù)據(jù)時,首先發(fā)寫控制指令,在控制指令字輸入后的下一個SCLK時鐘的上升沿,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。當(dāng)對DS1302 進(jìn)行讀數(shù)據(jù)時,首先發(fā)讀控制指令,在緊跟8 位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位0 位至高位7。注意在SCLK為高電平

93、期間,不能讀I/O 線,此期間I/O 端為高阻狀態(tài)。因此,在程序設(shè)計(jì)時應(yīng)保證在SCLK上升沿之前讀I/O線,即可正確讀出時鐘數(shù)據(jù)。在本記錄儀表系統(tǒng)中,實(shí)時時鐘軟件首先應(yīng)將日歷信息初值———秒、分、時、日、月、星期、年等按序?qū)懭氲紻S1302 相關(guān)寄存器中,此后,時鐘便以此初值為基準(zhǔn)進(jìn)行計(jì)時,只要主電源VCC2 和備份電源VCC1 尚有一個工作正常,則計(jì)時就不會終止。初始化日歷信息程序分為三部分:(1) 發(fā)送“解除寫保護(hù)”命令字8EH 和

94、內(nèi)容00H ,以開放DS1302 寫操作。(2) 發(fā)送“涓流充電”命令字90H 和內(nèi)</p><p>  圖4-3 DS1302讀狀態(tài)流程圖 圖4-4 DS1302寫狀態(tài)流程圖</p><p>  圖4-5 DS1302程序流程圖</p><p>  4.3 LCD顯示電路程序的設(shè)計(jì)</p><p>

95、  4.3.1 LCD的四種基本操作</p><p>  LCD有四種基本操作,具體如表所示。</p><p>  表4-1 LCD與單片機(jī)之間有四種基本操作</p><p><b>  (1)讀狀態(tài)操作</b></p><p>  執(zhí)行讀狀態(tài)字操作,如表4-1所示須滿足RS=0、R/W=1。根據(jù)管腳功能,當(dāng)為有效電平時

96、,狀態(tài)命令字可從LCD模塊傳輸?shù)綌?shù)據(jù)總線。同時可以保持一段時間,從而實(shí)現(xiàn)讀狀態(tài)字的功能。如圖4-6所示為讀入狀態(tài)字流程圖。</p><p>  圖4-6 LCD讀入狀態(tài)字流程圖</p><p><b>  (2)寫命令操作</b></p><p>  由表4-1可知當(dāng)RS=0,R/W=0時,才可以通過單片機(jī)或用戶指令把數(shù)據(jù)即命令,寫到LCD模塊

97、,此時就對LCD進(jìn)行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標(biāo)志,最后寫命令字。寫命令字流程圖如圖4-7所示。</p><p>  圖4-7 寫命令流程圖</p><p><b> ?。?)定義光標(biāo)位置</b></p><p>  把顯示數(shù)據(jù)要某個位置,就是把顯示數(shù)據(jù)寫在相應(yīng)的DDRAM地址中,DDRAM地址占7位。Set DDRAM ad

98、dress 命令如表4-2所示。光標(biāo)定位,寫入一個顯示字符后,DDRAM地址會自動加1或減1,加或減由輸入方式設(shè)置。第一行DDRAM地址與第二行DDRAM地址并不連續(xù)。如表4-3所示。</p><p>  表4-2 Set DDRAM address 命令</p><p>  表4-3 DDRAM地址</p><p><b> ?。?)LCD初始化<

99、/b></p><p>  從通電開始通過延時,先經(jīng)過判忙后再進(jìn)行功能設(shè)置,過一段時間后可以設(shè)置顯示狀態(tài)(如設(shè)置行、位或陣列)再經(jīng)過后清屏后再可以設(shè)置輸入方式。</p><p>  4.3.2 LCD顯示程序設(shè)計(jì)</p><p>  LCD顯示程序的設(shè)計(jì)一般先要確定LCD的初始化、光標(biāo)定位、確定顯示字符后,LCD就可以按如圖4-8顯示。</p>

100、<p>  圖4-8 LCD顯示程序流程圖</p><p>  4.4 按鍵電路程序的設(shè)計(jì)</p><p>  采用三按鍵控制模式,設(shè)定三個變量keyset、k1up、k2down分別代表調(diào)整模式、按鍵加、按鍵減。當(dāng)這三個變量等于零時表示按鍵按下。電路程序流程圖如圖4-9所示:</p><p>  圖4-9 按鍵調(diào)整程序設(shè)計(jì)</p><

101、p>  4.5 報警電路程序的設(shè)計(jì)</p><p>  設(shè)置標(biāo)志位did,當(dāng)did==0時,蜂鳴器響起。在蜂鳴器響起的過程中,按下按鍵加可停止響鈴,再按下按鍵減可使蜂鳴器重新響起。過一分鐘后蜂鳴器自動停響。</p><p>  4.6 定時向手機(jī)發(fā)送短信電路程序的設(shè)計(jì)</p><p>  利用西門子TC35i模塊組成一個短信息收發(fā)系統(tǒng),TC35i直接與單片機(jī)相

102、連,單片機(jī)通過AT命令來控制TC35i模塊。單片機(jī)與PC機(jī)相連,兩者通過RS232接口通信。TC35i模塊短信息內(nèi)容采用PDU格式,可以發(fā)送中文,短信息內(nèi)容中文在單片機(jī)中通過查表轉(zhuǎn)換成Unicode編碼方式后發(fā)送至TC35i。程序流程圖如圖4-10所示。</p><p>  圖4-10 手機(jī)發(fā)送短信程序流程圖</p><p>  4.6.1 PDU模式的信息編碼格式 </p>

103、<p>  在上述說明中提到了在PDU Mode中,可以采用三種編碼方式來對發(fā)送的內(nèi)容進(jìn)行編碼,它們是7-bit、8-bit和UCS2編碼。7-bit編碼用于發(fā)送普通的ASCII字符,它將一串7-bit的字符(最高位為0)編碼成8-bit的數(shù)據(jù),每8個字符可“壓縮”成7個;8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等;而UCS2編碼用于發(fā)送Unicode字符。PDU串的用戶信息(TP-UD)段最大容量是140字節(jié),

104、所以在這三種編碼方式下,可以發(fā)送的短消息的最大字符數(shù)分別是160、140和70。這里,將一個英文字母、一個漢字和一個數(shù)據(jù)字節(jié)都視為一個字符[10]。</p><p>  (1) 7-bit編碼 </p><p>  缺省的GSM 字符集為7位編碼,可以簡單地理解為ASCII碼(ASCII值小于80Hex,因此,Bit8被忽略),依次將下一7位編碼的后幾位逐次移至前面,形成新的8位編碼,GS

105、M并非支持所有的ASCII字符顯示。 </p><p>  (2) 8-bit編碼 </p><p>  8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等;8-bit編碼其實(shí)沒有規(guī)定具體的算法。 </p><p>  (3) UCS2編碼 </p><p>  UCS2編碼是將每個字符(1-2個字節(jié))按照ISO/IEC10646的規(guī)定,轉(zhuǎn)

106、變?yōu)?6位的Unicode寬字符。在Windows系統(tǒng)中,特別是在2000/XP中,可以簡單地調(diào)用API 函數(shù)實(shí)現(xiàn)編碼和解碼。如果沒有系統(tǒng)的支持,比如用單片機(jī)控制手機(jī)模塊收發(fā)短消息,只好用查表法解決了。 </p><p>  需要注意的是,PDU串的用戶信息長度(TP-UDL),在各種編碼方式下意義有所不同。7-bit編碼時,指原始短消息的字符個數(shù),而不是編碼后的字節(jié)數(shù)。8-bit編碼時,就是字節(jié)數(shù)。UCS2編碼

107、時,也是字節(jié)數(shù),等于原始短消息的字符數(shù)的兩倍。如果用戶信息(TP-UD)中存在一個頭(基本參數(shù)的TP-UDHI為1),在所有編碼方式下,用戶信息長度(TP-UDL)都等于頭長度與編碼后字節(jié)數(shù)之和。如果采用GSM 03.42所建議的壓縮算法(TP-DCS的高3位為001),則該長度也是壓縮編碼后字節(jié)數(shù)或頭長度與壓縮編碼后字節(jié)數(shù)之和[11]。</p><p><b>  4.7 本章小結(jié)</b>

108、</p><p>  本章主要介紹軟件程序的設(shè)計(jì),包括主程序的設(shè)計(jì)、時鐘電路程序的設(shè)計(jì)、LCD顯示電路程序的設(shè)計(jì)、按鍵電路程序設(shè)計(jì)、報警電路程序的設(shè)計(jì)、定時向手機(jī)發(fā)送短信程序的設(shè)計(jì)幾個部分。并且給出了各個部分的程序流程圖。</p><p><b>  第5章 系統(tǒng)調(diào)試</b></p><p>  5.1 系統(tǒng)調(diào)試環(huán)境</p>&l

109、t;p>  本系統(tǒng)所有的電路都設(shè)計(jì)在一塊電路板上,整個電路板結(jié)構(gòu)緊湊、分布合理,便于加工和調(diào)試,并且降低了相互間以及與其他部件的干擾。電路焊接好過后進(jìn)行簡單的調(diào)試過后,系統(tǒng)便能正確、可靠的運(yùn)行。本設(shè)計(jì)采用Keil軟件對源程序進(jìn)行編譯和調(diào)試。</p><p><b>  5.2 軟件調(diào)試</b></p><p>  本設(shè)計(jì)的軟件部分,全部采用C語言編寫,軟件模塊較

110、多,程序可分為主程序模塊、數(shù)據(jù)顯示程序模塊、時鐘控制程序模塊、按鍵程序模塊、蜂鳴器程序模塊。因此采用分塊調(diào)試的方法來調(diào)試程序。首先用Keil調(diào)試,調(diào)試結(jié)果如圖5-1所示,產(chǎn)生HEX文件,無誤后,再通過串口燒到單片機(jī)里用裝置實(shí)驗(yàn)調(diào)試,如圖5-2所示。此次調(diào)試采用了自下而上的調(diào)試方法,即先單獨(dú)調(diào)試好每一項(xiàng)功能,然后再連接成一個完整的系統(tǒng)調(diào)試。根據(jù)實(shí)驗(yàn)結(jié)果和指標(biāo)對照,若有不符,再修改,直到程序完全正確為止,這樣保證了軟件編寫的正確性和可行性。

溫馨提示

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

評論

0/150

提交評論