2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 說 明 書</p><p>  課程名稱: 《通信電子線路》 </p><p>  設(shè)計題目: 定時鬧鐘設(shè)計 </p><p>  院 系: 電子信息與電氣工程學(xué)院 </p><p>  學(xué)生姓名: <

2、;/p><p>  學(xué) 號: </p><p>  專業(yè)班級: </p><p>  指導(dǎo)教師: </p><p>  2012年 5月 18 日</p><p> 

3、 課 程 設(shè) 計 任 務(wù) 書</p><p><b>  定時鬧鐘設(shè)計</b></p><p>  摘 要:定時鬧鐘設(shè)計主要有硬件部分和軟件部分組成,硬件部分以單片機為核心,在其周圍有電源電路、時鐘電路、復(fù)位電路、驅(qū)動電路和顯示電路組成。軟件部分用匯編語言編程,用keil軟件編譯、調(diào)試。最后用proteus軟件仿真,形成以單片機為樞紐,以程序為動力,使鬧鐘實現(xiàn)功能。

4、</p><p><b>  關(guān)鍵詞:</b></p><p>  AT89S52 定時鬧鐘 keil proteus 匯編語言</p><p><b>  目 錄</b></p><p>  1. 設(shè)計背景………………………………………………… 1</p><p

5、>  1.1設(shè)計課題及目的…………………………………………1</p><p>  1.2相關(guān)技術(shù)與應(yīng)用領(lǐng)域…………………………………………1</p><p>  2.設(shè)計方案…………………………………………………………1</p><p>  2.1總體方案……………………………………………………1</p><p>  2.2硬件設(shè)計……

6、…………………………………………………2</p><p>  2.3軟件設(shè)計………………………………………………………7</p><p>  3.方案實施…………………………………………………………8</p><p>  3.1方案流程圖………………………………………………………8</p><p>  3.2 proteus的系統(tǒng)仿真…………

7、…………………………………8</p><p>  4. 結(jié)果與結(jié)論………………………………………………………9</p><p>  4.1 課程設(shè)計結(jié)果……………………………………………………9</p><p>  4.2課程設(shè)計結(jié)論……………………………………………………9</p><p>  5.收獲與致謝…………………………………………

8、………………9</p><p>  6.參考文獻……………………………………………………………10</p><p>  7.附件…………………………………………………………………11</p><p>  7.1系統(tǒng)總體電路圖…………………………………………………11</p><p>  7.2系統(tǒng)實物圖……………………………………………………

9、……11</p><p>  7.3 程序源代碼…………………………………………………………12</p><p>  7.4元器件清單…………………………………………………………16</p><p><b>  1. 設(shè)計背景</b></p><p>  1.1設(shè)計課題及目的</p><p>  

10、本課題是以單片機為核心,通過動態(tài)掃面的方式,實現(xiàn)定時鬧鐘功能。單片機即單片微型計算機,是集CPU,RAM,ROM,定時,計數(shù),和多種接口于一體的微控制器,他體積小,成本低,功能強,廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上,AT89S52單片機是各單片機中比較具有代表性的一種。這次課程設(shè)計通過對他的學(xué)習(xí),應(yīng)用,從而達到學(xué)習(xí),設(shè)計,開發(fā)軟硬件的能力.</p><p>  1.2相關(guān)技術(shù)與應(yīng)用領(lǐng)域</p><

11、;p>  電子鬧鐘是采用數(shù)字電路實現(xiàn)對時分秒數(shù)字顯示的機試裝置,廣泛用于個人家庭,車站,碼頭辦公室等公共場所,稱為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵罚捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠遠超于老式鐘表,中標的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地拓展了鐘表的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動啟閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟

12、用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。數(shù)字鐘已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個人家庭、車站、碼頭、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)勢,它還用于計時自動報時及自動控制的領(lǐng)域。因此,研究定時數(shù)字鬧鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。</p><p><b>  2

