基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)摘 要單片機(jī)自20世紀(jì)70年代問(wèn)世以來(lái),因?yàn)閱纹瑱C(jī)極高 的 性 能 價(jià) 格 比,越發(fā)受到了人們的重視 和 關(guān) 注 , 應(yīng) 用 領(lǐng) 域 廣 泛 、發(fā)展很快。而51單片機(jī)是各單片機(jī)中最為典型的,也是最具有代表性的一種。本設(shè)計(jì)是一款基于AT89C51的智能數(shù)字鐘,該數(shù)字鐘表由主控模塊、按鍵模塊、定時(shí)模塊、溫度檢測(cè)模塊和顯示模塊構(gòu)成。主控模塊由主控芯片AT89C51、晶振電路和復(fù)位電路構(gòu)成;定時(shí)模塊采用時(shí)鐘芯片DS1302實(shí)現(xiàn)精確定時(shí);用溫度傳感器DS18B20作為溫度采集源 , 檢 測(cè) 當(dāng) 前 溫 度;用液晶顯示器1602顯示年、月、日、時(shí)間及溫度。通過(guò)這種方

2、法的實(shí)現(xiàn),使智能數(shù)字鬧鐘的電路簡(jiǎn)單 , 性 能 可 靠 , 實(shí) 時(shí) 性 好 , 時(shí) 間 和溫度精度高,操作簡(jiǎn)單。在Proteus和Keil µvision4的環(huán)境下,完成了電路原理圖的繪制以及程序的編譯后,用焊接的方法在電路板上焊接實(shí)物,將Keil µvision4中生成的.hex文件的程序燒到電路中,檢測(cè)并調(diào)試電路,實(shí)現(xiàn)智能數(shù)字鬧鐘的功能。該智能數(shù)字鬧鐘可以應(yīng)用于人們的生活和工作中,也可通過(guò)改裝,將智能數(shù)字鬧鐘的性能提高,還可以增加新的功能,讓智能數(shù)字鬧鐘顯示更多方面的內(nèi)容與功能,給人們的生活和工作帶來(lái)更多的方便。關(guān)鍵詞:?jiǎn)纹瑱C(jī),時(shí)鐘芯片,溫度傳感器,液晶顯示器,智能數(shù)字

3、鐘AT89S52 based Digital Clock Design of Intelligent Abstract AbstractSCM since the advent of the 1970s , because of high performance and low cost single chip , has been more and more people's attention and concern , widely used in the field , has developed rapidly. The microcontroller 51 is the m

4、ost typical each MCU is the most representative one.The designer is one section based on AT89C51 intelligent digit clock, this clock and watch by the master control module, fixed time the module, the temperature examines the module and the display module constitution. Master control module by master

5、 control chip AT89C51, crystal oscillator electric circuit and reset circuit constitution; Fixed time the module uses clock chip DS1302 to realize precisely fixed time; Gathers the source with temperature sensor DS18B20 as the temperature, the examination current temperature; 1602 demonstrate the ye

6、ar, the month, Japan, the time and the temperature with the liquid-crystal display. The method has the advantage of being simple circuit, reliable performance, good real-time, high precision of the time and temperature, simply operation【19】.Under the environment of Proteus and Keil vision4 , after f

7、inishing drawing circuit schematic and compiling program, Welding material on the circuit board by welding method. Then, .Hex files, the generation of Keil µ vision4 ,is made into the circuit. Finally, testing and debugging the circuit, and to realize the function of Intelligent digital alarm c

8、lock.The electronic clock can be applied to the general living and working, can also be modified to improve performance add new functions and brings more convenient to peoples life and work.Key Words:NC machining; NC verification; Machining environment; Help files本頁(yè)的頁(yè)碼貌似是居右目 錄摘 要iAbstractii第一章 引 言11

9、.1 智能數(shù)字鬧鐘的研究背景和意義11.2智能數(shù)字鬧鐘的功能11.3 智能數(shù)字鬧鐘的發(fā)展趨勢(shì)2第二章 方案的論證與選擇22.1 方案的論證22.2 方案的選擇4第三章 硬件電路的設(shè)計(jì)43.1 主控電路模塊53.2 按鍵電路模塊73.3 定時(shí)電路模塊83.4 溫度電路模塊103.5 顯示電路模塊11第四章 軟件設(shè)計(jì)134.1總體系統(tǒng)軟件設(shè)計(jì)134.1.1 主程序設(shè)計(jì)144.1.2 溫度采集模塊設(shè)計(jì)164.1.3 定時(shí)模塊設(shè)計(jì)184.1.4 顯示模塊設(shè)計(jì)18第五章 系統(tǒng)的安裝與調(diào)試205.1 系統(tǒng)硬件的安裝與調(diào)試215.2 系統(tǒng)軟件的調(diào)試22第六章 總結(jié)與展望25參 考 文 獻(xiàn)27致 謝28附 錄

10、29目錄頁(yè)也要有頁(yè)碼,羅馬字體第一章 引 言不要加粗1.1 智能數(shù)字鬧鐘的研究背景和意義隨著當(dāng)今社會(huì)的快速發(fā)展,人類(lèi)面臨著很多問(wèn)題,時(shí)間和空間的不足就是其問(wèn)題之一。作為新一代技術(shù)型人才,日益發(fā)展的社會(huì)勢(shì)必會(huì)面臨這一嚴(yán)峻的問(wèn)題。圍繞這個(gè)即將到來(lái)的問(wèn)題,本課題定為智能數(shù)字鬧鐘設(shè)計(jì)。鐘表只是一種簡(jiǎn)單的顯示時(shí)間的工具,本身不能給人們帶來(lái)想要抓住時(shí)間的緊迫感,但如能把時(shí)鐘時(shí)間的顯示精確到分、秒,那么面對(duì)這種時(shí)間飛逝的重壓感,人們就會(huì)重視它并有效地利用它,更懂得把握分寸,不白白浪費(fèi)時(shí)間。當(dāng)然若在鐘表的顯示中融入了其他人們?nèi)粘9ぷ鞒鲂斜仨毜墓δ?,智能并?jiǎn)單利用,可以大大為我們節(jié)省出空間來(lái)。人們生活水平逐漸提

11、高,并且越來(lái)越重視人性化事物,傳統(tǒng)的指針式時(shí)鐘也只能簡(jiǎn)單的滿足人們的針對(duì)時(shí)間的需求,但是人們更著重追求高科技新事物,在現(xiàn)在日益充滿物質(zhì)的社會(huì)里,人們也追求在小的范圍內(nèi)顯示更多的信息。而普通的時(shí)鐘是模電技術(shù)、數(shù)電技術(shù)和單片機(jī)技術(shù)的結(jié)合,才使得現(xiàn)在的時(shí)鐘實(shí)現(xiàn)更多功能。早期運(yùn)用的時(shí)間控制器都是用模擬電路設(shè)計(jì)制作的,準(zhǔn)確性及各方面的性能都不是很理想。隨著單片機(jī)性價(jià)比的不斷提高,新的產(chǎn)品應(yīng)用越來(lái)越廣泛,逐漸取代了昔日的模擬化產(chǎn)品,變得高端上檔次。單片機(jī)系列產(chǎn)品已經(jīng)遍布到工業(yè)控制,以及各個(gè)重要的公共場(chǎng)所,單片機(jī)的快速發(fā)展與應(yīng)用更加大范圍的擴(kuò)展,在人們的日常生活中日需常見(jiàn)化,更加依賴單片機(jī),給人類(lèi)生活帶來(lái)了

