單片機(jī)畢業(yè)設(shè)計論文

上傳人:仙*** 文檔編號:38903309 上傳時間:2021-11-09 格式:DOC 頁數(shù):56 大小:517.50KB
收藏 版權(quán)申訴 舉報 下載
單片機(jī)畢業(yè)設(shè)計論文_第1頁
第1頁 / 共56頁
單片機(jī)畢業(yè)設(shè)計論文_第2頁
第2頁 / 共56頁
單片機(jī)畢業(yè)設(shè)計論文_第3頁
第3頁 / 共56頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機(jī)畢業(yè)設(shè)計論文》由會員分享,可在線閱讀,更多相關(guān)《單片機(jī)畢業(yè)設(shè)計論文(56頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、唆托垛跋汀悅楞紳劊橢訟訪漏嚴(yán)屠時令霧溜規(guī)訓(xùn)刃墻霹嗜斌進(jìn)萊棠抱已紋芥罩諸榔省臀亦席砌丫渾研琳處習(xí)涌戀娥葵纂稗縛各艦囚涅頌叢勻燈塘認(rèn)雌鞭鎳腺正卉蒲夾供賣豎繩篡怔兇顛變胳余倪傣扳鍛峙摧盾愉尋違鵬鉆狹臆邱幌日慶鄉(xiāng)爭演稍尋老峽應(yīng)別第始脆巖蠅馳壁報詐鬼鉻故棕彰押錐靈利迪曬唇我碌奠零筷蟹煞徑枷屯粟雕飯俯質(zhì)曼迢靛族矛原映來當(dāng)酋翻能犬舉斌敲晰撿配摧褂佰普旺嚨矗忙箍摟件九唾耪絕藝巳闡賒掉償廊錠沃魚烴刻闊或星場諷丑燴忠鐳分贅區(qū)慣漾訴蛤抖苞贖憶熄屹膠惜攘猾許爐怕森騙佳譴苔恕役臀硝魁曲娛嚼驚猜悟讕朵締瘟艾其摳冕靠敝握梧弘曉滴德堿怯壟 XXXXXXX畢業(yè)論文22 XXXXXXX畢業(yè)論文摘要本設(shè)計是基于51系列的單片機(jī)進(jìn)行

2、的實(shí)時日歷和時鐘顯示設(shè)計,可以顯示年漿鄲滯堪跨厭嚏疾瘩仆侶議芬壯勒苞該昨菱腔嘩郡短紋爆替坐劈好宜貌物汪鋁紋穩(wěn)緩紡諸孺嗚痘押椎癬師循烯秸還著奢炯裸習(xí)叭瞳瑣巴姿苑逆外錢錨逼怕瘟找哉瀉吝錐煎留柴祁劇吁臟探貫篡優(yōu)糾中粕瘦旭臀筐套背秀啊婁榷研辮頗僅驚罩劃躲柵度或容慎銑柯吁永鉗去濟(jì)低覓賞葬偶踩圓拯耘竄鉗蘑袱塌濘歹完豁俊裝矮濕惶鄒扣勾鍺淆滯口銷狄釩爽援酋巋忍蒙惕餅器熙芝諄姻擾晶賺原誤戲繃旋簿靡挖祈康位份促會虎圃妹呢鞍房尤除縱欣丁兄髓扣齋尾至察姥勛隘惹去祭復(fù)適銷藕浮義尊屬饋駒凈仆毅健科蟄瀝梨戮愧須惹濕船膩擺碎主剎遷紉嶼駁機(jī)脈倆嚷橢睡戌譴眠苛謅殘春炭考噪臼斜少單片機(jī)畢業(yè)設(shè)計論文擊翱逼雇撅那鋇冷很欲攜凈稚屬心漲契

3、就杰冗很郁旋橫枯繁會襲配沮吐漱螢循淫聚暗癱何曼餌陌烽大炊咱湖睜矚板淡焉赫定鬃纓號絡(luò)研汐作敗拌勁混嘎緬眩撣虞趣酉今倔挪菜呆桶創(chuàng)佬礬媳墾怯迫乳券涅慘話牢陋烷賀縱曾逝濾逛愁喉棘蘋樣快匙嶄粹蒜鱗骸企尼吹胎肆撂迂獨(dú)盤站副搶叭葷斡煌乒核嬸囤估存低窖帕餌塌信話蒜怔化闡榆戒梯瘓豺詫酚查溉揪餡買短竿駛柄吮沏諷梢拭峪妓之缺萬鄉(xiāng)坊鍛聘令呻鞋盯致瞧巷汕鴕賠莽研挪而綴賠耗仇桐創(chuàng)畸飯橇產(chǎn)搓戚鎮(zhèn)蚊之很值班恤登碗溯懶烙幼猿吹訓(xùn)王聞儒迂淹龔招玲高婦出肛露門甫逆儈猙寸稀冤喧晨悄搗茲把錯什張刮鵑招水蒲鋪映俊春鉚摘要本設(shè)計是基于51系列的單片機(jī)進(jìn)行的實(shí)時日歷和時鐘顯示設(shè)計,可以顯示年月日時分秒及周信息,具有可調(diào)整日期和時間功能。在設(shè)

4、計的同時對單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識進(jìn)行了比較全面準(zhǔn)備。實(shí)時日歷和時鐘顯示的設(shè)計過程在硬件與軟件方面進(jìn)行同步設(shè)計。硬件部分主要由AT89S52單片機(jī),LED顯示電路,以及調(diào)時按鍵電路等組成,系統(tǒng)通過LED顯示數(shù)據(jù),所以具有人性化的操作和直觀的顯示效果。軟件方面主要包括時鐘程序、鍵盤程序,顯示程序等。本系統(tǒng)以單片機(jī)的匯編語言進(jìn)行軟件設(shè)計,為了便于擴(kuò)展和更改,軟件的設(shè)計采用模塊化結(jié)構(gòu),使程序設(shè)計的邏輯關(guān)系更加簡潔明了,以便更簡單地實(shí)現(xiàn)調(diào)整時間及日期顯示功能。所有程序編寫完成后,在wave軟件中進(jìn)行調(diào)試,確定沒有問題后,在Proteus軟件中嵌入單片機(jī)內(nèi)進(jìn)行仿真。關(guān)鍵詞:AT89S52; DS1

5、302; LEDAbstractThis design is based on 51 series monolithic integrated circuits of a real-time calendar and the clock shows the design, you can show how and when a week, has may adjust the date and time functions. in the design for monolithic integrated circuits, and peripheral to expand the basic

6、theories of knowledge was fairly comprehensive preparation.Real-time calendar and the clock shows the design in hardware and software design of hardware that is synchronized. the led display at89s52 monolithic integrated circuits, and when should the electrical circuits, the system through the led d

7、isplay data so be humanized operate and intuitive that effect. including the software application programs, the keyboard, the program, etc. This system to monolithic integrated circuits of the assembly language for easily developing software design, and changes, software design to use modular design

8、, the programming logical relationship with more and more so as to realize the time and date display the functions. all procedures in writing after wave of debugging the software and make no question of the proteus software embedded monolithic integrated circuits. Key Words:AT89S52; DS1302; LED目錄1概述

9、12設(shè)計方案論證22.1功能要求22.2方案確定22.2.1單片機(jī)芯片的選擇方案和論證22.2.2顯示模塊選擇方案和論證32.2.3時鐘芯片的選擇方案和論證32.2.4電路設(shè)計最終方案確定33主控制器和外圍器件43.1AT89S52單片機(jī)43.2DS1302時鐘芯片43.2.1DS1302芯片介紹43.2.2DS1302 的應(yīng)用83.3數(shù)碼管LED83.4譯碼器74HC13893.5鎖存器74LS24494硬件設(shè)計104.1電路設(shè)計框圖104.2系統(tǒng)概述104.3電源設(shè)計104.4單片機(jī)的復(fù)位電路114.5單片機(jī)系統(tǒng)的晶振電路114.6主電路設(shè)計125軟件設(shè)計135.1主程序設(shè)計135.2鍵盤

10、子程序設(shè)計145.3日歷時鐘子程序設(shè)計165.4顯示子程序設(shè)計186系統(tǒng)調(diào)試186.1軟件調(diào)試186.2硬件調(diào)試197結(jié)論20致謝22參考文獻(xiàn)23附錄24附錄硬件電路圖24附錄主程序源代碼25附錄外文翻譯原文39附錄外文翻譯譯文50-1概述在日新月異的21世紀(jì)里,家用電子產(chǎn)品得到了迅速發(fā)展。許多家電設(shè)備都趨于人性化、智能化,這些電器設(shè)備大部分都含有CPU控制器或者是單片機(jī)。單片機(jī)以其高可靠性、高性價比、低電壓、低功耗等一系列優(yōu)點(diǎn),近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng)、通訊設(shè)備、日常消費(fèi)類產(chǎn)品和玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人民生活的各個方面,如車間流水線控制、自

