


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)任務(wù)書(shū)學(xué)院信息科學(xué)與項(xiàng)目學(xué)院專業(yè)j計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目電子日歷時(shí)鐘設(shè)計(jì)實(shí)踐教案要求與任務(wù):1 學(xué)習(xí)Proteus仿真系統(tǒng)下的原理圖設(shè)計(jì)方法和系統(tǒng)仿真調(diào)試方法;2掌握簡(jiǎn)單的51單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)方法;3學(xué)習(xí)Keil C51集成開(kāi)發(fā)環(huán)境的使用和程序調(diào)試方法。具體任務(wù)如下:<1 )通過(guò)檢索、查資料和研究學(xué)習(xí),設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)原理圖;<2)在Keil 51 集成開(kāi)發(fā)環(huán)境下編寫(xiě)電子日歷時(shí)鐘設(shè)計(jì)應(yīng)用系統(tǒng)程序;<3)在Proteus仿真環(huán)境下進(jìn)行軟硬件系統(tǒng)調(diào)試,實(shí)現(xiàn)應(yīng)用系統(tǒng)設(shè)計(jì)目標(biāo);<4)寫(xiě)出課程設(shè)計(jì)報(bào)告。工作計(jì)劃與進(jìn)度安排:第1619周:布
2、置課程設(shè)計(jì)任務(wù);查閱資料;分組設(shè)計(jì)原理圖;編寫(xiě)程序代碼。第20周:系統(tǒng)仿真調(diào)試,驗(yàn)收,答辯,編寫(xiě)課程設(shè)計(jì)報(bào)告。指導(dǎo)教師:20年月日專業(yè)負(fù)責(zé)人:20年月曰學(xué)院教案副院長(zhǎng):20 年月日成績(jī)?cè)u(píng)定表學(xué)生姓名班級(jí)學(xué)號(hào)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì)題目電子日歷時(shí)鐘評(píng) 語(yǔ)組長(zhǎng)簽字:成績(jī)?nèi)掌?0 年 月曰目錄1設(shè)計(jì)目的及要求51.1 課程設(shè)計(jì)目的51.2 設(shè)計(jì)內(nèi)容、技術(shù)條件和要求 51.2.1 設(shè)計(jì)內(nèi)容51.2.2 設(shè) 計(jì) 要求52 系 統(tǒng) 的 組 成 及 工 作 原理52.1 系 統(tǒng) 組成52.2 工作原理概述62.3 Protues 簡(jiǎn)介62.4 KeilC51簡(jiǎn)介63 器 件 的 功 能 和 作用7介73
3、.2 DS1302 簡(jiǎn)介93.3 LCD1602 簡(jiǎn)介94 系 統(tǒng) 硬 件 設(shè)計(jì)114.1 控 制 模塊124.2 顯 示 模塊124.3 按 鍵 模塊135 系 統(tǒng) 軟 件 設(shè)計(jì) 135.1程序流程圖135.2程序清單及程序功能注釋 146系統(tǒng)仿真/、調(diào)試286.1程序調(diào)試過(guò)程286.2仿真/、調(diào)試過(guò)程317結(jié)果分析328體會(huì)與感想329 參 考 文獻(xiàn)331、設(shè)計(jì)目的及要求1.1 課程設(shè)計(jì)目的1. 培養(yǎng)學(xué)生文獻(xiàn)檢索的能力,如何利用 Internet 檢索需要的文獻(xiàn)資料。2. 培養(yǎng)學(xué)生綜合分析問(wèn)題、發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力。3. 培養(yǎng)學(xué)生綜合運(yùn)用知識(shí)的能力和項(xiàng)目設(shè)計(jì)的能力。4. 培養(yǎng)學(xué)生理論聯(lián)
4、系實(shí)際的能力。5. 提高學(xué)生課程設(shè)計(jì)報(bào)告撰寫(xiě)水平。1.2 設(shè)計(jì)內(nèi)容、技術(shù)條件和要求1.2.1 設(shè)計(jì)內(nèi)容電子日歷時(shí)鐘系統(tǒng)主要功能為實(shí)時(shí)時(shí)間的顯示,以 AT89S51 單片機(jī)為核心芯片,通過(guò) DS1302時(shí)鐘芯片的功能擴(kuò)展;在共陰極 LED數(shù)碼管上或LM1602液晶顯示屏上顯示出來(lái)。 <1)時(shí)鐘芯片選用 DS1302;<2)數(shù)碼管選用 4 位共陰極動(dòng)態(tài)顯示的數(shù)碼管; <3)能實(shí)時(shí)顯示年、月、日和時(shí)、分、秒,用數(shù)碼管顯示時(shí),要求年、月、日與時(shí)、分、 秒交替顯示,間隔 1 秒;<4)可通過(guò)按鍵調(diào)節(jié)、設(shè)置當(dāng)前時(shí)間。1.2.2 設(shè)計(jì)要求設(shè)計(jì)單片機(jī)最小系統(tǒng) <包括復(fù)位按鈕、晶振
5、電路等)DS1302時(shí)鐘芯片的控制設(shè)計(jì)。 時(shí)間調(diào)節(jié)按鍵的電路設(shè)計(jì)。 繪制實(shí)現(xiàn)本設(shè)計(jì)內(nèi)容的硬件電路 <原理圖),系統(tǒng)的組成框圖。相應(yīng)的控制狀態(tài)表; 編寫(xiě)本課程設(shè)計(jì)內(nèi)容的軟件設(shè)計(jì) <包含程序流程圖和對(duì)程序注釋)。 硬件實(shí)驗(yàn)部分可選用實(shí)驗(yàn)箱測(cè)試或 Proteus 仿真軟件實(shí)現(xiàn)。2. 系統(tǒng)的組成及工作原理2.1 系統(tǒng)組成圖2.1系統(tǒng)組成原理圖2.2工作原理設(shè)計(jì)的題目是電子時(shí)鐘。根據(jù)設(shè)計(jì)要求顯示正常的年、月、日、時(shí)、分、秒。要想實(shí) 現(xiàn)上述功能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機(jī)的結(jié)合在一起,方可實(shí)現(xiàn)我們?cè)O(shè)計(jì)任務(wù)中 的各項(xiàng)要求。硬件系統(tǒng)主要有單片機(jī) AT89C51 DS1302、74LS154等。
6、AT89C51主要功能是存儲(chǔ)程序、根據(jù)程序的內(nèi)容對(duì)各個(gè)端口進(jìn)行判斷并做出相應(yīng)的處 理。DS1302主要的功能是控制年、月、日、時(shí)、分、秒的顯示效果。根據(jù)設(shè)計(jì)要求,電子日歷要顯示年、月、日、時(shí)、分、秒就需要16個(gè)顯示數(shù)碼管,因?yàn)閿?shù)碼管的數(shù)量較多,必須采用動(dòng)態(tài)顯示掃描的方法。例如07-12-01 ,首先日分為個(gè)位和十位,個(gè)位顯示到 09時(shí),應(yīng)向日的十位自動(dòng)進(jìn)位,即個(gè)位清0,十位置1,顯示為10,繼續(xù)累計(jì);當(dāng)顯示為31時(shí),日的十位就應(yīng)自動(dòng)向月的個(gè)位進(jìn)位,顯示為 01,當(dāng)月顯示到 09時(shí),月的個(gè)位自動(dòng)向月的十位進(jìn)位,個(gè)位清0,十位置1,即為10,當(dāng)月至12時(shí),月向年的個(gè)位進(jìn)位,即顯示 08,同時(shí)月、日
7、開(kāi)始從 01月01日繼續(xù)顯示,依次周而復(fù)始的循環(huán)運(yùn) 行。根據(jù)按鍵電路可實(shí)現(xiàn)年、月、日、時(shí)、分、秒的調(diào)整,當(dāng)K1鍵按下時(shí),可以調(diào)整時(shí)間,K2、K3鍵分別對(duì)時(shí)間進(jìn)行加或減,K4鍵可以切換正常模式與省電模式。利用單片機(jī)將 RC復(fù)位電路、動(dòng)態(tài)顯示電路、電源電路、去抖電路等正確的連接在一起,并通過(guò)單片機(jī)的編程來(lái)實(shí)現(xiàn)本次設(shè)計(jì)任務(wù)中的要求。2.3Protues 簡(jiǎn)介Protues軟件是英國(guó) Labcenter electronics公司出版的 EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī) 及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)
8、好者、從事單片機(jī)教案 的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的 EDA工具PCB設(shè)(仿真軟件 ,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。迄今為止是世界上唯一將電路仿真軟件、 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、 HC11、PIC10/12/16/18/24/30/DSPIC33、AVR ARM 8086 和 MSP430等,2018 年即將增加 Cortex和 DSP 系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB?
9、多種編譯2.4Keil C51 簡(jiǎn)介Keil C51 是美國(guó)Keil Software公司出品的51系列兼容單片機(jī) C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比, C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易 學(xué)易用。 Keil 提供了包括 C 編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試 器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境 <uViSion )將這些部分組合在一起。運(yùn) 行Keil軟件需要 WIN98 NT WIN2000 WINXP等操作系統(tǒng)。如果你使用 C語(yǔ)言編程,那么 Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、
10、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。3器件的功能和作用3.1 AT89C51 簡(jiǎn)介1119189293031A11A22A3A44A5A6衛(wèi)A77A88>XTAL1PO.O/ADOPO.1/AD1P0.2/AD2XTAL2PO.3/AD3P0.4/AD4PD.fi/AD5P0.B/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3,Q/RXDP1.1P3.1/TXDP1 2P3.2/INT0P1.3P3.3/INTFP1.4P3.4/T0P1.5P3 5
11、JT1P1.6P3.6/WRP1.7P37/RETAT89C51393837363534阿21222324252ti2728101112'14'17圖3.1AT89C51引腳圖VCC電源電壓GND :接地P0 口: P0 口是一組8位漏極開(kāi)路雙向I/O 口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口 時(shí),每一個(gè)管腳都能夠驅(qū)動(dòng)8個(gè)TTL電路。當(dāng)“1”被寫(xiě)入P0 口時(shí),每個(gè)管腳都能夠作為高阻抗輸入端。P0 口還能夠在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),轉(zhuǎn)換地址和數(shù)據(jù)總線 復(fù)用,并在這時(shí)激活內(nèi)部的上拉電阻。P0 口在閃爍編程時(shí),P0 口接收指令,在程序校驗(yàn)時(shí),輸出指令,需要接電阻。P1 口:
12、P1 口一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O 口,P1的輸出緩沖級(jí)可驅(qū)動(dòng) 4個(gè)TTL電路。對(duì)端口寫(xiě)“ 1”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部 有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。閃爍編程時(shí)和程序校驗(yàn)時(shí),P1 口接收 低 8 位地址。P2 口: P2 口是一個(gè)內(nèi)部帶有上拉電阻的8 位雙向 I/O 口, P2 的輸出緩沖級(jí)可驅(qū)動(dòng) 4個(gè) TTL 電路。對(duì)端口寫(xiě)“ 1 ”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí),可作為輸入口。 因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或 16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高8位地址數(shù)據(jù)。在訪問(wèn)
13、 8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口線上的內(nèi)容在整個(gè)運(yùn)行期間不變。閃爍編程或校驗(yàn)時(shí),P2 口接收高位地址和其它控制信號(hào)。P3 口: P3 口是一組帶有內(nèi)部電阻的8位雙向I/O 口,P3 口輸出緩沖故可驅(qū)動(dòng) 4個(gè)TTL電路。對(duì) P3 口寫(xiě)如“ 1”時(shí),它們被內(nèi)部電阻拉到高電平并可作為輸入端時(shí),被外部拉低 的 P3 口將用電阻輸出電流。 P3 口除了作為一般的 I/O 口外,更重要的用途是它的第二功 能,具體如下: P3.0-RXD , P3.1-TXD,P3.2-INT0 , P3.3-INT1 , P3.4-T0 , P3.5-T1 , P3.6-WR,P3.7-RD。P3 口還接收一些用于
14、閃爍存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST :復(fù)位輸入。當(dāng)震蕩器工作時(shí),RET引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。ALE/ :當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE以時(shí)鐘震蕩頻率的1/16輸出固定的正脈沖信號(hào),因此它可對(duì)輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ALE 脈沖時(shí),閃爍存儲(chǔ)器編程時(shí),這個(gè)引腳還用于輸入編程脈沖。如果必要,可對(duì)特殊寄 存器區(qū)中的8EH單元的D0位置禁止 ALE操作。這個(gè)位置后只有一條MOV)和MOV指令A(yù)LE才會(huì)被應(yīng)用。此外,這個(gè)引腳會(huì)微弱拉高,單片機(jī)執(zhí)行外部程
15、序時(shí),應(yīng)設(shè)置ALE無(wú)效。PSEN :程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51 由外部程序存儲(chǔ)器讀取指令時(shí),每個(gè)機(jī)器周期兩次 PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外 部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 PSEN信號(hào)不出現(xiàn)。EA/VPP :外部訪問(wèn)允許。欲使中央處理器僅訪問(wèn)外部程序存儲(chǔ)器,EA端必須保持低電平。需要注意的是:如果加密位 LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存 EA端狀態(tài)。如EA端為高 電平,CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。閃爍存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電壓VPP,當(dāng)然這必須是該器件是使用 12V編程電壓VPP。)TAL1 :片內(nèi)振蕩器反相放大
16、器和時(shí)鐘發(fā)生線路的輸入端。使用片內(nèi)振蕩器時(shí),連接外 部石英晶體和微調(diào)電容。XTAL2片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi)振蕩器時(shí),外接石英晶體和微調(diào)電容。3.2DS1302 簡(jiǎn)介圖3.2 DS1302引腳圖DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信 號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31 X 8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與 DS12
17、02兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了 對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。DS1302的管腳排列及描述如下圖及表所示X1、X2: 32.768KHZ晶振接入引腳。GND 地。RST:復(fù)位引腳,低電平有效。I / 0:數(shù)據(jù)輸入/輸出引腳,具有三態(tài)功能。SCLK串行時(shí)鐘輸入引腳。Vcc1 :工作電源引腳。VCC2 :備用電源引腳。3.3 LM016L 簡(jiǎn)介1602采用標(biāo)準(zhǔn)的16腳接口,其中:VSS:為電源地VDD接5V電源正極VEE為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。RS:
18、為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。RW為讀寫(xiě)信號(hào)線,高電平 (1時(shí)進(jìn)行讀操作,低電平(0時(shí)進(jìn)行寫(xiě)操作。E(或EN:為使能(enable端,高電平1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。D0D7:為8位雙向數(shù)據(jù)端。指令碼功能令RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM 填滿"20H",并且設(shè)定DDRAM的地址計(jì)數(shù)器(AC到"00H"地址歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器(AC到"00H",并且將游標(biāo)移到開(kāi)頭原點(diǎn) 位置。這個(gè)指令不改變 DDRAM 的內(nèi)容顯示
19、狀態(tài)開(kāi)/關(guān)0000001DCBD=1:整體顯示 ONC=1:游標(biāo)0NB=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)疋00000001I/DS指定在數(shù)據(jù)的讀取與寫(xiě)入時(shí),設(shè)定 游標(biāo)的移動(dòng)方向及指定顯示的移位游標(biāo)或顯示移位控000001S/CR/LXX設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位。這個(gè)指令不改變 DDRAM制的內(nèi)容00001DLXREXXDL=0/1 : 4/8 位數(shù)據(jù)功能設(shè)定RE=0/1 :基本指令操作/擴(kuò)充指令操作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM地址 顯示位址)第一行:80H - A
20、7H第二行:C0H - E7H讀取忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀岀地址計(jì)數(shù)器(AC的值寫(xiě)數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7 D0寫(xiě)入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM>讀出RAM11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7 D0的值(DDRAM/CGRAM/IRAM/GRAM表:3.1指令集表4系統(tǒng)硬件設(shè)計(jì)電子日歷時(shí)鐘系統(tǒng)主要功能為實(shí)時(shí)時(shí)間的顯示,以AT89C51單片機(jī)為核心芯片,通過(guò)DS1302時(shí)鐘芯片的功能擴(kuò)展;在共陰極LED數(shù)碼管上或LM1602液晶顯示屏上顯示出來(lái)。LCD1LIIDI4L
21、r3k二1 !iPJ.ItTXD T<UTDM燦 IF!n a/tfE-23prn * U?pnonnFD.1MD 1 剛PELSD 4PEI .TADTC4iJ<L - 1 r;IfTALIXTAL2RfTA-ratKSI圖4.1系統(tǒng)原理圖4.1控制模塊圖4.2控制模塊原理圖控制模塊原理圖如圖 4.2所示。主控制器采用 AT89C51。AT89C51是一個(gè)低電壓,高性能CMOS位單片機(jī)帶有4K字節(jié)的可反復(fù)擦寫(xiě)的程序存儲(chǔ)器 VPENRO)。它具有4K字節(jié)閃爍 存儲(chǔ)器,128字節(jié)隨機(jī)存取數(shù)據(jù)存儲(chǔ)器, 32個(gè)I/O 口,2個(gè)16位定時(shí)/計(jì)數(shù)器,1個(gè)5向量 兩級(jí)中斷結(jié)構(gòu),1個(gè)串行通信口,
22、片內(nèi)震蕩器和時(shí)鐘電路。4.2顯示模塊圖4.3顯示模塊電路圖顯示模塊采用LM016L顯示器,將單片機(jī)輸出的時(shí)鐘信號(hào)以字符方式將其顯示出來(lái)。4.3按鍵模塊圖4.4按鍵模塊電路圖在圖中共三個(gè)按鍵,第一個(gè)為設(shè)置按鍵,當(dāng)按下次數(shù)不同時(shí)會(huì)對(duì)時(shí)間的不同位設(shè)置,第二個(gè)位加按鍵,當(dāng)按下時(shí)時(shí)間的數(shù)字增加,第三個(gè)為減按鍵,當(dāng)按下時(shí),時(shí)間的數(shù)字減少。5、系統(tǒng)軟件設(shè)計(jì)5.1程序流程圖軟件設(shè)計(jì)分為:動(dòng)態(tài)掃描、主程序、系統(tǒng)資源分配和軟件模塊幾部分,在此設(shè)計(jì)中采用定時(shí)器來(lái)完成動(dòng)態(tài)掃描顯示。用定時(shí)器TO定20ms的時(shí)間間隔,每次定時(shí)時(shí)間到時(shí)就輸出一個(gè)LED信號(hào),即顯示一位。主程序初始化后,就開(kāi)始進(jìn)行對(duì)DS1302的讀時(shí)間;讀完
23、后送顯示緩沖區(qū),同時(shí)并對(duì)定時(shí)時(shí)間進(jìn)行判斷比較。DS1302的地址由114字節(jié)的用戶 RAM存放。10字節(jié)的存放實(shí)時(shí)時(shí)鐘時(shí)間日歷和定鬧 RAM及用于控制和狀態(tài)的4字節(jié)特殊寄存器組成,幾乎所有的128個(gè)字節(jié)直接讀寫(xiě)。設(shè)計(jì)程序有:主程序、讀取時(shí)間的子程序和顯示刷新程序。C 開(kāi)始圖5.1程序流程圖5.2程序清單及程序功能注釋#in clude<reg51.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charuchar a,sec,hour,min,day,moon,year,week,flag,key1 n,ZJL。/ZJ
24、L 為中間量#define yh 0x80 /LCD第一行的初始位置,因?yàn)?LCD1602字符地址首位D7恒定為1<100000000=80)#define er 0x80+0x40 /LCD第二行初始位置 < 因?yàn)榈诙械谝粋€(gè)字符位置地址是0x40)/液晶屏的與C51之間的引腳連接定義 <顯示數(shù)據(jù)線接 C51的P0 口)sbit rs=P3A5。sbit en=卩3人7。sbit rw=P3A6 。 /如果硬件上rw接地,就不用寫(xiě)這句和后面的rw=0 了/DS1302時(shí)鐘芯片與 C51之間的引腳連接定義sbit IO=P2A2 。sbit SCLK=P2A1。sbit RS
25、T=P2A0。sbit ACC0=ACCA0。sbit ACC7=ACCA7。/*ACC累加器=AACC.0=E0HACC.0就是ACC的第 0位。Acc可以位尋址。*/ 校時(shí)按鍵與 C51 的引腳連接定義sbit key 仁 P2A5。/ 設(shè)置鍵sbit key2=P2A6 。/ 加鍵sbit key3=P2A7 。 / 減鍵/*/uchar code tab1="20 - - "。 / 年顯示的固定字符uchar code tab2=" : : "。 / 時(shí)間顯示的固定字符/ 延時(shí)函數(shù),后面經(jīng)常調(diào)用void delay(uint xms>/ 延
26、時(shí)函數(shù),有參函數(shù)uint x,y 。for(x=xms 。 x>0。 x-> for(y=110。 y>0 。 y-> 。/* 液晶寫(xiě)入指令函數(shù)與寫(xiě)入數(shù)據(jù)函數(shù),以后可調(diào)用 */*在這個(gè)程序中,液晶寫(xiě)入有關(guān)函數(shù)會(huì)在 DS1302的函數(shù)中調(diào)用,所以液晶程序要放在前面*/write_1602com(uchar com>/* 液晶寫(xiě)入指令函數(shù) *rs=0 。 / 數(shù)據(jù)/指令選擇置為指令rw=0。 / 讀寫(xiě)選擇置為寫(xiě) P1=com。 / 送入數(shù)據(jù) delay(1> 。en=1 。 / 拉高使能端,為制造有效的下降沿做準(zhǔn)備delay(1> 。en=0。 /en 由
27、高變低,產(chǎn)生下降沿,液晶執(zhí)行命令write_1602dat(uchar dat>/* 液晶寫(xiě)入數(shù)據(jù)函數(shù) *rs=1 。 / 數(shù)據(jù)/指令選擇置為數(shù)據(jù)rw=0。 / 讀寫(xiě)選擇置為寫(xiě) P1=dat。 / 送入數(shù)據(jù) delay(1> 。en=1 。 /en 置高電平,為制造下降沿做準(zhǔn)備delay(1> 。en=0。 /en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令lcd_init(>/* 液晶初始化函數(shù) *write_1602com(0x38> 。 / 設(shè)置液晶工作模式,意思: 16*2 行顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)write_1602com(0x0c> 。 /
28、開(kāi)顯示不顯示光標(biāo) write_1602com(0x06> 。 / 整屏不移動(dòng),光標(biāo)自動(dòng)右移write_1602com(0x01> 。 / 清顯示 write_1602com(yh+1> 。/ 日歷顯示固定符號(hào)從第一行第 1 個(gè)位置之后開(kāi)始顯示 for(a=0 。a<14。a+>write_1602dat(tab1a> 。 / 向液晶屏寫(xiě)日歷顯示的固定符號(hào)部分 /delay(3> 。write_1602com(er+2> 。 / 時(shí)間顯示固定符號(hào)寫(xiě)入位置,從第 2 個(gè)位置后開(kāi)始顯示 for(a=0 。 a<8。 a+>write_160
29、2dat(tab2a> 。 / 寫(xiě)顯示時(shí)間固定符號(hào),兩個(gè)冒號(hào) /delay(3> 。/*DS1302有關(guān)子函數(shù) */*over*void write_byte(uchar dat>/ 寫(xiě)一個(gè)字節(jié) ACC=dat。RST=1。for(a=8 。 a>0。 a->IO=ACC0。SCLK=0。SCLK=1。ACC=ACC>»uchar read_byte(>/ 讀一個(gè)字節(jié)RST=1。for(a=8 。 a>0。 a->ACC7=IO。SCLK=1。SCLK=0。ACC=ACC>»return (ACC> 。向 1
30、302 芯片寫(xiě)函數(shù),指定寫(xiě)入地址,數(shù)據(jù)/void write_1302(uchar add,uchar dat>/ RST=0。SCLK=0。RST=1。 write_byte(add> 。 write_byte(dat> 。SCLK=1。RST=0。uchar read_1302(uchar add>/ 從 1302 讀數(shù)據(jù)函數(shù),指定讀取數(shù)據(jù)來(lái)源地址 uchar ZJL 。RST=0。SCLK=0。RST=1。 write_byte(add> 。 ZJL=read_byte(> 。SCLK=1。RST=0。return(ZJL> 。碼轉(zhuǎn)十進(jìn)制函數(shù),輸
31、入 BCD返回十進(jìn)制uchar BCD_Decimal(uchar bcd>/BCD uchar Decimal 。Decimal=bcd>>4 。return(Decimal=Decimal*10+(bcd&=0x0F>> 。IIvoid ds1302_init(> /1302 RST=0。SCLK=0。 write_1302(0x8e,0x00> /write_1302(0x80,0x12> /write_1302(0x82,0x12> /write_1302(0x84,0x12> /write_1302(0x8a,0x0
32、4> /write_1302(0x86,0x08> /write_1302(0x88,0x08> /write_1302(0x8c,0x12> write_1302(0x8e,0x80> /芯片初始化子函數(shù) (2018-06-17,00:00:00,week7>。 /。 /。 /。 /。 /。 /允許寫(xiě),禁止寫(xiě)保護(hù)II向DS1302內(nèi)寫(xiě)秒寄存器80H寫(xiě)入初始秒數(shù)據(jù)00 向DS1302內(nèi)寫(xiě)分寄存器82H寫(xiě)入初始分?jǐn)?shù)據(jù)00 向DS1302內(nèi)寫(xiě)小時(shí)寄存器84H寫(xiě)入初始小時(shí)數(shù)據(jù) 向DS1302內(nèi)寫(xiě)周寄存器8aH寫(xiě)入初始周數(shù)據(jù)7 向DS1302內(nèi)寫(xiě)日期寄存器向DS13
33、02內(nèi)寫(xiě)月份寄存器向DS1302內(nèi)寫(xiě)年份寄存器II 打開(kāi)寫(xiě)保護(hù)0086H寫(xiě)入初始日期數(shù)據(jù)88H 寫(xiě)入初始月份數(shù)據(jù)8cH 寫(xiě)入初始年份數(shù)據(jù)170612II 時(shí)分秒顯示子函數(shù)向LCD寫(xiě)時(shí)分秒,有顯示位置加、現(xiàn)示數(shù)據(jù),兩void write_sfm(uchar add,uchar dat>II 個(gè)參數(shù)uchar gw,sw 。 gw=dat%10。 / 取得個(gè)位數(shù)字sw=dat/10 。 / 取得十位數(shù)字write_1602com(er+add> 。 /er 是頭文件規(guī)定的值 0x80+0x40 write_1602dat(0x30+sw> 。/ 數(shù)字 +30 得到該數(shù)字的 LCD
34、1602顯示碼 write_1602dat(0x30+gw> 。/ 數(shù)字 +30 得到該數(shù)字的 LCD1602顯示碼/ 年月日顯示子函數(shù)void write_nyr(uchar add,uchar dat>/向LCD寫(xiě)年月日,有顯示位置加數(shù)、顯示數(shù)據(jù),兩個(gè)參數(shù)uchar gw,sw 。gw=dat%10。 / 取得個(gè)位數(shù)字 sw=dat/10 。 / 取得十位數(shù)字/ 設(shè)定顯示位置為第一個(gè)位置 +addo /數(shù)字+30得到該數(shù)字的LCD1602顯示碼o /數(shù)字+30得到該數(shù)字的LCD1602顯示碼寫(xiě)星期函數(shù)o / 星期字符的顯示位置write_1602com(yh+add>wr
35、ite_1602dat(0x30+sw> write_1602dat(0x30+gw>/void write_week(uchar week>/ write_1602com(yh+0x0c>switch(week>case 1:write_1602dat('M'>o / 星期數(shù)為 1時(shí),顯示write_1602dat('O'>owrite_1602dat('N'>obreak ocase 2:write_1602dat('T'>o / 星期數(shù)據(jù)為2 時(shí)顯示write_1602d
36、at('U'>owrite_1602dat('E'>obreak ocase 3:write_1602dat('W'>o / 星期數(shù)據(jù)為3 時(shí)顯示write_1602dat('E'>owrite_1602dat('D'>obreak ocase 4:write_1602dat('T'>o / 星期數(shù)據(jù)為4 是顯示write_1602dat('H'>owrite_1602dat('U'>obreak ocase 5:wri
37、te_1602dat('F'>o / 星期數(shù)據(jù)為5 時(shí)顯示write_1602dat('R'>owrite_1602dat('I'> break 。case 6:write_1602dat('S'> 。/ 星期數(shù)據(jù)為 6 時(shí)顯示 write_1602dat('T'> write_1602dat('A'> break 。case 7:write_1602dat('S'> 。/ 星期數(shù)據(jù)為 7 時(shí)顯示 write_1602dat('U
38、39;> write_1602dat('N'> break 。/*鍵盤掃描有關(guān)函數(shù) *void keyscan(>if(key1=0>/key1為功能鍵 <設(shè)置鍵)delay(9> 。/ 延時(shí),用于消抖動(dòng) if(key1=0>/ 延時(shí)后再次確認(rèn)按鍵按下delay(20> 。while(!key1> 。key1n+ 。if(key1n=9>key1n=1 。/ 設(shè)置按鍵共有秒、分、時(shí)、星期、日、月、年、返回, 8 個(gè)功 能循環(huán)switch(key1n>case 1: TR0=0 。 / 關(guān)閉定時(shí)器/TR1=0 。w
39、rite_1602com(er+0x09> 。 / 設(shè)置按鍵按動(dòng)一次,秒位置顯示光標(biāo) write_1602com(0x0f> 。 / 設(shè)置光標(biāo)為閃爍 ZJL=(sec>/10*16+(sec>%10 。 / 秒數(shù)據(jù)寫(xiě)入 DS1302 write_1302(0x8e,0x00> 。write_1302(0x80,0x80|ZJL> 。 /secwrite_1302(0x8e,0x80> 。break 。case 2: write_1602com(er+6>。 / 按 2 次 min 位置顯示光標(biāo)write_1602com(0x0f> 。bre
40、ak 。case 3: write_1602com(er+3> 。/ 按動(dòng) 3 次, hourwrite_1602com(0x0f> 。break 。case 4: write_1602com(yh+0x0e> 。 / 按動(dòng) 4 次, week/write_1602com(0x0f> break 。case 5: write_1602com(yh+0x0a> /write_1602com(0x0f> break 。case 6: write_1602com(yh+0x07> /write_1602com(0x0f> break 。case 7:
41、write_1602com(yh+0x04> /write_1602com(0x0f> break 。case 8:write_1602com(0x0c> TR0=1。 / 打開(kāi)定時(shí)器 ZJL=(sec>/10*16+(sec>%10 。 write_1302(0x8e,0x00> 。 write_1302(0x80,0x00|ZJL> write_1302(0x8e,0x80> 。 break 。 / 按動(dòng) 5 次, day。 / 按動(dòng) 6 次, moon。 / 按動(dòng) 7 次, year。 / 按動(dòng)到第 8 次,設(shè)置光標(biāo)不閃爍。 /sec 數(shù)據(jù)
42、寫(xiě)入 DS1302/ 加鍵 key2if(key1n!=0>/ 當(dāng) key1 按下以下。再按以下鍵才有效<按鍵次數(shù)不等于零) if(key2=0> / 上調(diào)鍵 delay(10> 。 if(key2=0>delay(20> 。 while(!key2> 。 switch(key1n> case 1:sec+ 。 / 設(shè)置鍵按動(dòng) 1 次,調(diào)秒 if(sec=60>sec=0 。/ 秒超過(guò) 59,再加 1,就歸零 write_sfm(0x08,sec>。/ 令 LCD 在正確位置顯示 "加" 設(shè)定好的秒數(shù)ZJL=(se
43、c>/10*16+(sec>%10 。 / 十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼write_1302(0x8e,0x00> 。 / 允許寫(xiě),禁止寫(xiě)保護(hù) write_1302(0x80,ZJL>。/向DS1302內(nèi)寫(xiě)秒寄存器 80H寫(xiě)入調(diào)整后的秒數(shù)據(jù)BCD碼write_1302(0x8e,0x80> 。 / 打開(kāi)寫(xiě)保護(hù) write_1602com(er+0x09> 。 / 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后, 光標(biāo)自動(dòng)右移,所以要指定返回/write_1602com(0x0b> 。 break 。case 2:min+ 。if(min=60>
44、 min=0 。write_sfm(0x05,min>。/ 令 LCD 在正確位置顯示 "加" 設(shè)定好的分?jǐn)?shù)據(jù)ZJL=(min>/10*16+(min>%10 。 / 十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼write_1302(0x8e,0x00>。 / 允許寫(xiě),禁止寫(xiě)保護(hù)write_1302(0x82,ZJL> 。 / 向 DS1302 內(nèi)寫(xiě)分寄存器 82H 寫(xiě)入調(diào)整 后的分?jǐn)?shù)據(jù)BCD碼write_1302(0x8e,0x80>。 / 打開(kāi)寫(xiě)保護(hù)write_1602com(er+6> 。/ 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后,
45、指 針自動(dòng)加一,在這里是寫(xiě)回原來(lái)的位置break 。case 3:hour+ 。 if(hour=24> hour=0 。write_sfm(2,hour> 。 /令LCD在正確的位置顯示 "加"設(shè)定好的小 時(shí)數(shù)據(jù)ZJL=(hour>/10*16+(hour>%10。/ 十進(jìn)制轉(zhuǎn)換成 DS1302要求的 DCB碼write_1302(0x8e,0x00>。 / 允許寫(xiě),禁止寫(xiě)保護(hù)write_1302(0x84,ZJL>。/向DS1302內(nèi)寫(xiě)小時(shí)寄存器 84H寫(xiě)入調(diào)整后的小時(shí)數(shù)據(jù) BCD碼write_1302(0x8e,0x80>。
46、/ 打開(kāi)寫(xiě)保護(hù)write_1602com(er+3> 。 / 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后,指 針自動(dòng)加一,所以需要光標(biāo)回位break 。case 4:week+ 。if(week=8> week=1。write_1602com(yh+0x0C>。 / 指定' 加' 后的周數(shù)據(jù)顯示位置write_week(week> 。 / 指定周數(shù)據(jù)顯示內(nèi)容ZJL=(week>/10*16+(week>%10。/ 十進(jìn)制轉(zhuǎn)換成 DS1302要求的 DCB碼write_1302(0x8e,0x00>。 / 允許寫(xiě),禁止寫(xiě)保護(hù)write_1302(0x
47、8a,ZJL> 。/向DS1302內(nèi)寫(xiě)周寄存器 8aH寫(xiě)入調(diào)整 后的周數(shù)據(jù)BCD碼write_1302(0x8e,0x80>。 / 打開(kāi)寫(xiě)保護(hù)write_1602com(yh+0x0e> 。 / 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后,指針自動(dòng)加一,所以需要光標(biāo)回位break 。case 5:day+ 。 if(moon=1>if(day=32> day=1 。 if(moon=2>if(year/4=0&&year/100!=0>|(year/400=0>>/ 判斷是否閏年 if(day=29>day=1 。 else if
48、(day=28> day=1。 if(moon=3>if(day=32> day=1 。 if(moon=4>if(day=31> day=1 。 if(moon=5>if(day=32> day=1 。 if(moon=6>if(day=31> day=1 。 if(moon=7>if(day=32> day=1 。 if(moon=8>if(day=32> day=1 。 if(moon=9>if(day=31> day=1 。 if(moon=10>if(day=32> day=1 。
49、if(moon=11>if(day=31> day=1 。 if(moon=12>if(day=32> day=1。/ 設(shè)定, 1、3、5、7、8、10、12 月有 31 天,4、 6、9、11月有 30 天,二月閏年有 29 天,平年有 28 天write_nyr(9,day> 。 /令LCD在正確的位置顯示”力設(shè)定好的日期數(shù)據(jù)ZJL=(day>/10*16+(day>%10 。 / 十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCBwrite_1302(0x8e,0x00> write_1302(0x86,ZJL> 整后的日期數(shù)據(jù) BCD碼wr
50、ite_1302(0x8e,0x80> write_1602com(yh+10> 針自動(dòng)加一,所以需要光標(biāo)回位。 / 允許寫(xiě),禁止寫(xiě)保護(hù)。 / 向 DS1302 內(nèi)寫(xiě)日期寄存器 86H 寫(xiě)入調(diào)。 / 打開(kāi)寫(xiě)保護(hù)。/ 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后,指break 。case 6:moon+ 。if(moon=13>moon=1。份數(shù)據(jù)碼write_nyr(6,moon> 。 II令LCD在正確的位置顯示 "加"設(shè)定好的月ZJL=(moon>/10*16+(moon>%10。 / 十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCBwrite_1302
51、(0x8e,0x00>。 II 允許寫(xiě),禁止寫(xiě)保護(hù)write_1302(0x88,ZJL>。II向DS1302內(nèi)寫(xiě)月份寄存器 88H寫(xiě)入調(diào)整后的月份數(shù)據(jù) BCD碼write_1302(0x8e,0x80>。 II 打開(kāi)寫(xiě)保護(hù)write_1602com(yh+7> 。 II 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后,指 針自動(dòng)加一,所以需要光標(biāo)回位break 。case 7:year+ 。if(year=100> year=0 。 write_nyr(3,year>。II令LCD在正確的位置顯示 "加"設(shè)定好的年份數(shù)據(jù)ZJL=(year>/10
52、*16+(year>%10。II 十進(jìn)制轉(zhuǎn)換成 DS1302要求的 DCB碼write_1302(0x8e,0x00>。 II 允許寫(xiě),禁止寫(xiě)保護(hù)write_1302(0x8c,ZJL> 。II向DS1302內(nèi)寫(xiě)年份寄存器8cH寫(xiě)入調(diào)整后的年份數(shù)據(jù) BCD碼write_1302(0x8e,0x80>。 II 打開(kāi)寫(xiě)保護(hù)write_1602com(yh+4> 。 II 因?yàn)樵O(shè)置液晶的模式是寫(xiě)入數(shù)據(jù)后,指 針自動(dòng)加一,所以需要光標(biāo)回位break 。II 減鍵key3,各句功能參照加鍵注釋if(key3=0>delay(10> 。 II 調(diào)延時(shí),消抖動(dòng)if(key3=0>delay(20> 。while(!key3> 。 switch(key1n> case 1:sec-write_sfm(0x08,sec>ZJL=(sec>/10*16+(sec>%10。 /write_1302(0x8e,0x00>write_1302(0x80,ZJL>后的秒數(shù)據(jù)BCD碼write_1302(0x8e,0x80>write_1602com(er+0x09>指針自動(dòng)加一,在這里是寫(xiě)回原來(lái)的位置/write_1602com(0x0b>break 。case 2
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題5.2 平面向量基本定理及坐標(biāo)表示(原卷版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 2020-2021深圳市寶安區(qū)鵬暉中英文學(xué)校小學(xué)五年級(jí)數(shù)學(xué)下期中模擬試題及答案
- 肇慶車庫(kù)畫(huà)線施工方案
- 河北省邢臺(tái)隆堯縣聯(lián)考2025屆畢業(yè)升學(xué)考試模擬卷生物卷含解析
- 加油站車位出租合同范例
- 醫(yī)療專項(xiàng)設(shè)計(jì)合同范本
- 品牌故事的創(chuàng)作與傳播計(jì)劃
- 班級(jí)年度培訓(xùn)計(jì)劃
- 班級(jí)理論知識(shí)競(jìng)賽的組織與實(shí)施計(jì)劃
- 敏捷管理方法在團(tuán)隊(duì)中的實(shí)踐計(jì)劃
- 2025春季開(kāi)學(xué)第一課安全教育班會(huì)課件-
- 2025復(fù)工復(fù)產(chǎn)安全教育培訓(xùn)
- 中國(guó)高血壓防治指南(2024年修訂版)
- 眼鏡學(xué)智慧樹(shù)知到答案2024年溫州醫(yī)科大學(xué)
- 閃耀明天 二聲部合唱簡(jiǎn)譜
- 《中國(guó)河流和湖泊》填圖
- 全民所有制企事業(yè)單位專業(yè)技術(shù)人員和管理人員辭職暫行規(guī)定
- 公司危險(xiǎn)廢物管理制度.doc
- 案防工作管理辦法銀行
- 挖掘機(jī)駁船作業(yè)專項(xiàng)方案
- 技術(shù)轉(zhuǎn)讓的基本理論
評(píng)論
0/150
提交評(píng)論