13、.設(shè)計方案</b></p><p><b>  2.1總體方案</b></p><p><b>  2.1.1方案比較</b></p><p>  方案一:采用數(shù)字電路實現(xiàn)。數(shù)字電子鐘是用數(shù)字集成電路構(gòu)成的,用數(shù)碼管顯示“時”,“分”,“秒”的現(xiàn)代計時裝置。若用數(shù)字電路完成,所設(shè)計的電路相當復(fù)雜,大概需要十幾片

14、數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功能模塊的組合來實現(xiàn),焊接的過程比較復(fù)雜,成本也非常高。</p><p>  方案二:用單片機來設(shè)計制作完成,由于其功能的實現(xiàn)主要通過軟件編程來完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,另外,使用是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時的更新系統(tǒng),進行不同狀態(tài)的組合。</p><p>  經(jīng)過

15、上面的對比本設(shè)計采用單片機作為設(shè)計的主體</p><p>  本系統(tǒng)采用單片機AT89S52作為本設(shè)計的核心元件,利用7段共陽LED作為顯示器件。接入共陽LED顯示器,可顯示,分鐘,秒,單片機外圍接有定時報警系統(tǒng),定時時間到,揚聲器發(fā)出報警聲,提示預(yù)先設(shè)定時間到。</p><p>  電路有下列部分組成:時鐘電路、復(fù)位電路、控制電路、LED顯示,報警電路,芯片選用AT89S51單片機。&l

16、t;/p><p><b>  系統(tǒng)基本框圖:</b></p><p><b>  圖1系統(tǒng)基本框圖</b></p><p><b>  2.2硬件設(shè)計</b></p><p>  2.2.1 單片機AT89S52</p><p>  AT89S52為 ATM

17、EL 所生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flsah存儲器。</p><p> ?。ㄒ唬?、AT89S52主要功能列舉如下:</p><p>  1、擁有靈巧的8位CPU和在系統(tǒng)可編程Flash</p><p>  2、晶片內(nèi)部具時鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)</p><p>  3、內(nèi)部程序存儲

18、器(ROM)為 8KB</p><p>  4、內(nèi)部數(shù)據(jù)存儲器(RAM)為 256字節(jié)</p><p>  5、32 個可編程I/O 口線</p><p>  6、8 個中斷向量源</p><p>  7、三個 16 位定時器/計數(shù)器</p><p>  8、三級加密程序存儲器</p><p>

19、  9、全雙工UART串行通道</p><p> ?。ǘ?、AT89S52各引腳功能介紹:</p><p>  圖2AT89S52管腳圖</p><p>  VCC:AT89S52電源正端輸入,接+5V。</p><p><b>  VSS:電源地端。</b></p><p>  XTAL1:單芯

20、片系統(tǒng)時鐘的反相放大器輸入端。</p><p>  XTAL2:系統(tǒng)時鐘的反相放大器輸出端,一般在設(shè)計上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機</p><p>  RESET:AT89S52的重置引腳,高電平動作,當要對晶片重置時,只要對此引腳電平提升至高電平并保持

21、兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。</p><p>  EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程