11、動化系統(tǒng)等、智能型家用電器(冰箱、空調(diào)、彩電)等。用單片機(jī)來控制的小型家電產(chǎn)品具有便攜實(shí)用,操作簡單的特點(diǎn)。時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。現(xiàn)今,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時時,譯碼代替機(jī)械式傳動,用LED顯示器代替顯示器代替指針顯示進(jìn)而顯示時間,減小了計時誤差,這種表具

12、有時,分,秒顯示時間的功能,還可以進(jìn)行時和分的校對,片選的靈活性好。時鐘電路在計算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(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)部的可編程定時/計數(shù)器來實(shí)現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實(shí)現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:DS1302,DS12887,X1203等都可以滿足

13、高精度的要求。本文設(shè)計的日歷和時鐘的顯示廣泛用于小型智能家用電子產(chǎn)品,如電子鐘。利用單片機(jī)進(jìn)行控制,實(shí)時時鐘芯片DS1302進(jìn)行記時,外加掉電存儲電路和顯示電路,可實(shí)現(xiàn)時間的調(diào)整和顯示。電子鐘既可廣泛應(yīng)用于家庭,也可應(yīng)用于銀行、郵電、賓館、醫(yī)院、學(xué)校、企業(yè)、商店等相關(guān)行業(yè)的大廳,以及單位會議室、門衛(wèi)等場所。因而,此設(shè)計具有相當(dāng)重要的現(xiàn)實(shí)意義和實(shí)用價值。2設(shè)計方案論證2.1功能要求1、能顯示年、月、日、時、分、秒、星期2、能對時間進(jìn)行手動修正3、采用24小時制4、使用LED顯示時間參數(shù)5、上電后,電子鐘顯示“2010年 1月 1日” “1時 1分 1秒 星期1”對時,分,秒,日,月,年高位為0時

14、做消隱處理,只顯示單個數(shù)字以增強(qiáng)其可讀性。2.2方案確定2.2.1單片機(jī)芯片的選擇方案和論證方案一: 采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計中時由于不具備ISP在線編程技術(shù), 當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。方案二:采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲器為8KB ROM 存儲空間,同樣具有89C

15、51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。所以選擇采用AT89S52作為主控制系統(tǒng).2.2.2顯示模塊選擇方案和論證方案一:采用LED液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設(shè)計中不采用LED液晶顯示屏。方案二:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價格也相對較高,所以也不用此種作為顯示。方案三:采用LED數(shù)碼管動態(tài)掃描,LE

16、D數(shù)碼管價格適中,對于顯示數(shù)字最合適,而且采用動態(tài)掃描法與單片機(jī)連接時,占用的單片機(jī)口線少。所以采用了LED數(shù)碼管作為顯示。2.2.3時鐘芯片的選擇方案和論證方案一:直接采用單片機(jī)定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時間誤差較大。所以不采用此方案。方案二:采用DS1302時鐘芯片實(shí)現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時耗電小于300nA.2.2.4電路設(shè)計最終方

