




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄1方案設(shè)計(jì) 1.1單片機(jī)電子時(shí)鐘的背景 11.2電子時(shí)鐘的意義 11.3電子時(shí)鐘的工作原理及其具體實(shí)現(xiàn) 11.4設(shè)計(jì)任務(wù) 22電路方案設(shè)計(jì) 32.1模塊一電路圖 32.2模塊二電路圖 32.3模塊三電路圖 42.4總電路圖 43程序設(shè)計(jì) 53.1主程序流程圖 53.2模塊一DS1302流程圖 63.3模塊二12864LCD流程圖 83.4模塊三DS18B20流程圖 73.5源程序 74仿真與調(diào)試 7總結(jié)語(yǔ) 7參考文獻(xiàn) 71方案設(shè)計(jì)1.1單片機(jī)電子時(shí)鐘的背景隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展,單片機(jī)已經(jīng)在工業(yè)過(guò)程控制、智能儀表、計(jì)算機(jī)集成控制、人工智能、通信設(shè)備的智能化以及家電的智能化等方面得到廣泛的應(yīng)用。以單片機(jī)和微控制器為核心仍然是當(dāng)今實(shí)現(xiàn)智能化技術(shù)的主流。隨著單片機(jī)技術(shù)廣泛地應(yīng)用與人們生活的各個(gè)方面,一些人們經(jīng)常使用的產(chǎn)品大多數(shù)是基于單片機(jī)研發(fā)的,如電子時(shí)鐘。鐘表從原來(lái)的沙漏計(jì)時(shí)和機(jī)械打點(diǎn)塔鐘等演變到如今的電池驅(qū)動(dòng)鐘、交流鐘、指針式石英電子鐘表和數(shù)字式石英電子鐘表,并且鐘表的準(zhǔn)確度越來(lái)越高了。隨著人們的時(shí)間觀念逐漸地增強(qiáng),時(shí)鐘在我們?nèi)祟惖氖澜缋锇缪葜粋€(gè)非常重要的角色,幾乎出現(xiàn)在我們生活的各個(gè)角落里,并且人們幾乎離不開(kāi)它了。如今的時(shí)鐘的功能更加全面,與機(jī)械時(shí)鐘相比具有更高的正確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的壽命,因此廣泛地應(yīng)用于人類正常生活中,得到人們的關(guān)注和研發(fā)。1.2電子時(shí)鐘的意義電子時(shí)鐘采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒和數(shù)字顯示的計(jì)時(shí)裝置,廣泛使用于個(gè)人家庭、車站、機(jī)場(chǎng)等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵罚o人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)了極大的方便。由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得電子時(shí)鐘的精度、穩(wěn)定性大幅度提高。現(xiàn)在的鐘表的功能越來(lái)越強(qiáng),具有定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)啟閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,因此,研究數(shù)字時(shí)鐘及其擴(kuò)展,有著重大意義。1.3電子時(shí)鐘的工作原理及其具體實(shí)現(xiàn)電子時(shí)鐘的工作原理是采用單片機(jī)最小系統(tǒng),用DS1302時(shí)鐘芯片和12864LCD液晶顯示屏芯片以及DS18B20溫度傳感器分別進(jìn)行寄存相關(guān)信息、顯示年月日時(shí)分秒和采取溫度,用四個(gè)鍵分別實(shí)現(xiàn)選擇調(diào)整對(duì)象為、增加調(diào)節(jié)對(duì)象的數(shù)值、減少調(diào)節(jié)對(duì)象的數(shù)值和調(diào)整確定,采用24小時(shí)制、定時(shí)器0中斷和外部中斷0,從而實(shí)現(xiàn)可調(diào)式中文電子日歷、溫度及整點(diǎn)報(bào)時(shí)功能。采用定時(shí)器0中斷,定時(shí)50ms,其中斷服務(wù)程序的功能是將時(shí)間和日期顯示到LCD上。每1s時(shí)間,刷新液晶顯示屏上的秒鐘數(shù)值;每60s時(shí)間,刷新顯示屏的分鐘數(shù)值;每60min時(shí)間,刷新顯示屏的小時(shí)數(shù)值;每24h時(shí)間,刷新顯示屏的日期;星期是通過(guò)年月日進(jìn)行調(diào)整;溫度是通過(guò)溫度傳感器芯片DS18B20進(jìn)行調(diào)整;時(shí)鐘每次到整點(diǎn)時(shí),通過(guò)蜂鳴器進(jìn)行整點(diǎn)報(bào)時(shí)。采用外部中斷0實(shí)現(xiàn)時(shí)鐘的調(diào)整,將四個(gè)鍵通過(guò)“與門”連接單片機(jī)P3^2端口,從而通過(guò)鍵產(chǎn)生外部中斷信號(hào)。當(dāng)要調(diào)整日期時(shí)間的時(shí)候,首先要按K1鍵來(lái)選擇調(diào)整對(duì)象,否則按其他鍵不會(huì)進(jìn)行時(shí)間調(diào)整,然后可以按K2和K3鍵對(duì)日期時(shí)間進(jìn)行加減調(diào)整,最后按K4鍵可以將改動(dòng)的日期時(shí)間重新顯示到LCD上。并且每次按下鍵后,都會(huì)通過(guò)蜂鳴器發(fā)出按鍵聲音。1.4設(shè)計(jì)任務(wù)(1)可調(diào)式中文電子日歷的硬件和軟件設(shè)計(jì);(2)畫(huà)出程序流程圖;(3)編寫(xiě)代碼;(4)程序分析與調(diào)試;2電路方案設(shè)計(jì)2.1模塊一電路圖該模塊主要通過(guò)DS1302時(shí)鐘芯片實(shí)現(xiàn)計(jì)算秒、分、時(shí)、星期、日、月、年的信息,且具有閏年補(bǔ)償?shù)墓δ埽湓趐roteus中的電路圖如圖2.1.1所示。圖2.1.1記錄年月日秒分時(shí)星期的電路圖2.2模塊二電路圖該模塊主要通過(guò)12864LCD實(shí)現(xiàn)中文電子日歷功能,其在proteus中的電路圖如圖2.2.1所示圖2.2.1顯示時(shí)間電路圖2.3模塊三電路圖該模塊主要通過(guò)DS18B20溫度傳感芯片、四個(gè)鍵以及蜂鳴器實(shí)現(xiàn)溫度采集,時(shí)間調(diào)節(jié)和鬧鐘等功能。圖2.3.1時(shí)間調(diào)整電路圖2.4總電路圖如圖2.4.1所示。圖2.4.1總體硬件電路圖3程序設(shè)計(jì)3.1主程序流程圖圖3.1.1主函數(shù)流程圖3.2模塊一DS1302流程圖圖3.2.1獲取當(dāng)前時(shí)間的流程圖圖3.2.2年月日時(shí)分秒++/--流程圖
圖3.2.3定時(shí)器0的中斷服務(wù)程序圖3.2.4外部中斷0服務(wù)程序3.3模塊二12864LCD流程圖圖3.3.1LCD初始化流程圖圖3.3.2通用顯示函數(shù)流程圖3.4模塊三DS18B20流程圖圖3.41讀取溫度值3.5源程序#include<reg51.h>#include<intrins.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedintsbitSDA=P1^0;/*DS1302數(shù)據(jù)線*/sbitCLK=P1^1;/*DS1302時(shí)鐘線*/sbitRST=P1^2;/*DS1302復(fù)位線*/sbitK1=P3^4;/*選擇鍵*/sbitK2=P3^5;/*加鍵*/sbitK3=P3^6;/*減鍵*/sbitK4=P3^7;/*確定鍵*/sbitSPK=P2^6;/*************子函數(shù)定義***************//*************顯示年函數(shù)***************/externvoidLCD_Initialize();/*液晶初始化函數(shù)*//*******讀取溫度值******/externvoidRead_Temperature();externvoidDisplay_Temperature();/*顯示時(shí)間函數(shù)*/externvoidDisplay_A_Char_8X16(ucharP,ucharL,ucha*M)reentrant;/*顯示年月日,星期,時(shí)分秒的固定漢字函數(shù)*/externvoidDisplay_A_WORD(ucharP,ucharL,uchar*M)reentrant;voidBeep();/*啟動(dòng)蜂鳴器函數(shù)*//*在調(diào)整日期時(shí)間時(shí),用該位決定是否反白顯示*/externbitReverse_Display;externucharDisplay_Digit[]={0,0,0,0};/*待顯示的各溫度數(shù)位*/externbitDS18B20_IS_OK=1;/*傳感器正常標(biāo)志*//*********全局變量和數(shù)組定義*********/uchartCount=0;/*一年中每個(gè)月的天數(shù),2月的天數(shù)由年份決定*/ucharMonthsDays[]={0,31,0,31,30,31,30,31,31,30,31,30,31};/*所讀取的日期時(shí)間*/ucharDateTime[7];/*當(dāng)前調(diào)整的時(shí)間對(duì)象:秒,分,時(shí),日,月,星期,年(0,1,2,3,4,5,6)變量*//*其中星期由年月日調(diào)整自動(dòng)完成*/charAdjust_Index=-1;ucharH_Offset=10,V_Page_Offset=0;/*水平與垂直偏移變量*//*年月日,星期,時(shí)分秒漢字點(diǎn)陣16乘16*/ucharcodeDATE_TIME_WORDS[]={0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*年*/0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00,/*月*/0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,/*日*/0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00,/*星*/0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00,/*期*/0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,/*時(shí)*/0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,/*分*/0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00,/*秒*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*溫*/0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,/*度*/};/*星期幾的漢字點(diǎn)陣16乘16*/ucharcodeWEEKDAY_WORDS[]={0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,/*日*/0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*一*/0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00,/*二*/0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,/*三*/0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00,/*四*/0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00,/*五*/0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00,/*六*/};/*半角數(shù)字點(diǎn)陣8乘16*/ucharcodeDIGITS[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*0*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*1*/0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/*2*/0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*3*/0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*4*/0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*5*/0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*6*/0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*7*/0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*8*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,/*9*/};/*生日快樂(lè)歌的音符頻率表,不同的頻率由不同的延時(shí)值來(lái)決定*/ucharcodeSONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0};/*生日快樂(lè)歌節(jié)拍表,節(jié)拍表決定了每個(gè)音符的演奏長(zhǎng)短*/ucharcodeSONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0};voidDelayMS(uintx)/*調(diào)用延時(shí)子函數(shù)*/{uchari;while(x--)for(i=0;i<120;i++);}voidPlayMusic()/*音樂(lè)播放函數(shù)*/{uinti=0,j,k;while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){/*播放各個(gè)音符,SONG_LONG為拍*/for(j=0;j<SONG_LONG[i]*20;j++){SPK=~SPK;/*SONG_TONE延時(shí)表決定了每個(gè)音符的頻率*/for(k=0;k<SONG_TONE[i]/3;k++);}DelayMS(100);/*下一個(gè)音符的索引*/i++;}}voidAlarm(uchart)/*溫度報(bào)警函數(shù)*/{uchari,j;for(i=0;i<200;i++){SPK=~SPK;/*由參數(shù)t形成不同的頻率*/for(j=0;j<t;j++);}}/*向DS1302寫(xiě)入一字節(jié)*/voidWrite_A_Byte_TO_DS1302(ucharx){uchari;for(i=0;i<8;i++){SDA=x&1;CLK=1;CLK=0;x>>=1;}}/*從DS1302讀取一字節(jié)*/ucharGet_A_Byte_FROM_DS1302(){uchari,b,t;for(i=0;i<8;i++){b>>=1;t=SDA;b|=t<<7;CLK=1;CLK=0;}/*BCD碼轉(zhuǎn)換*/return(b/16*10+b%16);}/*從DS1302指定位置讀數(shù)據(jù)*/ucharRead_Data(ucharaddr)}uchardat;RST=0;CLK=0;RST=1;Write_A_Byte_TO_DS1302(addr);dat=Get_A_Byte_FROM_DS1302();CLK=1;RST=0;returndat;}/*向DS1302某地址寫(xiě)入數(shù)據(jù)*/voidWrite_DS1302(ucharaddr,uchardat){CLK=0;RST=1;Write_A_Byte_TO_DS1302(addr);Write_A_Byte_TO_DS1302(dat);CLK=1;RST=0;}/*設(shè)置時(shí)間*/voidSET_DS1302(){uchari;Write_DS1302(0x8E,0x00);/*秒分時(shí)日月年依次寫(xiě)入*/for(i=0;i<7;i++){/*秒,分,時(shí),日,月,星期,年的起始地址分別為0x80,0x82,0x84,0x86,0x88,0x8A,0x8C*/Write_DS1302(0x80+2*i,(DateTime[i]/10<<4)|(DateTime[i]%10));}Write_DS1302(0x8E,0x80);}/*讀取當(dāng)前時(shí)間*/voidGetTime(){uchari;for(i=0;i<7;i++){DateTime[i]=Read_Data(0x81+2*i);}}ucharisLeapYear(uinty)/*判斷是否為閏年*/{return(y%4==0&&y%100!=0)||(y%400==0);}/*********刷新星期******/voidRefreshWeekDay(){uinti,d,w=5;/*已知1999.12.31是周五*/for(i=2000;i<2000+DateTime[6];i++){d=isLeapYear(i)?366:365;w=(w+d)%7;}d=0;for(i=1;i<DateTime[4];i++)d+=MonthsDays[i];d+=DateTime[3];/*保存星期,0~6表示星期日,星期一,二,三,四,五,六,為了與DS1302的星期格式匹配,返回值需要加1*/DateTime[5]=(w+d)%7+1;}/*蜂鳴器函數(shù)*/voidBeep(uchart){uchari;for(i=0;i<100;i++){SPK=~SPK;DelayMS(t);}SPK=0;}voidDateTime_Adjust(charx)/*年月日時(shí)分++或--*/{switch(Adjust_Index){case6:/*年00-99*/if(x==1&&DateTime[6]<99)DateTime[6]++;if(x==-1&&DateTime[6]>0)DateTime[6]--;/*獲取2月天數(shù)*/MonthsDays[2]=isLeapYear(2000+DateTime[6])?29:28;/*如果年份變化后當(dāng)前月份的天數(shù)大于上限則設(shè)為上限*/if(DateTime[3]>MonthsDays[DateTime[4]])DateTime[3]=MonthsDays[DateTime[4]];RefreshWeekDay();/*刷新星期*/break;case4:/*月01至12*/if(x==1&&DateTime[4]<12)DateTime[4]++;if(x==-1&&DateTime[4]>1)DateTime[4]--;/*獲取2月天數(shù)*/MonthsDays[2]=isLeapYear(2000+DateTime[6])?29:28;/*如果年份變化后當(dāng)前月份的天數(shù)大于上限則設(shè)為上限*/if(DateTime[3]>MonthsDays[DateTime[4]])DateTime[3]=MonthsDays[DateTime[4]];RefreshWeekDay();/*刷新星期*/break;case3:/*日00至28/29/30/31;調(diào)節(jié)之前首先根據(jù)年份得出該年中2月的天數(shù)*/MonthsDays[2]=isLeapYear(2000+DateTime[6])?29:28;/*再根據(jù)當(dāng)前月份決定調(diào)節(jié)日期的上限*/if(x==1&&DateTime[3]<MonthsDays[DateTime[4]])DateTime[3]++;if(x==-1&&DateTime[3]>0)DateTime[3]--;RefreshWeekDay();/*刷新星期*/break;case2:/*小時(shí)*/if(x==1&&DateTime[2]<23)DateTime[2]++;DateTime[2]--;break;case1:/*分鐘*/if(x==1&&DateTime[1]<59)DateTime[1]++;if(x==-1&&DateTime[1]>0)DateTime[1]--;break;case0:/*秒*/if(x==1&&DateTime[0]<59)DateTime[0]++;break;}}/*定時(shí)器0每秒刷新LCD顯示*/voidT0_INT()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(++tCount!=2)return;tCount=0;/*年(后兩位)*/Reverse_Display=Adjust_Index==6;Display_A_Char_8X16(V_Page_Offset,70+H_Offset,DIGITS+DateTime[6]/10*16);Display_A_Char_8X16(V_Page_Offset,78+H_Offset,DIGITS+DateTime[6]%10*16);/*星期*/Reverse_Display=Adjust_Index==5;Display_A_WORD(V_Page_Offset+3,32+H_Offset,WEEKDAY_WORDS+(DateTime[5]%10-1)*32);/*月*/Reverse_Display=Adjust_Index==4;Display_A_Char_8X16(V_Page_Offset,102+H_Offset,DIGITS+DateTime[4]/10*16);Display_A_Char_8X16(V_Page_Offset,110+H_Offset,DIGITS+DateTime[4]%10*16);/*日*/Reverse_Display=Adjust_Index==3;Display_A_Char_8X16(V_Page_Offset,5+H_Offset,DIGITS+DateTime[3]/10*16);Display_A_Char_8X16(V_Page_Offset,13+H_Offset,DIGITS+DateTime[3]%10*16);/*時(shí)*/Reverse_Display=Adjust_Index==2;Display_A_Char_8X16(V_Page_Offset+6,56+H_Offset,DIGITS+DateTime[2]/10*16);Display_A_Char_8X16(V_Page_Offset+6,64+H_Offset,DIGITS+DateTime[2]%10*16);/*分鐘*/Reverse_Display=Adjust_Index==1;Display_A_Char_8X16(V_Page_Offset+6,88+H_Offset,DIGITS+DateTime[1]/10*16);Display_A_Char_8X16(V_Page_Offset+6,96+H_Offset,DIGITS+DateTime[1]%10*16);/*秒*/Reverse_Display=Adjust_Index==0;Display_A_Char_8X16(V_Page_Offset+6,-10+H_Offset,DIGITS+DateTime[0]/10*16);Display_A_Char_8X16(V_Page_Offset+6,-2+H_Offset,DIGITS+DateTime[0]%10*16);}/*鍵盤中斷(INT0)*/voidEX_INT0()interrupt0{if(K1==0)/*選擇調(diào)整對(duì)象*/{Beep(1);if(Adjust_Index==-1||Adjust_Index==0)Adjust_Index=7;Adjust_Index--;if(Adjust_Index==5)Adjust_Index=4;/*跳過(guò)對(duì)星期的調(diào)整*/}elseif(K2==0)/*加*/{Beep(1);DateTime_Adjust(1);}elseif(K3==0)/*減*/{Beep(1);DateTime_Adjust(-1);}elseif(K4==0)/*確定*/{Beep(1);SET_DS1302();/*將調(diào)整后的時(shí)間寫(xiě)入DS1302*/Adjust_Index=-1;/*操作索引重設(shè)為-1,時(shí)間繼續(xù)正常顯示*/}}/***************主函數(shù)**********************/voidmain(){LCD_Initialize();/*液晶初始化*/Read_Temperature();DelayMS(50);DelayMS(50);/****顯示年的固定前兩位****/Display_A_Char_8X16(V_Page_Offset,55+H_Offset,DIGITS+2*16);Display_A_Char_8X16(V_Page_Offset,62+H_Offset,DIGITS);/*******顯示固定漢字:年月日,星期,時(shí)分秒,溫度:********/Display_A_WORD(V_Page_Offset,86+H_Offset,DATE_TIME_WORDS+0*32);Display_A_WORD(V_Page_Offset,-10+H_Offset,DATE_TIME_WORDS+1*32);Display_A_WORD(V_Page_Offset,21+H_Offset,DATE_TIME_WORDS+2*32);Display_A_WORD(V_Page_Offset+3,0+H_Offset,DATE_TIME_WORDS+3*32);Display_A_WORD(V_Page_Offset+3,16+H_Offset,DATE_TIME_WORDS+4*32);Display_A_WORD(V_Page_Offset+3,56+H_Offset,DATE_TIME_WORDS+8*32);Display_A_WORD(V_Page_Offset+3,72+H_Offset,DATE_TIME_WORDS+9*32);Display_A_WORD(V_Page_Offset+6,72+H_Offset,DATE_TIME_WORDS+5*32);Display_A_WORD(V_Page_Offset+6,104+H_Offset,DATE_TIME_WORDS+6*32);Display_A_WORD(V_Page_Offset+6,6+H_Offset,DATE_TIME_WORDS+7*32);/****************允許外部中斷,定時(shí)器0中斷*******************/IE=0x83;IP=0x01;IT0=0x01;TMOD=0x01;TH0=0x3C;TL0=0xB0;TR0=1;while(1){/******如果未執(zhí)行調(diào)整時(shí)間操作,則就繼續(xù)顯示當(dāng)前時(shí)間*******/if(Adjust_Index==-1)GetTime();Read_Temperature();if(DS18B20_IS_OK)Display_Temperature();DelayMS(100);/*溫度*/if(Display_Digit[3]!=0)Display_A_Char_8X16(V_Page_Offset+3,80+H_Offset,DIGITS+Display_Digit[3]*16);if(Display_Digit[3]==0&&Display_Digit[2]!=0)Display_A_Char_8X16(V_Page_Offset+3,88+H_Offset,DIGITS+Display_Digit[2]*16);Display_A_Char_8X16(V_Page_Offset+3,96+H_Offset,DIGITS+Display_Digit[1]*16);if((Display_Digit[3]!=0)||((Display_Digit[2]==6)&&(Display_Digit[1]==5))){Alarm(90);Alarm(120);}if(DateTime[0]==0&&DateTime[1]==0){Playmusic();DelayMS(5001);}}}/*LCD_12864.c*//*名稱:12864LCD顯示驅(qū)動(dòng)程序(不帶字庫(kù))*/#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineLCD_DB_PORTP0/*液晶DB0~DB7*/#defineLCD_START_ROW0xC0/*起始行*/#defineLCD_PAGE0xB8/*頁(yè)指令*/#defineLCD_COL0x40/*列指令*//*****液晶引腳定義******/sbitDI=P2^0;sbitRW=P2^1;sbitE=P2^2;sbitCS1=P2^3;sbitCS2=P2^4;sbitRS=P2^5;/*是否反相顯示(白底黑字/黑底白字)*/bitReverse_Display=0;/*檢查L(zhǎng)CD是否忙*/bitLCD_Check_Busy(){RW=1;_nop_();DI=0;E=1;_nop_();E=0;return(bit)(P0&0x80);}/*向LCD發(fā)送命令*/voidLCD_Write_Command(ucharc){while(LCD_Check_Busy());LCD_DB_PORT=0x00;RW=0;_nop_();DI=0;LCD_DB_PORT=c;E=1;_nop_();E=0;}/*向LCD發(fā)送數(shù)據(jù)*/voidLCD_Write_Data(uchard){while(LCD_Check_Busy());LCD_DB_PORT=0x00;RW=0;_nop_();DI=1;/*根據(jù)Reverse_Display決定是否反相顯示*/if(!Reverse_Display)LCD_DB_PORT=d;elseLCD_DB_PORT=~d;E=1;_nop_();E=0;}/*初始化LCD*/voidLCD_Initialize(){CS1=1;CS2=1;LCD_Write_Command(0x38);/*8位形式,2行字符*/LCD_Write_Command(0x0F);/*開(kāi)顯示*/LCD_Write_Command(0x01);/*清屏*/LCD_Write_Command(0x06);/*畫(huà)面不動(dòng)光標(biāo)右移*/LCD_Write_Command(LCD_START_ROW);/*設(shè)置起始行*/}/*********通用顯示函數(shù)*********//*從第p頁(yè)第L列開(kāi)始顯示W(wǎng)字節(jié),數(shù)據(jù)在r所指向的緩沖*//*每字節(jié)8位是垂直顯示的,高位在下,低位在上*//*每個(gè)8*128的矩形區(qū)域?yàn)橐豁?yè)(每頁(yè)分左半頁(yè)與右半頁(yè))*//*整個(gè)LCD又由64*64的左半屏和64*64的右半屏構(gòu)成*/voidCommon_Show(ucharP,ucharL,ucharW,uchar*r)reentrant{uchari;if(L<64)/*顯示在左半屏或右半屏*/{CS1=1;CS2=0;LCD_Write_Command(LCD_PAGE+P);LCD_Write_Command(LCD_COL+L);if(L+W<64)/*全部顯示在左半屏*/{for(i=0;i<W;i++)LCD_Write_Data(r[i]);}else/*如果越界則跨越左右半屏顯示*/{for(i=0;i<64-L;i++)LCD_Write_Data(r[i]);/*左半屏顯示*/CS1=0;CS2=1;/*右半屏顯示*/LCD_Write_Command(LCD_PAGE+P);LCD_Write_Command(LCD_COL);for(i=64-L;i<W;i++)LCD_Write_Data(r[i]);}}else/*全部顯示在左右半屏*/{CS1=0;CS2=1;LCD_Write_Command(LCD_PAGE+P);LCD_Write_Command(LCD_COL+L-64);for(i=0;i<W;i++)LCD_Write_Data(r[i]);}}/*顯示一個(gè)8*16點(diǎn)陣字符*/voidDisplay_A_Char_8X16(ucharP,ucharL,uchar*M)reentrant{Common_Show(P,L,8,M);/*顯示漢字上半部分*/Common_Show(P+1,L,8,M+8);}/*顯示一個(gè)16*16點(diǎn)陣漢字*/voidDisplay_A_WORD(ucharP,ucharL,uchar*M)reentrant{Common_Show(P,L,16,M);/*顯示漢字上部分*/Common_Show(P+1,L,16,M+16);/*顯示漢字下部分*/}/*名稱:DS18B20溫度傳感器*/#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#definedelayNOP(){_nop_();_nop_();_nop_();_nop_();}sbitDQ=P3^3;ucharCurrentT=0;/*當(dāng)前溫度整數(shù)部分*/ucharTemp_Value[]={0x00,0x00};/*從DS18B20讀取的溫度值*//************延時(shí)2************/voidDelay(uintx){while(--x);}/*************初始化DS18B20**************/ucharInit_DS18B20(){ucharstatus;DQ=1;Delay(8);DQ=0;Delay(90);DQ=1;Delay(8);status=DQ;Delay(100);DQ=1;returnstatus;}/*************讀一字節(jié)*************/ucharReadOneByte(){uchari,dat=0;DQ=1;_nop_();for(i=0;i<8;i++){DQ=0;dat>>=1;DQ=1;_nop_();_nop_();if(DQ)dat|=0x80;Delay(30);DQ=1;}returndat;/*************寫(xiě)一字節(jié)**********/voidWriteOneByte(uchardat){uchari;for(i=0;i<8;i++){DQ=0;DQ=dat&0x01;Delay(5);DQ=1;dat>>=1;}}/*******讀取溫度值******/voidRead_Temperature(){if(Init_DS18B20()==1)/*判斷DS18B20故障*/DS18B20_IS_OK=0;else{WriteOneByte(0xCC);/*跳過(guò)序列號(hào)*/WriteOneByte(0x44);/*啟動(dòng)溫度寄存器*/Init_DS18B20();WriteOneByte(0xCC);/*跳過(guò)序列號(hào)*/WriteOneByte(0xBE);/*讀取溫度寄存器*/Temp_Value[0]=ReadOneByte();/*溫度低8位*/Temp_Value[1]=ReadOneByte();/*溫度高8位*/DS18B20_IS_OK=1;}}/*在12864LCD上顯示當(dāng)前溫度*/voidDisplay_Temperature(){uchari;/*延時(shí)值與負(fù)數(shù)標(biāo)識(shí)*/uchart=150,ng=0;/*高五位全為1(0xF8)則為負(fù)數(shù),為負(fù)數(shù)時(shí)取反加1,并設(shè)置負(fù)數(shù)標(biāo)識(shí)*/if((Temp_Value[1]&0xF8)==0xF8){Temp_Value[1]=~Temp_Value[1];Temp_Value[0]=~Temp_Value[0]+1;if(Temp_Value[0]==0x00)Temp_Value[1]++;/*負(fù)數(shù)標(biāo)識(shí)置1*/ng=1;}/*獲取溫度整數(shù)部分(高字節(jié)中的低3位與低字節(jié)中的高4位,無(wú)符號(hào))*/CurrentT=((Temp_Value[0]&0xF0)>>4)|((Temp_Value[1]&0x07)<<4);/*將整數(shù)部分分解為3位待顯示數(shù)字*/Display_Digit[3]=CurrentT/100;Display_Digit[2]=CurrentT%100/10;Display_Digit[1]=CurrentT%10;}4仿真與調(diào)試其調(diào)試結(jié)果如圖4.1所示。圖4.1調(diào)試結(jié)果圖4.2按K1鍵之后的結(jié)果圖圖4.3按K2鍵之后的結(jié)果圖圖4.4按K3鍵之后的結(jié)果圖圖4.5按K4鍵之后的結(jié)果圖總結(jié)通過(guò)短暫的兩周時(shí)間的課程設(shè)計(jì),我對(duì)單片機(jī)的基本原理以及單片機(jī)的C語(yǔ)言編程有了一定的了解,同時(shí)我不僅對(duì)proteus仿真技能也有了進(jìn)一步地了解,也擴(kuò)展了自己對(duì)一些重要芯片工作原理的了解,提高了我的實(shí)踐能力和理論水平。模塊化設(shè)計(jì)讓思路變得明了,冗長(zhǎng)的程序也變得條理清晰。本次課程設(shè)計(jì)讓我了解到單片機(jī)在生活應(yīng)用中的重要性,了解了它的廣闊的應(yīng)用前景。學(xué)好單片機(jī)對(duì)我今后找工作有很大的幫助,不僅可以充實(shí)自己的精神風(fēng)貌和掌握各種操作技巧具有重大意義,而且還可以研發(fā)出一些對(duì)人們有意義的產(chǎn)品,促進(jìn)社會(huì)的發(fā)展。在當(dāng)今科學(xué)發(fā)達(dá)的社會(huì)中,各行各業(yè)對(duì)這種人才非常急需,因此,這次課程設(shè)計(jì)對(duì)我們今后的學(xué)習(xí)有很大的幫助,我們應(yīng)該多參加一些對(duì)學(xué)好單片機(jī)有幫助的活動(dòng)。總之,本次設(shè)計(jì)鍛煉了我們的動(dòng)手能力,激發(fā)了我們的創(chuàng)新思維,培養(yǎng)了我們勇于面對(duì)困難、克服困難的堅(jiān)強(qiáng)意志和不懈的精神,最后,我要感謝在本次設(shè)計(jì)中幫助過(guò)的同學(xué),要不是有他們的幫助,時(shí)間對(duì)于我來(lái)說(shuō)不足夠的,同時(shí),我也再次體會(huì)到團(tuán)隊(duì)精神的力量和合作的重要性;更重要的是使我體會(huì)到理論與實(shí)際結(jié)合的重要性和知識(shí)的海洋是無(wú)窮無(wú)盡的,這將激勵(lì)我們對(duì)新知識(shí)的追求。參考文獻(xiàn)[1].郭天祥編著,51單片機(jī)C語(yǔ)言教程,電子工業(yè)出版社。[2].彭偉編著,單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例,電子工業(yè)出版社。[3].周潤(rùn)景等編著,基于proteus的電路及單片機(jī)設(shè)計(jì)與仿真,北京航空航天大學(xué)出版社。[4].江世明編著,單片機(jī)原理及應(yīng)用,中國(guó)鐵道出版社。 基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開(kāi)發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開(kāi)發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開(kāi)發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開(kāi)發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開(kāi)發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無(wú)功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究HYPERLINK"/detail.htm?3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)保協(xié)議書(shū)及補(bǔ)充協(xié)議書(shū)范例
- 眼睛專業(yè)知識(shí)培訓(xùn)課件
- 食品安全員考試解答技巧:2024年試題及答案
- 幼兒園班級(jí)常規(guī)管理(經(jīng)驗(yàn)總結(jié))
- 農(nóng)業(yè)價(jià)值鏈重構(gòu)及其意義試題及答案
- 電力設(shè)備狀態(tài)監(jiān)測(cè)試題及答案
- 個(gè)人貨車出租合同樣本
- 創(chuàng)新突破:現(xiàn)代企業(yè)的實(shí)戰(zhàn)方法論
- 手工焊錫培訓(xùn)資料
- 年度財(cái)務(wù)規(guī)劃的關(guān)鍵要素計(jì)劃
- 網(wǎng)絡(luò)零售行業(yè)分析
- 冷庫(kù)維護(hù)保養(yǎng)合同范本
- 餐廳前廳管理制度及崗位職責(zé) 后廚操作管理制度
- 2025念珠菌病診斷和管理全球指南解讀課件
- 碘對(duì)比劑應(yīng)用護(hù)理安全性
- 第11課《山地回憶》課件-2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 軍隊(duì)文職考試(會(huì)計(jì)學(xué))近年考試真題題庫(kù)(含真題、典型題)
- 《礦井提升設(shè)備》課件2
- 被迫解除勞動(dòng)合同通知書(shū)電子郵件
- 工具表單-崗位價(jià)值評(píng)估表(海氏)
- 《肺功能測(cè)定及報(bào)告》課件
評(píng)論
0/150
提交評(píng)論