22、序。因此在8031及8032中,EA引腳必須接低電平,因為其內(nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時,可以利用此引腳來輸入21V的燒錄高壓(Vpp)。</p><p>  ALE/PROG:ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。AT89S52可以利用這支引腳

23、來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進鎖存器中,因為AT89S52是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄8751程序代碼時,此引腳會被當成程序規(guī)劃的特殊功能來使用。</p><p>  PSEN:此為"Program Store Enable"的縮寫

24、,其意為程序儲存啟用,當8051被設(shè)成為讀取外部程序代碼工作模式時(EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。AT89S52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用64K的定址范圍。</p><p>  PORT0(P0.0~P0.7):端口0是一個8位寬的開路汲極(Open Drain)雙向輸出入端口,共有

25、8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當做I/O用時可以推動8個LS的TTL負載。如果當EA引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計者必須外加一鎖存器將端口0送出的地址栓鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址總線,而定址

26、到64K的外部存儲器空間。</p><p>  PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負載,若將端口2的輸出設(shè)為高電平時,此端口便能當成輸入端口來使用。P2除了當做一般I/O端口使用外,若是在AT89S52擴充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當做I/O來使用了。</p><

27、;p>  PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當做定時器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。</p><p>  PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向

28、I/O端口,其輸出緩沖器可以推動4個TTL負載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b>  其引腳分配如下:</b></p><p>  P3.0:RXD,串行通信輸入。</p><p>  P3.1:TXD,串行通信輸出。</p>

29、;<p>  P3.2:INT0,外部中斷0輸入。</p><p>  P3.3:INT1,外部中斷1輸入。</p><p>  P3.4:T0,計時計數(shù)器0輸入。</p><p>  P3.5:T1,計時計數(shù)器1輸入。</p><p>  P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。</p><p>  

30、P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。</p><p>  RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>  ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出

31、的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,

32、這兩次有效的/PSEN信號將不出現(xiàn)。</p><p>  /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時

33、鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。</p><p><b>  2.2.2時鐘電路</b></p><p>  單片機的時,鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本系統(tǒng)中AT89S52單片機采用內(nèi)部時鐘方式。最常用的內(nèi)部時鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。震蕩晶體為1.2MHz~12M

34、Hz之間。電容值無嚴格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響。AT89S52單片機的時鐘電路如圖3所示。</p><p><b>  圖3 時鐘電路</b></p><p>  2.2.3數(shù)碼管顯示電路</p><p>  單片機中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫。LED顯示器由于結(jié)構(gòu)簡單,價

35、格便宜,體積小,亮度高,電壓低,可靠性高,壽命長,響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機接口方便而得到廣泛使用。</p><p><b>  圖4引腳配置</b></p><p>  LED七段數(shù)碼管顯示器由8個發(fā)光二極管組成顯示字符,根據(jù)內(nèi)部發(fā)光二極管的連接形式不同,LED有共陽和共陰極兩種,如上圖4所示:</p><p>  采用高亮共陰

36、型數(shù)位數(shù)碼管,為示區(qū)別,顯示秒的兩個數(shù)碼管個頭較小,另外4個較大。共陰數(shù)碼管接線如下:一般用7個發(fā)光二極管構(gòu)成顯示數(shù)字和符號,另外還用一段發(fā)光二極管顯示小數(shù)點。這種顯示器一般分為兩種,共陰極顯示器是把每個二極管的陰極連在一起,共陽極顯示器是把每個二極管的正端連在一起。一只顯示器是有8個發(fā)光二級管構(gòu)成,當把某段加正向電壓時,則該段所對應(yīng)的筆劃亮,不加正向電壓則暗,為了保護各種不收損壞需要加限流電阻,無論是共陽極顯示器還是共陰極顯示器,它的

37、8段排列順序都是一樣的:A段、B段、C段、D段、E段、F段、G段、和DP段。在單片機中通常使用7段LED。</p><p><b>  2.3軟件設(shè)計</b></p><p>  2.3.1系統(tǒng)軟件設(shè)計</p><p>  該系統(tǒng)軟件主要是有主程序模塊,定時中斷服務(wù)程序,終端等待服務(wù)程序,鍵盤程序,顯示子程序等六大模塊組成,因為匯編語言使用助記

38、符,符號和數(shù)字等來表示指令程序的語言,容易理解和記憶,所以我們用匯編語言來寫程序。</p><p><b>  2.3.2 LED</b></p><p>  七段LED由七個發(fā)光二級管按日字排開,所有發(fā)光二極管的陽極連在一起成共陽極。當采用芯片驅(qū)動時不需要加限流電阻,其他情況下一般應(yīng)用外接限流電阻。動態(tài)顯示電路有顯示快,字型碼封鎖驅(qū)動器,字位鎖存驅(qū)動器三部分組成。&

39、lt;/p><p>  2.3.3蜂鳴報警電路</p><p>  在AT89s52外圍的一個管口上加蜂鳴器,通過軟件與硬件的結(jié)合可實現(xiàn)定時鬧鐘功能。</p><p><b>  2.3.4電源電路</b></p><p>  電源電壓穩(wěn)壓流程方框圖如圖5。</p><p>  圖5電源電壓穩(wěn)壓流程方

40、框圖</p><p>  電源電路如圖6所示,220V交流電經(jīng)過變壓器,再經(jīng)過橋堆2W10整流,然后由電容C6濾波后變?yōu)槊}動比較穩(wěn)定的直流電,最后通過三端穩(wěn)壓器7805輸出穩(wěn)定的5V直流電壓。圖中C5用于抵消輸入線產(chǎn)生的電感效應(yīng),以防止電路產(chǎn)生自激振蕩其容較小,一般小于1μF。電容C4用于消除輸出電壓的高頻噪聲,可取小于1μF的電容,也可取幾微法甚至幾十微法的電容,以便輸出較大的脈動電流。</p>