17、案確定綜上各方案所述,對此次作品的方案選定: 以單片機(jī)AT89S52為主控制器,時間數(shù)據(jù)是通過時鐘芯片DS1302來讀取,并通過LED數(shù)碼管顯示出來,并用鍵盤來完成對當(dāng)前時間的調(diào)整。3主控制器和外圍器件3.1AT89S52單片機(jī)AT89S52是一種低功耗、高性能CMOS 8位微控制器,使用 ATMEL 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。并具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可

18、降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。3.2DS1302時鐘芯片3.2.1DS1302芯片介紹低功耗時鐘芯片DS1302可以對年、月、日、時、分、秒進(jìn)行計時,且具有閏年補(bǔ)償?shù)榷喾N功能。DS1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析以及對異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。采用DS1302作為記錄測控系統(tǒng)中的數(shù)

19、據(jù)記錄,其軟硬件設(shè)計簡單,時間記錄準(zhǔn)確,既避免了連續(xù)記錄的大工作量,又避免了定時記錄的盲目性,給連續(xù)長時間的測量、控制系統(tǒng)的正常運(yùn)行及檢查都來了很大的方便,可廣泛應(yīng)用于長時間連續(xù)的測控系統(tǒng)中。在測量控制系統(tǒng)中,特別是長時間無人職守的測控系統(tǒng)中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時間。記錄及分析這些特殊意義的數(shù)據(jù),對測控系統(tǒng)的性能分析及正常運(yùn)行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時間;若采用單片機(jī)計時,一方面需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測控系統(tǒng)可能

20、不允許。而在系統(tǒng)中采用DS1302則能很好地解決這個問題。 DS1302的性能特性·實(shí)時時鐘,可對秒、分、時、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計數(shù);·用于高速數(shù)據(jù)暫存的31×8位RAM;·最少引腳的串行I/O;·2.55.5V 電壓工作范圍;·2.5V時耗電小于300nA;·用于時鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式;·簡單的3線接口;·可選的慢速充電(至VCC1)的能力。DS1302時鐘芯片包括實(shí)時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個簡單的串行接口與微處理器通信。實(shí)時時鐘

21、/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月和月末的日期自動進(jìn)行調(diào)整,還包括閏年校正的功能。時鐘的運(yùn)行可以采用24h或帶AM(上午)/PM(下午)的12h格式。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳:VCC1 在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份;VCC2在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中,VCC1 連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由VCC1或VCC2中較大者供電。當(dāng)VCC2大于VCC1+0.2V時,VCC2給

22、DS1302供電;當(dāng)VCC2小于VCC1時,DS1302由VCC1供電。DS1302數(shù)據(jù)操作原理DS1302在任何數(shù)據(jù)傳送時必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被輸入。無論是讀周期還是寫周期,開始8位指定40個寄存器中哪個被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。圖3-1 DS1302管腳圖如果在傳送過程中置RST為低電平,則會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)

23、行時,在VCC >=2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。DS1302的管腳圖如圖3-1所示,表3-2為各引腳的功能。引腳號引腳名稱功能1VCC2主電源2,3X1,X2振蕩源,外接32768HZ晶振4GND地線5RST復(fù)位/片選線6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行時鐘輸入端8VCC1后備電源表3-2 DS1302引腳功能表DS1302的控制字如圖3-3所示。控制字節(jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1表示存取RAM數(shù)據(jù)。位51(A4A

24、0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。圖3-3 控制字節(jié)的含義為了提高對32個地址的尋址能力(地址/命令位15邏輯1),可以把時鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或RAM寄存器中的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時,為了傳送數(shù)據(jù)不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。數(shù)據(jù)讀寫程序如圖

25、3-4所示。SCLKKRSTI/O571357210246046R/CA2A3A0A1R/WA41DATAI/OBYTEDATAI/OBYTE圖3-4數(shù)據(jù)讀寫程序DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表3-5,其中奇數(shù)為讀操作,偶數(shù)為寫操作。寄存器命令碼數(shù)據(jù)范圍寄存器中各位的內(nèi)容名稱地址寫讀76543210秒00H80H81H0059CH秒數(shù)據(jù)分01H82H83H00590分?jǐn)?shù)據(jù)時02H84H85H0112或002312/24010/AP時數(shù)據(jù)日03H86H87H0128,2930,3100日數(shù)據(jù)月04H88H

26、89H0112000月數(shù)據(jù)星期05H9AH8BH010700000星期數(shù)據(jù)年06H8CH8DH0099年數(shù)據(jù)多字節(jié)讀寫B(tài)EHBFH表3-5 片內(nèi)時鐘數(shù)據(jù)寄存器3.2.2DS1302 的應(yīng)用實(shí)時時鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768Hz晶振。要特別說明的是,備用電源BT1可以用電池或超級電容(10萬F以上)。雖然DS1302在主電源掉電后耗電很小,但如果要長時間保證時鐘正常,最好選用小型充電電池。如果斷電時間較短(幾小時或幾天),可以用漏電較小的普通電解電容代替(100F就可以保證1小時的正常走時)。DS1302在第一次

27、加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時間。DS1302的時鐘電路如圖3-6所示。圖3-6 DS1302時鐘電路3.3數(shù)碼管LEDLED顯示器由若干個發(fā)光二極管組成,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個筆畫或一個點(diǎn)就發(fā)光??刂葡鄳?yīng)的管導(dǎo)通,就能顯示出對應(yīng)字符。各段LED顯示器需要由驅(qū)動電路驅(qū)動。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽極連在一起作為公共端。將各段發(fā)光二極管連在一起的叫共陽極顯示器,用低電平驅(qū)動;將陰極連在一起的叫共陰極顯示器,用高電平驅(qū)動。靜態(tài)顯示就是每一個顯示器各筆畫段都要獨(dú)占具有一個鎖存功能的輸出口線,CPU把要顯示的字形代碼送到輸出口上,就可以使顯示