12、極大的便利,單片機(jī)將與人們的生活、娛樂(lè)等不同方面都存在密不可分的關(guān)系。單片機(jī)在智能數(shù)字鬧鐘的應(yīng)用中具有相當(dāng)普遍的意義,是一件必不可少的元器件,在生活中起著關(guān)鍵性作用。由于時(shí)代的大變化發(fā)展,加快了數(shù)字 集 成 電 路 技 術(shù)的發(fā)展步伐,石 英 技 術(shù) 更加精進(jìn),使得數(shù)字鐘能夠走時(shí)準(zhǔn)確,能夠?qū)崿F(xiàn)更多的功能,攜帶在身上很便捷,性能高。單片機(jī)內(nèi)部結(jié)構(gòu)有定時(shí)器/計(jì)數(shù)器,能夠?qū)崿F(xiàn)自動(dòng)計(jì)時(shí)功能,單片機(jī)的使用大范圍地出現(xiàn)在人們的周?chē)?,無(wú)處不在【16】。這種具有人們所需要的智能化特性產(chǎn)品為人們節(jié)省了大量時(shí)間和空間,擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化奠定了基礎(chǔ)。1.2智能數(shù)字鬧鐘的功能電路采用了單片機(jī)AT89C51

13、、溫度傳感器DS18B20、時(shí)鐘芯片DS1302、1602LCD顯示器,通過(guò)獨(dú)立式按鍵可以切換模式,修改顯示時(shí)間的數(shù)據(jù)。電路設(shè)計(jì)合理,具備了三大特點(diǎn):簡(jiǎn)單,操作方便,美觀大方。本設(shè)計(jì)智能數(shù)字鬧鐘的主要功能為:(1)連接電源,1602LCD顯示器上可顯示正常的時(shí)間、日期及溫度的顯示;(2)可實(shí)現(xiàn)12小時(shí)/24小時(shí)時(shí)間顯示的切換;(3)通過(guò)獨(dú)立式按鍵手動(dòng)修改時(shí)間日期;(4)可以設(shè)置三個(gè)鬧鐘時(shí)間,當(dāng)?shù)紧[鐘響鈴時(shí)間,可手動(dòng)關(guān)閉;1.3 智能數(shù)字鬧鐘的發(fā)展趨勢(shì)基于51單片機(jī)的智能數(shù)字鬧鐘體現(xiàn)了現(xiàn)代化電子產(chǎn)品的高性價(jià)比,成本低,電路簡(jiǎn)單,功能齊全。對(duì)于家庭生活中,具有了相當(dāng)普遍性和實(shí)用性,使得人們?cè)谏钪?/p>

14、對(duì)智能數(shù)字鬧鐘產(chǎn)生了依賴性,在各個(gè)方面不可缺少的,用一句夸張的話說(shuō):離開(kāi)了它就不能活了,感覺(jué)身邊總是少了些什么。時(shí)鐘的發(fā)展已經(jīng)從老式鐘表發(fā)展到如今電子時(shí)鐘以及智能化數(shù)字時(shí)鐘的時(shí)代,通過(guò)時(shí)代的發(fā)展,高科技研制和廣泛應(yīng)用,智能數(shù)字鬧鐘的發(fā)展前景將不可估量,智能數(shù)字鬧鐘所實(shí)現(xiàn)的功能不僅僅只有報(bào)時(shí)功能,在不久的未來(lái),智能數(shù)字鬧鐘可以設(shè)置鬧鐘,可以實(shí)現(xiàn)通話功能,可以是一本記事本,隨時(shí)記錄發(fā)生的事情,或許可以實(shí)現(xiàn)導(dǎo)航功能等,以上功能只要一個(gè)小小的智能數(shù)字鬧鐘就可實(shí)現(xiàn),人們的生活更加方便。同時(shí),智能數(shù)字鬧鐘的電路只需使用簡(jiǎn)單芯片,加以合理設(shè)計(jì),使得電路簡(jiǎn)單、操作非常方便、美觀實(shí)用,但是其精確度不是很高。首先

15、,伴隨著更多性能更好新材料、更完善的設(shè)計(jì)方法、更先進(jìn)的大規(guī)模集成電路的發(fā)展以及驅(qū)動(dòng)技術(shù)的進(jìn)步,時(shí)鐘系統(tǒng)將會(huì)更加高精度,也將會(huì)更加完善。其次,隨著顯示器件,如液晶顯示器件性能的拓展,傳統(tǒng)的機(jī)械時(shí)鐘顯示形式也將演變成高清晰度的顯示方式。最后,時(shí)鐘系統(tǒng)在未來(lái)的應(yīng)用將更加廣泛,以其高精度的顯示以及其多內(nèi)容的顯示界面將更受到人們的青睞。第2章 方案的論證與選擇2.1 方案的論證方案一:這邊可以問(wèn)下老師是不是可以居行首基于低成本數(shù)字集成電路及七段譯碼器組成的數(shù)字鬧鐘設(shè)計(jì)【10】 系統(tǒng)由數(shù)字邏輯集成芯片構(gòu)成純硬件電路,其電路由秒信號(hào)發(fā)生器、走時(shí)電路、校時(shí)電路、鬧鐘電路等部分組成。秒信號(hào)發(fā)生器使用LM555構(gòu)

16、成多諧振蕩器,調(diào)整電阻可改變頻率,使之產(chǎn)生秒信號(hào)。走時(shí)電路包括秒計(jì)時(shí)器、分計(jì)時(shí)器、時(shí)計(jì)時(shí)器,每個(gè)部分都由兩片計(jì)數(shù)器級(jí)聯(lián)構(gòu)成。其中秒計(jì)數(shù)器和分計(jì)數(shù)器都是用十進(jìn)制與六進(jìn)制計(jì)數(shù)器級(jí)聯(lián)構(gòu)成,時(shí)計(jì)數(shù)器由三進(jìn)制計(jì)數(shù)器與十進(jìn)制計(jì)數(shù)器級(jí)聯(lián)構(gòu)成。時(shí)計(jì)數(shù)器需要個(gè)位為十進(jìn)制、十位只要計(jì)到2即可,不過(guò)需要清零電路。當(dāng)個(gè)位計(jì)數(shù)到“4”,同時(shí)十位計(jì)數(shù)到“2”時(shí)立即清零,時(shí)鐘就會(huì)從零開(kāi)始重新計(jì)數(shù)。當(dāng)時(shí)間與標(biāo)準(zhǔn)時(shí)間不吻合的時(shí)候,需要校準(zhǔn)時(shí)間,對(duì)照標(biāo)準(zhǔn)時(shí)間將此時(shí)的時(shí)間的秒信號(hào)加速運(yùn)行,加快時(shí)鐘的計(jì)時(shí)速度,當(dāng)?shù)竭_(dá)標(biāo)準(zhǔn)時(shí)間后再切換回正確的輸入信號(hào),達(dá)到校準(zhǔn)目的。鬧鐘是在在預(yù)定的時(shí)間到達(dá)時(shí)能輸出鬧鈴聲。這種方案的電路搭建起來(lái)非常的龐