41、<p><b>  圖6電源電路</b></p><p><b>  3. 方案實施</b></p><p><b>  3.1系統(tǒng)流程圖</b></p><p><b>  圖7程序流程圖</b></p><p>  3.2proteus的系統(tǒng)

42、仿真</p><p><b>  操作過程:</b></p><p>  設(shè)幾個按鍵從上往下為k1,k2,k3,k4。k1與p1.0相連,k2與p1.1相連,k3與p1.2相連,k4與p1.4相連。</p><p>  當需要設(shè)定當前時,按一下k1鍵,進入時間設(shè)定狀態(tài),按一下k2,小時加1,按一下k3,分加1.如此反復(fù)來設(shè)定當前時間。調(diào)好時間后

43、按k4退出當前設(shè)定狀態(tài)。如下圖6:</p><p><b>  4. 結(jié)果與結(jié)論</b></p><p><b>  4.1課程設(shè)計結(jié)果</b></p><p>  經(jīng)過多次的軟件仿真測試,該系統(tǒng)均能夠產(chǎn)生與我們設(shè)計目標相符的結(jié)果。但是在元器件焊接完畢之后,卻不能夠正常的工作,經(jīng)過多方查證,覺得可能是由于電阻電容等器件參數(shù)

44、設(shè)置有誤,導(dǎo)致電源模塊不能夠正常供電。之后我們對電路的原理圖又進行了進一步的分析,更換了幾個電阻和電容之后,定時鬧鐘終于能夠正常工作了。</p><p><b>  4.2課程設(shè)計結(jié)論</b></p><p>  對電路的分析,對元器件參數(shù)的設(shè)置,這些都是影響一件產(chǎn)品能否正常運行的重要指標,有時候理論上成功,并不代表實際生產(chǎn)能夠成功,我們必須進行反復(fù)的、細致的研究。&

45、lt;/p><p><b>  5. 收獲與致謝</b></p><p>  這是我第一次用單片機設(shè)計制作系統(tǒng),在設(shè)計過程中,我對單片機了解進一步加深,學(xué)會了對keil軟件和proteus軟件的使用。</p><p>  程序是整個系統(tǒng)的核心,沒有程序,硬件就無法運行,所以程序成為了我們組重點解決的問題。學(xué)好每一個軟件的使用方法,自己就可以在軟件里

46、做自己想實現(xiàn)的功能。</p><p>  單片機作為我們的主要專業(yè)課之一,雖然在開學(xué)初我們對這門課并沒有什么興趣,覺得那些程序枯燥乏味,但在這次課程設(shè)計后,我發(fā)現(xiàn)自己在一點一滴的努力對單片機的興趣也在逐漸增加,我覺得做單片機課程設(shè)計是十分有意義的,而且是十分必要的,在一度過的大學(xué)時間里,我們大多數(shù)接觸的是專業(yè)課,我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實踐能力,如何把我們所學(xué)的專業(yè)基礎(chǔ)理論知識運