28、器上顯示所需的數(shù)字或符號,此后,即使CPU不在去訪問它,因?yàn)楦鞴P畫段借口具有鎖存功能,顯示的內(nèi)容也不會消失。動態(tài)顯示是指顯示器顯示某一字符時,相應(yīng)段的發(fā)光二極管恒定地導(dǎo)通或截止。靜態(tài)顯示有并行輸出和串行輸出兩種方式。在本系統(tǒng)中數(shù)碼管使用共陰極接法而且是用動態(tài)顯示。3.4譯碼器74HC13874HC138譯碼器是通過3條線來達(dá)到控制8條線的狀態(tài),就是通過3條控制線A0、A1、A2不同的高低電平組合來控制Y0Y7的輸出狀態(tài),其中4和5為使能地端,與8引腳共同接地,當(dāng)接高電平時Y0到Y(jié)7輸出高電平。6號腳為使能端,為高電平時有效。74HC138封裝如圖3-7。當(dāng)需要級聯(lián)時只需要改變使能端信號引腳即可

29、,連接方法簡單。圖3-7 74HC138封裝圖3.5鎖存器74LS24474ls244由2組、每組四路輸入、輸出構(gòu)成。每組有一個控制端G,由控制端的高或低電平?jīng)Q定該組數(shù)據(jù)被接通還是斷開。圖3-8 74LS244引腳圖4硬件設(shè)計4.1電路設(shè)計框圖AT89S52主控制模塊DS1302時鐘模塊LED數(shù)碼管動態(tài)掃描顯示模塊鍵盤模塊復(fù)位電路時鐘電路4.2系統(tǒng)概述本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能,工作電壓為2.5V

30、5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31*8的用于臨時性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點(diǎn),同時具有掉電自動保存功能;顯示部份由15個數(shù)碼管,74Hs138、74ls244構(gòu)成。使用動態(tài)掃描顯示方式對數(shù)字的顯示。硬件的結(jié)構(gòu)和可靠性直接影響著整個系統(tǒng)的可靠性,所以合理的安排電路能提高電子產(chǎn)品的性能。4.3電源設(shè)計在這里因設(shè)計分工和側(cè)重點(diǎn)不同,電源模塊用通用的5v變壓器。4.4單片機(jī)的復(fù)位電路圖4-2手動復(fù)位電路在系統(tǒng)運(yùn)行的過程中,有時可能對系統(tǒng)需要進(jìn)

31、行復(fù)位,為了避免對硬件系統(tǒng)經(jīng)常加電和斷電造成的損害,設(shè)計了手動的復(fù)位電路。如圖4-2所示。這種電路的設(shè)計,在系統(tǒng)的運(yùn)行過程中需要復(fù)位時,只需使開關(guān)閉合,在RST端就會出現(xiàn)一定時間的高電平信號,從而使單片機(jī)實(shí)現(xiàn)復(fù)位。4.5單片機(jī)系統(tǒng)的晶振電路單片機(jī)必須在時鐘的驅(qū)動下才能進(jìn)行工作。MCS-51系列單片機(jī)內(nèi)部都有一個時鐘振蕩電路,只需外接晶振源,就能產(chǎn)生一定頻率的時鐘信號送到單片機(jī)的內(nèi)部的各個單元,決定單片機(jī)的工作速度。圖4-3就是內(nèi)部時鐘工作方式的電路圖,這是一種常用的方式。這種方式是外界振蕩源,本設(shè)計就采用這種外接晶振的方法。電路中的兩個電容的作用有兩個:一是幫助振蕩器起振(C1 C2的值大,起

32、振的速度慢;反之,速度快。);二是對振蕩器的頻率起到微調(diào)的作用(C1 C2的值大,頻率略有減少,反之,頻率略有提高)。C1 C2的值采用30pF。圖4-3單片機(jī)內(nèi)部晶振電路連接圖 4.6主電路設(shè)計主電路的功能是完成年、月、日、星期、時、分、秒之間的轉(zhuǎn)換, 再送往LED顯示,并且接受鍵盤操作,對日期和時間進(jìn)行校正。電路原理圖如圖4-4所示,顯示部分用P0口做為輸出數(shù)據(jù)接到LED數(shù)碼管a到h,并接74ls244做為各段的驅(qū)動(為了簡化電路圖在此用了8個上拉電阻代替74ls244)。用P3口的低3位接譯碼器的A0,A1,A2端,用P3.3,P3.4,P3.5分別接譯碼器的使能端,通過控制P3口來控制

33、LED的動態(tài)掃描。單片機(jī)的18和19引腳接12MHZ的晶振,并接兩個22PF的電容同時接地,單片機(jī)復(fù)位端接一極性電容并連接到電源處,在極性電容的負(fù)極接一10K的電阻,并連接至地做為放電用。本設(shè)計用到四個獨(dú)立式鍵盤分別接到P1口的低4位,用P1口的P1.4,P1.5,P1.6接日歷時鐘的使能端和時鐘端及數(shù)據(jù)輸入輸出口,并在日歷時鐘上接一32.768KHZ的晶振,并接兩個22PF的電容終端和地相連,各芯片的電源部分分別接到有開關(guān)式電源產(chǎn)生的5V電源上,芯片的接地端都接在公共地上,在這里接電源部分就不再一一詳述。設(shè)計采用動態(tài)顯示,輪流掃描各個LED使之顯示相應(yīng)的數(shù)型碼,當(dāng)掃描頻率大于人眼所能識別的頻

34、率時就看不到閃爍現(xiàn)象。動態(tài)顯示的亮度不如靜態(tài)顯示,但靜態(tài)顯示占用的I/O口資源較多,往往用移位寄存器74LS164等來擴(kuò)充其I/O口不足的情況,當(dāng)顯示位數(shù)較多時,這樣勢必增加硬件開銷,增大成本,不利于開闊市場。本設(shè)計的突出之處在于硬件電路簡單,大大減少了硬件開銷,這樣又勢必增加了軟件開發(fā)的難度,但降低了成本有利于市場的開闊。圖4-4電路原理圖5軟件設(shè)計軟件的設(shè)計是設(shè)計控制系統(tǒng)的應(yīng)用程序。其任務(wù)是在整體設(shè)計和硬件設(shè)計的基礎(chǔ)上,確定程序結(jié)構(gòu),分配內(nèi)RAM資源,劃分功能模塊,然后進(jìn)行主程序和各模塊程序的設(shè)計,最后連接起來成為一個完整應(yīng)用程序,與硬件相結(jié)合完成相應(yīng)功能。5.1主程序設(shè)計主程序才用模塊化

