版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《單片機(jī)應(yīng)用與仿真訓(xùn)練》設(shè)計(jì)報(bào)告</p><p> 題目 四路定時(shí)控制器</p><p> 2014年 1 月 5 日</p><p><b> 摘要</b></p><p> 通過(guò)一學(xué)期的學(xué)習(xí),使我認(rèn)識(shí)到了“微機(jī)原理與單片機(jī)接口技術(shù)”這門學(xué)科的重要性,讓我對(duì)微型計(jì)算機(jī)系統(tǒng)的組成、工作原理及
2、應(yīng)用有了初步的認(rèn)識(shí),初步掌握了微型計(jì)算機(jī)接口的特點(diǎn)及使用方法,并且有了能夠讀懂微型計(jì)算機(jī)系統(tǒng)原理圖及簡(jiǎn)單的硬件接口原理圖和相關(guān)程序的能力,在此基礎(chǔ)上具有了微型計(jì)算機(jī)應(yīng)用系統(tǒng)軟、硬件開(kāi)發(fā)的初步能力,具體就是以8086CPU和51系列單片機(jī)為主線,是我們掌握了一定的知識(shí)。</p><p> 本設(shè)計(jì)方案就是在上學(xué)期學(xué)習(xí)的基礎(chǔ)上,利用單片機(jī)來(lái)完成一個(gè)四路定時(shí)控制器設(shè)計(jì),本次設(shè)計(jì)就是通過(guò)編寫(xiě)一個(gè)程序,輸入單片機(jī)中,通過(guò)單
3、片機(jī)與焊接的四路定時(shí)器用導(dǎo)線相連接,進(jìn)而實(shí)現(xiàn)四路單片機(jī)的功能,在本次設(shè)計(jì)中不僅使我們上學(xué)期所學(xué)習(xí)的知識(shí)得以應(yīng)用,也是我們更加認(rèn)識(shí)到知識(shí)對(duì)于實(shí)踐的重要性,另外就是在設(shè)計(jì)過(guò)程中,也鍛煉了我們的焊接技術(shù)及元件排布能力,使它們能夠盡可能的美觀實(shí)用。本次設(shè)計(jì)的四路定時(shí)器主要功能就是實(shí)現(xiàn)四路定時(shí)功能,能通過(guò)四路的開(kāi)關(guān)分別控制四路分別實(shí)現(xiàn)進(jìn)行調(diào)時(shí)定時(shí)功能, 四路定時(shí)控制器,可以更簡(jiǎn)單、方便的使用,本系統(tǒng)采用單片機(jī)AT89C51為中心器件來(lái)設(shè)計(jì)四路定時(shí)
4、控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。</p><p> 關(guān)鍵詞:51單片機(jī) 四路定時(shí)控制器 控制 </p><p><b> 概述 </b></p><p><b> 1.1 實(shí)驗(yàn)任務(wù)</b></p><p> 本次設(shè)計(jì)內(nèi)容主要實(shí)現(xiàn)以下功能:</p><
5、;p> 1、主要應(yīng)用于定時(shí)控制四個(gè)回路的電源通斷。</p><p> 2、以當(dāng)前時(shí)間為基準(zhǔn),以24小時(shí)為周期,可以任意設(shè)定哪個(gè)回路于某時(shí)刻開(kāi),到某時(shí)刻關(guān)。如可以設(shè)置第一個(gè)回路在8:30-11:30開(kāi),14:30-18:00開(kāi),其他時(shí)間段為關(guān)。</p><p> 3、能通過(guò)按鍵任意設(shè)置某回路某時(shí)間段的開(kāi)關(guān)狀態(tài),利用數(shù)碼管顯示要直接明了。</p><p>&
6、lt;b> 1.2 實(shí)驗(yàn)思路</b></p><p> 本次設(shè)計(jì)就是以c51單片機(jī)為基礎(chǔ),通過(guò)單片機(jī)控制實(shí)現(xiàn)設(shè)置電路、顯示電路等模塊功能,進(jìn)而實(shí)現(xiàn)四路定時(shí)器的基本功能,在實(shí)驗(yàn)過(guò)程中,主要是要注意程序的編寫(xiě),以及四路定時(shí)控制器的電路選擇及焊接的正確性,要通過(guò)多次調(diào)試進(jìn)而發(fā)現(xiàn)電路及程序的不足之處,然后實(shí)現(xiàn)四路定時(shí)控制器的一些基本功能。</p><p> 1.3 實(shí)驗(yàn)基本
7、原理</p><p> 繼電器的基本工作原理:繼電器(是一種電控制器件,是當(dāng)輸入量(激勵(lì)量)的變化達(dá)到規(guī)定要求時(shí),在電氣輸出電路中使被控量發(fā)生預(yù)定的階躍變化的一種電器。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之間的互動(dòng)關(guān)系。通常應(yīng)用于自動(dòng)化的控制電路中,它實(shí)際上是用小電流去控制大電流運(yùn)作的一種“自動(dòng)開(kāi)關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)等作用。</p><p> 上
8、圖為繼電器工作原理圖</p><p> 本次試驗(yàn)使用了電磁繼電器,電磁繼電器一般由鐵芯、線圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而生生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))釋放。這樣
9、吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱為“常開(kāi)觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱為“常閉觸點(diǎn)”。繼電器一般有兩股電路,為低壓控制電路和高壓工作電路。</p><p> 三極管9012:9012是非常常見(jiàn)的晶體三極管,在收音機(jī)以及各種放大電路中經(jīng)??吹剿瑧?yīng)用范圍很廣,它是PNP型小功率三極管。</p>
10、<p> 3.在本次設(shè)計(jì)任務(wù)中第一路用繼電器來(lái)完成其功能,在其他三路主要用發(fā)光二極管代替繼電器,通過(guò)發(fā)光來(lái)判斷是否實(shí)現(xiàn)其功能,以及通過(guò)開(kāi)關(guān)來(lái)實(shí)現(xiàn)各個(gè)電路的調(diào)時(shí)及實(shí)現(xiàn)。</p><p> 系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p> 2.1 系統(tǒng)設(shè)計(jì)框圖</p><p> 2.2 實(shí)驗(yàn)原理圖</p><p> 2.3 各電路
11、模塊功能</p><p><b> C51開(kāi)發(fā)板</b></p><p> 89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非
12、易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C51是一種高效微控制器,89C2051是它的一種精簡(jiǎn)版本。89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p><b> 2.繼電器電路</b></p><p> 繼電器工作原理試只要在線圈兩端加
13、上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而生生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))釋放。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱為“常開(kāi)觸點(diǎn)”;處于
14、接通狀態(tài)的靜點(diǎn)稱為“常閉觸點(diǎn)”。</p><p><b> 3. 顯示電路</b></p><p> 該顯示電路主要是用共陰極7段數(shù)碼管,下面介紹段數(shù)碼管的顯示方法可分為靜態(tài)顯示與動(dòng)態(tài)顯示:a.靜態(tài)顯示 就是當(dāng)顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管恒定地尋能可截止。這種顯示方法為每一們都需要有一個(gè)8位輸出口控制。對(duì)于51單片機(jī),可以在并行口上擴(kuò)展多片鎖存74
15、LS573作為靜態(tài)顯示器接口。 </p><p> b.動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于顯示器的每一位而言,每隔一段時(shí)間點(diǎn)亮一次。顯示器亮度既與點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參烽,可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個(gè)8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個(gè)
16、8位口(稱為數(shù)據(jù)口或字形口)。</p><p><b> 按鍵控制器</b></p><p> 按鍵控制器就是有多個(gè)開(kāi)關(guān)組成電路,來(lái)控制四路定時(shí)器的定時(shí)及調(diào)時(shí)功能。</p><p><b> 2.4 元器件清單</b></p><p> AT89C51核心板 繼電器一個(gè)
17、</p><p> 三極管9012一個(gè) 1K電阻四個(gè)</p><p> 2.2K電阻一個(gè) 二極管4007</p><p> 發(fā)光二極管四個(gè) 按鍵開(kāi)關(guān)四個(gè)</p><p><b> 導(dǎo)線若干</b></p><p><b&g
18、t; 3.軟件設(shè)計(jì)</b></p><p> 4.Proteus軟件仿真</p><p><b> 課程設(shè)計(jì)體會(huì)</b></p><p> 通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)單片機(jī)方面的知識(shí),在設(shè)計(jì)過(guò)程中雖然遇到了一些問(wèn)題,但經(jīng)過(guò)一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識(shí)欠缺
19、和經(jīng)驗(yàn)不足。實(shí)踐出真知,通過(guò)親自動(dòng)手制作,使我們掌握的知識(shí)不再是紙上談兵。最重要的是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的能力,是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。</p><p> 另外這次課程設(shè)計(jì)讓我受益匪淺,無(wú)論從知識(shí)上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來(lái)沒(méi)有見(jiàn)
20、過(guò)真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見(jiàn)過(guò)甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開(kāi)闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來(lái)的地方,我們討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無(wú)論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。</p><p> 最后此次
21、課程設(shè)計(jì)讓我體會(huì)到了知識(shí)與實(shí)踐結(jié)合的重要性,也是我們對(duì)單片機(jī)有了更大的興趣,同時(shí)也認(rèn)識(shí)到了團(tuán)隊(duì)寫(xiě)作的能力,總之收獲頗深。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]張毅剛. 單片機(jī)原理及應(yīng)用 [M ].北 京 : 高等教育出版社 ,2004[2]樓然苗. 51系列單片機(jī)設(shè)計(jì)實(shí)例 [M ]. 北京: 北京航空航天大學(xué)出版社,2003[
22、3]李華等. MCS - 51系列單片機(jī)實(shí)用接口技術(shù) [M ]. 北京: 北京航空航天大學(xué)出版社 , 1993[4]陳東光. 趙性初.單片微型計(jì)算機(jī)原理與接口技術(shù)第二版 [M ].武漢:華中科技大學(xué)出版社 ,1999</p><p> [5]劉寶琴.許海根.數(shù)字電路與系統(tǒng)[M].北京:清華大學(xué)出版社,1993:12-13. </p><p> [6]楊素行.模擬電子技術(shù)基
23、礎(chǔ)簡(jiǎn)明教程.北京:高等教育出版社,1998:100-105. [7]陳克安.集成
24、電路速查大全[M].北京:西安電子科技大學(xué)出版社,1995:120-125. </p><p> [8]趙學(xué)泉.張國(guó)化.新型電子電路應(yīng)用指南[M].北京:電子工業(yè)出版社,1995:189-192. </p><p> [9]余孟嘗.數(shù)子電子技術(shù)基礎(chǔ)簡(jiǎn)明教程[M].北京:高等教育社,2005:163-167. </p><p><
25、;b> 附1 源程序代碼</b></p><p> #include"stc10.h"</p><p> #define uchar unsigned char </p><p> #define uint unsigned int </p><p> sbit D1=P2^0;</p&
26、gt;<p> sbit D2=P2^1;</p><p> sbit D3=P2^2;</p><p> sbit D4=P2^3;</p><p> sbit P0_5=P0^5;</p><p> sbit P2_0=P2^0;</p><p> sbit P2_1=P2^1;</
27、p><p> sbit P2_2=P2^2;</p><p> sbit P2_3=P2^3;</p><p> sbit OUT1=P2^4;</p><p> sbit OUT2=P2^5;</p><p> sbit OUT3=P2^6;</p><p> sbit OUT4=P2
28、^7;</p><p> sbit K1=P3^6;</p><p> sbit K2=P3^7;</p><p> unsigned char DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};</p><p> uchar time[]={0,
29、0,0,0};</p><p> uchar flag=0,flag1,flag2=0,num1,baojing=0;</p><p> char scend,scend=0,,scend1=0,fen=1,fen1,scend2=0,fen=1,fen2,scend3=0,fen=1,fen3,scend4=0,fen=1,fen4,</p><p> vo
30、id delay(uchar mm)</p><p> {while(mm--);}</p><p> void delay2(unsigned int cnt)</p><p><b> {</b></p><p> unsigned char i;</p><p> for(;cnt
31、>0;cnt--)</p><p> for(i=0;i<250;i++);</p><p><b> }</b></p><p> void display()</p><p> { uchar i ;</p><p> for(i=0;i<4;i++)</p&
32、gt;<p><b> {</b></p><p> P0=~(1<<i);</p><p> if(flag==0&&flag1==0&&i==3&&(scend%2==0))P1=(DSY_CODE[time[3]]+0x80);</p><p> else
33、P1=DSY_CODE[time[i]];</p><p> delay(30);</p><p><b> P1=0x00;</b></p><p><b> }</b></p><p><b> }</b></p><p> void ke
34、yscan(void)</p><p> { P0|=0xe0;</p><p> P3_6=0;P3_7=1;</p><p> if(P0_5==0)</p><p><b> {</b></p><p><b> delay(3);</b></p>
35、<p> if(P0_5==0){ flag++; while(!P0_5);}</p><p><b> }</b></p><p> if(P2_0==0)</p><p> {delay(3);</p><p> if(P0_6==0)</p><p> { if
36、(flag==1)fen++;</p><p> if(flag==3)fen1++;</p><p> while(!P0_6);}</p><p><b> }</b></p><p><b> K1=0;K2=1</b></p><p> if(P2_1==0
37、)</p><p> {delay(3);</p><p> if(P2_1==0)</p><p> { if(flag==1)fen--;</p><p> if(flag==3)fen1--;</p><p> if(flag==0)flag2++;</p><p> whi
38、le(!P0_7);}</p><p><b> }</b></p><p><b> P0|=0xef;</b></p><p> P3_7=0;P3_6=1; //</p><p> if(P0_5==0)</p><p><b> {</b
39、></p><p><b> delay(3);</b></p><p> if(P0_5==0) {flag1++;while(!P0_5);}</p><p><b> }</b></p><p><b> K1=1;K2=0</b></p>&
40、lt;p> if(P2_1==0)</p><p> {delay(3);</p><p> if(P2_1==0)</p><p> { if(flag==1)fen++;</p><p> if(flag==2)scend++;</p><p> if(flag==3)scend1++;</
41、p><p> while(!P2_1);}</p><p><b> }</b></p><p> if(P2_0==0)</p><p> {delay(3);</p><p> if(P2_0==0)</p><p> { if(flag==1)scend--
42、;</p><p> if(flag==2)scend--;</p><p> if(flag==3)fen1--;</p><p> while(!P2_0);}</p><p><b> } </b></p><p> if(flag==5)flag=0;</p>&l
43、t;p> if(flag1==4)flag1=0;</p><p> if(flag2==2)flag2=0;</p><p> if(scend==60)scend=0;</p><p> if(scend<0)scend=59;</p><p> if(fen==60)fen=0;</p><p&
44、gt; if(fen<0)fen=11;</p><p> if(fen1==60)fen1=0;</p><p> if(fen1<0)fen1=11;</p><p><b> }</b></p><p><b> K1=0;K2=1</b></p><
45、p> if(P2_3==0)</p><p> {delay(3);</p><p> if(P2_3==0)</p><p> { if(flag==1)fen++;</p><p> if(flag==3)fen2++;</p><p> while(!P2_2);}</p>&l
46、t;p><b> }</b></p><p> if(P2_3==0)</p><p> {delay(3);</p><p> if(P2_3==0)</p><p> { if(flag==1)fen--;</p><p> if(flag==3)fen2--;</p
47、><p> if(flag==0)flag2++;</p><p> while(!P2_2);}</p><p><b> }</b></p><p><b> P0|=0xef;</b></p><p> P3_7=0;P3_6=1; //</p>
48、<p> if(P0_5==0)</p><p><b> {</b></p><p><b> delay(3);</b></p><p> if(P0_5==0) {flag1++;while(!P0_5);}</p><p><b> }</b>&l
49、t;/p><p><b> K1=1;K2=0</b></p><p> if(P2_1==0)</p><p> {delay(3);</p><p> if(P2_1==0)</p><p> { if(flag==1)fen++;</p><p> if(fl
50、ag==2)scend++;</p><p> if(flag==3)scend2++;</p><p> while(!P2_6);}</p><p><b> }</b></p><p> if(P2_3==0)</p><p> {delay(3);</p><
51、p> if(P2_3==0)</p><p> { if(flag==1)scend--;</p><p> if(flag==2)scend--;</p><p> if(flag==3)fen2--;</p><p> while(!P2_3);}</p><p><b> } <
52、;/b></p><p> if(flag==5)flag=0;</p><p> if(flag1==4)flag1=0;</p><p> if(flag2==2)flag2=0;</p><p> if(scend==60)scend=0;</p><p> if(scend<0)scend
53、=59;</p><p> if(fen==60)fen=0;</p><p> if(fen<0)fen=59;</p><p> if(scend2==60)scend2=0;</p><p> if(scend2<0)scend2=59;</p><p> if(fen==12)fen=0;
54、</p><p> if(fen<0)fen=11;</p><p> if(fen2==12)fen2=0;</p><p> if(fen2<0)fen2=11;</p><p><b> } </b></p><p> if(P2_4==0)</p>&l
55、t;p> {delay(3);</p><p> if(P2_4==0)</p><p> { if(flag==1)fen++;</p><p> if(flag==3)fen3++;</p><p> while(!P2_4);}</p><p><b> }</b><
56、;/p><p><b> K1=0;K2=1</b></p><p> if(P2_4==0)</p><p> {delay(3);</p><p> if(P2_5==0)</p><p> { if(flag==1)fen--;</p><p> if(fl
57、ag==3)fen3--;</p><p> if(flag==0)flag2++;</p><p> while(!P2_5);}</p><p><b> }</b></p><p><b> P0|=0xef;</b></p><p> P3_7=0;P3_6
58、=1; //</p><p> if(P0_5==0)</p><p><b> {</b></p><p><b> delay(3);</b></p><p> if(P0_5==0) {flag1++;while(!P0_5);}</p><p><b
59、> }</b></p><p><b> K1=0;K2=1</b></p><p> if(P2_4==0)</p><p> {delay(3);</p><p> if(P2_4==0)</p><p> { if(flag==1)fen++;</p>
60、;<p> if(flag==2)scend++;</p><p> if(flag==3)scend3++;</p><p> while(!P2_4);}</p><p><b> }</b></p><p> if(P2_4==0)</p><p> {delay(
61、3);</p><p> if(P2_0==0)</p><p> { if(flag==1)scend--;</p><p> if(flag==2)scend--;</p><p> if(flag==3)fen3--;</p><p> while(!P2_4);}</p><p&
62、gt;<b> } </b></p><p> if(flag==5)flag=0;</p><p> if(flag1==4)flag1=0;</p><p> if(flag2==2)flag2=0;</p><p> if(scend==60)scend=0;</p><p>
63、if(scend<0)scend=59;</p><p> if(scend3==60)scend3=0;</p><p> if(scend3<0)scend3=59;</p><p> if(fen==60)fen=0;</p><p> if(fen<0)fen=11;</p><p>
64、 if(fen3==60)fen3=0;</p><p> if(fen3<0)fen3=11;</p><p><b> }</b></p><p> if(P2_6==0)</p><p> {delay(3);</p><p> if(P2_6==0)</p>
65、<p> { if(flag==1)fen++;</p><p> if(flag==3)fen4++;</p><p> while(!P2_6);}</p><p><b> }</b></p><p><b> K1=0;K2=1</b></p><
66、p> if(P2_7==0)</p><p> {delay(3);</p><p> if(P2_7==0)</p><p> { if(flag==1)fen--;</p><p> if(flag==3)fen4--;</p><p> if(flag==0)flag2++;</p>
67、;<p> while(!P2_7);}</p><p><b> }</b></p><p><b> P0|=0xef;</b></p><p> P3_7=0;P3_6=1; //</p><p> if(P0_5==0)</p><p>&
68、lt;b> {</b></p><p><b> delay(3);</b></p><p> if(P0_5==0) {flag1++;while(!P0_5);}</p><p><b> }</b></p><p><b> K1=1;K2=0</b
69、></p><p> if(P0_6==0)</p><p> {delay(3);</p><p> if(P0_6==0)</p><p> { if(flag==1)fen++;</p><p> if(flag==2)scend++;</p><p> if(flag=
70、=3)scend4++;</p><p> while(!P2_6);}</p><p><b> }</b></p><p> if(P2_0==0)</p><p> {delay(3);</p><p> if(P2_0==0)</p><p> { i
71、f(flag==1)scend--;</p><p> if(flag==2)scend--;</p><p> if(flag==3)fen4--;</p><p> while(!P2_6);}</p><p><b> } </b></p><p> if(flag==5)flag
72、=0;</p><p> if(flag1==4)flag1=0;</p><p> if(flag2==2)flag2=0;</p><p> if(scend==60)scend=0;</p><p> if(scend<0)scend=59;</p><p> if(fen==60)fen=0;&
73、lt;/p><p> if(fen<0)fen=11;</p><p> if(fen4==12)fen4=0;</p><p> if(fen4<0)fen4=11;</p><p><b> }</b></p><p> void init()</p><
74、p><b> {</b></p><p> P1M0=0x00;</p><p> P1M1=0xff;</p><p> TMOD=0x22;</p><p> TH1=TL1=0x06;</p><p> TH0=TL0=0x06;</p><p>
75、 TR1=1;TR0=1;</p><p> ET1=1; ET0=1;</p><p><b> EA=1;</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b><
76、/p><p><b> init();</b></p><p><b> while(1)</b></p><p> { if(flag==0&&flag1==0)</p><p><b> {</b></p><p> time[
77、0]=fen/10;</p><p> time[1]=fen%10;</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> display();D1=D2=D3=D4=1;</p><p><b> }</b>&l
78、t;/p><p> while(flag==1&&flag1==0)</p><p><b> {</b></p><p><b> TR0=0;</b></p><p> time[0]=fen/10;</p><p> time[1]=fen%10;
79、</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> display();D1=0; </p><p><b> } </b></p><p> while(flag==2&&flag1==0)&l
80、t;/p><p><b> {</b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> display(
81、); D2=0;D1=1;</p><p><b> }</b></p><p> while(flag==3&&flag1==0)</p><p><b> {</b></p><p> time[0]=fen1/10;</p><p> time
82、[1]=fen1%10;</p><p> time[2]=scend1/10;</p><p> time[3]=scend1%10;</p><p> display();D3=0;D2=1;</p><p><b> }</b></p><p> while(flag==4&
83、;&flag1==0)</p><p><b> {</b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend1/10;</p><p> time[3]=scend1%10;</p>
84、<p> display(); D4=0;D3=1;</p><p><b> } </b></p><p><b> TR0=1;</b></p><p> while(flag1==3&&flag==0)</p><p><b> { </b&
85、gt;</p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend1/10;</p><p> time[3]=scend1%10;</p><p> display(); D3=0;D2=1;</p><p>&l
86、t;b> }</b></p><p> while(flag1==2&&flag==0)</p><p><b> { </b></p><p> time[0]=fen1/10;</p><p> time[1]=fen1%10;</p><p>
87、time[2]=scend1/10;</p><p> time[3]=scend1%10;</p><p> display(); D2=0;D1=1;</p><p><b> }</b></p><p> while(flag1==1&&flag==0)</p><p&g
88、t;<b> { </b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> display();D1=0;</p>
89、;<p><b> }</b></p><p> if( flag1==1&&flag==1) flag1=flag=0; </p><p> if(baojing==1){P2=0x00;P3&=0xc3;}</p><p> else {P2=0xff;P3=0xff;}</p>
90、<p><b> }</b></p><p><b> }</b></p><p> while(flag==3&&flag1==0)</p><p><b> {</b></p><p> time[0]=fen2/10;</p>
91、;<p> time[1]=fen2%10;</p><p> time[2]=scend2/10;</p><p> time[3]=scend2%10;</p><p> display();D3=0;D2=1;</p><p><b> }</b></p><p>
92、 while(flag==4&&flag1==0)</p><p><b> {</b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend2/10;</p><p> time[3]=scen
93、d2%10;</p><p> display(); D4=0;D3=1;</p><p><b> } </b></p><p><b> TR0=1;</b></p><p> while(flag1==3&&flag==0)</p><p>&l
94、t;b> { </b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend2/10;</p><p> time[3]=scend2%10;</p><p> display(); D3=0;D2=1;</
95、p><p><b> }</b></p><p> while(flag1==2&&flag==0)</p><p><b> { </b></p><p> time[0]=fen2/10;</p><p> time[1]=fen2%10;</
96、p><p> time[2]=scend2/10;</p><p> time[3]=scend2%10;</p><p> display(); D2=0;D1=1;</p><p><b> }</b></p><p> while(flag1==1&&flag==0)&
97、lt;/p><p><b> { </b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> displa
98、y();D1=0;</p><p><b> }</b></p><p> if( flag1==1&&flag==1) flag1=flag=0; </p><p> if(baojing==1){P2=0x00;P3&=0xc3;}</p><p> else {P2=0xff;P3=
99、0xff;}</p><p><b> }</b></p><p> while(flag==3&&flag1==0)</p><p><b> {</b></p><p> time[0]=fen3/10;</p><p> time[1]=fen
100、3%10;</p><p> time[2]=scend3/10;</p><p> time[3]=scend3%10;</p><p> display();D3=0;D2=1;</p><p><b> }</b></p><p> while(flag==4&&f
101、lag1==0)</p><p><b> {</b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend3/10;</p><p> time[3]=scend3%10;</p><p&g
102、t; display(); D4=0;D3=1;</p><p><b> } </b></p><p><b> TR0=1;</b></p><p> while(flag1==3&&flag==0)</p><p><b> { </b><
103、/p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend3/10;</p><p> time[3]=scend3%10;</p><p> display(); D3=0;D2=1;</p><p><b>
104、 }</b></p><p> while(flag1==2&&flag==0)</p><p><b> { </b></p><p> time[0]=fen3/10;</p><p> time[1]=fen3%10;</p><p> time[2]
105、=scend3/10;</p><p> time[3]=scend3%10;</p><p> display(); D2=0;D1=1;</p><p><b> }</b></p><p> while(flag1==1&&flag==0)</p><p><b
106、> { </b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> display();D1=0;</p><
107、p><b> }</b></p><p> if( flag1==1&&flag==1) flag1=flag=0; </p><p> if(baojing==1){P2=0x00;P3&=0xc3;}</p><p> else {P2=0xff;P3=0xff;}</p><p&g
108、t;<b> }</b></p><p> while(flag==3&&flag1==0)</p><p><b> {</b></p><p> time[0]=fen4/10;</p><p> time[1]=fen4%10;</p><p>
109、; time[2]=scend4/10;</p><p> time[3]=scend4%10;</p><p> display();D3=0;D2=1;</p><p><b> }</b></p><p> while(flag==4&&flag1==0)</p><p
110、><b> {</b></p><p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend4/10;</p><p> time[3]=scend4%10;</p><p> display(); D4=0;D3=1;
111、</p><p><b> } </b></p><p><b> TR0=1;</b></p><p> while(flag1==3&&flag==0)</p><p><b> { </b></p><p> time[0
112、]=10;</p><p> time[1]=10;</p><p> time[2]=scend4/10;</p><p> time[3]=scend4%10;</p><p> display(); D3=0;D2=1;</p><p><b> }</b></p>
113、<p> while(flag1==2&&flag==0)</p><p><b> { </b></p><p> time[0]=fen4/10;</p><p> time[1]=fen4%10;</p><p> time[2]=scend4/10;</p>&l
114、t;p> time[3]=scend4%10;</p><p> display(); D2=0;D1=1;</p><p><b> }</b></p><p> while(flag1==1&&flag==0)</p><p><b> { </b></p&
115、gt;<p> time[0]=10;</p><p> time[1]=10;</p><p> time[2]=scend/10;</p><p> time[3]=scend%10;</p><p> display();D1=0;</p><p><b> }</b&g
116、t;</p><p> if( flag1==1&&flag==1) flag1=flag=0; </p><p> if(baojing==1){P2=0x00;P3&=0xc3;}</p><p> else {P2=0xff;P3=0xff;}</p><p><b> }</b>&
117、lt;/p><p> void timer1() interrupt 1</p><p><b> {</b></p><p> uchar num;</p><p><b> num++;</b></p><p> if(num==100)</p>&l
118、t;p><b> {</b></p><p><b> num=0;</b></p><p><b> num1++;</b></p><p> if(num1==40)</p><p><b> {</b></p><
119、p><b> num1=0;</b></p><p><b> scend++;</b></p><p> if(scend==60)</p><p><b> {</b></p><p><b> scend=0;</b></p&g
120、t;<p> fen++; </p><p> if(scend==60)</p><p> {scend=0;fen++;if(fen==12)fen=0; </p><p><b> }</b></p><p><b> }</b></p>&l
121、t;p><b> }</b></p><p> if((fen==fen1)&&(scend==scend1)&&(scend<=(scend1+5)))&&(flag2==0))</p><p> baojing=1;</p><p> else {baojing=0;if(
122、scend>(scend1+5))flag2=0;}</p><p> if((fen==fen2)&&(scend==scend2)&&(scend<=(scend2+5)))&&(flag2==0))</p><p> baojing=1;</p><p> else {baojing=0;if(
123、scend>(scend2+5))flag2=0;}</p><p> if((fen==fen3)&&(scend==scend3)&&(scend<=(scend3+5)))&&(flag2==0))</p><p> baojing=1;</p><p> else {baojing=0;if(
124、scend>(scend3+5))flag2=0;}</p><p> if((fen==fen4)&&(scend==scend4)&&(scend<=(scend4+5)))&&(flag2==0))</p><p> baojing=1;</p><p> else {baojing=0;if(
125、scend>(scend4+5))flag2=0;}</p><p><b> }</b></p><p><b> }</b></p><p> void timer2() interrupt 3</p><p><b> {</b></p>&l
126、t;p><b> uchar tt;</b></p><p><b> tt++;</b></p><p> if(tt==30)</p><p> {keyscan();}</p><p><b> }</b></p><p> 附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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)的定時(shí)控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-時(shí)間控制器
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)節(jié)日彩燈控制器
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)控制的時(shí)鐘控制器
- 單片機(jī)課程設(shè)計(jì):彩燈控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制器
- 單片機(jī)課程設(shè)計(jì)--秒表定時(shí)器
- 單片機(jī)課程設(shè)計(jì)--定時(shí)器實(shí)驗(yàn)
- 單片機(jī)課程設(shè)計(jì)---加熱定時(shí)器
- 單片機(jī)課程設(shè)計(jì)智能定時(shí)器
- 四路搶答器單片機(jī)課程設(shè)計(jì)
- 四路搶答器單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 彩燈控制器的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---水溫控制器設(shè)計(jì)
- 彩燈控制器的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--水溫控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--溫度控制器的設(shè)計(jì)
- 時(shí)鐘控制器單片機(jī)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論