17、大,大小不同芯片,總共需要用到18個(gè),工程非常的繁瑣,需要花費(fèi)很長(zhǎng)的時(shí)間在電路的排版和連線上。 方案二:基于VHDL的數(shù)字時(shí)鐘設(shè)計(jì)【5】 基于VHDL的數(shù)字時(shí)鐘設(shè)計(jì)主要由晶體振蕩器、分頻器、計(jì)數(shù)器、譯碼器顯示器組成?;赩HDL的數(shù)字時(shí)鐘設(shè)計(jì)中需要有一個(gè)時(shí)鐘脈沖信號(hào),因此用一個(gè)石英晶體振蕩器產(chǎn)生一個(gè)高頻脈沖信號(hào),然后要用分頻器將這個(gè)時(shí)鐘脈沖信號(hào)分頻,得到1Hz的時(shí)鐘信號(hào),將這個(gè)時(shí)鐘信號(hào)分別接入計(jì)數(shù)器中,然后再為其他模塊提供時(shí)鐘。計(jì)數(shù)器用一個(gè)100進(jìn)制的計(jì)數(shù)器和兩個(gè)60進(jìn)制的計(jì)數(shù)器進(jìn)行級(jí)聯(lián)。最后在三個(gè)計(jì)數(shù)器的輸出接到七段譯碼管,總共要用到8個(gè)這樣的數(shù)碼管。 晶體振蕩器分 頻 器計(jì)數(shù)器模塊七段碼譯

18、碼器模 塊 方案三:基于單片機(jī)智能數(shù)字鬧鐘設(shè)計(jì)【13】基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)是要分好幾個(gè)模塊,單獨(dú)對(duì)各類(lèi)模塊設(shè)計(jì),以單片機(jī)AT89C51作為主控芯片,控制其他模塊的運(yùn)作,將數(shù)據(jù)控制輸出到顯示模塊。對(duì)各個(gè)模塊進(jìn)行程序的編寫(xiě),最后將編譯鏈接生成一個(gè).hex文件,將這個(gè)文件燒到AT89C51單片機(jī)芯片中,從而實(shí)現(xiàn)時(shí)鐘的功能。當(dāng)時(shí)鐘電路上電后,電路初始化,系統(tǒng)保持原有的顯示,通過(guò)按下不同的按鍵,切換到不同的模式中,實(shí)現(xiàn)12/24小時(shí)的切換,以及修改年、月、日、時(shí)、秒的時(shí)間設(shè)置;當(dāng)進(jìn)入鬧鐘設(shè)置模式下,可設(shè)置三個(gè)鬧鐘時(shí)間,到設(shè)定時(shí)間蜂鳴器鳴響,無(wú)人操作時(shí)鳴響30s自動(dòng)關(guān)閉鬧鐘;當(dāng)需要設(shè)置更多功能時(shí),只需

19、多設(shè)置相應(yīng)的功能按鍵就可實(shí)現(xiàn)。對(duì)上述方案進(jìn)行比較,方案一由硬件構(gòu)成,比較容易實(shí)現(xiàn),但由硬件搭建的電路不夠穩(wěn)定,譯碼管顯示效果差,功能單一不能擴(kuò)展,且電路功耗大,在將這種方案做成實(shí)物的過(guò)程中很漫長(zhǎng),更需要投入很多的精力,因出現(xiàn)故障而檢查電路時(shí)很復(fù)雜,難找。方案二利用FPGA精度高、處理速度快的特點(diǎn),利用外部50M石英晶振提供高精度系統(tǒng)頻率,能夠滿足更高精度的要求,并且設(shè)計(jì)比較人性化。方案三顯示準(zhǔn)確、直觀、易于調(diào)整。2.2 方案的選擇本次設(shè)計(jì)采用方案三,即以AT89C51作為主控芯片,采用1602液晶作為顯示器件,獨(dú)立輕觸式按鍵作按鍵模塊,DS1302為定時(shí)來(lái)源,能準(zhǔn)確定時(shí),DS18B20作溫度采

20、集源。確定系統(tǒng)組成框圖如圖2.1所示,各功能模塊如下:顯示模塊主 控 模 塊定時(shí)模塊按鍵模塊溫度模塊 圖2.1 系統(tǒng)框架主控模塊:由主控芯片AT89C51,外接時(shí)鐘電路、復(fù)位電路和P0口的上拉電阻構(gòu)成,能夠驅(qū)動(dòng)程序的運(yùn)行,在顯示屏上實(shí)現(xiàn)智能數(shù)字鬧鐘的各個(gè)功能。溫度模塊:由芯片DS18B20和上拉電阻構(gòu)成,實(shí)現(xiàn)溫度采集,當(dāng)周?chē)懈邷匚矬w時(shí),溫度的示數(shù)會(huì)逐漸的增加,離開(kāi)時(shí)溫度會(huì)慢慢下降。定時(shí)模塊:由DS1302、晶振,3.6V的紐扣電池構(gòu)成,能夠提供年、月、日、時(shí)、分和日期,紐扣電池可以支持時(shí)鐘的走時(shí),即使顯示屏沒(méi)電不顯示時(shí),時(shí)間也在計(jì)時(shí)。顯示模塊: 由1602LCD液晶顯示屏構(gòu)成,把單片機(jī)傳來(lái)的

21、數(shù)據(jù)進(jìn)行顯示,顯示的位數(shù)多,。按鍵模塊:由五個(gè)獨(dú)立輕觸式按鍵構(gòu)成,可切換各種模式狀態(tài),能對(duì)數(shù)據(jù)進(jìn)行修改。第三章 硬件電路的設(shè)計(jì)本設(shè)計(jì)采用AT89C51單片機(jī)作為本次設(shè)計(jì)的主要控制模塊。單片機(jī)可把由DS18B20、DS1302中的數(shù)據(jù)利用軟件來(lái)進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,此模塊實(shí)現(xiàn)溫度、時(shí)間的顯示。以1602LCD液晶顯示器為顯示模塊,把單片機(jī)傳來(lái)的數(shù)據(jù)顯示出來(lái),在顯示電路中,主要靠按鍵來(lái)實(shí)現(xiàn)各種顯示要求的選擇與切換。3.1 主控電路模塊主控電路模塊采用AT89C51作為核心元件來(lái)控制各部分,其電路原理圖如圖3.1。單片機(jī)上面一個(gè)圖沒(méi)加序號(hào)引腳功能的說(shuō)明,見(jiàn)下表3.1表3.1 單片機(jī)的引