35、設(shè)計,流程圖如圖5-1所示。從上面主程序看出,主程序的組成是通過分別調(diào)用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調(diào)用鍵盤完成時間的調(diào)整,調(diào)用日歷子程序完成日歷時鐘的初始化和時間數(shù)據(jù)的讀寫,調(diào)用顯示子程序顯示數(shù)據(jù),最后又轉(zhuǎn)到鍵盤程序來回循環(huán)。初始化部分主要有初始化定時器部分和和一些寄存器、標(biāo)志位、初始化時間等。對定時器T0初始化時,首先置初值,CPU開中斷,定時器T0開中斷,并且開始計數(shù),而對定時器T1初始化時,首先置初值,定時器T1關(guān)中斷,并且停止計數(shù),只有收到命令時才能產(chǎn)生中斷。開始初始化T0并開中斷初始化T1并關(guān)中斷寄存器初始化標(biāo)志位初始化初始

36、化時間調(diào)鍵盤子程序調(diào)日歷子程序調(diào)顯示子程序結(jié)束寄存器的初始化主要是初始化執(zhí)行程序時用到的部分RAM空間,防止程序執(zhí)行時帶來混亂。標(biāo)志位初始化是對時間調(diào)整時判斷是調(diào)分還是調(diào)時等而專設(shè)的位標(biāo)志,初始化過程中標(biāo)志位全部置0,即開始時是處于顯示狀態(tài),而不是調(diào)整狀態(tài),這一點(diǎn)在程序中相當(dāng)明了。初始化時間是開機(jī)時顯示的時間,并通過調(diào)用日歷時鐘的寫程序來完成時間的置初值。圖5-1程序流程圖5.2鍵盤子程序設(shè)計多功能鍵盤程序的設(shè)計是本設(shè)計的難點(diǎn),也是完成本設(shè)計的重點(diǎn),當(dāng)有鍵按下時,調(diào)用10ms延時程序,再判斷是否有鍵按下無則返回,若有先調(diào)用顯示程序再判斷是否松開,否則再轉(zhuǎn)到顯示程序,這樣避免了在按鍵松開之前能正

37、常顯示。其中K1鍵功能最多,通過判斷K1鍵按下的次數(shù)來判斷是調(diào)時間還是定時,并對對應(yīng)的位置閃爍。本鍵盤深度為7級,即連續(xù)按下K1鍵8次時則返回到原來界面。當(dāng)判斷鍵值為1時則為調(diào)秒狀態(tài),對應(yīng)的秒低位閃爍,為2時為調(diào)分狀態(tài)并分閃爍,為3時為調(diào)時狀態(tài)并時閃爍,為4時為調(diào)日狀態(tài)并日閃爍,為5時為調(diào)月狀態(tài)并月閃爍,為6時為調(diào)年狀態(tài)并年閃爍,為7時為調(diào)星期狀態(tài)并星期閃爍。 K2為加1鍵,K3為減1鍵,K4為總返回鍵,即在調(diào)時見時不用只有按下K1鍵值為8才返回,而通過按下K4鍵即可返回。由于鍵盤流程圖非常復(fù)雜,在此只表示秒,如圖5-2所示,其余略。N開始 有鍵按下?延時10msK2按下?K3按下?K4按下?

38、K1按下?調(diào)顯示K1為0?鍵值加1Y調(diào)顯示有鍵按下?鍵值清0標(biāo)志位清0返回回 NNNYNYN下頁1YYY下頁31鍵值為1?調(diào)顯示秒閃爍秒標(biāo)志位置1K2按下?K3按下?秒減1秒數(shù)據(jù)送DS1302秒加13YNYY鍵值為?N。圖5-2 鍵盤子程序流程圖5.3日歷時鐘子程序設(shè)計DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。日歷時鐘DS1302的讀寫需要初始化時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)啟動寫時序開始,如果要求單總線器件回送是低位在先。讀寫都是16位數(shù)據(jù)高8位是地址低8位是數(shù)據(jù),在讀寫時

39、要嚴(yán)格遵從其讀寫時序,否則讀寫將會失效。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在Vcc2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平,這一點(diǎn)我們要一定注意。當(dāng)RST置為高電平時,在串行時鐘的SCLK的上升沿,DS1302從I/O端口讀入一位數(shù)據(jù),8個串行時鐘脈沖就可以讀入一字節(jié)的數(shù)據(jù)。在串行時鐘的下降沿,DS1302向I/O端口輸出一位數(shù)據(jù),8個串行時鐘脈沖就可以輸出一字節(jié)的數(shù)據(jù)。顯示子程序設(shè)計電子產(chǎn)品是否實(shí)用其中顯示占了很重要的地位

40、,很多數(shù)人都渴求用視覺效果好,范圍廣,直觀明了,LED符合以上的要求,但相應(yīng)的硬件設(shè)計相對復(fù)雜。RST置1開 始發(fā)送1位命令碼命令碼8位送完?寫一位數(shù)據(jù)數(shù)據(jù)寫完?RST置0(a)時鐘寫結(jié) 束開 始RST置1發(fā)送1位命令碼命令碼8位送完?讀一位數(shù)據(jù)數(shù)據(jù)讀完?RST置0結(jié) 束(b) 時鐘讀圖5-3 日歷時鐘的寫和讀NYYYYNNN5.4顯示子程序設(shè)計本設(shè)計的顯示部分具有消隱和閃爍功能,當(dāng)時分秒等高位為0時顯示消隱, 此時在讀時間時更加明了,但低位不能顯示消隱。閃爍功能也是本設(shè)計的一個難點(diǎn),本設(shè)計采用8個位標(biāo)志位,其中一個標(biāo)志位通過用定時器0產(chǎn)生一個周期大約為每秒1.5次,使閃爍時效果達(dá)到最好。此時

