基于單片機(jī)的電子萬年歷設(shè)計(jì)_第1頁
基于單片機(jī)的電子萬年歷設(shè)計(jì)_第2頁
基于單片機(jī)的電子萬年歷設(shè)計(jì)_第3頁
基于單片機(jī)的電子萬年歷設(shè)計(jì)_第4頁
基于單片機(jī)的電子萬年歷設(shè)計(jì)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

xxxxxx學(xué)院題目:基于單片機(jī)的萬年歷設(shè)計(jì)學(xué)生姓名電子信息專業(yè)2009級(jí)1班指導(dǎo)教師學(xué)部計(jì)算機(jī)科學(xué)與電氣工程課程設(shè)計(jì)時(shí)間2012年6月19日-I--I-電子信息工程單片機(jī)課程設(shè)計(jì)報(bào)告基于單片機(jī)的電子萬年歷設(shè)計(jì)摘要隨著科技的快速發(fā)展,時(shí)間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。DS12887是美國達(dá)拉斯半導(dǎo)體公司(Dallas)最新推出的串行接口實(shí)時(shí)鐘芯片,采用CMOS技術(shù)制成,具有內(nèi)部晶振和時(shí)鐘芯片備份鋰電池,同時(shí)它與目前IBMAT計(jì)算機(jī)常用的時(shí)鐘芯片MC146818B和DS1287管腳兼容,可直接替換。它所提供的世紀(jì)字節(jié)在位置32h,世紀(jì)寄存器32h到2000年1月1日從19增到20。采用DS12887芯片設(shè)計(jì)的時(shí)鐘電路不需任何外圍電路和器件,并具有良好的微機(jī)接口。DS12887芯片具有微功耗,外圍接口簡單,精度高,工作穩(wěn)定可靠等優(yōu)點(diǎn),可廣泛用于各種需要較高精度的實(shí)時(shí)時(shí)鐘系統(tǒng)。對(duì)于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用AT89S52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3~5V電壓供電。綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關(guān)鍵詞:1602液晶,STC89C52單片機(jī),DS12887時(shí)鐘目錄TOC\o"1-5"\h\z摘要I第1章緒論11.1本設(shè)計(jì)的意義11.1.1設(shè)計(jì)發(fā)展與應(yīng)用11.2本設(shè)計(jì)的功能11.3本設(shè)計(jì)的要求2第2章主要系統(tǒng)結(jié)構(gòu)描述32.1系統(tǒng)結(jié)構(gòu)框圖及工作流程介紹3STC89C52模塊介紹32.2液晶顯示模塊作用介紹52211602字符型LCD簡介62.3時(shí)鐘模塊作用介紹10231DS12887的介紹102.4本章小結(jié)13第3章系統(tǒng)硬件電路設(shè)計(jì)與實(shí)現(xiàn)143.1單片機(jī)最小系統(tǒng)設(shè)計(jì)143.1.1單片機(jī)介紹143.1.2單片機(jī)時(shí)鐘電路介紹153.1.3單片機(jī)復(fù)位電路介紹163.1.4單片機(jī)按鍵電路介紹163.2程序下載介紹16321主要芯片引腳功能介紹163.3本章小結(jié)17第4章系統(tǒng)軟件調(diào)試環(huán)境介紹18KEIL51軟件簡介184.1.1軟件功能184.1.2軟件應(yīng)用流程194.2程序下載軟件介紹21421軟件功能21422軟件應(yīng)用流程214.3本章小結(jié)24第5章系統(tǒng)程序設(shè)計(jì)255.1系統(tǒng)程序設(shè)計(jì)流程圖255.2時(shí)鐘程序模塊詳細(xì)流程圖26521程序流程圖對(duì)應(yīng)程序代碼265.3液晶程序模塊詳細(xì)流程圖28531程序流程圖對(duì)應(yīng)程序代碼295.4按鍵控制程序模塊詳細(xì)流程圖31541程序流程圖對(duì)應(yīng)程序代碼315.5本章小結(jié)33結(jié)論34參考文獻(xiàn)35附錄36基于單片機(jī)的電子萬年歷設(shè)計(jì)第1章緒論本設(shè)計(jì)的意義本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對(duì)單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全面準(zhǔn)備。在硬件與軟件設(shè)計(jì)時(shí),沒有良好的基礎(chǔ)知識(shí)和實(shí)踐經(jīng)驗(yàn)會(huì)受到很大限制,每項(xiàng)功能實(shí)現(xiàn)時(shí)需要那種硬件,程序該如何編寫,算法如何實(shí)現(xiàn)等,沒有一定的基礎(chǔ)就不可能很好的實(shí)現(xiàn)。所以意在培養(yǎng)同學(xué)的創(chuàng)新精神與實(shí)踐能力。設(shè)計(jì)發(fā)展與應(yīng)用時(shí)間在我們的生活中有著不可取代的作用,它可以為我們清晰地記錄下制作從開始到結(jié)束所需要的時(shí)間。時(shí)間對(duì)人們來說總是寶貴的,工作的忙碌性和繁雜性容易使人忘記當(dāng)前時(shí)間,忘記了要做的事情。當(dāng)事情不重要的時(shí)候,這種遺忘無傷大雅,但是,一旦事情重要,一時(shí)的耽誤可能釀成大禍。例如,許多火災(zāi)都是由于人們遺忘而發(fā)生的,而時(shí)間的重要性在醫(yī)院、冶金、化工、食品、機(jī)械、石油等工業(yè)中,更是舉足重輕,而現(xiàn)在鐘表的數(shù)字化給人們的生活帶來了極大地方便。成為人們必不可少的必需品,廣泛用于個(gè)人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。對(duì)于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。1.2本設(shè)計(jì)的功能本電路是由STC89C52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS12887提供,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí)。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1287內(nèi)部有一個(gè)用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、時(shí)、分、秒,具有使用壽命長,精度高和低功耗等特點(diǎn)。1.3本設(shè)計(jì)的要求隨著電子技術(shù)的高速發(fā)展,對(duì)電子方面人才的要求越來越高,不僅要求其具備相關(guān)的專業(yè)理論知識(shí),還要求其具有較強(qiáng)的設(shè)計(jì)、制作等實(shí)踐動(dòng)手能力,學(xué)校此次舉行的電子設(shè)計(jì)無疑是對(duì)從事電子相關(guān)專業(yè)的人的一次很好的鍛煉和考驗(yàn),是培養(yǎng)信息人才的一次良好的機(jī)會(huì),為其提供了一個(gè)理論知識(shí)與實(shí)踐相結(jié)合的平臺(tái)。本次設(shè)計(jì)可分為兩部分:硬件部分、軟件部分。硬件部分包括:AT89S52單片機(jī)、DS12C887時(shí)鐘芯片、1602LCD液晶顯示器。主要由AT89S52單片機(jī)、實(shí)時(shí)時(shí)鐘芯片電路、液晶顯示輸出電路、鍵盤輸入電路組成等幾大部分組成。具體說來,系統(tǒng)智能控制部分由單片機(jī)及其相關(guān)的外圍電路組成,外圍電路包括復(fù)位電路、晶振電路、鍵盤設(shè)計(jì)、電源電路。利用單片機(jī)將復(fù)位電路、動(dòng)態(tài)顯示電路、電源電路等正確的連接在一起,并通過單片機(jī)的編程來實(shí)現(xiàn)本次設(shè)計(jì)任務(wù)中的要求。軟件部分包括了主程序模塊,DS12C887模塊,LCD1602模塊,鍵盤控制模塊本設(shè)計(jì)的基本要求是:具有年、月、日、星期、時(shí)、分、秒等功能,同時(shí)具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能。具體的用單片機(jī)實(shí)現(xiàn)具有計(jì)時(shí)、校時(shí)等功能的數(shù)字時(shí)鐘,是以單片機(jī)AT89S52為核心元件,結(jié)合DS12C887時(shí)鐘芯片,采用1602液晶顯示屏作為動(dòng)態(tài)顯示年、月、日、星期、時(shí)、分、秒等的現(xiàn)代計(jì)時(shí)。第2章主要系統(tǒng)結(jié)構(gòu)描述系統(tǒng)結(jié)構(gòu)框圖及工作流程介紹本次設(shè)計(jì)的題目是基于DS12C887的高精度時(shí)鐘的設(shè)計(jì),可以正常的顯示年、月、日、時(shí)、分、秒。本系統(tǒng)利用單片機(jī)實(shí)現(xiàn)具有計(jì)時(shí)、校時(shí)等功能的數(shù)字時(shí)鐘,是以單片機(jī)AT89S52為核心元件,同時(shí)采用1602液晶顯示屏動(dòng)態(tài)顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì)時(shí)裝置。與傳統(tǒng)機(jī)械表相比,它具有走時(shí)精確,顯示直觀等特點(diǎn)。另外具有校時(shí)功能,利用單片機(jī)實(shí)現(xiàn)的數(shù)字時(shí)鐘具有編程靈活,便于功能的擴(kuò)充等優(yōu)點(diǎn)。圖2-1STC89C52模塊介紹STC89C52是美國ATMEL公司生產(chǎn)的低電壓、高性能的CMOS8位單片機(jī),片內(nèi)含4kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大STC89C52的結(jié)構(gòu)引腳功能:?VCC:電源電壓?GND:接地?P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗轉(zhuǎn)入端用。?P1口:P1是一個(gè)內(nèi)部帶上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因內(nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電萌。?P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。?P3口::①可以作為輸入/輸出口,外接輸入/輸出設(shè)備。②作為第二功能使?P3口的第二功能?RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。?ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE仍以時(shí)鐘振器頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。?PSEN:程序存儲(chǔ)允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí).每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN信號(hào)不出現(xiàn)。?EA/VPP:EA=O,單片機(jī)只訪問外部程序存儲(chǔ)器。EA=1,單片機(jī)訪問內(nèi)部程序存儲(chǔ)器。.XTALI:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。.XTAL2:振蕩器反相放大器的輸出端。T89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口PO,P1,P2,P3,MCS-51單片機(jī)共有4個(gè)8位的I/O口(PO、Pl、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。STC89C52的特點(diǎn)

?與MCS-51產(chǎn)品指令系統(tǒng)完全兼容4k字節(jié)可重擦寫Flash閃速存儲(chǔ)器1000次擦寫周期?全靜態(tài)操作:0Hz--24MHz?三級(jí)加密程序存儲(chǔ)器128*8字節(jié)內(nèi)部RAM?32個(gè)可編程I/O口線2個(gè)16位定時(shí)/計(jì)數(shù)器6個(gè)中斷源?可編程串行UART通道?低功耗空閑和掉電模式2.2液晶顯示模塊作用介紹1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。顯示電路采用LCD1602液晶顯示,如圖(10)所示,圖中只畫出了其相應(yīng)的接口,3腳用于調(diào)節(jié)LCD1602的背光,4、5、6為LCD1602的控制口,用于控制其寫入或是讀出指令,7至14腳為LCD1602的數(shù)據(jù)口,將數(shù)傳送到LCD1602中。+5VLCD1-LMO10L'5O山■才ILI+5VLCD1-LMO10L'5O山■才ILIILI'KiMfelzNlrlspz圖2—2LCD1602顯示電路2.2.11602字符型LCD簡介本設(shè)計(jì)采用1602字符型LCD,可顯示兩行,每行16個(gè)字符,不能顯示漢字,內(nèi)置含128個(gè)字符的ASCII字符集字庫,只有并行接口,無串行接口。這種1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16x1,16x2,20x2和40x2行等的模塊。1602字符型LCD的主要技術(shù)參數(shù)為:(1)顯示容量:16x2個(gè)字符;(2)芯片工作電壓:4.5~5.5V;(3)工作電流2mA(5.0V)不包括背光電流;(4)模塊最佳工作電壓:5V;(5)字符尺寸:2.95x4.35(WxH)mm;(6)帶有英文和日文字庫,使用方便;1602字符型LCD的基本操作時(shí)序:讀狀態(tài)、+?斗纖亠44=3輸入:RS=L,R/W=H,輸出:D0~D7=狀態(tài)字輸入:RS=H,R/W=H,輸出:無E=H讀數(shù)據(jù)E=H寫指令輸入:RS=L,R/W=L,輸出:D0~D7=數(shù)據(jù)D0~D7=指令碼,E=高脈沖寫指令輸入:RS=H,R/W=L,輸出:無D0~D7=數(shù)據(jù),E=咼脈沖1602字符型LCD的RAM地址映射圖:液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符??刂破鲀?nèi)部帶有80B的RAM緩沖區(qū),對(duì)應(yīng)關(guān)系如圖所示。LCD16字x2行000102030405060708090A0B0C0D0E0F???27404142434445464748494A4B4C4D4E4F???67圖2-11602內(nèi)部RAM地址映射圖當(dāng)向圖中的00?OF、40?4F地址中任一處寫入顯示數(shù)據(jù)時(shí),液晶都可立即顯示出來,當(dāng)寫入到10~27或50~67地址處時(shí),必須通過移屏指令將它們移入可顯示區(qū)域方可顯示正常。1602字符型LCD的狀態(tài)字說明如表3.4所示。表2-2狀態(tài)字說明STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0STA0?STA6當(dāng)前地址指針的數(shù)值STA7讀/寫操作使能1—禁止;1—允許原則上沒次對(duì)控制器進(jìn)行讀/寫操作之前,都必須進(jìn)行讀/寫檢測,確保STA7為0。實(shí)際上由于單片機(jī)的操作速度慢于液晶控制器的反應(yīng)速度,因此可以不進(jìn)行讀/寫檢測,或只進(jìn)行簡短延時(shí)即可。1602字符型LCD的數(shù)據(jù)指針設(shè)置:控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)地址指針,用戶可以通過它們訪問內(nèi)部的全部80B的RAM。數(shù)據(jù)指針設(shè)置如表3.5所示。表2-3數(shù)據(jù)指針設(shè)置指令碼功能80H+地址碼(0H?27H,40H?67H)設(shè)置數(shù)據(jù)地址指針1602字符型LCD的其他設(shè)置如表3.6所示。表2-4其他設(shè)置

指令碼功能01H顯示清屏:1.數(shù)據(jù)指針清02.所有顯示清002H顯示回車:數(shù)據(jù)指針清01602字符型LCD的初始化設(shè)置:顯示模式設(shè)置顯示模式設(shè)置如表3.7所示。表2-5初始化設(shè)置的顯示模式設(shè)置

指令碼功能0~~0~~1~~1~~1~~0~~0~~0~~設(shè)置16x2顯示,5x7點(diǎn)陣,8位數(shù)據(jù)

接口顯示開/關(guān)以及光標(biāo)設(shè)置顯示開/關(guān)以及光標(biāo)設(shè)置如表3.8所示。表2-6初始化設(shè)置的顯示開/關(guān)以及光標(biāo)設(shè)置

指令碼功能00001DCBD=1開顯示;D=0關(guān)顯示C=1顯示光標(biāo);C=0不顯示光標(biāo)B=1光標(biāo)閃爍;B=0光標(biāo)不顯示0000001NSN=1當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加1,且光標(biāo)加1N=0當(dāng)讀或?qū)憘€(gè)字符后地址指針減1,且光標(biāo)減1S=1當(dāng)寫一個(gè)字符時(shí),整屏顯示右移N=1或左移N=0,已得到光標(biāo)不移動(dòng)而屏幕移動(dòng)的效果S=0當(dāng)寫一個(gè)字符時(shí),整屏顯示不移動(dòng)00010000光標(biāo)左移00010100光標(biāo)右移00011000整屏左移,同時(shí)光標(biāo)跟隨移動(dòng)