47、用到實踐中去呢?我想做課程設(shè)計就為我們提供了良好的實踐平臺。要做好一個課程設(shè)計,就必須做到:在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)部有哪些資源,要有一個清晰的思路和一個完整的軟件流程圖,再設(shè)計程序時,不要妄想一次就將整個程序設(shè)計好,反復(fù)修改,不斷改進是程序設(shè)計的必經(jīng)之路。</p><p>  回顧此次單片機課程設(shè)計,從理論到實踐的日子這兩個星期了,自己之前對單片機課程學(xué)習(xí)的不夠,最

48、后吃了很大的苦頭,由于之前知識的欠缺導(dǎo)致在本次實習(xí)中,遇到很多問題,程序的編寫,硬件和軟件的設(shè)計。第一星期大家主要是對軟件和硬件的設(shè)計,第二星期,主要負責(zé)元器件的焊接,之前有多焊接的實操,所以進行起來比較上手,出現(xiàn)的問題就是用萬用板時元器件的排版和布局。</p><p>  最后,通過這次的課程設(shè)計使我懂得自己的知識還遠遠不夠,只有不斷的學(xué)習(xí)才能成就一個自我。同時要感謝我們的指導(dǎo)老師郭麗霞老師對我們這兩個星期的指

49、導(dǎo)和講解,也感謝我們的團隊。</p><p><b>  6. 參考文獻</b></p><p>  [1] 杜尚豐. CAN總線測控技術(shù)及其應(yīng)用.北京:電子工業(yè)出版社,2007.1</p><p>  [2] 杜樹春.單片機C語言和匯編語言混合編程實例詳解.北京:北京航空航天大學(xué)出版社,2006.6</p><p> 

50、 [3] 張毅剛·單片機原理及應(yīng)用·北京:高等教育出版社,2009·2</p><p><b>  7. 附件</b></p><p>  7.1系統(tǒng)總體電路圖</p><p><b>  7.2系統(tǒng)實物圖</b></p><p><b>  7.3程序源代碼

51、</b></p><p>  ORG 0000H </p><p><b>  LJMP MAIN</b></p><p><b>  ORG 000BH</b></p><p><b>  LJMP TIME</b></p><p>  

52、×××××主程序部分×××××</p><p><b>  ORG 0100H</b></p><p>  MAIN:MOV SP,#50H</p><p>  MOV 20H,#00H </p><p>  MOV

53、21H,#00H </p><p>  MOV 22H,#00H </p><p>  MOV 23H,#01H</p><p>  MOV 24H,#01H </p><p>  MOV 25H,#00H </p><p>  MOV 30H,#00H </p><p>  MOV 31

54、H,#00H</p><p>  MOV 32H,#00H </p><p>  MOV 33H,#00H </p><p>  MOV 34H,#00H</p><p>  MOV 35H,#00H</p><p>  MOV 36H,#01H </p><p>  MOV 37H,#00H

55、</p><p>  MOV 38H,#01H </p><p>  MOV 39H,#00H</p><p>  MOV TMOD,#01H ;16 位計數(shù)器</p><p>  MOV TH0,#03CH ;賦計數(shù)初值</p><p>  MOV TL0,#0B0H </p><p>  M

56、OV IE,#10000111B </p><p>  SETB TR0 ;T0 啟動計數(shù)</p><p>  MOV R2,#14H </p><p>  MOV P2,#0FFH </p><p>  LOOP: LCALL TIMEPRO </p><p>  LCALL DISPLAY1 </p>

57、<p>  JB P1.0,M1 </p><p>  LCALL SETTIME ;調(diào)用設(shè)定時間程序</p><p><b>  LJMP LOOP</b></p><p>  M1:JB P1.1,M2 </p><p>  LCALL SETATIME </p><p>  

58、LJMP LOOP </p><p>  M2:JB P1.3,M4 </p><p>  LCALL LOOKATIME </p><p>  M4:LJMP LOOP </p><p>  DELAY:MOV R4,#030H </p><p>  DL00:MOV R5,#0FFH </p><

59、;p>  DL11:MOV R6,#9H </p><p>  DL12:DJNZ R6,DL12 </p><p>  DJNZ R5,DL11 </p><p>  DJNZ R4,DL00 </p><p><b>  RET ;</b></p><p>  ××&