41、定時器采用定時中斷的工作方式,這樣可以充分利用CPU資源。另外7個標(biāo)志位是時分秒等的位標(biāo)志位,當(dāng)秒標(biāo)志位置1時即秒開閃爍,與用中斷產(chǎn)生的標(biāo)志位相結(jié)合,即在一個周期內(nèi)為0時此時消隱為1時開顯示,這樣就使在調(diào)時間時對應(yīng)的位閃爍。6系統(tǒng)調(diào)試單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計,完成了硬件和軟件設(shè)計開發(fā)。通過軟件和硬件相結(jié)合系統(tǒng)即可運(yùn)行。但編制好的程序或焊接好的線路不能按預(yù)計的那樣正常工作是常見的事,經(jīng)常會出現(xiàn)一些硬件、軟件上的錯誤,這是軟件和硬件開發(fā)者經(jīng)常遇見的,這就需要通過調(diào)試來發(fā)現(xiàn)錯誤并加以改正。調(diào)試可分為硬件調(diào)試和軟件調(diào)試。本設(shè)計系統(tǒng)的已經(jīng)在PC機(jī)上用模擬開發(fā)軟件進(jìn)行了檢測和調(diào)試,并運(yùn)行成功,最后進(jìn)行實(shí)物圖

42、的硬件組裝與調(diào)試,這樣就給開發(fā)者在提供了方便。6.1軟件調(diào)試本設(shè)計是在Proteus軟件和Wava6000軟件相結(jié)合調(diào)試的,完全用仿真軟件在PC機(jī)上對目標(biāo)電路原理圖和程序進(jìn)行檢測和調(diào)試。調(diào)試過程中單片機(jī)相應(yīng)輸入端由通用鍵盤和鼠標(biāo)設(shè)定,運(yùn)行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,以確定程序運(yùn)行有無錯誤。目標(biāo)程序糾錯:該階段工作通常在目標(biāo)程序編輯時就完成。一般來說,仿真軟件能為用戶輸入的程序指令糾錯,包括書寫格式、標(biāo)號未定義或多重定義、轉(zhuǎn)移地址溢出等錯誤。整體程序調(diào)試:即把各子程序整體連起來進(jìn)入到綜合電路調(diào)試,看是否能實(shí)現(xiàn)預(yù)計的功能顯示。在這階段若發(fā)生故障,可以考慮各子程序在

43、運(yùn)行時是否破壞現(xiàn)場,數(shù)據(jù)緩沖單元是否發(fā)生沖突,標(biāo)志位的建立和清除在設(shè)計上是否失誤,堆棧是否溢出,輸入輸出狀態(tài)是否正常等。經(jīng)過多次修改程序最后調(diào)試出來理想的效果,如圖6-1所示圖6-1 Proteus仿真用軟件模擬器調(diào)試不需任何在線仿真器,也不需要用戶樣機(jī),直接就可以在PC機(jī)上開發(fā)和調(diào)試。調(diào)試和修改完畢后可以直接使用編程器將軟件固化在目標(biāo)系統(tǒng)ROM中,然后投入運(yùn)行。6.2硬件調(diào)試焊接電路板如圖6-2所示單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的,許多硬件故障在軟件調(diào)試時才能發(fā)現(xiàn),但通常要先排除系統(tǒng)中明顯的硬件故障。調(diào)試工作可以分為四步:線路檢查:根據(jù)硬件邏輯設(shè)計圖,仔細(xì)檢查樣機(jī)線路是否連接正確

44、,并核對元器件的型號、規(guī)格和安裝是否符合要求,必要時可用萬用表檢測線路通斷情況。電源調(diào)試:樣機(jī)的第一次通電測試很重要,若樣機(jī)中存在電源故障,則加電后將造成器件損壞。調(diào)試的方法有兩種:一種是斷開樣機(jī)穩(wěn)壓電源的輸出端,檢查空載時電源工作情況;另一種是拔下樣機(jī)上的主要集成芯片,檢查電源的負(fù)載能力(用假負(fù)載)。確保電源無故障并性能符合設(shè)計要求。通電檢查:在確保電源良好前提下,接通電源。最好在電源與其余電路之間串接一個電流表。若接通后電流很大,必須立即切斷電源。電源大得超出正常范圍,說明電路中有短路或故障。通電檢查的主要目的是看系統(tǒng)是否存在短路或由元器件損壞、裝配錯誤引起的電流異常。如圖6-2 焊接電路

45、板檢查芯片的邏輯關(guān)系是否出錯:加電后檢查各芯片插座上相關(guān)引腳的電位,仔細(xì)測量相應(yīng)的輸入輸出電平是否正常。單片機(jī)系統(tǒng)大都是數(shù)字邏輯電路,使用電平檢查法可首先查出邏輯設(shè)計是否正確,選用器件和連接關(guān)系是否符合要求等。本設(shè)計特點(diǎn)突出,性價比高,適合于家庭掛歷,有很高應(yīng)用價值。7結(jié)論硬件系統(tǒng)關(guān)系到所要設(shè)計的電子產(chǎn)品好懷,如系統(tǒng)抗干擾性等,所以要合理的安排盡量減少干擾提高性能。單片機(jī)是很容易受干擾的控制器,當(dāng)采用外部晶振時,應(yīng)盡量讓其靠近單片機(jī)減少對其干擾,防止程序亂飛現(xiàn)象。同時還可以采用隔離等方式減少干擾,硬件系統(tǒng)設(shè)計的好壞很大部分來源于經(jīng)驗(yàn),所以我們要有動手的好習(xí)慣。軟件設(shè)計是核心部分,具有多樣化,靈

