版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 基于51單片機(jī)的智能數(shù)字鬧鐘設(shè)計(jì)與實(shí)現(xiàn)摘 要單片機(jī)自20世紀(jì)70年代問世以來,因?yàn)閱纹瑱C(jī)極高 的 性 能 價(jià) 格 比,越發(fā)受到了人們的重視 和 關(guān) 注 , 應(yīng) 用 領(lǐng) 域 廣 泛 、發(fā)展很快。而51單片機(jī)是各單片機(jī)中最為典型的,也是最具有代表性的一種。本設(shè)計(jì)是一款基于AT89C51的智能數(shù)字鐘,該數(shù)字鐘表由主控模塊、按鍵模塊、定時(shí)模塊、溫度檢測模塊和顯示模塊構(gòu)成。主控模塊由主控芯片AT89C51、晶振電路和復(fù)位電路構(gòu)成;定時(shí)模塊采用時(shí)鐘芯片DS1302實(shí)現(xiàn)精確定時(shí);用溫度傳感器DS18B20作為溫度采集源 , 檢 測 當(dāng) 前 溫 度;用液晶顯示器1602顯示年、月、日、時(shí)間及溫度。通過這種方
2、法的實(shí)現(xiàn),使智能數(shù)字鬧鐘的電路簡單 , 性 能 可 靠 , 實(shí) 時(shí) 性 好 , 時(shí) 間 和溫度精度高,操作簡單。在Proteus和Keil µvision4的環(huán)境下,完成了電路原理圖的繪制以及程序的編譯后,用焊接的方法在電路板上焊接實(shí)物,將Keil µvision4中生成的.hex文件的程序燒到電路中,檢測并調(diào)試電路,實(shí)現(xiàn)智能數(shù)字鬧鐘的功能。該智能數(shù)字鬧鐘可以應(yīng)用于人們的生活和工作中,也可通過改裝,將智能數(shù)字鬧鐘的性能提高,還可以增加新的功能,讓智能數(shù)字鬧鐘顯示更多方面的內(nèi)容與功能,給人們的生活和工作帶來更多的方便。關(guān)鍵詞:單片機(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本頁的頁碼貌似是居右目 錄摘 要iAbstractii第一章 引 言11
9、.1 智能數(shù)字鬧鐘的研究背景和意義11.2智能數(shù)字鬧鐘的功能11.3 智能數(shù)字鬧鐘的發(fā)展趨勢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目錄頁也要有頁碼,羅馬字體第一章 引 言不要加粗1.1 智能數(shù)字鬧鐘的研究背景和意義隨著當(dāng)今社會(huì)的快速發(fā)展,人類面臨著很多問題,時(shí)間和空間的不足就是其問題之一。作為新一代技術(shù)型人才,日益發(fā)展的社會(huì)勢必會(huì)面臨這一嚴(yán)峻的問題。圍繞這個(gè)即將到來的問題,本課題定為智能數(shù)字鬧鐘設(shè)計(jì)。鐘表只是一種簡單的顯示時(shí)間的工具,本身不能給人們帶來想要抓住時(shí)間的緊迫感,但如能把時(shí)鐘時(shí)間的顯示精確到分、秒,那么面對這種時(shí)間飛逝的重壓感,人們就會(huì)重視它并有效地利用它,更懂得把握分寸,不白白浪費(fèi)時(shí)間。當(dāng)然若在鐘表的顯示中融入了其他人們?nèi)粘9ぷ鞒鲂斜仨毜墓δ?,智能并簡單利用,可以大大為我們?jié)省出空間來。人們生活水平逐漸提
11、高,并且越來越重視人性化事物,傳統(tǒng)的指針式時(shí)鐘也只能簡單的滿足人們的針對時(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)用越來越廣泛,逐漸取代了昔日的模擬化產(chǎn)品,變得高端上檔次。單片機(jī)系列產(chǎn)品已經(jīng)遍布到工業(yè)控制,以及各個(gè)重要的公共場所,單片機(jī)的快速發(fā)展與應(yīng)用更加大范圍的擴(kuò)展,在人們的日常生活中日需常見化,更加依賴單片機(jī),給人類生活帶來了
12、極大的便利,單片機(jī)將與人們的生活、娛樂等不同方面都存在密不可分的關(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)在人們的周圍,無處不在【16】。這種具有人們所需要的智能化特性產(chǎn)品為人們節(jié)省了大量時(shí)間和空間,擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化奠定了基礎(chǔ)。1.2智能數(shù)字鬧鐘的功能電路采用了單片機(jī)AT89C51
13、、溫度傳感器DS18B20、時(shí)鐘芯片DS1302、1602LCD顯示器,通過獨(dú)立式按鍵可以切換模式,修改顯示時(shí)間的數(shù)據(jù)。電路設(shè)計(jì)合理,具備了三大特點(diǎn):簡單,操作方便,美觀大方。本設(shè)計(jì)智能數(shù)字鬧鐘的主要功能為:(1)連接電源,1602LCD顯示器上可顯示正常的時(shí)間、日期及溫度的顯示;(2)可實(shí)現(xiàn)12小時(shí)/24小時(shí)時(shí)間顯示的切換;(3)通過獨(dú)立式按鍵手動(dòng)修改時(shí)間日期;(4)可以設(shè)置三個(gè)鬧鐘時(shí)間,當(dāng)?shù)紧[鐘響鈴時(shí)間,可手動(dòng)關(guān)閉;1.3 智能數(shù)字鬧鐘的發(fā)展趨勢基于51單片機(jī)的智能數(shù)字鬧鐘體現(xiàn)了現(xiàn)代化電子產(chǎn)品的高性價(jià)比,成本低,電路簡單,功能齊全。對于家庭生活中,具有了相當(dāng)普遍性和實(shí)用性,使得人們在生活中
14、對智能數(shù)字鬧鐘產(chǎn)生了依賴性,在各個(gè)方面不可缺少的,用一句夸張的話說:離開了它就不能活了,感覺身邊總是少了些什么。時(shí)鐘的發(fā)展已經(jīng)從老式鐘表發(fā)展到如今電子時(shí)鐘以及智能化數(shù)字時(shí)鐘的時(shí)代,通過時(shí)代的發(fā)展,高科技研制和廣泛應(yīng)用,智能數(shù)字鬧鐘的發(fā)展前景將不可估量,智能數(shù)字鬧鐘所實(shí)現(xiàn)的功能不僅僅只有報(bào)時(shí)功能,在不久的未來,智能數(shù)字鬧鐘可以設(shè)置鬧鐘,可以實(shí)現(xiàn)通話功能,可以是一本記事本,隨時(shí)記錄發(fā)生的事情,或許可以實(shí)現(xiàn)導(dǎo)航功能等,以上功能只要一個(gè)小小的智能數(shù)字鬧鐘就可實(shí)現(xiàn),人們的生活更加方便。同時(shí),智能數(shù)字鬧鐘的電路只需使用簡單芯片,加以合理設(shè)計(jì),使得電路簡單、操作非常方便、美觀實(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)在未來的應(yīng)用將更加廣泛,以其高精度的顯示以及其多內(nèi)容的顯示界面將更受到人們的青睞。第2章 方案的論證與選擇2.1 方案的論證方案一:這邊可以問下老師是不是可以居行首基于低成本數(shù)字集成電路及七段譯碼器組成的數(shù)字鬧鐘設(shè)計(jì)【10】 系統(tǒng)由數(shù)字邏輯集成芯片構(gòu)成純硬件電路,其電路由秒信號發(fā)生器、走時(shí)電路、校時(shí)電路、鬧鐘電路等部分組成。秒信號發(fā)生器使用LM555構(gòu)
16、成多諧振蕩器,調(diào)整電阻可改變頻率,使之產(chǎn)生秒信號。走時(shí)電路包括秒計(jì)時(shí)器、分計(jì)時(shí)器、時(shí)計(jì)時(shí)器,每個(gè)部分都由兩片計(jì)數(shù)器級聯(lián)構(gòu)成。其中秒計(jì)數(shù)器和分計(jì)數(shù)器都是用十進(jìn)制與六進(jìn)制計(jì)數(shù)器級聯(lián)構(gòu)成,時(shí)計(jì)數(shù)器由三進(jìn)制計(jì)數(shù)器與十進(jìn)制計(jì)數(shù)器級聯(lián)構(gòu)成。時(shí)計(jì)數(shù)器需要個(gè)位為十進(jìn)制、十位只要計(jì)到2即可,不過需要清零電路。當(dāng)個(gè)位計(jì)數(shù)到“4”,同時(shí)十位計(jì)數(shù)到“2”時(shí)立即清零,時(shí)鐘就會(huì)從零開始重新計(jì)數(shù)。當(dāng)時(shí)間與標(biāo)準(zhǔn)時(shí)間不吻合的時(shí)候,需要校準(zhǔn)時(shí)間,對照標(biāo)準(zhǔn)時(shí)間將此時(shí)的時(shí)間的秒信號加速運(yùn)行,加快時(shí)鐘的計(jì)時(shí)速度,當(dāng)?shù)竭_(dá)標(biāo)準(zhǔn)時(shí)間后再切換回正確的輸入信號,達(dá)到校準(zhǔn)目的。鬧鐘是在在預(yù)定的時(shí)間到達(dá)時(shí)能輸出鬧鈴聲。這種方案的電路搭建起來非常的龐
17、大,大小不同芯片,總共需要用到18個(gè),工程非常的繁瑣,需要花費(fèi)很長的時(shí)間在電路的排版和連線上。 方案二:基于VHDL的數(shù)字時(shí)鐘設(shè)計(jì)【5】 基于VHDL的數(shù)字時(shí)鐘設(shè)計(jì)主要由晶體振蕩器、分頻器、計(jì)數(shù)器、譯碼器顯示器組成?;赩HDL的數(shù)字時(shí)鐘設(shè)計(jì)中需要有一個(gè)時(shí)鐘脈沖信號,因此用一個(gè)石英晶體振蕩器產(chǎn)生一個(gè)高頻脈沖信號,然后要用分頻器將這個(gè)時(shí)鐘脈沖信號分頻,得到1Hz的時(shí)鐘信號,將這個(gè)時(shí)鐘信號分別接入計(jì)數(shù)器中,然后再為其他模塊提供時(shí)鐘。計(jì)數(shù)器用一個(gè)100進(jìn)制的計(jì)數(shù)器和兩個(gè)60進(jìn)制的計(jì)數(shù)器進(jìn)行級聯(lián)。最后在三個(gè)計(jì)數(shù)器的輸出接到七段譯碼管,總共要用到8個(gè)這樣的數(shù)碼管。 晶體振蕩器分 頻 器計(jì)數(shù)器模塊七段碼譯
18、碼器模 塊 方案三:基于單片機(jī)智能數(shù)字鬧鐘設(shè)計(jì)【13】基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)是要分好幾個(gè)模塊,單獨(dú)對各類模塊設(shè)計(jì),以單片機(jī)AT89C51作為主控芯片,控制其他模塊的運(yùn)作,將數(shù)據(jù)控制輸出到顯示模塊。對各個(gè)模塊進(jìn)行程序的編寫,最后將編譯鏈接生成一個(gè).hex文件,將這個(gè)文件燒到AT89C51單片機(jī)芯片中,從而實(shí)現(xiàn)時(shí)鐘的功能。當(dāng)時(shí)鐘電路上電后,電路初始化,系統(tǒng)保持原有的顯示,通過按下不同的按鍵,切換到不同的模式中,實(shí)現(xiàn)12/24小時(shí)的切換,以及修改年、月、日、時(shí)、秒的時(shí)間設(shè)置;當(dāng)進(jìn)入鬧鐘設(shè)置模式下,可設(shè)置三個(gè)鬧鐘時(shí)間,到設(shè)定時(shí)間蜂鳴器鳴響,無人操作時(shí)鳴響30s自動(dòng)關(guān)閉鬧鐘;當(dāng)需要設(shè)置更多功能時(shí),只需
19、多設(shè)置相應(yīng)的功能按鍵就可實(shí)現(xiàn)。對上述方案進(jìn)行比較,方案一由硬件構(gòu)成,比較容易實(shí)現(xiàn),但由硬件搭建的電路不夠穩(wěn)定,譯碼管顯示效果差,功能單一不能擴(kuò)展,且電路功耗大,在將這種方案做成實(shí)物的過程中很漫長,更需要投入很多的精力,因出現(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í)來源,能準(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)周圍有高溫物體時(shí),溫度的示數(shù)會(huì)逐漸的增加,離開時(shí)溫度會(huì)慢慢下降。定時(shí)模塊:由DS1302、晶振,3.6V的紐扣電池構(gòu)成,能夠提供年、月、日、時(shí)、分和日期,紐扣電池可以支持時(shí)鐘的走時(shí),即使顯示屏沒電不顯示時(shí),時(shí)間也在計(jì)時(shí)。顯示模塊: 由1602LCD液晶顯示屏構(gòu)成,把單片機(jī)傳來的
21、數(shù)據(jù)進(jìn)行顯示,顯示的位數(shù)多,。按鍵模塊:由五個(gè)獨(dú)立輕觸式按鍵構(gòu)成,可切換各種模式狀態(tài),能對數(shù)據(jù)進(jìn)行修改。第三章 硬件電路的設(shè)計(jì)本設(shè)計(jì)采用AT89C51單片機(jī)作為本次設(shè)計(jì)的主要控制模塊。單片機(jī)可把由DS18B20、DS1302中的數(shù)據(jù)利用軟件來進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,此模塊實(shí)現(xiàn)溫度、時(shí)間的顯示。以1602LCD液晶顯示器為顯示模塊,把單片機(jī)傳來的數(shù)據(jù)顯示出來,在顯示電路中,主要靠按鍵來實(shí)現(xiàn)各種顯示要求的選擇與切換。3.1 主控電路模塊主控電路模塊采用AT89C51作為核心元件來控制各部分,其電路原理圖如圖3.1。單片機(jī)上面一個(gè)圖沒加序號引腳功能的說明,見下表3.1表3.1 單片機(jī)的引
22、腳功能引腳號符號引腳功能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片外程序存儲器的讀選通信號,低電平有效30ALE為CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供一個(gè)地址鎖存信號31外部存儲器允許訪問控制端3239P0口8位,漏極開路的雙向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)體硅片上集成了中央處理器、存儲器、并行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顯示,寫好程序就能運(yùn)行。單片機(jī)的P0口接上上拉電阻,排除外界對其有效電平的干擾,電路的抗干擾能力大大增強(qiáng)。單片機(jī)最小系統(tǒng)構(gòu)成主要是由時(shí)序電路以及復(fù)位電路兩個(gè)部分構(gòu)成。1、時(shí)序電路的介紹,下面給出了時(shí)序電路圖:時(shí)序所有圖都圖要有序號電路由晶振與電容構(gòu)成,其主要目的是濾波,這樣可以使晶振輸出的波形更加平滑,方便給予單片機(jī)適用的信號,至于大小應(yīng)該
24、是一個(gè)經(jīng)驗(yàn)值,這樣的濾波效果最好。電路中的電容C1和C2的典型值通常選擇為30pF,該電容的大小會(huì)影響振蕩器頻率的高低、振蕩器 的 穩(wěn) 定 性 和 起 振 的 快 速性。晶體的頻率越高,系統(tǒng)的時(shí)鐘頻率越高,單片機(jī)的運(yùn)行速度也就越快【7】。但反過來。運(yùn)行速度快對存儲器的速度要求就高,對印制電路板的工藝要求也高,即要求線間的寄生電容要小。2、 復(fù)位電路的介紹,下面給出了復(fù)位電路圖:復(fù)位電路主要由電阻、電容、獨(dú)立輕觸所有圖都圖要有序號式開關(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ù)位電路的連接,然而這種接法對電路不會(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ī)的控制,可通過不同按鍵的接通實(shí)現(xiàn)
26、相應(yīng)的功能(參數(shù)設(shè)置、鬧鐘設(shè)置等)。獨(dú)立式按鍵的結(jié)構(gòu)很簡單,使用時(shí)只需要接其中兩個(gè)引腳即可。開機(jī)后,電路進(jìn)入初始化狀體,初始化完成過后,按下開關(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芯片各管腳描述如下,見表3.2表3.2 DS1302功能引腳說明引腳號符號引腳功能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碼,其寄存器及控制字見表3.3表3.3 DS1302的日歷、時(shí)鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作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的作用主要用來記錄數(shù)據(jù),特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,除此之外,DS1302能夠同時(shí)記錄兩個(gè)時(shí)間,一是記錄數(shù)據(jù)的時(shí)間,二是出現(xiàn)該數(shù)據(jù)的時(shí)間,因此在測量系統(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芯片自帶長短月、閏年補(bǔ)償?shù)裙δ?,只?1實(shí)現(xiàn)時(shí)間的各種功能會(huì)非常麻煩。掉電后只需要微弱的電流即可保持精準(zhǔn)走時(shí),因此,在DS1302芯片的連接中連有3.6V的紐扣電池,可以在掉電后支持時(shí)間的走時(shí)。3.4 溫度電路模塊溫度采集電路模塊由DS18B20對溫度進(jìn)行采集測試,其電路圖如圖3.5。圖3.5 溫度模塊電路DS18B20的引腳介紹,見表3.4表3.4 DS18B20的引腳介紹 序 號名稱引腳功能1GND接地端2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3Vcc接+5V電源DS18B20產(chǎn)品具有以下特點(diǎn):(1) 只要求一個(gè)端口即可實(shí)現(xiàn)通信。(2
30、) 在DS18B20中的只有三個(gè)引腳即可實(shí)現(xiàn)溫度的采集,不需要外部任何的電路。(3) 測量溫度范圍在50到120之間;數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。(4) 內(nèi)部設(shè)置溫度上、下限告警。DS18B20將采集到的信號送入單片機(jī)P2.5口,給電路提供一個(gè)溫度數(shù)據(jù)。R2為上拉電阻,為DS18B20提供能量,最好能夠外接+5V的電源,有些電路僅僅依靠一個(gè)4.7K的上拉電阻是遠(yuǎn)遠(yuǎn)不夠的,不能給其芯片足夠的能量,如果采用多個(gè)DS18B20來采集溫度數(shù)據(jù)時(shí),這4.7K的電阻將供不應(yīng)求,無法滿足其需求【11】。溫度采集電路還可將DS18B20的1腳和3腳同時(shí)接地,但是這樣有可能 由 于 電 壓 的
31、 不 足 而 造 成溫度讀書不準(zhǔn)確。如圖3.5中的接法即使電源電壓只有4V電路也可以正常工作,DS18B20采集的溫度數(shù)據(jù)也不會(huì)有很大的誤差,因此這種接法在合適不過。由圖3.5溫度模塊電路中所示,DS18B20只有三個(gè)引腳,3腳接+5V電源,1腳接地,2腳接信號輸出口,同時(shí)接了一上拉電阻,因?yàn)镈S18B20是單線溫度傳感器,數(shù)據(jù)線是漏極開路,如果DS18B20沒接電源,則需要數(shù)據(jù)線強(qiáng)上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個(gè)上拉即可穩(wěn)定的工作。用小循環(huán)來移動(dòng)8次,將內(nèi)部寄存器的8位數(shù)據(jù)全讀出來,再通過數(shù)學(xué)處理來顯示溫度。3.5 顯示電路模塊顯示電路模塊是用1602LCD
32、液晶顯示屏顯示時(shí)間、溫度等數(shù)據(jù),其電路圖如圖3.6。圖3.6 顯示模塊電路圖1602液晶顯示屏的引腳定義,見表3.3表3.3 1602液晶顯示屏的引腳定義引腳號引腳名電平輸入/輸出作用1Vss電源地2Vcc電源(+5V)3Vee對比調(diào)整電壓4RS0/1輸入0=輸入指令1=輸入數(shù)據(jù)50/1輸入0=向LCD寫入指令或數(shù)據(jù)1=從LCD讀取信息6E1,10輸入使能信號,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ù)字和大、小寫字母。3、程序簡單,如果用數(shù)碼管動(dòng)態(tài)顯示,刷新顯示時(shí)間長,但1602能自動(dòng)完成這個(gè)功能。1602LCD分為帶背光和不帶背光兩種形式,基控制器大部分為HD44780,帶背光的比不帶背光的厚,在應(yīng)用中沒有太大的差別,使用時(shí)不需
34、要分太清楚,兩者尺寸差別如下圖3.7所示:圖3.6 圖序號錯(cuò)了1602LCD尺寸圖如圖3.6同上LCD1602尺寸圖所示,從顯示屏的正看,這兩種顯示屏沒有差別;從側(cè)面看,將這兩種顯示屏一比較,明顯能夠看出無背光的厚度要比帶背光的厚度小,有3.5mm的差距,其他部分的尺寸都是一樣大的,沒有很大的區(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語言進(jìn)行軟件開發(fā)與設(shè)計(jì)。在智能數(shù)字鬧鐘的軟件中,先單獨(dú)編輯各個(gè)模塊的程序,對各模塊程序進(jìn)行編譯鏈接,程序沒有任何錯(cuò)誤可以完全運(yùn)行操作,接著將各模塊的C語言程序綜合連接,使編程結(jié)構(gòu)清晰明了,整個(gè)程序發(fā)現(xiàn)錯(cuò)誤檢查的時(shí)候更加方便,不會(huì)令人頭疼煩躁。軟件設(shè)計(jì)主要分為了四個(gè)部分來編寫程序,主程序主要對整個(gè)模塊進(jìn)行定義、初始化,主要在按鍵模塊切換的模式情況進(jìn)行詳細(xì)的設(shè)計(jì),同時(shí)也對鬧鐘部分進(jìn)行了詳細(xì)的設(shè)計(jì),通過設(shè)置的鬧鐘時(shí)間與顯示時(shí)間比較,當(dāng)兩個(gè)時(shí)間相同時(shí)
36、鬧鐘就會(huì)鳴響;溫度模塊主要是根據(jù)DS18B20芯片進(jìn)行溫度的采集,顯示程序的編寫則根據(jù)其的控制字要求將溫度在LCD1602顯示屏上顯示;定時(shí)模塊是用芯片DS1302實(shí)現(xiàn)定時(shí)的功能,提高走時(shí)的精確度。4.1總體系統(tǒng)軟件設(shè)計(jì)軟件程序的設(shè)計(jì)是根據(jù)硬件電路圖的連接和各個(gè)元器件的功能進(jìn)行設(shè)計(jì)。在編寫軟件時(shí),可以按各個(gè)程序的功能將軟件細(xì)分為各個(gè)功能模塊,再通過主程序的調(diào)用來實(shí)現(xiàn)整個(gè)軟件系統(tǒng)。 系統(tǒng)主程序流程圖如圖4.1,如下所示:圖4.1 主程序流程圖數(shù)字鐘開機(jī)后,進(jìn)入初始狀態(tài),通過調(diào)節(jié)各個(gè)獨(dú)立輕觸式按鍵來修改數(shù)據(jù)和各個(gè)模式的切換。圖4.1主程序流程圖中Y表示按下開關(guān),N表示開關(guān)沒有按下。開機(jī)后,按下S5
37、可對時(shí)間進(jìn)行12/24小時(shí)形式的切換;按下S1可以切換不同的模式,可以根據(jù)自己的要求進(jìn)行切換,這時(shí)顯示屏上會(huì)顯示相對應(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è)置完成后按下開關(guān)S4,退出該模式,電路進(jìn)入正常顯示狀態(tài)。當(dāng)時(shí)間到設(shè)置的鬧鐘時(shí)間時(shí)會(huì)有鬧鈴,無人操作時(shí)響鈴30s后自動(dòng)關(guān)閉,或者按下S4關(guān)閉鬧鐘。4.1.1 主程序設(shè)計(jì)主程序:初始化各個(gè)功能模塊,對鬧鐘、溫度、定時(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ì)通過溫度傳感器將實(shí)時(shí)溫度信息進(jìn)行采集,將檢測到的溫度數(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); /跳過讀序號列號的操作 WriteAChar(0xBE); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)寄存器對應(yīng)溫度 delay_18B20(100); m=ReadAChar(); n=ReadAChar(); Init_DS18B20(); WriteAChar(0xCC); / 跳過讀序號列號的操作 WriteAChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 /傳感器返回值除16得實(shí)際溫度值 /為了得到2位小數(shù)位,先乘100,再除16,考慮整型數(shù)據(jù)長度, /技巧處
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ì)對當(dāng)前時(shí)間,日期等信息進(jìn)行設(shè)定,通過本程序?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);/開 write(0x80,0x53);/寫初始狀態(tài)秒鐘的數(shù)值 write(0x82,0x28);/寫初始狀態(tài)分鐘的數(shù)值 write(0x84,0x08);/寫初始狀態(tài)小時(shí)的數(shù)值 write(0x86,0x09);/寫日 write(0x88,0x05);/寫月 write(0x8c,0x14);/寫年 wri
43、te(0x8e,0x80);/關(guān)4.1.4 顯示模塊設(shè)計(jì)顯示正常的時(shí)間、日期及溫度,并且可實(shí)現(xiàn)對12小時(shí)/24小時(shí)時(shí)間切換的顯示,對設(shè)置三個(gè)鬧鐘時(shí)間,鬧鐘響鈴時(shí)間進(jìn)行顯示。其關(guān)鍵代碼如下:void Write_LCD_Sj(uchar sj)/寫數(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)/寫指令函數(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中畫出智能數(shù)字鬧鐘的電路原理圖,在此過程中,尋找元器件要有耐心、認(rèn)真負(fù)責(zé)的態(tài)度,準(zhǔn)確無誤的找到相對應(yīng)的元器件,哪怕一個(gè)小小的不同就會(huì)影響設(shè)計(jì)的成果。通過查閱各種資料和老師的幫助下,能夠很快的畫出電路原理圖,并在仿真軟件中實(shí)現(xiàn)功能。由于本設(shè)計(jì)中有五個(gè)模塊,在完成各個(gè)模塊后,需要把各部分對應(yīng)的
46、連接起來,在安裝各模塊的同時(shí),可以更多掌握每個(gè)部分的功能。每個(gè)模塊安裝完成后,不說明就已經(jīng)完成了全部工作,需要多次進(jìn)行電路的檢測,發(fā)現(xiàn)不足與問題所在,不要影響電路的工作。并利用萬用表等實(shí)驗(yàn)器材對整體進(jìn)行檢測,避免由于接線的錯(cuò)誤造成不必要的故障,并且保證安全。一切準(zhǔn)備工作結(jié)束后,開始焊接工作,在完成整個(gè)焊接工作過程中,得到老師和同學(xué)的幫助,工作起來更加得心應(yīng)手。開始焊接的是單片機(jī)的最小系統(tǒng)系統(tǒng),根據(jù)仿真原理圖很順利的完成此次工作,接下來依次焊接了按鍵模塊,溫度采集模塊,定時(shí)模塊,顯示模塊以及各部分的連接,在焊接過程中遇到了很多的問題,有時(shí)候把引腳焊錯(cuò),心情會(huì)很煩躁,影響下面的進(jìn)度,焊接過程中需要
47、用到很多的工具,如:萬能表,烙鐵,示波器等。在焊接DS1302的時(shí)候出現(xiàn)一些問題,編程的時(shí)候顯示不正常,經(jīng)過不斷的檢查電路以及反復(fù)使用萬能表的檢測,最后終于發(fā)現(xiàn)了問題的所在,引腳接反了,造成芯片的損壞,慶幸當(dāng)時(shí)多購買了此芯片,不然又要到處跑了。焊接1602顯示屏與單片機(jī)時(shí),花費(fèi)了一些時(shí)間,一開始焊接的時(shí)候沒有注意顯示屏與單片機(jī)P0口順序,將連接的引腳接反了,顯示的時(shí)候出現(xiàn)了亂碼,在焊接的時(shí)候用的錫線太多,不好把該顯示屏插在板子上,只好重新焊接,保證其美觀。通過不斷的拆拆改改,最后調(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ù)字鬧鐘的所有功能。一旦焊接過程中出現(xiàn)錯(cuò)誤就要拆下線路重新焊接,工作量會(huì)很龐大。焊接好電路,一定要嚴(yán)格檢查,由于本設(shè)計(jì)采用的是萬用板,因此在檢測時(shí)務(wù)必要認(rèn)真仔細(xì)。發(fā)現(xiàn)萬用板上有多余的錫點(diǎn)時(shí)及時(shí)地清理,避免造成電路的短路,發(fā)生事故,同時(shí),要注意各跳線有無錯(cuò)接或者接觸不良的現(xiàn)象,虛焊情況,各元器件的引腳是否接正確,電源、地是否已接完善等現(xiàn)象,對以上情況都要作相應(yīng)的檢查,并作必要的處理。系統(tǒng)的焊接過程主要有以下幾個(gè)階段:1、根據(jù)仿真電路圖購買相關(guān)的元器件,準(zhǔn)備好工具,為實(shí)物的焊接做準(zhǔn)備。 2
49、、在電路板上合理的安放好元器件,保證實(shí)物的美觀,尤其是要注意那些易受干擾的電容的位置設(shè)計(jì)。3. 用萬能表檢測電路板上引腳情況,對照仿真原理圖用烙鐵連接起來,把握整個(gè)焊接過程,其中一定要細(xì)心,注意安全。4. 根據(jù)仿真原理圖,將元器件焊接好,保證其元器件不受損傷。 安裝:將各模塊的跳線接好,注意引腳。各模塊的供電端和接地端,接入單片機(jī)的引腳一定要認(rèn)清引腳好,避免接錯(cuò),造成不必要的損失。調(diào)試:檢測引腳電壓是否正常,按鍵是否接好,電路中有無短路,虛焊。在硬件電路無誤情況下,接入電源,系統(tǒng)就可以正常工作了,打開顯示器開關(guān)產(chǎn)品就可以實(shí)現(xiàn)相應(yīng)功能。5.2 系統(tǒng)軟件的調(diào)試1、 P
50、roteus【2】這個(gè)序號加了有什么用,文章中還有很多其他的的調(diào)試運(yùn)行ISIS 7 Professional出現(xiàn)下面的窗口,在這個(gè)窗口中繪制智能數(shù)字鬧鐘的仿真原理圖:(1) 添加元件到上圖要有序號元件表中:智能數(shù)字鬧鐘的設(shè)計(jì)中主要用到的元件有:AT89C51、DS1302、1602LCD、DS18B20、“地”、“電源”等。單擊“P”按鈕,出現(xiàn)挑選元件對話框,在此對話框的KEYWORD中輸入要找的元件名稱,單擊OK。(2) 放置元器件:在元件列表中左鍵選取對應(yīng)的元器件,在原理圖編輯窗口中單擊左鍵,這樣所需要的元件就被添加到原理圖編輯窗口中。添加“地”、“電源”的時(shí)候左鍵點(diǎn)擊工具欄中的Termi
51、nals Mode,分別選擇GOUND、POWER,在原理圖編輯窗口點(diǎn)擊左鍵,分別將“地”、“電源”放置在原理圖編輯窗口中。(3) 連線:將智能數(shù)字鬧鐘各個(gè)模塊綜合連接。(4)序號格式不統(tǒng)一,詳見批注17添加仿真文件:雙擊單片機(jī),出現(xiàn)下面的對話框,在Program File中單擊出現(xiàn)文件瀏覽對話框,找到new.hex文件,單擊確定完成添加文件,單擊OK退出。(5)仿真:單擊開始仿真上圖要有序號。在進(jìn)行Proteus仿真軟件的調(diào)試時(shí),在尋找元上圖要有序號器件的過程中遇到了一些麻煩,在仿真元件中找不到想對應(yīng)的器件,通過詢問同學(xué)以及資料的查詢,終于找到了全部的元件,并將其各個(gè)模塊進(jìn)行總和連接,連線過
52、程中安全的通過了,但是耗費(fèi)了我大量的時(shí)間。在仿真軟件繪制原理圖的過程并沒有出現(xiàn)很大的錯(cuò)誤,主要就是花費(fèi)了較長的時(shí)間尋找元件盒電路的連線上。在調(diào)試過程中,發(fā)現(xiàn)在設(shè)置第一個(gè)鬧鐘的時(shí)候,出現(xiàn)了一個(gè)問題,例如現(xiàn)在的時(shí)間是08:27,設(shè)置的鬧鐘時(shí)間是08:30,仿真運(yùn)行開始,鬧鐘在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è)問題,重新將程序燒到單片機(jī),又出現(xiàn)一個(gè)問題,時(shí)間不走了,當(dāng)時(shí)懷疑DS1302定時(shí)芯片出現(xiàn)問題,于是用萬用表對其電路進(jìn)行檢測,也沒有發(fā)現(xiàn)什么問題,一切都很正常,最后沒辦法就將DS1302芯片拆下
53、來,重新將芯片安裝,在進(jìn)行仿真的時(shí)候,時(shí)間終于走了,但又迎來了一個(gè)問題,第一個(gè)定的鬧鐘沒有想,于是在程序中再次檢查,找到了原因,終于都沒有問題,智能數(shù)字鬧鐘的電路能夠運(yùn)行,完全的實(shí)現(xiàn)所要求的功能。2、 Keil µvision4的調(diào)試系統(tǒng)的軟件開發(fā)環(huán)境是Keil µvision4,具體程序編寫調(diào)試的步驟如下:1、 在菜單Project中選擇New Project,設(shè)立文件夾,保存文件名,在彈出的對話框中選擇Atmel公司的AT89C51單片機(jī)。2、 在File菜單中選擇New,在彈出的對話框中編輯所需C語言程序【4】。程序初步完成后,點(diǎn)擊保存,并設(shè)置文件名為*.c。3、 用
54、鼠標(biāo)右鍵單擊Soµrce groµp 1選擇Add Files GroµpSoµrce groµp1,關(guān)閉窗口,程序中命令字符變成綠色。4、你的一級標(biāo)題用的是1. 2.3.4.等,二級標(biāo)題用的是(1)(2)(3)這里與上一段不符編輯鏈接,確定程序無誤后,用鼠標(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)無誤后,打開PROTEUS仿真軟件,畫出所設(shè)計(jì)的電路圖,檢查電路,在電路無誤后導(dǎo)入Keil µvision4軟件生成的HEX文件,點(diǎn)擊運(yùn)行,這時(shí)就可以在PROTEUS仿真軟件中進(jìn)行仿真了。在編譯調(diào)試完成后,可以通過編程器,就可以將所編譯的正確程序?qū)懭氲紸T89C51單片機(jī)中了,軟件安裝調(diào)試結(jié)束。程序的編寫主要有4個(gè)大模塊:主程序的編寫、定時(shí)DS1302模塊的編寫、溫度采集DS18B20模塊的編寫以及1602LCD顯示模塊的編寫。主程序?qū)Ω鱾€(gè)模塊進(jìn)行初始化,對各模塊進(jìn)行定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級語文上冊《一次成功的實(shí)驗(yàn)》教案
- 中國休閑零食電商行業(yè)市場全景調(diào)研及投資規(guī)劃建議報(bào)告
- 小班語言公開課《圓》活動(dòng)教案
- 大學(xué)生自我介紹范文集合七篇
- 銀行客服工作總結(jié)(15篇)
- 建筑實(shí)習(xí)報(bào)告模板合集七篇
- 乒乓球比賽作文300字匯編十篇
- 消防安全在我心中演講稿5篇
- 后備干部培訓(xùn)心得體會(huì)800字
- 辭職報(bào)告范文匯編15篇
- 孵化器的運(yùn)營和服務(wù)模式
- 2024年大學(xué)試題(管理類)-公共部門決策的理論與方法筆試歷年真題薈萃含答案
- 在美術(shù)課堂中融入心理健康教育
- 2024年上海外服招聘筆試參考題庫附帶答案詳解
- 中國AED布局與投放專家共識護(hù)理課件
- 無菌注射劑生產(chǎn)線清潔驗(yàn)證方案
- 2024年健康照護(hù)師理論試題
- 2023年線路維護(hù)主管年度總結(jié)及下一年展望
- 2023年意識形態(tài)工作責(zé)任清單及風(fēng)險(xiǎn)點(diǎn)臺賬
- 《經(jīng)典動(dòng)畫賞析》課件
- 大學(xué)英語四級閱讀理解精讀100篇
評論
0/150
提交評論