22、腳功能引腳號(hào)符號(hào)引腳功能18P1口8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻9RST復(fù)位,高電平有效1017P3口8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻18、19XTAL時(shí)鐘引腳20VSS接數(shù)字地2128P2口8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻29片外程序存儲(chǔ)器的讀選通信號(hào),低電平有效30ALE為CPU訪問(wèn)外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器提供一個(gè)地址鎖存信號(hào)31外部存儲(chǔ)器允許訪問(wèn)控制端3239P0口8位,漏極開(kāi)路的雙向I/O口,作為通用I/O口使用時(shí),需加上上拉電阻40Vcc接+5V電源下面給出了單片機(jī)的內(nèi)部結(jié)構(gòu)圖,如圖3.2圖3.2 單片機(jī)的內(nèi)部結(jié)構(gòu)圖 由圖3.2單片機(jī)的內(nèi)部結(jié)構(gòu)圖中看出,單片

23、機(jī)是在半導(dǎo)體硅片上集成了中央處理器、存儲(chǔ)器、并行I/O口、串行I/O口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、系統(tǒng)時(shí)鐘電路及系統(tǒng)總線的微型計(jì)算機(jī)。通常把單片機(jī)稱為嵌入式控制器或微控制器。單片機(jī)的最小系統(tǒng)只需要最小的配置能夠讓單片機(jī)里的程序運(yùn)行,如果要用IO口去驅(qū)動(dòng)LCD顯示,寫(xiě)好程序就能運(yùn)行。單片機(jī)的P0口接上上拉電阻,排除外界對(duì)其有效電平的干擾,電路的抗干擾能力大大增強(qiáng)。單片機(jī)最小系統(tǒng)構(gòu)成主要是由時(shí)序電路以及復(fù)位電路兩個(gè)部分構(gòu)成。1、時(shí)序電路的介紹,下面給出了時(shí)序電路圖:時(shí)序所有圖都圖要有序號(hào)電路由晶振與電容構(gòu)成,其主要目的是濾波,這樣可以使晶振輸出的波形更加平滑,方便給予單片機(jī)適用的信號(hào),至于大小應(yīng)該

24、是一個(gè)經(jīng)驗(yàn)值,這樣的濾波效果最好。電路中的電容C1和C2的典型值通常選擇為30pF,該電容的大小會(huì)影響振蕩器頻率的高低、振蕩器 的 穩(wěn) 定 性 和 起 振 的 快 速性。晶體的頻率越高,系統(tǒng)的時(shí)鐘頻率越高,單片機(jī)的運(yùn)行速度也就越快【7】。但反過(guò)來(lái)。運(yùn)行速度快對(duì)存儲(chǔ)器的速度要求就高,對(duì)印制電路板的工藝要求也高,即要求線間的寄生電容要小。2、 復(fù)位電路的介紹,下面給出了復(fù)位電路圖:復(fù)位電路主要由電阻、電容、獨(dú)立輕觸所有圖都圖要有序號(hào)式開(kāi)關(guān)構(gòu)成,利用復(fù)位電路把電路恢復(fù)到起始狀態(tài),就像計(jì)算器的清零按鈕的作用一樣,或者你輸入錯(cuò)誤,計(jì)算失誤時(shí)都要進(jìn)行清零操作。以便回到原始狀態(tài),重新進(jìn)行計(jì)算。復(fù)位電路啟動(dòng)可

25、以有三種方式,一是在給電路通電時(shí)馬上進(jìn)行復(fù)位操作;二是在必要時(shí)可以由手動(dòng)操作;三是根據(jù)程序或者電路運(yùn)行的需要自動(dòng)地進(jìn)行。主控模塊運(yùn)用了單片機(jī)的最小系統(tǒng),需要外接時(shí)鐘電路和復(fù)位電路。但是,在智能數(shù)字鬧鐘的設(shè)計(jì)中,由于一定的原因,省略了接復(fù)位電路的連接,然而這種接法對(duì)電路不會(huì)造成很大的影響,仍然能夠?qū)崿F(xiàn)智能數(shù)字鬧鐘的功能。3.2 按鍵電路模塊按鍵模塊電路主要是由5個(gè)獨(dú)立式按鍵組成,其電路圖如圖3.3。圖3.3 按鍵模塊電路圖3.3按鍵模塊電路中,S1、S2、S3、S4、S5分別接單片機(jī)AT89C51的P3口的P3.0、P3.1、P3.2、P3.3、P3.7,經(jīng)單片機(jī)的控制,可通過(guò)不同按鍵的接通實(shí)現(xiàn)

26、相應(yīng)的功能(參數(shù)設(shè)置、鬧鐘設(shè)置等)。獨(dú)立式按鍵的結(jié)構(gòu)很簡(jiǎn)單,使用時(shí)只需要接其中兩個(gè)引腳即可。開(kāi)機(jī)后,電路進(jìn)入初始化狀體,初始化完成過(guò)后,按下開(kāi)關(guān)S1進(jìn)入調(diào)節(jié)模式,依次按下S1設(shè)置年、月、日、星期、時(shí)、分、秒和三個(gè)鬧鐘時(shí)間,S2遞增調(diào)節(jié),S3遞減調(diào)節(jié),按下S4關(guān)閉鬧鐘/退出調(diào)節(jié)模式,顯示屏上正常顯示。S5按鍵12小時(shí)、24小時(shí)的切換。3.3 定時(shí)電路模塊定時(shí)電路模塊主要由芯片DS1302控制,電路圖如圖3.4。 圖3.4 定時(shí)模塊電路DS1302芯片各管腳描述如下,見(jiàn)表3.2表3.2 DS1302功能引腳說(shuō)明引腳號(hào)符號(hào)引腳功能1、8Vcc2、Vcc1為電源供電管腳2、3X2、X3接32.768K

27、Hz的晶振4GND接地5RST復(fù)位端6I/O為數(shù)據(jù)輸入/輸出引腳7SCLK接串行時(shí)鐘DS1302有12個(gè)寄存器,其中7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)形式是BCD碼,其寄存器及控制字見(jiàn)表3.3表3.3 DS1302的日歷、時(shí)鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫(xiě)操作讀操作76543210秒寄存器80H81H00-59CH10SECSEC分鐘寄存器82H83H00-59010MINMIN小時(shí)寄存器84H85H01-12或00-2312/240HRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周日

28、寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR單片機(jī)容易受外界環(huán)境的影響,時(shí)鐘時(shí)常會(huì)出現(xiàn)混亂現(xiàn)象,導(dǎo)致時(shí)鐘的精度不高。DS1302的作用主要用來(lái)記錄數(shù)據(jù),特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,除此之外,DS1302能夠同時(shí)記錄兩個(gè)時(shí)間,一是記錄數(shù)據(jù)的時(shí)間,二是出現(xiàn)該數(shù)據(jù)的時(shí)間,因此在測(cè)量系統(tǒng)中廣泛應(yīng)用。采用時(shí)鐘芯片DS1302可以準(zhǔn)確記錄數(shù)據(jù)出現(xiàn)的時(shí)間,不需要占用硬件資源,不消耗單片機(jī)的資源。使用DS1302芯片,可以提供穩(wěn)定精確地走時(shí),單片機(jī)只需要在第一次上電時(shí)進(jìn)行必要的時(shí)間設(shè)定,以后需要時(shí)間的時(shí)候只需要從DS1302中讀取數(shù)據(jù)即可。DS1