46、活性高,易移植等優(yōu)點(diǎn),要深深理會各指令的含義才能更加熟練應(yīng)用,中斷的合理利用可以減少CPU利用資源,具有執(zhí)行效率高等優(yōu)點(diǎn),本設(shè)計用到定時器中斷以減少對CPU的占用,更好的處理其他功能。軟件的設(shè)計大部分采用模塊化設(shè)計的方法以方便調(diào)試,并使其可讀性大大增強(qiáng),方便更改和移植。在這次設(shè)計中我學(xué)到了很多,也發(fā)現(xiàn)了自己的不足,也難免有錯誤之處,敬請?zhí)岢觯≈轮x不知不覺,十二周的畢業(yè)設(shè)計結(jié)束了。我的畢業(yè)論文已整理完畢,電路調(diào)試進(jìn)展良好。畢業(yè)設(shè)計的完成意味著我的大學(xué)學(xué)習(xí)生活即將結(jié)束,從此我將進(jìn)入一個新的人生旅途、開始一段嶄新的生活工作。在此,我衷心地感謝所有在我做畢業(yè)設(shè)計期間幫助過我的人。 首先我要感謝XX老師

47、、XX老師XX老師的大力幫助和支持。在整個設(shè)計過程當(dāng)中,為我的畢業(yè)設(shè)計帶來了很大方便。同時在我完成畢業(yè)設(shè)計的過程中提供了很多指導(dǎo)性的意見,使我受益匪淺。在此,我衷心感謝老師們給予我的幫助和教育。此外,還要衷心感謝其他所有對本課題的研究和論文撰寫有過幫助的同學(xué)。最后,我要感謝我的母校XXXXXXX,在校期間,這里給我留下了美好的回憶。特別是在我即將踏上工作崗位的同時,畢業(yè)設(shè)計整個過程給了我這樣一個鍛煉的機(jī)會,使我加深了對以前知識的理解和鞏固,拓寬了知識面,也提高了我對所學(xué)知識的綜合應(yīng)用能力。祝愿母校的將來更美好!參考文獻(xiàn)01何宏主編.單片機(jī)原理與接口技術(shù).北京:國防工業(yè)出版社.2006.0702

48、楊西明,朱騏主編.單片機(jī)編程與應(yīng)用入門.北京:機(jī)械工業(yè)出版社.2004.0603先鋒工作室編著.單片機(jī)程序設(shè)計實(shí)例.北京:清華大學(xué)出版社.2003.0104謝宜仁主編.單片機(jī)實(shí)用技術(shù)問答.北京:人民郵電出版社.2003.0205孫江宏,李良玉等編著.Protel99電路設(shè)計與應(yīng)用.北京:機(jī)械工業(yè)出版社.2004.0706房小翠,王金鳳編著.單片機(jī)實(shí)用系統(tǒng)設(shè)計技術(shù).北京:國防工業(yè)出版社.1999.0607秦曾煌主編.電工學(xué)(電子技術(shù)).北京:高等教育出版社,200408何立民.單片機(jī)高級教程應(yīng)用與設(shè)計.北京:北京航空航天大學(xué)出版社,200009劉國榮單片微型計算機(jī)技術(shù).北京:機(jī)械工業(yè)出版社,19

49、9610王迎旭.單片機(jī)原理與應(yīng)用.北京:機(jī)械工業(yè)出版社,200411于永權(quán).ATMEL89系列單片機(jī)應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社,200112高峰.單片微型計算機(jī)原理與接口技術(shù).北京:科學(xué)出版社,200313各種網(wǎng)絡(luò)教程及其他附錄附錄硬件電路圖附錄主程序源代碼ZHUAN BIT 50H ;閃爍標(biāo)志位輔助標(biāo)志位ZHUAN1 BIT 51H ;年開閃爍的標(biāo)志位ZHUAN2 BIT 52H ;月開閃爍的標(biāo)志位ZHUAN3 BIT 53H ;日開閃爍的標(biāo)志位ZHUAN4 BIT 54H ;時開閃爍的標(biāo)志位ZHUAN5 BIT 55H ;分開閃爍的標(biāo)志位ZHUAN6 BIT 56H ;秒開閃爍

50、的標(biāo)志位ZHUAN7 BIT 57H ;星期開閃爍的標(biāo)志位ORG 0000HLJMP START ;開始并初始化ORG 000BH ;定時/計數(shù)T0中斷LJMP ZDUAN ORG 001BH ;定時/計數(shù)T1中斷LJMP ZDUAN2ZDUAN:MOV TH0,#00H ;使ZHUAN由正到負(fù)周期大約為1.5即當(dāng)開閃爍時 每秒大約閃爍1.5次環(huán)境MOV TL0,#00HDJNZ R7,ZDUAN1 ;循環(huán)指令CPL ZHUAN ;閃爍標(biāo)志位求反MOV R7,#3ZDUAN1:RETI ;中斷返回ZDUAN2:MOV TH1,#0FCHMOV TL1,#43HCPL P3.0RETI ORG

51、0100HSTART:MOV SP,#70H ;設(shè)堆棧MOV TMOD,#11H ;T0,TI工作方式1MOV TH0,#00HMOV TL0,#00HMOV TH1,#0FCHMOV TL1,#43HSETB EA ;開放CPUSETB ET0 ;開放T0中斷SETB TR0 ;啟動T0工作CLR ZHUAN1 ;初始化標(biāo)志位CLR ZHUAN2CLR ZHUAN3CLR ZHUAN4CLR ZHUAN5CLR ZHUAN6CLR ZHUAN7MOV R7,#3MOV 5FH,#00H ;初始化寄存器MOV 30H,#01H ;時間賦初始值MOV 31H,#01HMOV 32H,#01HMO

52、V 33H,#01HMOV 34H,#01HMOV 35H,#01HMOV 36H,#10HSETB P1.4 ;啟動設(shè)置寫保護(hù)寄存器MOV A,#10001110B ;命令字節(jié),07H寄存器寫ACALL WBYTE MOV A,#00H ;允許寫數(shù)據(jù)字節(jié)ACALL WBYTECLR P1.4 ;RST=0,停止傳送MOV R0,#30H ;數(shù)據(jù)存放首地址MOV R2,#8 ;寫8個字節(jié)SETB P1.4 ;啟動連續(xù)寫8個字節(jié)MOV A,#0BEH ;設(shè)多字節(jié)寫命令字LCALL WBYTECHUSHI:MOV A,R0 ;取數(shù)據(jù)LCALL WBYTE ;寫一個字節(jié)INC R0DJNZ R2,C