60、#215;××設(shè)定時間程序×××××</p><p><b>  SETTIME:</b></p><p>  L0:LCALL DISPLAY1</p><p>  MM1: JB P1.1,L1 </p><p>  MOV C,P1.1 <

61、/p><p><b>  JC MM1 </b></p><p>  LCALL DELAY1 ;調(diào)用延時</p><p><b>  JC MM1</b></p><p>  MSTOP1: MOV C,P1.1</p><p>  JNC MSTOP1 ;判斷 P1.1 是

62、否釋放?釋放則繼續(xù) </p><p>  LCALL DELAY1 ;調(diào)用延時</p><p>  MOV C,P1.1 </p><p>  JNC MSTOP1 </p><p><b>  INC 22H </b></p><p>  MOV A,22H </p><p&

63、gt;  CJNE A,#18H,GO12 </p><p>  MOV 22H,#00H </p><p>  MOV 34H,#00H </p><p>  MOV 35H,#00H </p><p><b>  LJMP L0 </b></p><p>  L1:JB P1.2,L2 <

64、;/p><p>  MOV C,P1.2 </p><p><b>  JC L1 </b></p><p>  LCALL DELAY1 </p><p><b>  JC L1 </b></p><p>  MSTOP2: MOV C,P1.2 </p><

65、;p>  JNC MSTOP2;判斷 P1.2 是否釋放?釋放則繼續(xù)</p><p>  LCALL DELAY1 ;調(diào)用延時</p><p>  MOV C,P1.2 </p><p>  JNC MSTOP2 </p><p><b>  INC 21H </b></p><p>  M

66、OV A,21H </p><p>  CJNE A,#3CH,GO11 </p><p>  MOV 21H,#00H </p><p>  MOV 32H,#00H </p><p>  MOV 33H,#00H </p><p><b>  LJMP L0 </b></p>&

67、lt;p>  GO11:MOV B,#0AH </p><p><b>  DIV AB </b></p><p>  MOV 34H,B </p><p>  MOV 35H,A </p><p><b>  LJMP L0</b></p><p>  L2:JB

68、P1.3,L0</p><p>  MOV C,P1.3</p><p><b>  JC L2</b></p><p>  LCALL DELAY1</p><p>  MOV C,P1.3 </p><p><b>  JC L2</b></p><p

69、>  STOP1: MOV C,P1.3 </p><p>  JNC STOP1 </p><p>  LCALL DELAY1 </p><p>  MOV C,P1.3 </p><p>  JNC STOP1 </p><p><b>  LJMP LOOP</b></p>

70、;<p>  ×××××設(shè)置鬧鐘時間×××××</p><p>  SETATIME:LCALL DISPLAY2 </p><p>  N0:LCALL DISPLAY2 </p><p>  MM2: JB P1.2,N1;判斷 P1.2 是否按下?

71、</p><p>  MOV C,P1.2 </p><p><b>  JC MM2 </b></p><p>  LCALL DELAY1 </p><p><b>  JC MM2 </b></p><p>  MSTOP3: MOV C,P1.2 </p>

72、<p>  JNC MSTOP3 </p><p>  LCALL DELAY1 </p><p>  MOV C,P1.2 </p><p>  JNC MSTOP3 </p><p><b>  INC 24H </b></p><p>  MOV A,24H </p>

73、;<p>  CJNE A,#24,GO22 </p><p>  MOV 24H,#00H </p><p>  MOV 38H,#00H </p><p>  MOV 39H,#00H </p><p><b>  LJMP N0 </b></p><p>  N1:JB P1.

74、0,N2</p><p>  MOV C,P1.0 </p><p><b>  JC N1 </b></p><p>  LCALL DELAY1 </p><p><b>  JC N1</b></p><p>  MSTOP4: MOV C,P1.0 </p>

75、;<p>  JNC MSTOP4 </p><p>  LCALL DELAY1 </p><p>  MOV C,P1.0 </p><p>  JNC MSTOP4 </p><p><b>  INC 23H </b></p><p>  MOV A,23H </p&g