00011100整屏右移,同時(shí)光標(biāo)跟隨移動(dòng)1602字符型LCD的寫操作時(shí)序:(1)通過RS確定是寫數(shù)據(jù)還是寫命令。寫命令包括使液晶的光標(biāo)顯示/不顯示、光標(biāo)閃爍/不閃爍、需/不需要移屏、在液晶的什么位置顯示等等。寫數(shù)據(jù)時(shí)指要顯示什么內(nèi)容。(2)讀/寫控制端設(shè)置為寫模式,即低電平。(3)將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。(4)給E一個(gè)高脈沖將數(shù)據(jù)送入液晶控制器,完成寫操作。讀操作時(shí)序、寫操作時(shí)序分別如圖所示。RSP/W二,ES茁r圖2-3讀操作時(shí)序tFDBOD07茁r圖2-3讀操作時(shí)序tF圖2-4寫操作時(shí)序2.3時(shí)鐘模塊作用介紹2.3.1DS12887的介紹DS12887是美國達(dá)接斯半導(dǎo)體公司(DaHas)最新推出的串行接口實(shí)時(shí)時(shí)鐘芯片,采用CMOS技術(shù)制成,具有內(nèi)部晶振和時(shí)鐘芯片備份鋰電池,同時(shí)它與目前IBMAT計(jì)算機(jī)常用的時(shí)鐘芯片MC146818B和DS1287管腳兼容,可直接替換。它所提供的世紀(jì)字節(jié)在位置32h,世紀(jì)寄存器32h到2000年1月1日將從19遞增到20。采用DS12887芯片設(shè)計(jì)的時(shí)鐘電路無需任何外圍電路和器件,并具有良好的微機(jī)接口。DS12887芯片具有微功耗,外圍接口簡單,精度高,工作穩(wěn)定可靠等優(yōu)點(diǎn),可廣泛用于各種需要較高精度的實(shí)時(shí)時(shí)鐘系統(tǒng)中。DS12887的主要功能介紹內(nèi)含一個(gè)鋰電池,斷電后運(yùn)行十年以上不丟失數(shù)據(jù)。計(jì)秒,分,時(shí),天,星期,日,月,年,并有閏年補(bǔ)償功能。二進(jìn)制數(shù)碼或BCD碼表示時(shí)間,日歷和定鬧。12小時(shí)或24小時(shí)制,12小時(shí)時(shí)鐘模式帶有PM和AM指示,有夏令時(shí)功能。MotoRola和Intel總線時(shí)序選擇。有128個(gè)字節(jié)RAM單元與軟件接口,其中14個(gè)字節(jié)作為時(shí)鐘和控制寄存器,114字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護(hù)功能??删幊谭讲ㄐ盘?hào)輸出。中斷信號(hào)輸出(IRQ)和總線兼容,定鬧中斷,周期性中斷、時(shí)鐘更新周期結(jié)束中斷可分別由軟件屏蔽,也可分別進(jìn)行測試。DS12887的原理及引腳說明