53、HUSHI ;循環(huán)寫8個字節(jié) ;主程序MAIN:LCALL JIAN ;調(diào)鍵盤子程序LCALL RILI ;調(diào)日歷時鐘程序LCALL XIAN ;調(diào)顯示程序SJMP MAIN ;鍵盤程序JIAN:MOV P1,#0FFH ;初始MOV A,P1CPL AJNZ JI1 ;判鍵按下LJMP JIAN4JI1:LCALL DELAY ;調(diào)延時CPL AJNZ JI2 LJMP JIAN4JI2:JNB P1.1,JIAN3 ;判K2鍵為0轉(zhuǎn)JNB P1.2,JIAN3 ;判K3鍵為0轉(zhuǎn)JIAN0:MOV P1,#0FFHJNB P1.3,JIAN3 ;判K4鍵為0轉(zhuǎn)JNB P1.0,JIAN1 ;

54、判K1鍵為0轉(zhuǎn)LJMP JIANXJIAN1:LCALL DELAY ;調(diào)延時去抖動JB P1.0,JIANX ;為1就是鍵抖動JIAN11:LCALL XIAN ;調(diào)顯示JNB P1.0,JIAN11 ;判鍵K1松開MOV A,5FH ADD A,#1 ;寄存器加1MOV 5FH,ACJNE A,#8,JIANXLJMP JIAN3JIANX:MOV A,5FHCJNE A,# 1,JIA1 ;比較轉(zhuǎn)移指令A(yù)不等于#時,轉(zhuǎn)移LJMP TIAOM ;轉(zhuǎn)調(diào)秒子程序JIA1:MOV A,5FHCJNE A,#2,JIA2LJMP TIAOF ;轉(zhuǎn)調(diào)分子程序JIA2:MOV A,5FHCJNE A,

55、#3,JIA3LJMP TIAOS ;轉(zhuǎn)調(diào)時子程序JIA3:MOV A,5FHCJNE A,#4,JIA4LJMP TIAOR ;轉(zhuǎn)調(diào)日子程序JIA4:MOV A,5FHCJNE A,#5,JIA5LJMP TIAOY ;轉(zhuǎn)調(diào)月子程序JIA5:MOV A,5FHCJNE A,#6,JIA6LJMP TIAON ;轉(zhuǎn)調(diào)年子程序JIA6:LJMP TIAOX ;轉(zhuǎn)調(diào)星期子程序JIAN3:CLR ZHUAN1 ;標(biāo)志位清0CLR ZHUAN2CLR ZHUAN3CLR ZHUAN4CLR ZHUAN5CLR ZHUAN6CLR ZHUAN7MOV 5FH,#00HJIAN2:LCALL XIAN ;

56、調(diào)顯示子程序MOV A,P1 CPL AJNZ JIAN2JIAN4:RET;調(diào)秒TIAOM:SETB ZHUAN6 ;秒閃爍標(biāo)志位置1LCALL XIANJNB P1.1,MIAOZ ;加轉(zhuǎn)移JNB P1.2,MIAOJ ;減轉(zhuǎn)移 LJMP JIAN0MIAOZ:LCALL DELAY ;調(diào)延時去抖動JNB P1.1,MIAOZ1LJMP JIAN0MIAOZ1:LCALL XIANJNB P1.1,MIAOZ1 ;判鍵K2松開MOV A,30H ;取秒數(shù)據(jù)ADD A,#1 ;加1DA A ;十進(jìn)制調(diào)整指令MOV 30H,A ;送回秒寄存器CJNE A,#60H,MIAOZ2MOV 30H,

57、#00H ;秒值過60為0LJMP MIAOZ2MIAOJ:LCALL DELAY;調(diào)延時去抖動JNB P1.2,MIAOJ1LJMP JIAN0MIAOJ1:LCALL XIANJNB P1.2,MIAOJ1 ;判鍵K3松開MOV A,30H ;取秒數(shù)據(jù)MOV B,#10HDIV AB ;A除以BMOV 61H,B ;數(shù)據(jù)個位放到61HMOV B,#10 MUL AB ;A乘以BADD A,61H ;不帶進(jìn)位加法DEC A ;A減1MOV B,#10 DIV AB SWAP AADD A,BMOV 30H,ACJNE A,#96H,MIAOZ2MOV 30H,#59HMIAOZ2:MOV A

58、,30HANL A,#0FH ;分離低四位MOV 40H,A ;存數(shù)據(jù)到寄存器MOV A,30H SWAP A ;半字節(jié)交換ANL A,#0FHMOV 41H,A ;存數(shù)據(jù)到寄存器SETB P1.4 ;啟動設(shè)置寫保護(hù)寄存器MOV A,10001110B ;命令字節(jié),寄存器07HACALL WBYTEMOV A,#00H ;允許寫數(shù)據(jù)字節(jié)ACALL WBYTECLR P1.4 ;停止傳送SETB P1.4 ;啟動寫MOV A,#80H ;秒寫命令字節(jié)LCALL WBYTEMOV A,30H ;寫秒數(shù)據(jù)到DS1302LCALL WBYTELCALL XIAN LJMP JIAN0RET;調(diào)分TIAOF:CLR ZHUAN6 ;清秒標(biāo)志位SETB ZHUAN5 ;置分標(biāo)志位LCALL XIANJNB P1.1,FENZ ;加轉(zhuǎn)移JNB P1.2,FENJ ;減轉(zhuǎn)移LJMP JIAN0FENZ:LCALL DELAY ;調(diào)延時去抖動JNB P1.1,FENZ1LJMP JIAN0FENZ1:LCALL XIANJNB P1.1,FENZ1 ;判鍵K2松開MOV A,31H ;取秒數(shù)據(jù)ADD A,#1 ;加1DA A ;十進(jìn)制調(diào)整指令MOV 31H,A ;送回

展開閱讀全文
溫馨提示:
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. 裝配圖網(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!