基于51單片機(jī)電子萬(wàn)年歷論文[共32頁(yè)]
《基于51單片機(jī)電子萬(wàn)年歷論文[共32頁(yè)]》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)電子萬(wàn)年歷論文[共32頁(yè)](32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 基于51單片機(jī)電子萬(wàn)年歷畢業(yè)論文 摘 要: 電子萬(wàn)年歷是一種非常廣泛日常計(jì)時(shí)工具,對(duì)現(xiàn)代社會(huì)越來(lái)越流行。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長(zhǎng),誤差小。對(duì)于數(shù)字電子萬(wàn)年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用AT89S52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3~5V電壓供電。 本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的電子萬(wàn)年歷設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對(duì)單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全
2、面準(zhǔn)備。在硬件與軟件設(shè)計(jì)時(shí),沒(méi)有良好的基礎(chǔ)知識(shí)和實(shí)踐經(jīng)驗(yàn)會(huì)受到很大限制,每項(xiàng)功能實(shí)現(xiàn)時(shí)需要那種硬件,程序該如何編寫,算法如何實(shí)現(xiàn)等,沒(méi)有一定的基礎(chǔ)就不可能很好的實(shí)現(xiàn)。在編寫程序過(guò)程中發(fā)現(xiàn)以現(xiàn)有的相關(guān)知識(shí)要獨(dú)自完成編寫任務(wù)困難重重,在老師和同學(xué)的幫助下才完成了程序部分的編寫。 萬(wàn)年歷的設(shè)計(jì)過(guò)程在硬件與軟件方面進(jìn)行同步設(shè)計(jì)。硬件部分主要由AT89C52單片機(jī),LED顯示電路,以及調(diào)時(shí)按鍵電路等組成。在單片機(jī)的選擇上本人使用了AT89C52單片機(jī),該單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。顯示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一種八個(gè)共陽(yáng)二極
3、管顯示器,7SEG-MPX4-CA是一種四個(gè)共陽(yáng)二極管顯示器。為了能更輕松的控制這三片顯示器,本人使用了3片74HC164來(lái)驅(qū)動(dòng)。74HC164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。軟件方面主要包括日歷程序、時(shí)間調(diào)整程序,公歷轉(zhuǎn)陰歷程序,顯示程序等。程序采用匯編語(yǔ)言編寫,以便更簡(jiǎn)單地實(shí)現(xiàn)調(diào)整時(shí)間及陰歷顯示功能。所有程序編寫完成后,在wave軟件中進(jìn)行調(diào)試,確定沒(méi)有問(wèn)題后,在Proteus軟件中嵌入單片機(jī)內(nèi)進(jìn)行仿真。最后總在老師同學(xué)的幫助以及自己的努力下完成了此次電子萬(wàn)年歷的設(shè)計(jì)。 關(guān)鍵詞: 時(shí)鐘電鐘;DS1302;DS18B20;動(dòng)態(tài)掃描;單片機(jī)
4、
5、
6、
7、 Abstract E-calendar day time is a very wide range of tools, increasingly popular in m
8、odern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302s long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month,
9、 day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply. The design is based on 51 ser
10、ies of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. At the same time in the design of the theoretical basis of the MCU and peripheral expansion of knowledge of the more com
11、prehensive preparation. The hardware and software design, there is no good basic knowledge and practical experience will be greatly limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there is no certain foundation can not be
12、 good implementation. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult, In the help of teachers and students to complete the program part of the preparation. Calendar of the design process in hardware and software to synchronize
13、 the design. Hardware mainly by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a
14、 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-yang diode display, 7SEG-MPX4-CA is a total of four-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive. 74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The so
15、ftware includes calendar program, time to adjust procedures, turn the lunar calendar programs, display programs. Programs written in assembly language used in order to more easily adjust the time and the realization of the lunar calendar display. All programming is complete, the wave software debugg
16、ing, make sure that no problems, in the Proteus software within a microcontroller embedded in the simulation. The final overall the teacher to help students, as well as their own efforts to complete the design of the electronic calendar. Keywords: Clock electric clock:DS1302;DS18B20:Dynami
17、c scan:scm ~~~~~~目錄~~~~~~ 一、設(shè)計(jì)要求與方案論證 ………………………………………………………………………4 1.1 設(shè)計(jì)要求 ……………………………………………………………………………………4 1.2 系統(tǒng)基本方案選擇和論證 …………………………………………………………………4 1.2.1單片機(jī)芯片的選擇方案和論證 …………………………………………………………4 1.2.2 顯示模塊選擇方案和論證 ………………………………………………………………4 1.2.3 時(shí)鐘芯片的選擇方案和論證 ……………………………………………………………4 1.2.4
18、 溫度傳感器的選擇方案與論證 …………………………………………………………5 二.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)………………………………………………………………………5 2.1 電路設(shè)計(jì)框圖 ………………………………………………………………………………5 2.2 系統(tǒng)硬件概述 ………………………………………………………………………………5 2.3 主要單元電路的設(shè)計(jì) ………………………………………………………………………6 2.3.1單片機(jī)主控制模塊的設(shè)計(jì) ………………………………………………………………6 2.3.2時(shí)鐘電路模塊的設(shè)計(jì) ……………………………………………………………………6
19、 2.3.3溫度采集模塊設(shè)計(jì) ………………………………………………………………………7 2.3.4 電路原理及說(shuō)明 …………………………………………………………………………7 2.3.5顯示模塊的設(shè)計(jì) …………………………………………………………………………8 三、系統(tǒng)的軟件設(shè)計(jì) ……………………………………………………………………………9 3.1程序流程框圖 ………………………………………………………………………………9 3.2 子程序的設(shè)計(jì) ………………………………………………………………………………9 3.2.1 DS18B20溫度子程序 ……………………………………………
20、………………………9 3.2.2 讀、寫DS1302子程序 …………………………………………………………………10 四. 指標(biāo)測(cè)………………………………………………………………………………………11 4.1 測(cè)試儀器……………………………………………………………………………………11 4.2硬件測(cè)試……………………………………………………………………………………11 4.3軟件測(cè)試……………………………………………………………………………………11 4.4測(cè)試結(jié)果分析與結(jié)論………………………………………………………………………12 4.4.1 測(cè)試結(jié)果分析………………………………
21、……………………………………………12 4.4.2 測(cè)試結(jié)論…………………………………………………………………………………12 五、作品總結(jié)……………………………………………………………………………………12 六、致謝詞………………………………………………………………………………………12 參考文獻(xiàn)…………………………………………………………………………………………13 附錄一:系統(tǒng)電路圖……………………………………………………………………………14 附錄二:系統(tǒng)程序清單…………………………………………………………………………15 附錄三:系統(tǒng)使用說(shuō)明書…………………………………
22、……………………………………40 一、設(shè)計(jì)要求與方案論證 1.1 設(shè)計(jì)要求: (1)基本要求 ① 具有年、月、日、星期、時(shí)、分、秒等功能; ② 時(shí)間與陰、陽(yáng)歷能夠自動(dòng)關(guān)聯(lián); ③ 具有溫度計(jì)功能; ④ 具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能; ( 2 ) 創(chuàng)新要求 ① 具有上、下課響鈴功能; ② 具有防御報(bào)警功能; 1.2 系統(tǒng)基本方案選擇和論證 1.2.1單片機(jī)芯片的選擇方案和論證: 方案一: 采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,
23、但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。 方案二: 采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時(shí)也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為8KB ROM 存儲(chǔ)空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。 所以選擇采用AT89S52作為主控制系統(tǒng). 1.2.2 顯示模塊選擇方
24、案和論證: 方案一: 采用LED液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價(jià)格昂貴,需要的接口線多,所以在此設(shè)計(jì)中不采用LED液晶顯示屏. 方案二: 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示. 方案三: 采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。 所以采用了LED數(shù)碼管作為顯示。 1.2.3時(shí)鐘芯片的選擇方案和論證: 方案
25、一: 直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。 方案二: 采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA. 1.2.4溫度傳感器的選擇方案與論證: 方案一: 使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變
26、化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行A/D轉(zhuǎn)換。。此設(shè)計(jì)方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測(cè)量誤差。 方案二: 采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除A/D模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn)。 1.3 電路設(shè)計(jì)最終方案決定 綜上各方案所述,對(duì)此次作品的方案選定: 采用AT89S52作為主控制系統(tǒng); DS1302提供時(shí)鐘;數(shù)字式溫度傳感器;LED數(shù)碼管動(dòng)態(tài)掃描作為顯示。 二.系統(tǒng)的
27、硬件設(shè)計(jì)與實(shí)現(xiàn) 2.1 電路設(shè)計(jì)框圖 LED數(shù)碼管動(dòng)態(tài)掃描顯示模塊 AT89S52 主控制模 塊 鍵盤模塊 DS1302時(shí)鐘模塊 溫度采集模塊 2.2 系統(tǒng)硬件概述 本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放
28、數(shù)據(jù)的RAM寄存器。可產(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由DS18B20構(gòu)成;顯示部份由21個(gè)數(shù)碼管,74ls138、74ls47譯碼器構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。 2.3 主要單元電路的設(shè)計(jì) 2.3.1單片機(jī)主控制模塊的設(shè)計(jì) AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、P1、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。 單片機(jī)的最小系統(tǒng)如下圖所示,18引腳和19引腳接時(shí)鐘電路,XTAL
29、1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端. 如圖-1 所示 圖-1 主控制系統(tǒng) 2.3.2時(shí)鐘電路模塊的設(shè)計(jì) 圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于
30、Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK
31、始終是輸入端。 圖-2 DS1302的引腳圖 2.3.3溫度采集模塊設(shè)計(jì) 如圖-3所示。采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測(cè)量精度高,電路連接簡(jiǎn)單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用P0.7與DS18B20的I/O口連接加一個(gè)上拉電阻,Vcc接電源,Vss接地。 圖-3 DS18B20溫度采集 2.3.4 電路原理及說(shuō)明 (1) 時(shí)鐘芯片DS1302的工作原理: DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端
32、置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時(shí)序如下圖4所示。圖5為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對(duì)DS1302進(jìn)行讀寫數(shù)據(jù)。對(duì)于位6,若對(duì)程序進(jìn)行讀/寫時(shí)RAM=1,對(duì)時(shí)間進(jìn)行讀/寫時(shí),CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表6為DS1302的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開始運(yùn)行?!癢P” 是寫保護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫操作之
33、前,WP必須為0。當(dāng)“WP”為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。 (2) DS1302的控制字節(jié) DS1302的控制字如表-1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出 RAM RD 1
34、 A4 A3 A2 A1 A0 / CK /WR 表-1 DS1302的控制字格式 (3) 數(shù)據(jù)輸入輸出(I/O) 在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。如下圖-4所示
35、 圖-4 DS1302讀/寫時(shí)序圖 (4) DS1302的寄存器 DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表-2。 表-2 DS1302的日歷、時(shí)間寄存器 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控
36、制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。 2.3.5顯示模塊的設(shè)計(jì) 如圖-5所示,采用動(dòng)態(tài)掃描顯示,由21個(gè)數(shù)碼管,3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽(yáng)數(shù)碼管的CoM端作為選通位碼,每位選擇相應(yīng)的列。74ls47接 240Ω限流電阻,再接共行的LED數(shù)碼管的斷碼。 圖-5 LED動(dòng)態(tài)掃描顯示 三、系統(tǒng)的軟件設(shè)計(jì) 3.1
37、程序流程框圖開始 初始化 讀、寫日期、時(shí)間和溫度 分離日期\時(shí)間\溫度顯示值 顯示子程序 農(nóng)歷自動(dòng)更新子程序 日期、時(shí)間修改子程序 閏月子程 返回 定時(shí)鬧鈴子程序 圖-A 主程序流程圖 圖-B計(jì)算陽(yáng)歷程序流程圖 圖-C 時(shí)間調(diào)整程序流程圖 圖-D 陰歷程序流程圖 3.2 子程序的設(shè)計(jì) 3.2.1 DS18B20溫度子程序 32 CONFIG12
38、 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 TOUTOU: LCALL CHUSHI LCALL RDTEMP MOV A,TEMPL ANL A,#11110000B MOV TEMPL,A MOV A,TEMPH ANL A,#00000111B ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H
39、 DIV AB MOV A,B MOV B,#0AH DIV AB SWAP A ORL A,B MOV 10H,A RET CHUSHI: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH LCALL WRITE111 MOV A,#CONFIG12 LCALL WRITE111 RET RDTEMP: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#44H LCALL WRI
40、TE111 LCALL DL1MS LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#0BEH LCALL WRITE111 LCALL ERAD111 MOV TEMPL,A LCALL ERAD111 MOV TEMPH,A RET RESET: LA: SETB DAT MOV 52H,#200 LB: CLR DAT DJNZ 52H,LB SETB DAT MOV 52H,#30 LC: DJNZ 52H,LC CLR C
41、 ORL C,DAT JC LB MOV 58H,#80 LD: ORL C,DAT JC LP DJNZ 58H,LD SJMP LA LP: MOV 52H,#250 LF: DJNZ 52H,LF RET WRITE111: MOV 53H,#8 W51HA: SETB DAT MOV 54H,#8 RRC A CLR DAT W52HA: DJNZ 54H,W52HA MOV DAT,C MOV 54H,#30 W53HA: DJNZ 54H,W53HA
42、 DJNZ 53H,W51HA SETB DAT RET ERAD111: CLR EA MOV 58H,#8 RD1A: CLR DAT MOV 54H,#6 NOP SETB DAT RD2A: DJNZ 54H,RD2A MOV C,DAT RRC A MOV 55H,#30 RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A SETB DAT RET 3.2.2 讀、寫DS1302子程序 ;寫1302程序WRITE: CLR SCLK NO
43、P SETB RST NOP MOV A,32H MOV R4,#8 WRITE1: RRC A ;送地址給1302 NOP NOP CLR SCLK NOP NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4,WRITE1 CLR SCLK NOP MOV A,31H MOV R4,#8 WRITE2: RRC A NOP ;送數(shù)據(jù)給1302 CLR SCLK
44、 NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4,WRITE2 CLR RST RET ;讀1302程序 READ: CLR SCLK NOP NOP SETB RST NOP MOV A,32H MOV R4,#8 READ1: RRC A ;送地址給1302 NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP NOP
45、 CLR SCLK NOP NOP DJNZ R4,READ1 MOV R4,#8 READ2: CLR SCLK NOP ;從1302中讀出數(shù)據(jù) NOP NOP MOV C,IO NOP NOP NOP NOP NOP RRC A NOP NOP NOP NOP SETB SCLK NOP DJNZ R4,READ2 MOV 31H,A CLR RST RET 四. 指標(biāo)測(cè) 4.1 測(cè)試儀器 序號(hào) 名稱 型號(hào) 1 PC
46、機(jī) LXB-HF769A 2 雙路直流穩(wěn)壓電源 CA17303D 3 V8通用單片機(jī)仿真器 V8/L 4 數(shù)字萬(wàn)用表 DT9208 5 ISP在線編程器 4.2硬件測(cè)試 電子萬(wàn)年歷的電路系統(tǒng)較大,對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,而且電路的交線較多,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)刺被帶有包皮的導(dǎo)線,則會(huì)對(duì)電路造成短路現(xiàn)象。 在本成電子萬(wàn)年歷的設(shè)計(jì)調(diào)試中遇到了很多的問(wèn)題?;叵脒@些問(wèn)題只要認(rèn)真多思考都是可以避免的,以下為主要的問(wèn)題: (1)LED數(shù)碼管的斷碼錯(cuò)亂,原因出于沒(méi)有認(rèn)真看清 a、b 、c等引腳
47、信息。 解決:重新排列74LS47的輸出端,相應(yīng)接入LED數(shù)碼管,即可解決出現(xiàn)在的斷碼或亂碼。 ( 2)對(duì)萬(wàn)年歷修改時(shí)間或日期時(shí),有時(shí)LED數(shù)碼管被屏蔽掉,造成不亮現(xiàn)象。 解決:根據(jù)儀器的測(cè)試,發(fā)現(xiàn)電路的驅(qū)動(dòng)能力不足,最后在DS1302時(shí)鐘芯片的/CS、SCLK、RET端接入5.1K的上拉電阻后,電路的驅(qū)動(dòng)能力才能滿足,即可解決不亮現(xiàn)象。 4.3軟件測(cè)試 電子成年歷是多功能的數(shù)字型,可以看當(dāng)前日期(陰、陽(yáng)歷),時(shí)間,還有溫度的儀器。電子成年歷功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的模塊子程序的修改,一步一步的完成,最終解決了軟件
48、。在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下: 1.燒入程序后,LED數(shù)碼管顯示閃動(dòng),而且亮度不均勻。 解決:首先對(duì)調(diào)用的延時(shí)進(jìn)行逐漸修改,可以解決顯示閃動(dòng)問(wèn)題。其次,由于本作品使作動(dòng)態(tài)掃描方式顯示的數(shù)字,動(dòng)態(tài)掃描很快,人的肉眼是無(wú)法看出,但是調(diào)用的顯示程序時(shí),如果不在反回時(shí)屏蔽掉最后的附值,則會(huì)出現(xiàn)很亮的現(xiàn)象,所以在顯示的后面加了屏蔽子令,最后解決了此問(wèn)題。 2.修改時(shí)間、日期時(shí)沒(méi)有農(nóng)歷沒(méi)有自動(dòng)對(duì)應(yīng)上。 解決:把不相關(guān)的程序暫時(shí)屏蔽,地農(nóng)歷的子程序獨(dú)立調(diào)試,發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),最后解決了此
49、問(wèn)題. 3.加入溫度的程序后,進(jìn)行修改時(shí)間、日期時(shí)相應(yīng)的數(shù)碼管位沒(méi)有按要求閃動(dòng)。 解決:由于DS18B20是串行通信數(shù)據(jù),只用一個(gè)口線傳輸,在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間,當(dāng)把萬(wàn)年歷的程序相接入時(shí),會(huì)對(duì)延時(shí)有很大的影響。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器1中斷允許,在溫度子程序反回時(shí)再打開定時(shí)器1中斷允許。最終解決了此問(wèn)題。 4.4測(cè)試結(jié)果分析與結(jié)論 4.4.1 測(cè)試結(jié)果分析 (1).在測(cè)試中遇到發(fā)光二極管、LED數(shù)碼管為不顯示時(shí),首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察是否存在漏焊,虛焊,或者元件損壞. (2).LED 數(shù)碼管顯示不正常,還有亮度不夠,首先使用試測(cè)儀對(duì)
50、電路進(jìn)行測(cè)試,觀察電路是否存在短路現(xiàn)象。查看燒寫的程序是否正確無(wú)誤,對(duì)程序進(jìn)行認(rèn)真修改。 4.4.2 測(cè)試結(jié)論 經(jīng)過(guò)多次的反復(fù)測(cè)試與分析,可以對(duì)電路的原理及功能更加熟悉,同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力.同時(shí)在軟件的編程方面得到更到的提高,對(duì)編程能力得到加強(qiáng).同時(shí)對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固. 五、作品總結(jié) 在整個(gè)設(shè)計(jì)過(guò)程中,發(fā)揮團(tuán)隊(duì)精神,分工合作,充分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒(méi)學(xué)到的知識(shí)。較好的完成了作品。達(dá)到了預(yù)期的目的,在最初的設(shè)計(jì)中,發(fā)揮“三個(gè)臭皮匠,頂個(gè)諸葛亮”的作用。相互學(xué)習(xí)、相互討論、研究。完了最初的設(shè)想。在電路焊接時(shí)雖然沒(méi)什么大問(wèn)題,但
51、從中也知道了焊接在整個(gè)作品中的重要性,電路工程量大,不能心急,一個(gè)個(gè)慢慢來(lái)不能急于求成。反而達(dá)到事半功倍的效果。對(duì)電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時(shí)遇到了很多的問(wèn)題,經(jīng)過(guò)靜下心來(lái)思考,和同組員的討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次比賽中學(xué)到了很多很多東西,這是最重要的??傊瑓⒓与娮痈?jìng)賽我們的能力得到了全方位的提高。 致謝詞 感謝學(xué)院給我們提供了一個(gè)展現(xiàn)自己的舞臺(tái),給我們一次難得煅煉的機(jī)會(huì),使得我們的
52、動(dòng)手能力和專業(yè)技能都有了很大的提高。 在做作品的日子里得到了萬(wàn)老師的悉心指導(dǎo),在此向我們的指導(dǎo)教師致以誠(chéng)摯的謝意。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵(lì)使我們對(duì)這次的作品完成有了信心和動(dòng)力,也給了我們很多無(wú)私的幫助和支持,我們?cè)诖松畋碇x意。 姓名:譚偉 參考文獻(xiàn) 1 劉勇 編 數(shù)字電路 電子工業(yè)出版社 2004 2 陳正振 編 電子電路設(shè)計(jì)與制作 廣西交通職業(yè)技術(shù)學(xué)院信息工程系 2007 3 楊子文 編 單片機(jī)原理及應(yīng)用 西安電子科技大學(xué)出版社
53、 2006 4 王法能 編 單片機(jī)原理及應(yīng)用 科學(xué)出版社 2004 2009年11月20日附錄一:系統(tǒng)電路圖 附錄二:系統(tǒng)程序清單 CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.2 IO EQU P3.3 RST EQU P3.4 year DATA 66H month DATA 65H week DATA 64H d
54、ay DATA 63H hour DATA 62H mintue DATA 61H second DATA 60H ORG 0000H LJMP START ORG 001BH LJMP INTT1 START: ;初值 LCALL ZJ SETB EA MOV SCON,#00H ; 串行輸出,方式0 MOV TMOD,#10H ;計(jì)數(shù)器1,方式1 MOV TL1,#00H MOV TH1,#00H MOV 32H,#8EH MOV 31H,#00H
55、 ;允許寫1302 LCALL WRITE MOV 32H,#90H MOV 31H,#0A6H ;1302充電,充電電流1.1MA LCALL WRITE ;主程序~~~~~~~~~~~~~~~~~~~~~ MAIN1: MOV 32H,#8DH ;讀出年 LCALL READ MOV year,31H MOV 32H,#8BH ;讀出星期 LCALL READ MOV week,31H MOV 32H,#89H ;讀出月 LCALL READ MOV month,31H
56、 MOV 32H,#87H ;讀出日 LCALL READ MOV day,31H MOV 32H,#85H ;讀出小時(shí) LCALL READ MOV hour,31H MOV 32H,#83H ;讀出分鐘 LCALL READ MOV mintue,31H MOV 32H,#81H ;讀出秒 LCALL READ MOV second,31H ;~~~~~~~~~~~~分離緩存~~~~~~~~ MOV R0,year ;年分離,送顯示緩存 LCALL DIVIDE MOV
57、 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H,week MOV 48H,week MOV R0,month ;月分離,送顯示緩存 LCALL DIVIDE MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 MOV R0,day ;日分離,送顯示緩存 LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 MOV R0,hour ;小時(shí)分
58、離,送顯示緩存 LCALL DIVIDE MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2 MOV R0,mintue ;分鐘分離,送顯示緩存 LCALL DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2 MOV R0,second ;秒分離,送顯示緩存 LCALL DIVIDE MOV 70H,R1 MOV 40H,R1 MOV 71H,R2 MOV 41H,R2 CLR EA LCAL
59、L TOUTOU SETB EA LCALL DISPLAY LCALL GENGXIAN ;更新農(nóng)歷程序 JNB P0.1,SETG111 JNB F0,SSS setb P0.4 ;非閏月,則p0.4清零,指示燈亮 LJMP MAIN1 SETG111: LJMP SETG SSS: clr P0.4 ;閏月,則p0.4置位,指示燈不亮 LJMP MAIN1 ;~~~~~~~~~~~~~~ 溫度 TOUTOU: LCALL CHUSHI LCALL RDTEMP MOV A
60、,TEMPL ANL A,#11110000B MOV TEMPL,A MOV A,TEMPH ANL A,#00000111B ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H DIV AB MOV A,B MOV B,#0AH DIV AB SWAP A ORL A,B MOV 10H,A RET CHUSHI: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH
61、 LCALL WRITE111 MOV A,#CONFIG12 LCALL WRITE111 RET RDTEMP: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#44H LCALL WRITE111 LCALL DL1MS LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#0BEH LCALL WRITE111 LCALL ERAD111 MOV TEMPL,A LCALL ERAD111 MO
62、V TEMPH,A RET RESET: LA: SETB DAT MOV 52H,#200 LB: CLR DAT DJNZ 52H,LB SETB DAT MOV 52H,#30 LC: DJNZ 52H,LC CLR C ORL C,DAT JC LB MOV 58H,#80 LD: ORL C,DAT JC LP DJNZ 58H,LD SJMP LA LP: MOV 52H,#250 LF: DJNZ 52H,LF RET WRITE111: MOV
63、 53H,#8 W51HA: SETB DAT MOV 54H,#8 RRC A CLR DAT W52HA: DJNZ 54H,W52HA MOV DAT,C MOV 54H,#30 W53HA: DJNZ 54H,W53HA DJNZ 53H,W51HA SETB DAT RET ERAD111: CLR EA MOV 58H,#8 RD1A: CLR DAT MOV 54H,#6 NOP SETB DAT RD2A: DJNZ 54H,RD2A MOV C,DAT
64、 RRC A MOV 55H,#30 RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A SETB DAT RET ;公歷設(shè)置程序~~~~~~~~~~~~~~~~~~~~~ SETG : SETB TR1 SETB ET1 MOV 32H,#8EH MOV 31H,#00H ;允許寫1302 LCALL WRITE MOV 32H,#80H MOV 31H,#80H ;1302停止振蕩 LCALL WRITE GWAIT: ;~~~~~~~~~~~~~~~~~
65、~ LCALL DISPLAY JNB P0.1,GWAIT SETG1: LCALL DISPLAY JNB P0.1,SETG2 JNB P0.2,GADDYEAR JNB P0.3,JIANYEAR AJMP SETG1 GADDYEAR: MOV R7,66H ;年加一 LCALL ADD1 MOV 66H,A CJNE A,#51H,GADDYEAR1 MOV 66H,#00H AJMP GADDYEAR1 JIANYEAR: MOV R7,66H ;年減一 LCALL
66、 JIAN1 MOV 66H,A CJNE A,#00H,GADDYEAR1 MOV 66H,#51H GADDYEAR1: MOV 32H,#8CH ;年值送人1302 MOV 31H,66H LCALL WRITE MOV R0,66H LCALL DIVIDE ;年分離送顯示緩存 MOV 4BH,R1 MOV 7BH,R1 MOV 4CH,R2 MOV 7CH,R2 WAITT1: ;~~~~~~~~~~~~~~~~ LCALL DISPLAY JNB P0.2,WAITT1 JNB P0.3,WAITT1 AJMP SETG1 SETG2: SETB 0AH ;調(diào)月時(shí)閃標(biāo)志 GWAIT2: LCALL DISPLAY JNB P0.1,GWAIT2 SETG3: LCALL DISPLAY JNB P0.1,SETG4 JNB P0.2,GADDMONTH JNB P0.3,JIANMONTH
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問(wèn)題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說(shuō)話方式
- 汽車銷售績(jī)效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營(yíng)銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩
- 銷售資料:銷售10大黃金觀念
- 銷售資料:導(dǎo)購(gòu)常用的搭訕?lè)椒?/a>