DS12887內(nèi)部由振蕩電路,分頻電路,周期中斷/方波選擇電路,14字節(jié)時(shí)鐘和控制單元,114字節(jié)用戶非易失RAM,十進(jìn)制/二進(jìn)制累加器,總線接口電路,電源開關(guān)寫保護(hù)單元和內(nèi)部鋰電池等部分組成。DS12887引腳分配如圖1:VCC:直流電源+5V電壓。當(dāng)5V電壓在正常范圍內(nèi)時(shí),數(shù)據(jù)可讀寫;當(dāng)VCC低于4.25V,讀寫被禁止,計(jì)時(shí)功能仍繼續(xù);當(dāng)VCC下降到3V以下時(shí),RAM和計(jì)時(shí)器供電被切換到內(nèi)部鋰電池。MOT(模式選擇):MOT引腳接到VCC時(shí),選擇MOTOROLA時(shí)序,當(dāng)接到GND時(shí),選擇Intel時(shí)序。SQW(方波信號(hào)輸出):SQW引腳能從實(shí)時(shí)鐘內(nèi)部15級(jí)分頻器的13個(gè)抽頭中選擇一個(gè)作為輸出信號(hào),其輸出頻率可通過對(duì)寄存器A編程改變。AD0-AD7(雙向地址/數(shù)據(jù)復(fù)用線):總線接口,可與Motorola微機(jī)系列和Intel微機(jī)系列接口。AS(地址選通輸入):用于實(shí)現(xiàn)信號(hào)分離,在AD/ALE的下降沿把地址鎖入DS12887。DS(數(shù)據(jù)選通或讀輸入):DS/RD引腳有兩種操作模式,取決于MOT引腳的電平,當(dāng)使用Motorola時(shí)序時(shí),DS是一正脈沖,出現(xiàn)在總線周期的后段,稱為數(shù)據(jù)選通;在讀周期,DS指示DS12887驅(qū)動(dòng)雙向總線的時(shí)刻;在寫周期,DS的后沿使DS12887鎖存寫數(shù)據(jù)。選擇Intel時(shí)序時(shí),DS稱作(RD),RD與典型存貯器的允許信號(hào)(OE)的定義相同。R/W(讀/寫輸入):R/W引腳也有兩種操作模式。選Motorola時(shí)序時(shí),R/W是低電平信號(hào)時(shí),指示當(dāng)前周期是讀或?qū)懼芷?DS為高電平時(shí),R/W高電平指示讀周期,R/W信號(hào)一低電平信號(hào),稱為WR。在此模式下,R/W引腳與通用RAM的寫允許信號(hào)(WE)的含義相同。CS(片選輸入):在訪問DS12887的總線周期內(nèi),片選信號(hào)必須保持為低。IRQ(中斷申請(qǐng)輸入):低電平有效,可作微處理的中斷輸入。沒有中斷的條件滿足時(shí),IRQ處于高阻態(tài)。IRQ線是漏極開路輸入,要求外接上接電阻。RESET(復(fù)位輸出):當(dāng)該腳保持低電平時(shí)間大于200ms,保證DS12887有效復(fù)位。2.4本章小結(jié)本章主要是對(duì)系統(tǒng)結(jié)構(gòu)進(jìn)行描述,以及各個(gè)功能模塊的作用和特點(diǎn),為編程進(jìn)行復(fù)習(xí)準(zhǔn)備工作。使我們更加了解這些模塊的運(yùn)用。