76、t;<p>  CJNE A,#60,GO21 </p><p>  MOV 23H,#00H </p><p>  MOV 36H,#00H </p><p>  MOV 37H,#00H </p><p><b>  LJMP N0 </b></p><p><b> 

77、 GO21:MOV </b></p><p><b>  DIV AB </b></p><p>  MOV 36H,B </p><p>  MOV 37H,A </p><p><b>  LJMP N0 </b></p><p>  GO22: MOV B,

78、#0AH ;將 A 中的內(nèi)容分成高低兩部分</p><p><b>  DIV AB </b></p><p>  MOV 38H,B</p><p>  MOV 39H,A</p><p><b>  LJMPN0</b></p><p>  N2:JB P1.3

79、 ,N0 ;判斷 P1.3 是否按下?</p><p>  MOV C,P1.3 </p><p><b>  JC N2 </b></p><p>  LCALL DELAY1 </p><p>  MOV C,P1.3 </p><p><b>  JC N2 </b>

80、</p><p>  STOP2: MOV C,P1.3 ;判斷 P1.3 是否釋放?</p><p>  JNC STOP2 </p><p>  LCALL DELAY1</p><p>  MOV C,P1.3 </p><p>  JNC STOP2 </p><p><b>

81、  LJMP LOOP</b></p><p>  TIMEPRO:MOV A,21H </p><p>  MOV B,23H </p><p>  CJNE A,B,BK </p><p>  MOV A,22H </p><p>  MOV B,24H </p><p>  C

82、JNE A,B,BK </p><p>  SETB 25H.0 </p><p>  MOV C,25H.0 </p><p><b>  JC XX </b></p><p>  XX: LCALL TIMEOUT ;調(diào)用時間鬧鐘響應(yīng)程序</p><p><b>  BK:RET &

83、lt;/b></p><p><b>  TIMEOUT:</b></p><p>  X1:LCALL BZ </p><p>  LCALL DISPLAY2 </p><p>  CLR 25H.0 </p><p>  JB P1.3, X1 ;調(diào)用喇叭響應(yīng)程序</p>

84、<p>  LCALL DELAY </p><p>  CLR 25H.0 </p><p>  LJMP DISPLAY1 </p><p>  BZ: CLR P3.7 </p><p>  MOV R7,#250 </p><p>  T2: MOV R6,#124 </p><

85、;p>  T3: DJNZ R6,T3</p><p>  DJNZ R7,T2 SETB P3.7 </p><p><b>  RET </b></p><p>  LOOKATIME:LCALL DISPLAY2 </p><p>  MM: JB P1.3,LOOKATIME ;判斷按鍵 P1.3 是否按下

86、</p><p>  MOV C,P1.3 </p><p><b>  JC MM </b></p><p>  LCALL DELAY1 </p><p>  MOV C,P1.3 </p><p><b>  JC MM</b></p><p>

87、<b>  STOP3:</b></p><p>  MOV C,P1.3 </p><p>  JNC STOP3 </p><p>  LCALL DELAY1</p><p>  MOV C,P1.3 </p><p>  JNC STOP3 </p><p><

88、;b>  LJMP LOOP</b></p><p>  DELAY1: MOV R4,#14H </p><p>  DL001: MOV R5,#0FFH </p><p>  DL111: DJNZ R5,DL111</p><p>  DJNZ R4,DL001</p><p><b&g

89、t;  RET</b></p><p>  ×××××時間運行程序×××××</p><p>  TIME: PUSH ACC </p><p><b>  PUSH PSW </b></p><p>  MO

90、V TH0,#03CH </p><p>  MOV TL0,#0B0H </p><p>  DJNZ R2,RET0</p><p>  MOV R2,#14H </p><p>  MOV A,20H </p><p><b>  CLR C </b></p><p>

91、;  INC A ;秒鐘自加 1</p><p>  CJNE A,#3CH,GO1 ;判斷秒鐘是否到 60 秒?</p><p>  MOV 20H,#0 ;到 60 秒復(fù)位</p><p>  MOV 30H,#0 </p><p>  MOV 31H,#0 </p><p>  MOV A,21H <