29、302芯片自帶長(zhǎng)短月、閏年補(bǔ)償?shù)裙δ?,只?1實(shí)現(xiàn)時(shí)間的各種功能會(huì)非常麻煩。掉電后只需要微弱的電流即可保持精準(zhǔn)走時(shí),因此,在DS1302芯片的連接中連有3.6V的紐扣電池,可以在掉電后支持時(shí)間的走時(shí)。3.4 溫度電路模塊溫度采集電路模塊由DS18B20對(duì)溫度進(jìn)行采集測(cè)試,其電路圖如圖3.5。圖3.5 溫度模塊電路DS18B20的引腳介紹,見(jiàn)表3.4表3.4 DS18B20的引腳介紹 序 號(hào)名稱引腳功能1GND接地端2DQ數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3Vcc接+5V電源DS18B20產(chǎn)品具有以下特點(diǎn):(1) 只要求一個(gè)端口即可實(shí)現(xiàn)通信。(2

30、) 在DS18B20中的只有三個(gè)引腳即可實(shí)現(xiàn)溫度的采集,不需要外部任何的電路。(3) 測(cè)量溫度范圍在50到120之間;數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。(4) 內(nèi)部設(shè)置溫度上、下限告警。DS18B20將采集到的信號(hào)送入單片機(jī)P2.5口,給電路提供一個(gè)溫度數(shù)據(jù)。R2為上拉電阻,為DS18B20提供能量,最好能夠外接+5V的電源,有些電路僅僅依靠一個(gè)4.7K的上拉電阻是遠(yuǎn)遠(yuǎn)不夠的,不能給其芯片足夠的能量,如果采用多個(gè)DS18B20來(lái)采集溫度數(shù)據(jù)時(shí),這4.7K的電阻將供不應(yīng)求,無(wú)法滿足其需求【11】。溫度采集電路還可將DS18B20的1腳和3腳同時(shí)接地,但是這樣有可能 由 于 電 壓 的

31、 不 足 而 造 成溫度讀書(shū)不準(zhǔn)確。如圖3.5中的接法即使電源電壓只有4V電路也可以正常工作,DS18B20采集的溫度數(shù)據(jù)也不會(huì)有很大的誤差,因此這種接法在合適不過(guò)。由圖3.5溫度模塊電路中所示,DS18B20只有三個(gè)引腳,3腳接+5V電源,1腳接地,2腳接信號(hào)輸出口,同時(shí)接了一上拉電阻,因?yàn)镈S18B20是單線溫度傳感器,數(shù)據(jù)線是漏極開(kāi)路,如果DS18B20沒(méi)接電源,則需要數(shù)據(jù)線強(qiáng)上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個(gè)上拉即可穩(wěn)定的工作。用小循環(huán)來(lái)移動(dòng)8次,將內(nèi)部寄存器的8位數(shù)據(jù)全讀出來(lái),再通過(guò)數(shù)學(xué)處理來(lái)顯示溫度。3.5 顯示電路模塊顯示電路模塊是用1602LCD

32、液晶顯示屏顯示時(shí)間、溫度等數(shù)據(jù),其電路圖如圖3.6。圖3.6 顯示模塊電路圖1602液晶顯示屏的引腳定義,見(jiàn)表3.3表3.3 1602液晶顯示屏的引腳定義引腳號(hào)引腳名電平輸入/輸出作用1Vss電源地2Vcc電源(+5V)3Vee對(duì)比調(diào)整電壓4RS0/1輸入0=輸入指令1=輸入數(shù)據(jù)50/1輸入0=向LCD寫(xiě)入指令或數(shù)據(jù)1=從LCD讀取信息6E1,10輸入使能信號(hào),1時(shí)讀取信息,10(下降沿)行指令7DB00/1輸入/輸出數(shù)據(jù)總線line0(低位)8DB10/1輸入/輸出數(shù)據(jù)總線line19DB20/1輸入/輸出數(shù)據(jù)總線line210DB30/1輸入/輸出數(shù)據(jù)總線line311DB40/1輸入/輸

33、出數(shù)據(jù)總線line412DB50/1輸入/輸出數(shù)據(jù)總線line513DB60/1輸入/輸出數(shù)據(jù)總線line614DB70/1輸入/輸出數(shù)據(jù)總線line7(最高位)15A+VccLCD背光電源正極16K接地LCD背光電源負(fù)極與數(shù)碼管相比該模塊有如下優(yōu)點(diǎn):1、顯示字?jǐn)?shù)多,可顯示32位,使用數(shù)碼管,這樣的數(shù)據(jù)以及其位置的擺放是相當(dāng)?shù)凝嫶蟆?、顯示的內(nèi)容豐富,可顯示所有數(shù)字和大、小寫(xiě)字母。3、程序簡(jiǎn)單,如果用數(shù)碼管動(dòng)態(tài)顯示,刷新顯示時(shí)間長(zhǎng),但1602能自動(dòng)完成這個(gè)功能。1602LCD分為帶背光和不帶背光兩種形式,基控制器大部分為HD44780,帶背光的比不帶背光的厚,在應(yīng)用中沒(méi)有太大的差別,使用時(shí)不需

34、要分太清楚,兩者尺寸差別如下圖3.7所示:圖3.6 圖序號(hào)錯(cuò)了1602LCD尺寸圖如圖3.6同上LCD1602尺寸圖所示,從顯示屏的正看,這兩種顯示屏沒(méi)有差別;從側(cè)面看,將這兩種顯示屏一比較,明顯能夠看出無(wú)背光的厚度要比帶背光的厚度小,有3.5mm的差距,其他部分的尺寸都是一樣大的,沒(méi)有很大的區(qū)別。根據(jù)顯示的內(nèi)容,可以將1602LCD液晶分為字符 型 液 晶 , 圖 形 液 晶,本設(shè)計(jì)模塊中是采用字符 型 液 晶 ;根據(jù)顯 示 容 量 又 可 以分為單行16字,2行16字,兩行20字等等【3】。因此,1602LCD液晶顯示屏能夠同時(shí)實(shí)現(xiàn)這幾個(gè)功能:在LCD1602顯示屏上顯示日期、時(shí)間、溫度以