第3章系統(tǒng)硬件電路設(shè)計(jì)與實(shí)現(xiàn)單片機(jī)最小系統(tǒng)設(shè)計(jì)圖3-1單片機(jī)最小系統(tǒng)3.1.1單片機(jī)介紹單片機(jī)(microcontroller,又稱微控制器)是在一塊硅片上繼承了各種部件的微型計(jì)算機(jī)。這些部件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。STC89C52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3,MCS-51單片機(jī)共有4個(gè)8位的I/O口(PO、Pl、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。

nnnnnnnnnnnnnnnnnnnn器手話話著益參蘭益兗nnnnnnnnnnnnnnnnnnnn器手話話著益參蘭益兗圖3-23?1?2單片機(jī)時(shí)鐘電路介紹時(shí)鐘是時(shí)序的基礎(chǔ),8052片內(nèi)由一個(gè)反向放大器構(gòu)成振蕩器,可以由它產(chǎn)生時(shí)鐘。但是雖然89C52有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外接元件,所以實(shí)際構(gòu)成的是振蕩時(shí)鐘電路。外接晶體以及電容C1和C2構(gòu)成并聯(lián)諧振電路接在放大器的反饋回路中。對(duì)接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。晶體頻率可在1.2MHz-12MHz之間任選,電容C1和C2的典型值在20pF-100pF之間選擇,考慮到本系統(tǒng)對(duì)于外接晶體的頻率穩(wěn)定性要求不高,所以采取比較廉價(jià)的陶瓷諧振器。由于本系統(tǒng)應(yīng)用的機(jī)器周期為ls,所以,晶振選擇為12MHz,根據(jù)調(diào)試電容選擇30pF.C13C130pF圖3-3?一|||?30pF?一|||?30pF1-|—IY1i^tiC2

3?1?3單片機(jī)復(fù)位電路介紹在單片機(jī)系統(tǒng)中,為了保證在上電時(shí)進(jìn)行可靠的初始化,同時(shí)為了保證對(duì)電源的監(jiān)控,需要采用復(fù)位電路。常用的復(fù)位電路有RC復(fù)位電路和復(fù)位芯片,在此我們采用RC復(fù)位電路。如圖:VCCCIOI]+|(?VCCCIOI]+|(?10uFR31_廠F0O?p22R3°310KI'1003?1?4單片機(jī)按鍵電路介紹按鍵電路由四個(gè)輕觸開關(guān)組成,如圖(9)所示。按鍵用來調(diào)整時(shí)間,其一端直接接到單片機(jī)的端口,另一端接地,當(dāng)按下按鍵時(shí),相應(yīng)的端口變?yōu)榈碗娖?,通過一個(gè)與門只要這四個(gè)按鍵有一個(gè)按下就會(huì)在P3.2檢測到一低電平就觸發(fā)外部中斷0進(jìn)入按鍵調(diào)節(jié)程序中,通過與各個(gè)鍵相連的端口P3.4_P3.7可以判斷是哪個(gè)鍵按下,從而作相應(yīng)的操作。3.2程序下載介紹單片機(jī)在控制本地的外圍器件時(shí)信息的交互是通過8位并行數(shù)據(jù)線進(jìn)行的,在電路的硬件設(shè)計(jì)上,主要采用串口和MAX232方便的實(shí)現(xiàn)單片機(jī)PC機(jī)之間的串行通信。3?2?1主要芯片引腳功能介紹MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。C31-C27—C31-C27—T2OLII舊NIM圖3-4cr^joT1OUTIMR-|OUIT1IMT2IMF^?OUT引腳介紹:556第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。D第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R10UT)、11腳(T1IN)、14腳(T10UT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R20UT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。主要特點(diǎn):1、符合所有的RS-232C1、符合所有的RS-232C技術(shù)標(biāo)準(zhǔn)2、只需要單一+5V電源供電3、4、功耗低,典型供電電流5mA5、3、4、功耗低,典型供電電流5mA5、內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器6、內(nèi)部集成兩個(gè)RS-232C接收器下圖為MX232雙串口的連接圖,可以分別接單片機(jī)的串片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-行通信口或者實(shí)驗(yàn)板的其它串行通信接口:C3104"-^6P-^4TXD-^0RXD—9U5VCCGND申Cou$C3104"-^6P-^4TXD-^0RXD—9U5VCCGND申Cou$1Ci」151o151MIAX232tn

utC1+V+C1-C2+C2-V-?4~5C41U〒+C51U=+C61U251in2Cout251out2Cin+C71U3849O——O■OOO——OO“DB9圖3—53.3本章小結(jié)本章主要對(duì)硬件系統(tǒng)結(jié)構(gòu)進(jìn)行描述以及如何實(shí)現(xiàn)的一些詳細(xì)流程。DS12C887的A高精確時(shí)鐘的硬件設(shè)計(jì),硬件模塊包括AT89S52控制模塊,DS12C887時(shí)鐘模塊,1602顯示模塊,鍵盤及外圍電路外圍電路即晶振和復(fù)位電路功能運(yùn)用。。nBSheetofDrawnBy:Date:1-Jan-2000SheetofDrawnBy:File:D:\jiaotongdeng\jiaotongdeng.ddb第4章系統(tǒng)軟件調(diào)試環(huán)境介紹KEIL51軟件簡介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(^Vision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。軟件功能KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。C51工具包的整體結(jié)構(gòu),其中^Vision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。Keil51的編譯環(huán)境如圖5-1所示。圖中:標(biāo)題欄:顯示當(dāng)前編譯的文件

菜單條:有十項(xiàng)菜單可供選擇,相應(yīng)的所有操作命令均可在此菜單中查找;工具欄:常用命令的快捷圖標(biāo)按鈕;管理窗口:顯示工程文件的項(xiàng)目、各個(gè)寄存器值的變化、參考資料等;信息窗口:顯示當(dāng)前文件編譯、運(yùn)行等相關(guān)信息;工作窗口:各種文件的顯示窗口。標(biāo)題欄華e|圉他P1F1P1rJ--PSSourd(ji&ipS團(tuán)5.I:e」』]jjp,BiildCariraidFrd昌標(biāo)題欄華e|圉他P1F1P1rJ--PSSourd(ji&ipS團(tuán)5.I:e」』]jjp,BiildCariraidFrd昌弧電國也逼用’艷亞礙計(jì)、單用機(jī)PL丨】曾Fdrrar(営j』fl屈冃mTjg:笄出—阿釧■'亞山跑民朗恥arFI自口"l-titV?lA-e叫*^^7蘭卒如■二=|菜卑柔甘fg[ProjKiW<d-£C?#管理窗口三二工具欄Z*1廿化"Irljrr-.4TTg.></、》Adtsfiieueharu.ncLgncelchirfridefineu]ntnas-i^nedintuciia-r匸;Q烹足義工作窗口Ebit3FD_Asbit□REEU_ASblt丫ELL阻兇EMsbi1信息窗口=biiL__“商北直行九^defin.est^t^lkf6圖5-1Keil51的編譯環(huán)境KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。下面詳細(xì)介紹KeilC51開發(fā)系統(tǒng)各部分功能和使用。4.1.2軟件應(yīng)用流程Keil51編譯指南:第1步:打開Keil51軟件,首先彈出一個(gè)開機(jī)啟動(dòng)畫面。第2步:然后進(jìn)入Keil51的開發(fā)界面。下面簡要介紹一下Keil51開發(fā)環(huán)境中各個(gè)區(qū)域的功能。Keil51開發(fā)環(huán)境可以分為四個(gè)區(qū)域,分別為:菜單條、項(xiàng)目文件管理窗口、代碼編譯窗口和代碼編譯信息窗口四個(gè)部分。菜單條分為十項(xiàng),所有的命令都可以在這里找到。下面的命令是一些常用的菜單命令,如文件的打開、關(guān)閉及保存。其中編譯命令最為常用。中間靠左是項(xiàng)目文件管理窗口,這里可以看到當(dāng)前項(xiàng)目中所包含的所有帶編譯的文件。項(xiàng)目文件管理窗口的右側(cè)是代碼編譯窗口,這事我們最主要的工作區(qū)域。最底層顯示了代碼編譯的信息。當(dāng)代碼有語法錯(cuò)誤時(shí),可以在這里輕松的找到問題的所在。第3步:下面以建立一個(gè)簡單的項(xiàng)目為例,來說明Keil51開發(fā)項(xiàng)目的一般方法。單擊Project菜單項(xiàng),選擇NewProject項(xiàng)。第4步:此時(shí)彈出CreateNewProject對(duì)話框,選擇合適的路徑口,在文件名一欄中填入新工程的名字。單擊保存。第5步:根據(jù)所用的器件,選擇CPU的型號(hào),單擊確定。第6步:Keil51詢問是否生成默認(rèn)的配置文件,這個(gè)可選可不選,這里選定。單擊Yes,觀察項(xiàng)目文件管理窗口的變化。第7步:在File菜單下單擊New選項(xiàng),新建文件。此時(shí)在代碼窗口出現(xiàn)一“Textl”空白文檔。第8步:在“Textl”中編輯完代碼后,單擊File菜單中的保存項(xiàng),彈出保存對(duì)話框。保存名寫為text.c。單擊保存。注意在對(duì)文件命名時(shí)必須加擴(kuò)展名。第9步:在項(xiàng)目導(dǎo)航欄中SourceGroup上單擊右鍵,選AddFiletoGroup‘SourceGroup1'。第10步:此時(shí)彈出AddFile對(duì)話框。選中剛才保存的text.c文件。單擊Add。此時(shí)在項(xiàng)目文件管理窗口中就會(huì)出現(xiàn)剛才所添加的文件text.c。第11步:單擊快捷菜單欄中的編譯按鈕裁,可以編譯程序。第12步:單擊Project菜單項(xiàng),選擇OptionforTarget‘Target1'選項(xiàng)。在彈出的對(duì)話框中可以對(duì)Project進(jìn)行總體配置。第13步:選擇Output選項(xiàng)卡,單擊CreateHEXFile,代碼輸出格式應(yīng)為HEX-80。第14步:單擊確定后,并重新編譯??梢钥吹骄幾g成功之后,Build選項(xiàng)卡里又多了一項(xiàng)。這是生成的HEX文件。第15步:單擊Debug菜單項(xiàng)中的Start/StopDebugSession命令或工具欄中的口進(jìn)入調(diào)試界面。第16步:單擊調(diào)試界面Debug菜單項(xiàng)中的Go命令或工具欄中的到-運(yùn)行程序,單擊StopRunning命令或來結(jié)束程序。觀察運(yùn)行結(jié)果,若結(jié)果正確,便可通過下載軟件將它燒寫到目標(biāo)板上去。這樣,一個(gè)簡單的Keil51下的項(xiàng)目就完成了。注:Keil51對(duì)匯編語言文件的編譯調(diào)試步驟和對(duì)C語言的編譯調(diào)試基本上是一樣的,只是在第八步中用匯編語言進(jìn)行代碼的編寫,并在保存文件時(shí)將擴(kuò)展名加成.asm。本系統(tǒng)中,最初采用把9個(gè)狀態(tài)分別設(shè)置成一個(gè)子函數(shù)的方法。在每個(gè)子函數(shù)中對(duì)在此狀態(tài)中需要點(diǎn)亮的LED單獨(dú)賦值,延時(shí)程序采用定時(shí)器延時(shí),在主函數(shù)中設(shè)置調(diào)用子函數(shù)。但是在調(diào)試過程中遇到很多問題,比如,LED并未按照理想的方式點(diǎn)亮或熄滅,也沒有狀態(tài)變化。在經(jīng)過分析后,采用了另一種更為簡單的方法,即給P1口和P2口整體賦值,如P1=0xff、P2=0xff即表示所有LED不點(diǎn)亮。每個(gè)狀態(tài)只需賦一個(gè)或兩個(gè)值,需要延時(shí)只需調(diào)用延時(shí)程序。此外,對(duì)延時(shí)程序也進(jìn)行了修改,把原有方案改為用CPU延時(shí),這樣,程序變得較為簡單易行。程序下載軟件介紹STC89C52單片機(jī)采用STC_ISP_V4.80向內(nèi)部燒寫程序。4.2.1軟件功能STC_ISP_V4.80是由STC公司研發(fā),可以向STC89C51、STC89C52等系列單片機(jī)內(nèi)燒寫程序。可以設(shè)置波特率,串口等參數(shù)。同時(shí)STC_ISP_V4.80還可以作為串口調(diào)試工具,用于串口收發(fā)數(shù)據(jù)的調(diào)試軟件。軟件應(yīng)用流程第一:打開STC_ISP_V4.80軟件,分別設(shè)置最高,最低波特率,并選擇相應(yīng)的串口等參數(shù)。如圖:n5TC-ISP.exehttp:f/Mnvw.MCU-Hemcry-aiin^^££::139228fl5190(tt^平}WarnPn九80程序丈件“I串口肋手L程文件IPr&p~znFile.10n'n'n'n'n'HHHu.u.u.u.u.o:o:o:o:n'DDDDDOOOODDDDDDDDDooo□oooon-n-n-n-n-ooooommmmro???MrorororowwwwmDDDDDOOOODDDDDDDDD00000ooon-n-n-n-n-ooooflFFFFP;U.U.U.U.U.URRRRFn'rl'n'rl'TUuu-u.u.u.u.ozozozozrl-OOQOOOOOOCCCCOOOOOo-UOOOOOOQ-u-u-un-nQQQOn'n'n'n'n'HHHu.u.u.u.u.o:o:o:o:n'□□□□OOOOOOOOOOOOOQ口口口oooooo口口口口口口口口口DDDDDOOOODDDDDDDDDDODOOOOOOOOOOOOOOO■n'n'n'npm.u.u.u.u.uF!F:F:R'nDDDDODDODDDDDDDDDD□□□□-uoooon-n-n-n-oooooQooooooooooooooooon-on-OOOOOQ_u_u_u_UOQQQOgoaoaoafflmmmolmmmmKIKIKIKIm□□□□OOOOOOOOOOOOOD口口口OOOOOOQQQQOQQQO銳帶幕監(jiān)常船址皿罷珥■■■■^■nF'nFpm.u.u.u.u.uF!F!F!F:FSiepl/^ffiL:JlglecLNCVTxpe選擇單片At型號(hào)L口1丁金£:rP疋rialDryRom匕|SPCB9[232KtJS^LOLiOLETSl-zpj.-^sKl:Jg為_:?■廠開\>-'-r1/1■Tniril1!-:rJJ^.uj同期址址馳幻應(yīng)魚耳PI廬打開E叩:ii:弓感沖二打磁磁慮三17打開文件前潔0第沖打JTTiTF^iH丈件OHPort,H磁Band選聲串行口,境j反"'跡竺~二1頁一三\占汁17車丄空芝呼l.u.-)氏:TI乂一孔扛麻=樂'匚包:£總'=:?D別:丄1上■■-J-b?群4^j^TrziiI-■--i;'=HLl句1J:u:_::T-iti1左于汪l_&廠丐<■Jz廠單件諱'E京Jbl」:無I曽f;l:l_l.'LC1L-<■tillZiLt.如希低功耗.卄厲下癒§9申鹽可I*1/2的f/-/?ri=7ll■Ik'l1C皆干r=二..■■n:f內(nèi)時(shí)JEAlffl-Mfl:廣整止訪閆存允許訪問O理推倉I下i.:下奩用尸叵出世序龍任菽15芷工沁_(dá)一尹隈呂rTESV陽T1*■1T1*■1h's■話-古5t*pB/Si-5E5:UMiHdid/~Fff;先點(diǎn)下審注?Eft再M(fèi)CIL上電早■位-掙啟動(dòng)DnYnJoadi'TSfeMI'如虧F:fl;\±1IIA^:-lFit':十.片評(píng)調(diào)試協(xié)用r芻片也此三:叮1_尸=盤光“丁巴F=ni^ir|:^-且科恤針時(shí)SIU旳氏1肚/知+慕列單片機(jī)新版本U版育如用尸軟件啟動(dòng)內(nèi)部暑門狗后□只百淨(jìng)電關(guān)暑naat*空匡壬左1跑d-.ud-.u*>on切塊電■匕宦是“f-:打丸九蕪」P3.U/fcO,T3.LyT訕jffl過昭竝32¥?踽5宜圉電腦的毋11L.--=I■-1=ii=ik=,=r<!LHft'用八.世用芒呂二Jr丁書中匕禮在111當(dāng)一『FT--衛(wèi)門.;|占對(duì)三-小:CIfI諸關(guān)iirnffk.flCV-WenarT.gg網(wǎng)J站』及時(shí)升級(jí)第二:打開所要下載的.hex文件,如圖所示:LSTCISP,?hfctp;/?www-MCU-MepiQfY.a>m1392平}程序立件Prc'CrsiiFile程序立件Prc'CrsiiFile:s口工丁工雄史廣Stepl/歩猱】:Sele吐HCUTym選擇單片機(jī)型號(hào)WCUTyi)i?ATMflnooryF;oji^4|訂「礙口=73-和-IUJLlf/000102C604050&070609OADBCCODOEOFSt切占擊瑚2:Op?File/打開文件世件范ffil內(nèi)耒用區(qū)域tSOD)jSSftffcbkotEi)tsak和—f1屮廿脈■塞Honblg/煒瑤皿大器增5S:印幣卜;功制SL^3/歩驟J:歸Cffl.|COM3諸嘗試長高繪愜醐打F在于莊件號(hào)內(nèi)部擴(kuò)展?fàn)NT-KANT;:下袞用戶衛(wèi)用tc-3sp-v480Clatehepv-I.^O-not-aetupI整戊KSr15?i>*<遼上#居□XOUDD[£OLD0XO£DDKO3Dcicazi:in-floflo_u_u-u_un-.L_r.L_r_rH][?CDngnn叩qqECDDODODDO□□00ECXiOU00000000ECDDODODDO□□00nnu.n-u.n_n_J.;TT-IT丄TT-UFJFFnH;-u-;-u-Hn~U-;ODOD00ODnnODODUUu:nnODOD00u:ODODDO00no□□no□□00□o□□OOon00no□□noonuOno00nonnDOnn□□UUnnDOUU00UUnnDOnnoo00nn□□nnffi|isrnine*卜舷虛百效5生士土若門也T"t>.in-文翳型⑴T"t>.in-文翳型⑴廠劭只進(jìn)方式打開為卜乍UJR=-H叢夏ISWS時(shí)間'll'Jh二中H<C.汽LL-rKxL..;Lr:tc:r:二mnsjit斤用樣手卜/.柏夭孚r,4E6SB)計(jì)數(shù)|j■日】CLc^rNCU^rianor^.EMJFiB第三:點(diǎn)擊DownLoad,程序就開始燒寫了。如圖:帀帀STCCSPrP?hftp;//wwwrMCU-M?xK)rY,com茲禾主持江対22805190[越永千)畑網(wǎng)期:耳,曲ie_:c-VUJ:-.Tii±li單片*1卑呂i?r'i"/Lh甘veg:Rx?脅e:-f9:.et?f「-|zoozir?r柱牙宣坤串匚』-丁工祀乂咋|Prnsra.inTile上卄逞廳史廠詁寧i二稈呂EI;減料宰弍*吊K滬忖蘭-專II.:總對(duì)半■InK.'i-nrilH/nrp土-T件-ffiirx用川疑便「■M址血)核駛和17打開更件前法曝沖打rrr-nnii丈件it^:.訐爭*:丑力E'詵頂屮?:1氏更■'1'"■-、:■■-■■'t■?"T,>L催計(jì)WI1E.■有j京氏沼訣衛(wèi)樂塔丘r1/7滬ir.iffl-.'.:驢iTJD齋愜功戦I&WHm以下叛罷増?jiān)捒蛇x1/Ee6ia下歡袴啟動(dòng)Fl.O/fl.lCt號(hào)下載無關(guān)廣苓于P皿把TT蠡快瞬動(dòng)內(nèi)母擴(kuò)展AUI-HAH:廠套止訪曰忙允許訪向匪!魅j■R上匸乏三r広三老序時(shí)埒蘇藍(lán)匸山亡?弁腐匚r-.T-f;■肘7iP3C~lDuvli叫:比七忙V曲忙I.中空訐V門納3ic-J:vnl<bjJ.廠當(dāng)日標(biāo)弋碼戔主去S£和川“立出齊立冃%去下亂命4:也址mdi□JttMOmCO000310mmOTttEO5OTOTKOOmmOOffiMOmmOTttKO□3OZG0mm□3?70WWOTttBOIXIIXootmommOTODAJOgOTOTKiBOmmootrcommOTttJBOtnmCdKiEOmmOTODFOKIOTM01Q0IXIE□00110mmDFOECIDcn-玉flk□goBo7□Bo5o4□rl_n-dryAvAxvAvAvAAv=;『czop=;『c=;P=;『琲P瓚丄mFC唱琲ODOUDOOOODOUDOOOOD.un-n-_un-.un-0.UQn-_un-.un-n-Qn-OOOCOOOOOQOCOOOOOOouooooooooooQoon-n:uoOQOOQOOOOQOOQOOOODGooooooooflooooon:uoo-u-un-fln-o-un-Q-uofln-n--uoon--uon-on-o-un-QoQon-n-oooo-u-un-fln-o-un-o-uQfln-n--uoDo-u-un-fln-o-un-Q-uofln-n--uooDDDDDDDODDDDDDDDDDooooooooooooooooooDDn-DD0DD0Dn-DD0DDDDooooooooooooooooooDDn-DDDDDODODDDDODDooooooooooooooooooDDODDODDODODDoDODDoooooooooooooooooou.rl'n'u.rl'u.ozfu.n'n'u.rl'u.u.n'u.rl'u-rl_n_u-rl_u.oz!=u.n_n_u-rl_u.u-n_u.rl_吐刁I口衛(wèi)上'.下孔]氏n下孔]也那丁上叮3'1--F3FFILL上L'..-:施-7=ttX^JC09C51Tr-'TH柔列單**i版巫C版百我EDQ5莊月鴻臓用U孟件召騎住瓷%二勺匸廣只£尸電二丐門垃VW世關(guān)百門遼:-*口?卩古蘭注*VVNCLF-flanory.:cn匸站及時(shí)丹蟻L?In/T:r-==-^.L^^J'JL3把-"H應(yīng)=穢序.二呆三尸札.'.F:w「1曰I-.U/K::L小防丫目r^z.-成右?數(shù)miiSTC-ISP.exehttp://m.ICUIe?ory.co*技術(shù)支持:139^2805190永平)牝r:3.91□回區(qū)謎epM步騾1::零1知MCUType選擇單片機(jī)型號(hào)MCUTypeAPMem-ery00001FFF文件緩沖區(qū)]_閘_j串口調(diào)試助手]工程文件FileBuffer:F:^51開發(fā)根-學(xué)習(xí)檢@51程序IAK08餐數(shù)字電壓表\ABGOE地址00010203040506070809OAOEUCOHUEOF▲「Step耶歩驟階OpsitFilet打開文件Ct件范圍內(nèi)未用區(qū)域埴E)起始地址(M棱驗(yàn)和|0|000AO37HF打開文件前清G煖沖OpeiJil"打幵文件廠_廠—p打開文件前渚Q緩沖打廿數(shù)據(jù)文廠rStep3/步罟3:Select”5Fort,MaxBaud/選擇串行口屮最高波特率,?血:~?是高波特率:1115200-諳嘗試提高最低波特率或使爰高波特率=攝低漩特率:2400-5tep4/步驟4:DoubleSpeed設(shè)置孜倍速,缺省為普通速度JDaublespeed./孜倍速:振蕩放丈器増益:如需低功耗”16MHzlil下振蕩卷増益可選lZZ-gain下次冷啟動(dòng)Pl.0.T1.1檸與下載無關(guān)r等于比0才可下軌垛速.啟動(dòng)內(nèi)部擴(kuò)^AUX-RAM:廣.禁止訪恂下如載用戶應(yīng)用程序時(shí)將數(shù)據(jù)Flas晅一并擦除廣」C000000000010000020000030000U4U000050000U6U000070000030000090OOOUAUOOOOEUOOOOCOOOOULiUOOOUEUOOOOFU00010000011080

3E

宗41¥A200FA80222022E5C20074564TF.BA2DE800122D2CO

OAFl75FOE:7T5CE904F4574FAOA22F592EO22FO24D28130004C3A306E:227480C2E5E3751030EE60F83B542074E:4COAFC291FO05FO84050075C2744Li20A20101A392D22420102420D28090024520雄A280C290CO74843085E:5FF54206EiA274F5

yi

書E5CO20C2T54C74452074809922D2BCA285FOFOFOE:6AU22522E38EEJi7890C2no202485C2FFF.B44002022A2CO1890EOFO3020ClE:5器492000A27EBC22暮FO22D215004T56741999A220C27FAFCl20H2E:6312A494F386B7F74E490FA22ehFOClE700oc74544C74648093AF22EiFEC05noC2D231n14154A2ucIIFMB4IIFF5FE7F20clFLEEE5pSlepS/步驟5:Dcwnl^d/下載先點(diǎn)下載按鈕再M(fèi)CU上電復(fù)位逾啟動(dòng)Stop/停止■Ee-Downlosd/'廠毎次下我前重新調(diào)入已打開在緩沖區(qū)的文件,方便調(diào)試使用

:-當(dāng)目標(biāo)代碼發(fā)生變化后自動(dòng)調(diào)班友件,并立即發(fā)送下我命瑟Chinese:正在嘗試與MCU/單片機(jī)握手連接「1丨話菲疔wwwMPlf—Mpmnrv「亦網(wǎng)站U時(shí)斗氐下功能僅針對(duì):STC89C51RC/EJJ+系列單片機(jī)新版本C版有敷年E月嗎后供貨用戶軟件啟動(dòng)內(nèi)部看門狗后r只有停電關(guān)看門狗忖復(fù)位關(guān)看門狗下載成功聲音提示:YES'rNO童復(fù)下載間隔時(shí)間砂)2工選項(xiàng)自定鑿下我脫機(jī)下載|檢直耐選項(xiàng)自動(dòng)増星ISPEEMCJJ2..http:?CU-le*ory^com技術(shù)支持:13922KU5190永平)Ver:3.91STC-ISP?exerStep3/步驟3:Select.COMFort,MaxBaud/選擇串行口,攝高波特率COM:|COM4~耳:..:攝高波特率:~刁潔嘗試提高最低波特率或使攝高波特率=攝低波特率:2400'廠毎決下我前彥新調(diào)尺已打開在緩沖國的文件‘方便調(diào)試使用廣當(dāng)目標(biāo)代碼發(fā)生變化后自動(dòng)調(diào)入文件,并立即發(fā)送下我命選項(xiàng)自定鬼干載|脫機(jī)下載]檢查MCU選項(xiàng)]自動(dòng)増量\ISFEEMCjJ?.|-St&p2/步驟2:OpenFile總打開文件戌件范圍內(nèi)未用區(qū)域埴皿);一國始地址(heQ校驗(yàn)和|0|000A£l37H-1^打開文件前渚0緩沖OpenFile/打開文件JP打-訐丈件前漬0緩沖打開數(shù)據(jù)文件i-^ep47步驟4:DoubleSpeed設(shè)置敦倍速,缺省為普通速度Doiiblespeed/雙倍速:6T/X?倍速f*12T/單倍速振蕩放犬器増益:ri/2gain■*fullgain如需低功耗,16MHiEA下振蕩器増益可選1從gain下挨後啟動(dòng)Fl.0.P1.1:V與下載無關(guān)C等于0,0才可下我,快速啟動(dòng)內(nèi)部擴(kuò)展AUX-RAM:廣禁止訪問忖允許訪問堺雖烈推薦)下次下載用戶應(yīng)用程序時(shí)將數(shù)據(jù)FIX晅一井擦除「YES.NO下載成功聲音提示―復(fù)下載間隔時(shí)間返—ET-Etepl/步驟1:E.electMCUTyp1C"Typee選擇單片機(jī)型號(hào)APMemorv00001FFF忘在擦除應(yīng)用程序區(qū)…正在下聿…J汙箱時(shí)間Program0K/下載0KVerify0K/檢驗(yàn)0Kerasetim苗/展曉町間:progr:amtimes/下載時(shí)間Hav-eaiready:'eiicrypt.図下功能僅針對(duì).STC89C51Rfi'7RI+系列單片機(jī)新版本C版有效如05年E耳以后供貨用戶軟件啟動(dòng)內(nèi)部看門狗后「只有停電關(guān)看門狗忙復(fù)位關(guān)看門狗(00:01:13:11:23)00:01.00:001-已加密IStep5/步驟5:Download/下載先點(diǎn)下載按鈕再M(fèi)CU上電復(fù)位■冷啟動(dòng)Re-Dowriload/重復(fù)下載Downlgd/下載|Hix地址000102030405060708090A0EOCOH0EOF丄00000080007581607580FF75AUFF111531OC310000103E11CESOF8C290114C116E:90002A7401000020117490003B740211T4224449474954410000304C564F4C544Ei4554455200205F.4F4C540000404147453A2020202020562000743811A2000050116E:743811A211BE743811A2116E:74OC00006011A2116B740111A2116E227E197F64HF000070FEDEFA22B401oc748011A2119974SO11000080A2800A74CO11A2119974CO11A2E493E:4ooociyn00012211AFA380F5227818742011AFD8OOOOAUFA22F5SOC292C291D29011BCC29022F5OOOOEU80D292C291L29011ECC290227FFALiFFEOOOOCO22COELIE5F024CO11A2noE011AF22ECT5OOOOEiU200A11E30520742E8520F011ClED0520OOOOEU11Fl2275F01084E5F024308520F011ClOOOOFU2275F010842430COF08520F011ClLUF0000100E5F0243005208520F011Cl22L2B7C2B5000110C2B7D2EG00L2B5C2BE.C2B5D2EG00D2B5二文件緩沖EI_no_串口調(diào)試助手工程文件〕FileBuffer:F:\51開發(fā)板-學(xué)習(xí)板\C51程序\ADC0832數(shù)字電壓表\ADC084.3本章小結(jié)本章主要對(duì)系統(tǒng)軟件調(diào)試環(huán)境進(jìn)行介紹,并詳細(xì)的解釋了軟件應(yīng)用流程。以便于我們對(duì)它進(jìn)行使用。包括軟件介紹和調(diào)試中存在的問題和解決辦法以及顯示結(jié)果。第5章系統(tǒng)程序設(shè)計(jì)5.1系統(tǒng)程序設(shè)計(jì)流程圖初始化讀日期、時(shí)間寫日期、時(shí)間顯示子程序開關(guān)控制子程序日期修改子程序X時(shí)間修改子程序顯示結(jié)果返回圖5-1主程序流程圖時(shí)鐘程序模塊詳細(xì)流程圖圖4.2DS12C887的流程圖5.2.1程序流程圖對(duì)應(yīng)程序代碼voidinit_ds12887(unsignedchar*time){unsignedchartime_rigst;P12887b=0x80;//SET=1芯片停止工作允許初始化Year=*time;time++;Month=*time;time++;Day=*time;time++;Hour=*time;time++;Min=*time;P12887_databuf=0x55;P12887a=0x20;//00100000工作頻率32.768kHztime_rigst=P12887c;//清除中斷請(qǐng)求標(biāo)志time_rigst=P12887d;//片內(nèi)寄存器和RAM數(shù)據(jù)有效P12887b=0x06;//00000110關(guān)閉報(bào)警中斷,2進(jìn)制數(shù),24小時(shí)制,芯片工作

}unsignedcharRead12887(unsignedcharucType)//讀取系統(tǒng)時(shí)間ucType代表要讀的內(nèi)容{unsignedcharidataucValue;while((P12887a&0x80)==0x80);//{t++;if(t>20000)break;};//12887A寄存器最高位為112887處于更新狀態(tài)禁止讀寄存器switch(ucType)//察看要讀的內(nèi)容{case1:ucValue=Year;//取年寄存器break;case2:if((Month<1)||(Month>12))Month=1;//月校正ucValue=Month;//取月寄存器break;case3://取日寄存器//小時(shí)校正////取日寄存器//小時(shí)校正//取小時(shí)寄存器//分校正//取分寄存器case4:if(Hour>23)Hour=0;ucValue=Hour;break;case5:if(Min>59)Min=0;ucValue=Min;break;case6:if(Second>59)Second=0;//秒校正

