【正文】
******************************//延時(shí)程序//************************************void delay(unsigned int N){ unsigned int i。uint write_time1,write_time2,write_time3。 //函數(shù)等變量uchar set_sel=0。 uchar first_line[16]=20120924 WEEK1。 //單片機(jī)內(nèi)部移位寄存器ACC聲明;sbit bit0=ACC^0。sbit KEY_SET=P1^3。sbit io=P3^3。 sbit RW=P2^6。附錄1 電路原理圖多功能電子時(shí)鐘原理圖:附錄2 程序includeincludedefine uint unsigned intdefine uchar unsigned char //定義一個(gè)無(wú)符號(hào)字符型數(shù)組define nop _nop_void write_mand(uchar tempdata)。這次的課程設(shè)計(jì)內(nèi)容并不是太難,老師在最后也非常負(fù)責(zé)地恪守把關(guān)答辯,力圖讓每個(gè)同學(xué)都不能渾水摸魚(yú),在四周的時(shí)間內(nèi)能有所收獲。張強(qiáng),[J].參考文獻(xiàn)[1] 羅印升. 單片機(jī)微機(jī)原理與應(yīng)用. 北京: 機(jī)械工業(yè)出版社[M], 2012: 111127.[2] 宋曉梅. 現(xiàn)代電子系統(tǒng)設(shè)計(jì)教程[M]. 北京:北京大學(xué)出版社,2011:3627[3] 謝維成, 楊加國(guó). 單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)(第2版)[M]. 北京: 清華大學(xué)出版社, 2009: 183186.[4] 肖金球. 單片機(jī)原理與接口技術(shù)[M]. 北京: 清華大學(xué)出版社, 2003:5645[5] 宋曉梅. 現(xiàn)代電子系統(tǒng)設(shè)計(jì)教程[M]. 北京: 北京大學(xué)出版社, 2011:132118[6] 李廣飛. 單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M]. 北京: 北京航空航天大學(xué)出版社,2005:7795.[7]在實(shí)際生活中,數(shù)字鐘還需要擴(kuò)展功能,如,自動(dòng)報(bào)時(shí)功能,記憶存儲(chǔ)功能等。(2) 按下校時(shí)按鍵后就會(huì)進(jìn)入調(diào)時(shí)模式,開(kāi)始進(jìn)入的時(shí)候默認(rèn)的是在年的位置,每一位修改后可以繼續(xù)按校時(shí)按鍵依次調(diào)節(jié)月、日、星期、時(shí)、分、秒位的時(shí)間。通過(guò)萬(wàn)用表查找電路發(fā)現(xiàn)單片機(jī)的40腳處與電源正極相連的地方存在斷路,重新焊接后便可以上電經(jīng)行程序的拷貝了。電路如下圖39所示:圖39 蜂鳴器電路第4章 系統(tǒng)軟件設(shè)計(jì)在硬件設(shè)計(jì)的基礎(chǔ)上,根據(jù)硬件設(shè)計(jì)的各個(gè)模塊,完成軟件設(shè)計(jì)。XXXX1110⑺。 表34 LCD1602顯示代碼表 高位低位0000001000110100010101100111101010111100110111101111XXXX0000⑴0P\pタミαPXXXX0001⑵!1AQaq□アチム228。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄器。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。K0是進(jìn)入秒表模式,K3是啟動(dòng)和記錄,K2是暫停,K4是清零,KKK7是三組數(shù)據(jù)的記錄。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。其讀寫(xiě)時(shí)序如下圖36示圖36 DS1302讀寫(xiě)時(shí)序(3)DS1302寄存器DS1302中與時(shí)間、日期有關(guān)的寄存器共有12個(gè),其中7個(gè)存放數(shù)據(jù)的格式為BCD碼格式,其讀寫(xiě)地址如下表所示表32 DS1302寄存器說(shuō)明表讀寄存器寫(xiě)寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0范圍81H80HCH10秒秒005983H82H10分分005985H84H12010時(shí)時(shí)02324AM/PM11287H86H10日日13189H88H10月月1128BH8AH00000周178DH8CH10年年00998FH8EHWP0000000――第一行秒寄存器,CH為時(shí)鐘暫停標(biāo)志位,該位為1時(shí)時(shí)鐘停止,該位為0時(shí)時(shí)鐘運(yùn)行。當(dāng)“WP”為1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。位0是讀/寫(xiě)操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫(xiě)操作。 DS1302在每次進(jìn)行讀、寫(xiě)程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫(xiě)時(shí)序如圖5所示??刂谱止?jié)總是從最低位開(kāi)始輸入/輸出的。DS1302的控制字,此控制字的位7必須置1,若為0則不能把對(duì)DS1302進(jìn)行讀寫(xiě)數(shù)據(jù)。時(shí)鐘電路如下圖34所示:圖34 DS1302時(shí)鐘電路Vcc1:主電源;Vcc2:備份電源。此款時(shí)鐘芯片附加31字節(jié)的靜態(tài)RAM,用SPI三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位?!獋€(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。 作為蜂鳴器的輸出端~ 單片機(jī)晶振模塊設(shè)計(jì)單片機(jī)晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。 EA功能:內(nèi)外ROM選擇端 Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。(3) RST/VPD:復(fù)位/備用電源。圖31單片機(jī)STC89C52引腳圖引腳功能簡(jiǎn)介:?jiǎn)纹瑱C(jī)的40個(gè)引腳大致可分為4類(lèi):電源、時(shí)鐘、控制和I/O引腳。最高運(yùn)作頻率35MHz,6T/12T可選。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專(zhuān)用的Windows和Linux操作系統(tǒng)。i960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。單片機(jī)也被稱(chēng)為微控制器,是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。其中方案一靈活性大,便于修改,成本低,但是經(jīng)常會(huì)有死機(jī)情況,重啟會(huì)復(fù)位,需要重新設(shè)置時(shí)間。示意框圖如圖21所示。課題的任務(wù)和要求(正常時(shí)鐘顯示模式、系統(tǒng)校準(zhǔn)模式、秒表計(jì)時(shí)模式);系統(tǒng)所有功能,能夠通過(guò)上位PC機(jī)對(duì)其操作修改與實(shí)時(shí)動(dòng)態(tài)顯示(PC主機(jī)端可利用高級(jí)語(yǔ)言進(jìn)行人機(jī)界面設(shè)計(jì));2.在正常時(shí)鐘顯示模式時(shí),時(shí)鐘具有顯示年、月、日、時(shí)、分、秒的功能;3.在正常時(shí)鐘顯示模式時(shí),系統(tǒng)具有整點(diǎn)報(bào)時(shí)的功能,在離整點(diǎn)前10秒時(shí),自動(dòng)發(fā)出鳴叫聲,步長(zhǎng)1秒,每間隔1秒鳴叫一次,前4響是低音,后1響為高音,共鳴叫5次,最后1響結(jié)束時(shí)為整點(diǎn)。 電子時(shí)鐘是利用電子技術(shù)構(gòu)成時(shí)鐘功能的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的壽命,因此現(xiàn)在越來(lái)越得到廣泛的使用。然而傳統(tǒng)的單片機(jī)系統(tǒng)開(kāi)發(fā)除了需要購(gòu)置如仿真器,編程器,示波器等價(jià)格不菲的電子設(shè)備外,開(kāi)發(fā)過(guò)程也較為繁瑣。具體介紹了應(yīng)用Protues的ISIS軟件進(jìn)行單片機(jī)系統(tǒng)的電子時(shí)鐘設(shè)計(jì)與仿真的實(shí)現(xiàn)方法。DS1302。STC89C52。采用AT89S52作為主控單片機(jī),時(shí)鐘模塊選用DS1302作為時(shí)鐘芯片,顯示模塊選用LCD1602,設(shè)置部分選用按鍵電路。數(shù)字鐘的設(shè)計(jì)方法有許多種,例如,可用中小規(guī)模集成電路組成電子鐘;也可以利用專(zhuān)用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機(jī)來(lái)實(shí)現(xiàn)電子鐘等等。人們對(duì)數(shù)字鐘的要求也越來(lái)越高,多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化。因此本系統(tǒng)采用單片機(jī)作為數(shù)字鐘的核心控制器,讀取時(shí)鐘芯片的值,并通過(guò)顯示器顯示出來(lái),而且,可以通過(guò)按鍵電路給單片機(jī)執(zhí)行信號(hào),實(shí)現(xiàn)正常顯示,時(shí)鐘校準(zhǔn)和秒表的切換。DS1302。 chip can also be used to implement electronic bell and so on. These methods have their own characteristics , including the use of electronic clock with MCU programming flexibility , functionality and ease of expansion. But here in order to learn digital circuits, including binational logic circuits and sequential circuits of study, using small and medium scale integrated circuits digital clock . Therefore, the system uses the MCU as the core controller digital clock , clock chip to read the values ??displayed by the display , and can be performed through the key signal to the microcontroller circuit to achieve normal display, clock and stopwatch calibration switch . Using AT89S52 microcontroller as the master clock module selection as the DS1302 clock chip, display module selection LCD1602, setting part of the selection key circuit .This design is a microcontroller as the core , the additional necessary peripheral circuits , through the preparation of the C language will be stored in the DS1302 chip year, month, day, hour, minute, second, through the serial input to the internal microcontroller , its number system conversion apparent on the DS1602 . Keywords:LCD1602。本次電子系統(tǒng)實(shí)訓(xùn)是以單片機(jī)(STC89C52)為核心,時(shí)鐘芯片DS1302,LCD1602XI顯示部分構(gòu)成。單片機(jī)功能越來(lái)越強(qiáng)大,價(jià)格卻不斷下降的優(yōu)勢(shì)無(wú)疑成為嵌入式系統(tǒng)設(shè)計(jì)的首選,同時(shí)單片機(jī)應(yīng)用領(lǐng)域的擴(kuò)大也使得更多人加入到基于單片機(jī)系統(tǒng)的開(kāi)發(fā)行列,推動(dòng)著單片機(jī)技術(shù)的創(chuàng)新進(jìn)步。 第1章 緒論 課題的意義和目的 在快節(jié)奏的當(dāng)今社會(huì),時(shí)間更是一個(gè)很重要的工具,為了更高效率的完成工作,為了社會(huì)的進(jìn)步與發(fā)展,把握和控制時(shí)間更是尤為重要。 課題的研究?jī)?nèi)容設(shè)計(jì)制作一臺(tái)以控制器為核心的多功能電子時(shí)鐘系統(tǒng)。第2章 系統(tǒng)方案設(shè)計(jì)方案一:MCU顯示通信接口PC鍵盤(pán)時(shí)鐘蜂鳴器復(fù)位晶振電源用單片機(jī)為核心完成多功能電子時(shí)鐘的各種功能,由時(shí)鐘芯片來(lái)提供及時(shí)方式,再通過(guò)蜂鳴器報(bào)時(shí),通過(guò)鍵盤(pán)來(lái)定時(shí),修改時(shí)間,實(shí)現(xiàn)秒表的啟停和存儲(chǔ),通過(guò)顯示器來(lái)顯示時(shí)間。FPGA顯示通信接口PC鍵盤(pán)時(shí)鐘蜂鳴器圖22 由FPGA構(gòu)成的多功能電子時(shí)鐘框圖 方案的選擇與論證 方案的比較與論證以上兩個(gè)方案都可以實(shí)現(xiàn)多功能電子時(shí)鐘的功能要求。第3章 系統(tǒng)各模塊的硬件設(shè)計(jì) 單片機(jī)控制模塊單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專(zhuān)用處理器的發(fā)展便分道揚(yáng)鑣。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)。隨著INTEL當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使用,大量專(zhuān)用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。單片機(jī)的最小系統(tǒng)如下圖所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端