35、及三個(gè)鬧鐘的設(shè)置時(shí)間。用數(shù)碼管顯示這么多的功能將是一個(gè)非常龐大的工程量。第四章 軟件設(shè)計(jì) 為了利于實(shí)現(xiàn)本設(shè)計(jì)的智能化,提高編程的效率,本畢業(yè)設(shè)計(jì)項(xiàng)目采用C語(yǔ)言進(jìn)行軟件開(kāi)發(fā)與設(shè)計(jì)。在智能數(shù)字鬧鐘的軟件中,先單獨(dú)編輯各個(gè)模塊的程序,對(duì)各模塊程序進(jìn)行編譯鏈接,程序沒(méi)有任何錯(cuò)誤可以完全運(yùn)行操作,接著將各模塊的C語(yǔ)言程序綜合連接,使編程結(jié)構(gòu)清晰明了,整個(gè)程序發(fā)現(xiàn)錯(cuò)誤檢查的時(shí)候更加方便,不會(huì)令人頭疼煩躁。軟件設(shè)計(jì)主要分為了四個(gè)部分來(lái)編寫(xiě)程序,主程序主要對(duì)整個(gè)模塊進(jìn)行定義、初始化,主要在按鍵模塊切換的模式情況進(jìn)行詳細(xì)的設(shè)計(jì),同時(shí)也對(duì)鬧鐘部分進(jìn)行了詳細(xì)的設(shè)計(jì),通過(guò)設(shè)置的鬧鐘時(shí)間與顯示時(shí)間比較,當(dāng)兩個(gè)時(shí)間相同時(shí)

36、鬧鐘就會(huì)鳴響;溫度模塊主要是根據(jù)DS18B20芯片進(jìn)行溫度的采集,顯示程序的編寫(xiě)則根據(jù)其的控制字要求將溫度在LCD1602顯示屏上顯示;定時(shí)模塊是用芯片DS1302實(shí)現(xiàn)定時(shí)的功能,提高走時(shí)的精確度。4.1總體系統(tǒng)軟件設(shè)計(jì)軟件程序的設(shè)計(jì)是根據(jù)硬件電路圖的連接和各個(gè)元器件的功能進(jìn)行設(shè)計(jì)。在編寫(xiě)軟件時(shí),可以按各個(gè)程序的功能將軟件細(xì)分為各個(gè)功能模塊,再通過(guò)主程序的調(diào)用來(lái)實(shí)現(xiàn)整個(gè)軟件系統(tǒng)。 系統(tǒng)主程序流程圖如圖4.1,如下所示:圖4.1 主程序流程圖數(shù)字鐘開(kāi)機(jī)后,進(jìn)入初始狀態(tài),通過(guò)調(diào)節(jié)各個(gè)獨(dú)立輕觸式按鍵來(lái)修改數(shù)據(jù)和各個(gè)模式的切換。圖4.1主程序流程圖中Y表示按下開(kāi)關(guān),N表示開(kāi)關(guān)沒(méi)有按下。開(kāi)機(jī)后,按下S5

37、可對(duì)時(shí)間進(jìn)行12/24小時(shí)形式的切換;按下S1可以切換不同的模式,可以根據(jù)自己的要求進(jìn)行切換,這時(shí)顯示屏上會(huì)顯示相對(duì)應(yīng)的調(diào)節(jié)項(xiàng);切換在某個(gè)模式上,按下S2進(jìn)入數(shù)據(jù)調(diào)節(jié),可將預(yù)設(shè)參數(shù)作加設(shè)置,按下S3進(jìn)入數(shù)據(jù)調(diào)節(jié),可將預(yù)設(shè)參數(shù)作減設(shè)置;當(dāng)參數(shù)設(shè)置完成后按下開(kāi)關(guān)S4,退出該模式,電路進(jìn)入正常顯示狀態(tài)。當(dāng)時(shí)間到設(shè)置的鬧鐘時(shí)間時(shí)會(huì)有鬧鈴,無(wú)人操作時(shí)響鈴30s后自動(dòng)關(guān)閉,或者按下S4關(guān)閉鬧鐘。4.1.1 主程序設(shè)計(jì)主程序:初始化各個(gè)功能模塊,對(duì)鬧鐘、溫度、定時(shí)、顯示、按鍵等功能進(jìn)行定義。其關(guān)鍵代碼如下:void main()/主函數(shù)LCD_Init();/lcd初始化InitDs1302(); Time

38、Init();/定時(shí)器初始化BEEP = 1;time.alarm_hour = 8;time.alarm_min = 30;time.alarm_hour1 = 18;time.alarm_min1 = 30;time.alarm_hour2 = 23;time.alarm_min2 = 30; while(1) TimeAdjust();ReadTime();CompareTime();Display_String(dispbuf,0x00);/lcd1602顯示第一行數(shù)據(jù) Display_String(warn,0x40);/lcd1602顯示第二行數(shù)據(jù) void time1() int

39、errupt 1 TH1= (65536-50000)/256; TL1 = (65536-50000)%256;/初始值的定時(shí) Count=Count+1; if (count = 20) sec-; if(sec = 0) TR0 = 0; BEEP = 1; count = 0; 4.1.2 溫度采集模塊設(shè)計(jì)通過(guò)溫度傳感器將實(shí)時(shí)溫度信息進(jìn)行采集,將檢測(cè)到的溫度數(shù)據(jù)數(shù)字化,并使其在顯示器上輸出。其關(guān)鍵代碼如下:/讀取溫度long int ReadTemperature(void) unsigned char a=0; unsigned char b=0; long int t=0,temp

40、1=0; float tt; char flag = 1; Init_DS18B20(); WriteAChar(0xCC); /跳過(guò)讀序號(hào)列號(hào)的操作 WriteAChar(0xBE); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)寄存器對(duì)應(yīng)溫度 delay_18B20(100); m=ReadAChar(); n=ReadAChar(); Init_DS18B20(); WriteAChar(0xCC); / 跳過(guò)讀序號(hào)列號(hào)的操作 WriteAChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 /傳感器返回值除16得實(shí)際溫度值 /為了得到2位小數(shù)位,先乘100,再除16,考慮整型數(shù)據(jù)長(zhǎng)度, /技巧處

41、理后先乘25,再除4,除4用右移實(shí)現(xiàn)temp1 = n;temp1 <<= 8;temp1 = temp1|m;if ( temp1 < 0x800)flag = 0;else if ( temp1 >= 0x800)flag = 1;temp1 = temp1 + 1; tt = temp1 * 0.0625;temp1 = tt * 10 + 0.5; if (flag = 1) temp1 = temp1 *(-1); return temp1;4.1.3 定時(shí)模塊設(shè)計(jì)對(duì)當(dāng)前時(shí)間,日期等信息進(jìn)行設(shè)定,通過(guò)本程序?qū)δ暝氯找约皶r(shí)分讀取設(shè)定。其關(guān)鍵代碼如下:/-讀時(shí)鐘-

42、uchar read(uchar addr) uchar dat=0; rst=0;sclk=0;rst=1; send(addr);/發(fā)送地址 dat=receive();/接收 rst=0;return(dat);void InitDs1302() write(0x8e,0x00);/開(kāi) write(0x80,0x53);/寫(xiě)初始狀態(tài)秒鐘的數(shù)值 write(0x82,0x28);/寫(xiě)初始狀態(tài)分鐘的數(shù)值 write(0x84,0x08);/寫(xiě)初始狀態(tài)小時(shí)的數(shù)值 write(0x86,0x09);/寫(xiě)日 write(0x88,0x05);/寫(xiě)月 write(0x8c,0x14);/寫(xiě)年 wri