92、;/p><p>  INC A ;分鐘自加 1</p><p>  CJNE A,#3CH,GO2 ;判斷分鐘是否到 60 分?</p><p>  MOV 21H,#0H ; 到 60 分復(fù)位</p><p>  MOV 32H,#0 </p><p>  MOV 33H,#0</p><p>

93、;  MOV A,22H </p><p>  INC A ;時鐘自加 1</p><p>  CJNE A,#18H,GO3 ;判斷時鐘是否到 24 時?</p><p>  MOV22H,#00H ;到 24 時復(fù)位</p><p>  MOV 34H,#0</p><p>  MOV 35H,#0</p

94、><p>  AJMP RET0 </p><p>  GO1: MOV 20H,A</p><p>  MOV B,#0AH </p><p><b>  DIV AB </b></p><p>  MOV 31H,A </p><p>  MOV 30H,B<

95、/p><p>  AJMP RET0 </p><p>  GO2: MOV 21H,A </p><p>  MOV B,#0AH</p><p><b>  DIV AB </b></p><p>  MOV 33H,A </p><p>  MOV 32H,B <

96、;/p><p>  AJMP RET0 </p><p>  GO3: MOV 22H,A </p><p>  MOV B,#0AH </p><p>  MOV 35H,A </p><p>  MOV 34H,B </p><p>  AJMP RET0</p><

97、;p>  RET0: POP PSW ;恢復(fù)現(xiàn)場</p><p><b>  POP ACC </b></p><p><b>  RETI</b></p><p>  ×××××運行部分×××××</p>

98、<p>  DISPLAY1: MOV R0,#30H</p><p>  MOV R3,#0FEH </p><p><b>  MOV A,R3</b></p><p>  PLAY1: MOV P2,A </p><p>  MOV A,@R0</p><p>  MOV

99、 DPTR,#DSEG1 ;表首地址送 DPTR</p><p>  MOVC A,@A+DPTR </p><p><b>  MOV P0,A</b></p><p>  LCALL DL1 </p><p>  MOV P2,#0FFH ;送高電平到 P2</p><p>  MOV R

100、L A,R3 </p><p><b>  RL A </b></p><p>  JNB ACC.6,LD1</p><p><b>  INC R0</b></p><p><b>  MOVR3,A </b></p><p>  LJMP PLA

101、Y1 ;調(diào)用查表程序</p><p><b>  LD1: RET</b></p><p>  DISPLAY2: PUSH ACC ;現(xiàn)場保護</p><p><b>  PUSH PSW </b></p><p>  MOV R0,#36H </p><p>  MOV

102、 R3,#0FBH </p><p><b>  MOV A,R3</b></p><p>  PLAY2: MOV P2,A </p><p>  MOV A,@R0 </p><p>  MOV DPTR,#DSEG1;表首地址送 DPTR</p><p>  MOVC A,@A+DPTR

103、;查 ASCII 特碼</p><p>  MOV P0,A;查表結(jié)果送 A</p><p><b>  LCALL DL1</b></p><p>  MOV P2,#0FFH ;送高電平到 P2</p><p>  MOV A,R3 </p><p><b>  RL A &l

104、t;/b></p><p>  JNB ACC.6,LD2</p><p><b>  INC R0 </b></p><p>  MOV R3, A</p><p>  LJMP PLAY2 </p><p>  LD2: POP PSW ;恢復(fù)現(xiàn)場</p><p

105、><b>  POP ACC</b></p><p><b>  RET</b></p><p>  ×××××延時時間×××××</p><p>  DL1: MOV R7,#02H ;延時時間</p>

106、;<p>  DL: MOV R6,#0200H </p><p>  DL6: R6,$ </p><p>  DJNZ R7,DL</p><p><b>  RET </b></p><p>  DSEG1:DB 3FH,06H,5BH,4FH,66H </p><p> 

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論