ucValue=Second;break;〃取秒寄存器default:ucValue=0;ucValue=Second;break;〃取秒寄存器default:ucValue=0;}returnucValue;//返回讀的數(shù)據(jù)}voidwait();液晶程序模塊詳細(xì)流程圖圖5-31602LCD的流程圖5.3.1程序流程圖對(duì)應(yīng)程序代碼/不不不不不不不不不不不不不不不不不不不不不不不J/彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、/

voidsend_command(uintcommand){wait();L_W_C=command;voiddelay(){uinti,j;for(i=0;i<50;i++)for(j=0;j<50;j++)voidwait(){ucharx;do{x=L_R_C;}while(x&0x80);delay();寫數(shù)據(jù)}寫數(shù)據(jù)/不不不不不不不不不不不不不不不不不不不不不不不不不voidsend_data(uintsdata){wait();L_W_D=sdata;voiddis_time(ucharaddr,uchartype){uchardis_h,dis_l;uchartime_buf,star_addr;if(addr<16)star_addr=0x80;elsestar_addr=0xc0-10;time_buf=Read12887(type);dis_h=time_buf/10+0x30;dis_l=time_buf%10+0x30;send_command(star_addr+addr);send_data(dis_h);send_command(star_addr+1+addr);send_data(dis_l);

5.4按鍵控制程序模塊詳細(xì)流程圖開等馬握縫理序等待按就稈序加讎奇端分鐘減分鐘加年/)□月加年詭月滅臼加控制讎旨敕.應(yīng)入小耐明整團(tuán)予按讎有效,跳出時(shí)間購整程庁>進(jìn)入王睛環(huán)程庁控制避有頰,進(jìn)入月關(guān)整程序?yàn)t健有'敕臼遁L]控制鍵有就,進(jìn)入好$中調(diào)整程廳控刪磁:何效.進(jìn)人星期陰整程用控制屣有效*避入日陶整程序控制膛口救?遊入年調(diào)整鋰序等待慢謹(jǐn)程呼等待扌秦邂程廳5.4按鍵控制程序模塊詳細(xì)流程圖開等馬握縫理序等待按就稈序加讎奇端分鐘減分鐘加年/)□月加年詭月滅臼加控制讎旨敕.應(yīng)入小耐明整團(tuán)予按讎有效,跳出時(shí)間購整程庁>進(jìn)入王睛環(huán)程庁控制避有頰,進(jìn)入月關(guān)整程序?yàn)t健有'敕臼遁L]控制鍵有就,進(jìn)入好$中調(diào)整程廳控刪磁:何效.進(jìn)人星期陰整程用控制屣有效*避入日陶整程序控制膛口救?遊入年調(diào)整鋰序等待慢謹(jǐn)程呼等待扌秦邂程廳聊待按灘程疥減礎(chǔ)育牧加曜孩趣加讎掃敞減鍵有敘加髓育敏減關(guān)宵敞加璉有就星期減IT冊加i星期加I圖6時(shí)間調(diào)整程序流程圖5.4.1程序流程圖對(duì)應(yīng)程序代碼voidkey(){unsignedcharpd1,zc,wei=1;P12887b=0x80;//SET=1芯片停止工作允許初始化send_command(0x0f);send_command(0x81);pd1=1;//send_data(time_int[0]/10);zc=time_int[0]/10;while(pd1){right=left=up=left=ok=1;if(up==0){zc++;send_data(zc+48);send_command(0x80+wei);while(!up);}if(down==0){zc--;send_data(zc+48);send_command(0x80+wei);while(!down);}if(right==0){//zc=0;switch(wei){case1:temp_time[0]=zc*10;zc=time_int[0]%10;wei++;break;case2:temp_time[0]+=zc;zc=time_int[1]/10;wei+=2;break;case4:temp_time[1]=zc*10;zc=time_int[1]%10;wei++;break;case5:temp_time[1]+=zc;zc=time_int[2]/10;wei+=2;break;case7:temp_time[2]=zc*10;zc=time_int[2]%10;wei++;break;case8:temp_time[2]+=zc;zc=time_int[3]/10;wei=0x47;break;case0x47:temp_time[3]=zc*10;zc=time_int[3]%10;wei++;break;case0x48:temp_time[3]+=zc;zc=time_int[4]/10;wei+=2;break;case0x4a:temp_time[4]=zc*10;zc=time_int[4]%10;wei++;break;case0x4b:temp_time[4]+=zc;pd1=0;break;default:;}//send_data(zc+48);send_command(0x80+wei);while(!right);}}for(pd1=0;pd1<5;pd1++){time_int[pd1]=temp_time[pd1];}init_ds12887(time_int);send_command(0x0c);}5.5本章小結(jié)本章主要是針對(duì)系統(tǒng)程序進(jìn)行設(shè)計(jì),以及一些流程圖的構(gòu)建。當(dāng)本章敘述完以后也就代表了整個(gè)設(shè)計(jì)接近尾聲了,剩下的就是一些修正和調(diào)試工作。對(duì)于各種模塊的功能以及子程序如何編寫有了更詳細(xì)深刻的了解。本次用C語言編寫的萬年歷系統(tǒng)主要實(shí)現(xiàn)了年歷、月歷、日歷的顯示,并且可通過鍵盤來變換相應(yīng)的年月日,最終的設(shè)計(jì)結(jié)果達(dá)到的這些要求,通過這次課程設(shè)計(jì),使我對(duì)C語言了解不在停留在書面的了解,而是有了更深的理解,培養(yǎng)了自己的分析能力和設(shè)計(jì)能力,受益匪淺。本系統(tǒng)是以單片機(jī)AT89S52芯片為核心部件,實(shí)現(xiàn)了時(shí)鐘的功能。此次在軟件上是花費(fèi)時(shí)間最多的,由于很多的知識(shí)早已經(jīng)遺忘并且在原來的學(xué)習(xí)中,這部分知道掌握的并不是特別好,很多的內(nèi)容理解都是翻看原來的教科書再結(jié)合自己圖書館的書的基礎(chǔ)上理解來的,平時(shí)我們上網(wǎng)找資料,上圖書館,盡可能的了解有關(guān)于C語言這方面的知識(shí)。通過這次課程設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我初步了解了C語言的原理,并且在硬件方面,對(duì)原來所學(xué)的單片機(jī)上的很多內(nèi)容進(jìn)行了溫故。參考文獻(xiàn)參考文獻(xiàn)周興華編著.手把手教你學(xué)單片機(jī)C程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2007侯玉寶編著.基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真.北京:電子工業(yè)出版社,2008張義和編著?例說51單片機(jī)(C語言).北京:人民郵電出版社.2008李朝青編著.單片機(jī)原理及接口技術(shù).北京:北京航空航天大學(xué)出版社,2005周慈航編著.單片機(jī)應(yīng)用程序設(shè)計(jì)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1991馬忠梅編著.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2003李廣弟編著.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1994曾巧媛編著.單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,1997邱麗芳編著.單片機(jī)原理與應(yīng)用.人民郵電出版社,2007何立民編著.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京航空航天大學(xué)出版社,2003電路圖33'3?PIOP】6PHP25P12FMPl)P23P14P22PISPHPI6P20P17RESETPD6P02WSQWAD7AD6AD5AD4NCADJNCAD2NCADINCADO—ICWIRQDS畑伽openfileODocum2OI2-OWI1SizeNumberentsandA4電路板照片程序代碼#include<reg52.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedint#defineL_W_DXBYTE[0Xf9ff]#defineLW_CXBYTE[0Xf1ff]#defineLR_CXBYTE[0Xf5ff]#defineSecondXBYTE[0xfe00]秒//#defineSecondAlarmXBYTE[0xfe01]秒鬧//#defineMinXBYTE[0xfe02]分//#defineMinAlarmXBYTE[0xfe03]分鬧//#defineHourXBYTE[0xfe04]小時(shí)//

#defineHourAlarmXBYTE[0xfe05]小時(shí)/鬧/#defineDayXBYTE[0xfe07]日//#defineMonthXBYTE[0xfe08]月//#defineYearXBYTE[0xfe09]年//#defineP12887aXBYTE[0xfe0a]//12887的A寄存器XBYTE[0xfe0b]XBYTE[0xfe0c]#definePl2887bXBYTE[0xfe0b]XBYTE[0xfe0c]//12887的B寄存器#defineP12887c//12887的C寄存器#definePl2887d//12887的D#definePl2887d//12887的D寄存器#defineP12887e//12887內(nèi)的存儲(chǔ)空間#defineP12887fXBYTE[0xfe0d]XBYTE[0xfe0e]XBYTE[0xfe0f]#defineP12887_databufXBYTE[0xfe10]sbitright=PlA4;sbitleft=PlA5;sbitup=PlA6;sbitdown=PlA7;sbitok=P3A2;sbitbeep=P1A3;uchartime_int[]={12,6,26,9,10};uchartemp_time[]={0,0,0,0,0};voidinit_ds12887(unsignedchar*time){unsignedchartime_rigst;P12887b=0x80;//SET=1芯片停止工作允許初始化Year=*time;time++;Month=*time;time++;if((Day<1)||(Day>31))Day=1;if((Day<1)||(Day>31))Day=1;//日校正Day=*time;time++;Hour=*time;time++;Min=*time;P12887_databuf=0x55;P128

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論