43、te(0x8e,0x80);/關(guān)4.1.4 顯示模塊設(shè)計(jì)顯示正常的時(shí)間、日期及溫度,并且可實(shí)現(xiàn)對(duì)12小時(shí)/24小時(shí)時(shí)間切換的顯示,對(duì)設(shè)置三個(gè)鬧鐘時(shí)間,鬧鐘響鈴時(shí)間進(jìn)行顯示。其關(guān)鍵代碼如下:void Write_LCD_Sj(uchar sj)/寫(xiě)數(shù)據(jù)函數(shù) LCD_Busy_Wait();RS=1;RW=0;EN=0;P0=sj;EN=1;delayms(1);EN=0;void Write_LCD_Command(uchar com)/寫(xiě)指令函數(shù) LCD_Busy_Wait();RS=0;RW=0;EN=0;P0=com;EN=1;delayms(1);EN=0;void LCD_Init()

44、 Write_LCD_Command(0x38);/設(shè)置8位格式delayms(1);Write_LCD_Command(0x01);/屏幕顯示內(nèi)容清除(清屏)delayms(1);Write_LCD_Command(0x06);/設(shè)置輸入方式delayms(1);Write_LCD_Command(0x0c);/顯示總數(shù)據(jù)delayms(1);/初始化void Set_LCD_POS(uchar pos) Write_LCD_Command(pos|0x80);void Display_String(uchar *pos, uchar LineNo)/屏幕的顯示 uchar j;Set_LC

45、D_POS(LineNo);for(j=0;sj != '0' && j < 16;j+)Write_LCD_Sj(sj);delayms(1); 第五章 系統(tǒng)的安裝與調(diào)試5.1 系統(tǒng)硬件的安裝與調(diào)試系統(tǒng)硬件在Proteus 7.8仿真軟件環(huán)境下進(jìn)行調(diào)試,在Proteus中畫(huà)出智能數(shù)字鬧鐘的電路原理圖,在此過(guò)程中,尋找元器件要有耐心、認(rèn)真負(fù)責(zé)的態(tài)度,準(zhǔn)確無(wú)誤的找到相對(duì)應(yīng)的元器件,哪怕一個(gè)小小的不同就會(huì)影響設(shè)計(jì)的成果。通過(guò)查閱各種資料和老師的幫助下,能夠很快的畫(huà)出電路原理圖,并在仿真軟件中實(shí)現(xiàn)功能。由于本設(shè)計(jì)中有五個(gè)模塊,在完成各個(gè)模塊后,需要把各部分對(duì)應(yīng)的

46、連接起來(lái),在安裝各模塊的同時(shí),可以更多掌握每個(gè)部分的功能。每個(gè)模塊安裝完成后,不說(shuō)明就已經(jīng)完成了全部工作,需要多次進(jìn)行電路的檢測(cè),發(fā)現(xiàn)不足與問(wèn)題所在,不要影響電路的工作。并利用萬(wàn)用表等實(shí)驗(yàn)器材對(duì)整體進(jìn)行檢測(cè),避免由于接線的錯(cuò)誤造成不必要的故障,并且保證安全。一切準(zhǔn)備工作結(jié)束后,開(kāi)始焊接工作,在完成整個(gè)焊接工作過(guò)程中,得到老師和同學(xué)的幫助,工作起來(lái)更加得心應(yīng)手。開(kāi)始焊接的是單片機(jī)的最小系統(tǒng)系統(tǒng),根據(jù)仿真原理圖很順利的完成此次工作,接下來(lái)依次焊接了按鍵模塊,溫度采集模塊,定時(shí)模塊,顯示模塊以及各部分的連接,在焊接過(guò)程中遇到了很多的問(wèn)題,有時(shí)候把引腳焊錯(cuò),心情會(huì)很煩躁,影響下面的進(jìn)度,焊接過(guò)程中需要

47、用到很多的工具,如:萬(wàn)能表,烙鐵,示波器等。在焊接DS1302的時(shí)候出現(xiàn)一些問(wèn)題,編程的時(shí)候顯示不正常,經(jīng)過(guò)不斷的檢查電路以及反復(fù)使用萬(wàn)能表的檢測(cè),最后終于發(fā)現(xiàn)了問(wèn)題的所在,引腳接反了,造成芯片的損壞,慶幸當(dāng)時(shí)多購(gòu)買(mǎi)了此芯片,不然又要到處跑了。焊接1602顯示屏與單片機(jī)時(shí),花費(fèi)了一些時(shí)間,一開(kāi)始焊接的時(shí)候沒(méi)有注意顯示屏與單片機(jī)P0口順序,將連接的引腳接反了,顯示的時(shí)候出現(xiàn)了亂碼,在焊接的時(shí)候用的錫線太多,不好把該顯示屏插在板子上,只好重新焊接,保證其美觀。通過(guò)不斷的拆拆改改,最后調(diào)試的時(shí)候終于成功,實(shí)現(xiàn)了智能數(shù)字鬧鐘的功能。系統(tǒng)的焊接是本設(shè)計(jì)中最重要的部分,它要求理論和實(shí)際的實(shí)物進(jìn)行很好的結(jié)合

48、,焊接工作也是一份細(xì)致的工作,需要有耐心,才能將各個(gè)元器件正確的焊在電路板上,完成本次設(shè)計(jì),實(shí)現(xiàn)智能數(shù)字鬧鐘的所有功能。一旦焊接過(guò)程中出現(xiàn)錯(cuò)誤就要拆下線路重新焊接,工作量會(huì)很龐大。焊接好電路,一定要嚴(yán)格檢查,由于本設(shè)計(jì)采用的是萬(wàn)用板,因此在檢測(cè)時(shí)務(wù)必要認(rèn)真仔細(xì)。發(fā)現(xiàn)萬(wàn)用板上有多余的錫點(diǎn)時(shí)及時(shí)地清理,避免造成電路的短路,發(fā)生事故,同時(shí),要注意各跳線有無(wú)錯(cuò)接或者接觸不良的現(xiàn)象,虛焊情況,各元器件的引腳是否接正確,電源、地是否已接完善等現(xiàn)象,對(duì)以上情況都要作相應(yīng)的檢查,并作必要的處理。系統(tǒng)的焊接過(guò)程主要有以下幾個(gè)階段:1、根據(jù)仿真電路圖購(gòu)買(mǎi)相關(guān)的元器件,準(zhǔn)備好工具,為實(shí)物的焊接做準(zhǔn)備。 2

49、、在電路板上合理的安放好元器件,保證實(shí)物的美觀,尤其是要注意那些易受干擾的電容的位置設(shè)計(jì)。3. 用萬(wàn)能表檢測(cè)電路板上引腳情況,對(duì)照仿真原理圖用烙鐵連接起來(lái),把握整個(gè)焊接過(guò)程,其中一定要細(xì)心,注意安全。4. 根據(jù)仿真原理圖,將元器件焊接好,保證其元器件不受損傷。 安裝:將各模塊的跳線接好,注意引腳。各模塊的供電端和接地端,接入單片機(jī)的引腳一定要認(rèn)清引腳好,避免接錯(cuò),造成不必要的損失。調(diào)試:檢測(cè)引腳電壓是否正常,按鍵是否接好,電路中有無(wú)短路,虛焊。在硬件電路無(wú)誤情況下,接入電源,系統(tǒng)就可以正常工作了,打開(kāi)顯示器開(kāi)關(guān)產(chǎn)品就可以實(shí)現(xiàn)相應(yīng)功能。5.2 系統(tǒng)軟件的調(diào)試1、 P

50、roteus【2】這個(gè)序號(hào)加了有什么用,文章中還有很多其他的的調(diào)試運(yùn)行ISIS 7 Professional出現(xiàn)下面的窗口,在這個(gè)窗口中繪制智能數(shù)字鬧鐘的仿真原理圖:(1) 添加元件到上圖要有序號(hào)元件表中:智能數(shù)字鬧鐘的設(shè)計(jì)中主要用到的元件有:AT89C51、DS1302、1602LCD、DS18B20、“地”、“電源”等。單擊“P”按鈕,出現(xiàn)挑選元件對(duì)話框,在此對(duì)話框的KEYWORD中輸入要找的元件名稱,單擊OK。(2) 放置元器件:在元件列表中左鍵選取對(duì)應(yīng)的元器件,在原理圖編輯窗口中單擊左鍵,這樣所需要的元件就被添加到原理圖編輯窗口中。添加“地”、“電源”的時(shí)候左鍵點(diǎn)擊工具欄中的Termi

51、nals Mode,分別選擇GOUND、POWER,在原理圖編輯窗口點(diǎn)擊左鍵,分別將“地”、“電源”放置在原理圖編輯窗口中。(3) 連線:將智能數(shù)字鬧鐘各個(gè)模塊綜合連接。(4)序號(hào)格式不統(tǒng)一,詳見(jiàn)批注17添加仿真文件:雙擊單片機(jī),出現(xiàn)下面的對(duì)話框,在Program File中單擊出現(xiàn)文件瀏覽對(duì)話框,找到new.hex文件,單擊確定完成添加文件,單擊OK退出。(5)仿真:?jiǎn)螕糸_(kāi)始仿真上圖要有序號(hào)。在進(jìn)行Proteus仿真軟件的調(diào)試時(shí),在尋找元上圖要有序號(hào)器件的過(guò)程中遇到了一些麻煩,在仿真元件中找不到想對(duì)應(yīng)的器件,通過(guò)詢問(wèn)同學(xué)以及資料的查詢,終于找到了全部的元件,并將其各個(gè)模塊進(jìn)行總和連接,連線過(guò)

52、程中安全的通過(guò)了,但是耗費(fèi)了我大量的時(shí)間。在仿真軟件繪制原理圖的過(guò)程并沒(méi)有出現(xiàn)很大的錯(cuò)誤,主要就是花費(fèi)了較長(zhǎng)的時(shí)間尋找元件盒電路的連線上。在調(diào)試過(guò)程中,發(fā)現(xiàn)在設(shè)置第一個(gè)鬧鐘的時(shí)候,出現(xiàn)了一個(gè)問(wèn)題,例如現(xiàn)在的時(shí)間是08:27,設(shè)置的鬧鐘時(shí)間是08:30,仿真運(yùn)行開(kāi)始,鬧鐘在08:28,08:29的時(shí)候都會(huì)響鈴,當(dāng)?shù)竭_(dá)鬧鐘時(shí)間響鈴結(jié)束后,不會(huì)再警報(bào),出現(xiàn)正常,這個(gè)主要的調(diào)試方法在程序的調(diào)試中解決。當(dāng)解決完這個(gè)問(wèn)題,重新將程序燒到單片機(jī),又出現(xiàn)一個(gè)問(wèn)題,時(shí)間不走了,當(dāng)時(shí)懷疑DS1302定時(shí)芯片出現(xiàn)問(wèn)題,于是用萬(wàn)用表對(duì)其電路進(jìn)行檢測(cè),也沒(méi)有發(fā)現(xiàn)什么問(wèn)題,一切都很正常,最后沒(méi)辦法就將DS1302芯片拆下

53、來(lái),重新將芯片安裝,在進(jìn)行仿真的時(shí)候,時(shí)間終于走了,但又迎來(lái)了一個(gè)問(wèn)題,第一個(gè)定的鬧鐘沒(méi)有想,于是在程序中再次檢查,找到了原因,終于都沒(méi)有問(wèn)題,智能數(shù)字鬧鐘的電路能夠運(yùn)行,完全的實(shí)現(xiàn)所要求的功能。2、 Keil µvision4的調(diào)試系統(tǒng)的軟件開(kāi)發(fā)環(huán)境是Keil µvision4,具體程序編寫(xiě)調(diào)試的步驟如下:1、 在菜單Project中選擇New Project,設(shè)立文件夾,保存文件名,在彈出的對(duì)話框中選擇Atmel公司的AT89C51單片機(jī)。2、 在File菜單中選擇New,在彈出的對(duì)話框中編輯所需C語(yǔ)言程序【4】。程序初步完成后,點(diǎn)擊保存,并設(shè)置文件名為*.c。3、 用

54、鼠標(biāo)右鍵單擊Soµrce groµp 1選擇Add Files GroµpSoµrce groµp1,關(guān)閉窗口,程序中命令字符變成綠色。4、你的一級(jí)標(biāo)題用的是1. 2.3.4.等,二級(jí)標(biāo)題用的是(1)(2)(3)這里與上一段不符編輯鏈接,確定程序無(wú)誤后,用鼠標(biāo)點(diǎn)擊Options for Target,在Target菜單中設(shè)置晶振為12MHz,在Oµt pµt中添加Create Hex Fi選項(xiàng),輸出Hex文件。如圖5.1所示。圖5.1 程序調(diào)試確認(rèn)無(wú)誤后,打開(kāi)PROTEUS仿真軟件,畫(huà)出所設(shè)計(jì)的電路圖,檢查電路,在電路無(wú)誤后導(dǎo)入Keil µvision4軟件生成的HEX文件,點(diǎn)擊運(yùn)行,這時(shí)就可以在PROTEUS仿真軟件中進(jìn)行仿真了。在編譯調(diào)試完成后,可以通過(guò)編程器,就可以將所編譯的正確程序?qū)懭氲紸T89C51單片機(jī)中了,軟件安裝調(diào)試結(jié)束。程序的編寫(xiě)主要有4個(gè)大模塊:主程序的編寫(xiě)、定時(shí)DS1302模塊的編寫(xiě)、溫度采集DS18B20模塊的編寫(xiě)以及1602LCD顯示模塊的編寫(xiě)。主程序?qū)Ω鱾€(gè)模塊進(jìn)行初始化,對(duì)各模塊進(jìn)行定

溫馨提示

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