版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 物理機電工程學院課程設(shè)計報告</p><p> 課程名稱:《單片機原理》課程設(shè)計 </p><p> 系 部:物理與機電工程 </p><p> 專業(yè)班級: 09電子信息工程(1)班</p><p> 學生姓名: </p><
2、;p> 指導教師: </p><p> 完成時間: </p><p> 報告成績: </p><p> 單片機交通的燈控制設(shè)計與實現(xiàn)</p><p> 一、交通燈設(shè)計與要求</p><
3、;p> (1)車輛通行繁忙的十字交叉路口,設(shè)計一交通燈控制器,設(shè)東西方向通行時間為40秒,當剩余3秒時黃燈亮,南北方向通行時間為25秒,當剩余3秒時黃燈亮。</p><p> ?。?)東西、南北方向各用三個(綠、黃、紅)LED表示,并用數(shù)碼管顯示東西、南北方向的剩余時間。</p><p> ?。?)可利用按鍵修改時間參數(shù)。</p><p><b>
4、 二、方案設(shè)計與論證</b></p><p> 該設(shè)計是單片機控制交通燈,運用C51單片機實現(xiàn)交通燈的控制?,F(xiàn)今世界單片機作為微型計算機一個重要部分,由于它具有抗干擾能力強、靈活性好、環(huán)境要求不高、價格低廉、開放容易等優(yōu)點,在我國廣泛的應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設(shè)備等。</p><p> 用單片機驅(qū)動LED數(shù)碼管有很多方法
5、,按顯示方式分,有靜態(tài)顯示和 動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。</p><p> 方案一:靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。</p><p> 方案二:動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。</p><p> 這兩種顯示方式
6、各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路板空間。 </p><p> 在此設(shè)計中我們選擇動態(tài)顯示,簡化電路、節(jié)省線路板空間。</p><p><b> 三、硬件電路設(shè)計</b></p><p> 1.什
7、么是單片機系統(tǒng)</p><p> 單片機最小系統(tǒng),或者稱為最小應用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對51系列單片機來說,最小系統(tǒng)一般應該包括:單片機、晶振電路、復位電路。下面給出一個51單片機的最小系統(tǒng)電路圖:</p><p> ?。?)復位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當系統(tǒng)一上電,RST腳將會出現(xiàn)高電平
8、,并且,這個高電平持續(xù)的時間由電路的RC值來決定.典型的51單片機當RST腳的高電平持續(xù)兩個機器周期以上就將復位,所以,適當組合RC的取值就可以保證可靠的復位.一般教科書推薦C 取10u,R取8.2K.當然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個機周期的高電平.至于如何具體定量計算,可以參考電路分析相關(guān)書籍。</p><p> (2)晶振電路:典型的晶振取11.0592MHz
9、(因為可以準確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產(chǎn)生精確的uS級時歇,方便定時操作)</p><p> ?。?)信號燈控制電路,LED及顯示接口</p><p> 發(fā)光二極管簡稱LED,采用砷化鎵、鎵鋁砷、和磷化鎵等材料制成,其內(nèi)部結(jié)構(gòu)為一個PN結(jié),具有單向?qū)щ娦?。當在發(fā)光二極管PN結(jié)上加正向電壓時,PN結(jié)勢壘降低,載流子的擴散運動大于漂移運動,
10、致使P區(qū)的空穴注入到N區(qū),N區(qū)的電子注入到P區(qū),這樣相互注入的空穴與電子相遇后會產(chǎn)生復合,復合時產(chǎn)生的能量大部分以光的形式出現(xiàn),因此而發(fā)光。 當所有二極管都發(fā)出光時,大多數(shù)都不是很有效的。在普通二極管里,半導體材料本身吸引大量的光能而結(jié)束。發(fā)光二極管是由一個塑性燈泡覆蓋集中燈光在一個特定方向。由于不同材料的禁帶寬度不同,所以由不同材料制成的發(fā)光二極管可發(fā)出不同波長的光。另外,有些材料由于組分和摻雜不同,例如,有的具有很復雜的能帶結(jié)構(gòu)
11、,相應的還有間接躍遷輻射等,因此有各種各樣的發(fā)光二極管。</p><p> 發(fā)光二極管在制作時,使用的材料有所不同,那么就可以發(fā)出不同顏色的光。發(fā)光二極管的發(fā)光顏色有:紅色光、黃色光、綠色光、紅外光等。 </p><p> 發(fā)光二極管的外形有:圓形、長方形、三角形、正方形、組合形、特殊形等。 </p><p> 常用的發(fā)光二極管應用電路有四種,即直流驅(qū)動電路、
12、交流驅(qū)動電路、脈沖驅(qū)動電路、變色發(fā)光驅(qū)動電路。 </p><p> 使用LED作指示電路時,應該串接限流電阻,該電阻的阻值大小應根據(jù)不同的使用電壓和LED所需工作電流來選擇。發(fā)光二極管的壓降一LED的光學參數(shù)與pn結(jié)結(jié)溫有很大的關(guān)系。一般工作在小電流IF<10mA,或者10~20 mA長時間連續(xù)點亮LED溫升不明顯。因此我們選的二極管顏色為紅色,黃色。</p><p> 2、交通燈總原
13、理圖:</p><p><b> 四、軟件設(shè)計</b></p><p> 1、設(shè)計一個十字路口交通燈自動控制電路。</p><p> a--------南北方向綠燈接通, 東西方向綠燈接通; </p><p> b--------南北方向黃燈接通, 東西方向黃燈接通;</p><p>
14、c--------南北方向紅燈接通, 東西方向紅燈接通。</p><p> 工作順序為a→b→c→a, 要求各狀態(tài)的工作時間如下圖所示:</p><p> 綠燈-(25s)-黃燈--(3s)-紅燈--(40s)--綠燈--(循環(huán))</p><p><b> 2、單片機的定時器</b></p><p> 在單片機應
15、用系統(tǒng)中,實現(xiàn)定時的方法一般有以下三種:</p><p> (1)軟件定時:讓計算機執(zhí)行一段程序來進行事件延時。這個程序段本身份沒有安排其他的執(zhí)行目的,只是利用該程序段的執(zhí)行花費的一個固定時間。通過適當?shù)倪x擇指令和安排循環(huán)次數(shù),可調(diào)節(jié)這段程序執(zhí)行所需花費的時間的長短。其特點是定時時間精確,不需外加硬件電路,但占用CPU時間。因此軟件定時的時間不宜過長。</p><p> ?。?)硬件定時
16、:利用硬件電路實現(xiàn)定時。其特點是不占用CPU時間,通過改變電路元器件參數(shù)調(diào)來節(jié)定時,但使用不夠靈活方便。對于時間較長的定時,常用硬件電路來實現(xiàn)。</p><p> (3)可編程定時器:通過專用的定時計數(shù)器芯片來實現(xiàn)。其特點是通過對系統(tǒng)時鐘脈沖進行計數(shù)實現(xiàn)定時,定時的時間可通過程序的設(shè)定的方法改變,使用靈活方便。也可實現(xiàn)對外部脈沖的計數(shù)功能。單片機交通控制器的設(shè)計</p><p> 當定
17、時計數(shù)器設(shè)置為計數(shù)工作方式時,技術(shù)器對來自輸入引腳T0和T1的外部信號計數(shù),外部信號的下降沿將觸發(fā)計數(shù)。最高檢測頻率為振蕩頻率的二十四分之一。計數(shù)器對外部輸入信號的占空比沒有特別的限制,但必須保證輸入信號的高電平與低電平的持續(xù)時間在一個機器周期以上。當設(shè)置了定時器的工作方式并啟動定時器工作后,定時器就安倍設(shè)定的工作方式獨立工作,不在占用CPU的操作時間,只有在計數(shù)器計滿溢出時才能中斷CPU當前的操作。</p><p&
18、gt; 3、定時器數(shù)值的設(shè)置應該注意的事項</p><p> 延時方法可以有兩種一中是利用MCS-51內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式:</p>&l
19、t;p><b> TC=M-C</b></p><p> 式中,M為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為8196 ;在方式1時M的值為65536;在方式2和3為256。</p><p> T=(M-TC)T計數(shù) 或TC=M-T/T計數(shù)</p><p> T計數(shù)是單片機時鐘周期TCLK的12倍;TC為定時初值,如單
20、片機的主脈沖頻率為TCLK12MHZ,經(jīng)過12分頻。</p><p> 方式0:TMAX=213?。蔽⒚耄剑福保梗埠撩?lt;/p><p> 方式1:TMAX=216 *1微秒=65.536毫秒</p><p> 我們在這里采用的是方式1,則初始值TC=65536-10000</p><p> THO=(65536-10000)%25
21、6 TL0=(65536-10000)/256</p><p> 顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題。</p><p> 我們采用在主程序中設(shè)定一個初值為0的軟件計數(shù)器和使T0定時10毫秒。這樣每當T0到10毫秒時CPU就響應它的溢出中斷請求,進入他的中斷服務子程序。在中斷服務子程序中,CPU先使軟件計數(shù)器加1,然后
22、判斷它是否為100,為100表示1秒已到可以返回到輸出時間顯示程序</p><p><b> 4、中斷系統(tǒng)的概念</b></p><p> 計算機在執(zhí)行正常程序時,如果系統(tǒng)出現(xiàn)某些急需處理的異常情況和特殊請求,CPU會暫時中止正在執(zhí)行的指令,轉(zhuǎn)去對隨機發(fā)生的更緊迫事件進行處理;處理完后,CPU會自動返回原來的程序繼續(xù)執(zhí)行。</p><p>
23、 5、單片機的中斷系統(tǒng)的作用</p><p> CPU響應中斷申請時,首先使先級有效位置位,以阻止同級或低級的終端申請;然后把程序計數(shù)器PC的內(nèi)容壓入堆餞,再把與中斷服務程序入口地址送到程序計數(shù)器PC;同時清除某些中斷標志。以上過程均由端系統(tǒng)自動完成。</p><p> 6、如何實現(xiàn)單片機的中斷</p><p> MCS-51單片機的中斷源共有5個,分為3類
24、:外部中斷源,片內(nèi)溢出中斷源,串行口中斷源。外部中斷源可以分為由片內(nèi)P3.2引腳輸入的INT0中斷,以及由P3.3引腳輸入的INT1中斷。片內(nèi)溢出中斷分為定時器T0中斷和定時器T1中斷。串行口中斷只有一個,片內(nèi)串行數(shù)據(jù)的接收和發(fā)送中斷。這5個中斷源在程序存儲器中各有中斷服務程序的入口地址,這個地址也稱為矢量地址。在CPU響應中斷時,硬件自動形成各自的入口地址,由此進入中斷服務程序,從而實現(xiàn)了正確的轉(zhuǎn)移。</p><p
25、> 五、仿真過程與仿真結(jié)果</p><p> 一個應用系統(tǒng)并非一次就可以正確無誤地設(shè)計出來,尤其是設(shè)計的程序,必須經(jīng)過多次的調(diào)試才能確鑿無誤地工作。為避免浪費,并不把剛剛編寫好的程序直接寫到EPROM、EEPROM等中去,更不會急于生產(chǎn)安裝部分硬件,在專用的仿真器或開發(fā)試驗臺上進行。</p><p> 我們首先在KEIL軟件中編寫程序,來進行C語言程序的調(diào)試。然后再把程序加載在
26、PRETEUS軟件上進行仿真調(diào)試。</p><p><b> 仿真結(jié)果:</b></p><p> ?。?)東西方向通行時間為40秒,當剩余3秒時黃燈亮,南北方向通行時間為25秒,當剩余3秒時黃燈亮。</p><p> ?。?)東西、南北方向各用三個(綠、黃、紅)LED表示,并用數(shù)碼管顯示東西、南北方向的剩余時間。</p>&l
27、t;p> ?。?)可利用按鍵修改時間參數(shù)。</p><p><b> 五、安裝與調(diào)試</b></p><p><b> 1、最小系統(tǒng)調(diào)試</b></p><p> 首先應該確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,我們所用的電源電壓是5V。接下來就是檢查復位引腳電壓是否正
28、常。分別測量按下復位按鈕和放開復位按鈕的電壓值,看是否正確。然后再檢查晶振是否起振了,一般用示波器來看晶振引腳的波形,注意應該使用示波器探頭的“X10”檔。另一個辦法是測量復位狀態(tài)下的IO口電平,按住復位鍵不放,然后測量IO口(沒接外部上拉的P0口除外)的電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。另外還要注意的地方是,要將EA引腳拉高,因為我們用的是片內(nèi)ROM,否則會出現(xiàn)程序亂跑的情況。有時用仿真器可以,而燒入片子
29、不行,往往是因為EA引腳沒拉高的緣故(當然,晶振沒起振也是原因只一)。經(jīng)過上面幾點的檢查,一般即可排除故障了。如果系統(tǒng)不穩(wěn)定的話,有時是因為電源濾波不好導致的。在單片機的電源引腳跟地引腳之間接上一個0.1uF的電容會有所改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uF的。遇到系統(tǒng)不穩(wěn)定時,就可以并上電容試試。</p><p><b> 2、故障點分析</b><
30、;/p><p> 檢測故障點的方法如下:</p><p> ?、贉y量電壓法。首先要確認的是各芯片電源引腳的電壓是否正常,其次檢查各種參考電壓是否正常,另外還有各點的工作電壓是否正常等。</p><p> ?、谛盘栕⑷敕?。將信號源加至輸入端,然后依次往后測量各點的波形,看是否正常,以找到故障點。有時我們也會用更簡單的辦法,例如用手握一個鑷子,去碰觸各級的輸入端,看輸出端
31、是否有反應,</p><p> ?、郛斎?,還有很多其它的尋找故障點的方法,例如看、聽、聞、摸等?!翱础本褪强丛袩o明顯的機械損壞,例如破裂、燒黑、變形等;“聽”就是聽工作聲音是否正常,例如一些不該響的東西在響,該響的地方不響或者聲音不正常等;“聞”就是檢查是否有異味,例如燒焦的味道、電容電解液的味道等,對于一個有經(jīng)驗的電子維修人員來說,對這些氣味是很敏感的;“摸”就是用手去試探器件的溫度是否正常,例如太熱,或者
32、太涼。一些功率器件,工作起來時會發(fā)熱,如果摸上去是涼的,則基本上可以判斷它沒有工作起來。但如果不該熱的地方熱了或者該熱的地方太熱了,那也是不行的。一般的功率三極管、穩(wěn)壓芯片等,工作在70度以下是完全沒問題的。70度大概是怎樣的一個概念呢?如果你將手壓上去,可以堅持三秒鐘以上,就說明溫度大概在70度以下(注意要先試探性的去摸,千萬別把手燙傷了)。</p><p><b> 六、結(jié)論與心得</b&g
33、t;</p><p> 通過課程設(shè)計的教學實踐,進一步學習、掌握單片機應用系統(tǒng)的有關(guān)知識,加深了解單片機的工作原理。初步掌握簡單單片機應用系統(tǒng)的設(shè)計、制作、調(diào)試的方法。提高動手實踐能力、提高科學的思維能力;對單片機又有了更深的認識,讓我對其從硬件和軟件都有了實質(zhì)性的探究,自己動手設(shè)計,組裝使自己的知識得到了系統(tǒng)化和產(chǎn)品化真正達到了學以致用。至此我要特別感謝學校和老師安排的這項活動使我們脫離了高中只會理論不會實踐
34、的階段而真正進入了實質(zhì)性的層次。使我們對將來的工作及研發(fā)奠定了一定的基礎(chǔ)。</p><p><b> 七、參考文獻</b></p><p> [1] 肖洪兵. .跟我學用單片機[M]. 北京:北京航空航天大學出版社,2006</p><p> [2] 何立民. 單片機高級教程[M]. 北京:北京航空航天大學出版社,2007</p&g
35、t;<p> [3] 張毅剛. 單片機原理極其應用(第二版).高等教育出版社,2011</p><p><b> 附件:按鍵說明</b></p><p> (1)按下key1時進入紅綠燈延時調(diào)時:第一次(單數(shù))進入為調(diào)</p><p> 試紅燈延時參數(shù);第二次(雙數(shù))進入為調(diào)試綠燈延時參數(shù);</p><
36、p> ?。?)key2為時間調(diào)整按鍵;</p><p> ?。?)key3為退出調(diào)時狀態(tài)。</p><p><b> 附件:程序</b></p><p> //------------------------------------------------</p><p> /****************
37、***********************</p><p> (1)車輛通行繁忙的十字交叉路口,設(shè)計一交通燈控制器,設(shè)東西方向通行時間為40秒,當剩余3秒時黃燈亮,南北方向通行時間為25秒,當剩余3秒時黃燈亮。</p><p> ?。?)東西、南北方向各用三個(綠、黃、紅)LED表示,并用數(shù)碼管顯示東西、南北方向的剩余時間。</p><p> ?。?)可利用按
38、鍵修改時間參數(shù)。</p><p><b> 注釋:</b></p><p> 按下key1時進入紅綠燈延時調(diào)時:第一次(單數(shù))進入為調(diào)</p><p> 試紅燈延時參數(shù);第二次(雙數(shù))進入為調(diào)試綠燈延時參數(shù);</p><p> key2為時間調(diào)整按鍵;</p><p> key3為退出調(diào)
39、時狀態(tài)。</p><p> ***********************************/</p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p>
40、<p> #define chuzhi1 15 //紅燈初值</p><p> #define chuzhi2 10 //綠燈初值</p><p> //----------------定義接口------------------------</p><p> sbit key1=P2^0;</p><p>
41、sbit key2=P2^1;</p><p> sbit key3=P2^2;</p><p> sbit wela1=P2^4;//定義數(shù)碼管位選</p><p> sbit wela2=P2^3;</p><p> sbit hong=P2^5;</p><p> sbit
42、 huang=P2^6;</p><p> sbit lv=P2^7;</p><p> //----------------定義變量------------------------</p><p> /*uchar code table[]={ </p><p> 0xc0,0xf9,0xa4,0xb0,</p&
43、gt;<p> 0x99,0x92,0x82,0xf8,</p><p> 0x80,0x90};*/</p><p> uchar code table[]={ //共陰數(shù)碼管</p><p> 0x3f,0x06,0x5b,0x4f,</p><p> 0x66,0x6d,0x7d,0x07,</p&g
44、t;<p> 0x7f,0x6f,0x77,0x7c,</p><p> 0x39,0x5e,0x79,0x71}; </p><p> uint shi,ge,num,k,aa,bb,shu1,shu2; </p><p> //----------------延時u毫秒----------------------------*/</
45、p><p> void delay(uint u) </p><p><b> {</b></p><p> uint x, y;</p><p> for(x = u; x > 0; x--) </p><p> for(y = 110; y > 0; y--
46、);</p><p> }</p><p> //----------------初始化-------------------------- </p><p> void init(void)</p><p><b> {</b></p><p> TMOD=0x01
47、;//設(shè)置定時器T0為工作方式1</p><p> TH0=(65536-10000)/256;//賦初值</p><p> TL0=(65536-10000)%256;</p><p> EA=1;//開總中斷</p><p><b> ET0=1;</b></p>
48、<p><b> TR0=1;</b></p><p> num=chuzhi1;</p><p> shu1=chuzhi1;</p><p> shu2=chuzhi2;</p><p><b> k=0;</b></p><p><b>
49、 aa=0;</b></p><p><b> bb=0;</b></p><p> shi=num/10;</p><p> ge=num%10;</p><p><b> hong=0;</b></p><p><b> huang=1;
50、</b></p><p><b> lv=1;</b></p><p><b> }</b></p><p> //-----------------數(shù)碼管顯示函數(shù)----------------------</p><p> void xianshi(uchar shi,uch
51、ar ge)</p><p><b> {</b></p><p><b> wela2=0;</b></p><p><b> wela1=1;</b></p><p> P0=table[shi];</p><p><b> de
52、lay(5);</b></p><p><b> wela1=0;</b></p><p><b> wela2=1;</b></p><p> P0=table[ge];</p><p><b> delay(5);</b></p><
53、p><b> }</b></p><p> //----------------主函數(shù)-------------------------- */</p><p> void KeyRead();</p><p> void main(void)</p><p><b> {</b&g
54、t;</p><p><b> init();</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> xianshi(shi,ge);</p><p> KeyRead();
55、 </p><p><b> }</b></p><p><b> }</b></p><p> //----------------讀按鍵--------------------------</p><p> void KeyRead() </p><p&
56、gt;<b> { </b></p><p> if(key1==0)</p><p><b> {</b></p><p> delay(10);//消抖</p><p> if(key1==0)</p><p><b> {</b>
57、;</p><p><b> k++;</b></p><p><b> TR0=0;</b></p><p> while(!TR0)</p><p><b> { </b></p><p> if(key1==0)//修改k值</p&
58、gt;<p><b> {</b></p><p> delay(10);</p><p> if(key1==0)</p><p><b> {</b></p><p><b> if(k==2)</b></p><p>&l
59、t;b> {</b></p><p><b> k=0;</b></p><p><b> }</b></p><p><b> k++;</b></p><p><b> }</b></p><p>
60、 while(!key1);//是否松手</p><p><b> delay(5);</b></p><p> while(!key1);</p><p><b> }</b></p><p> if(key3==0) //檢測是否退出調(diào)時</p><p>&
61、lt;b> {</b></p><p> delay(10);</p><p> if(key3==0) </p><p><b> {</b></p><p><b> if(k==2)</b></p><p><b>
62、{</b></p><p><b> k=0;</b></p><p><b> bb=1;</b></p><p><b> }</b></p><p><b> TR0=1;</b></p><p><
63、b> }</b></p><p><b> }</b></p><p> if(k==1)//按下第一次進入設(shè)置紅燈時間模式</p><p><b> { </b></p><p><b> num=shu1;</b></p>
64、;<p> shi=num/10;</p><p> ge=num%10;</p><p> xianshi(shi,ge);</p><p><b> hong=0;</b></p><p><b> huang=1;</b></p><p><
65、;b> lv=1;</b></p><p> if(key2==0)</p><p><b> {</b></p><p> delay(10);</p><p> if(key2==0)//按下key2鍵調(diào)整通行時間</p><p><b> {<
66、/b></p><p><b> num--;</b></p><p><b> shu1=num;</b></p><p> shi=num/10;</p><p> ge=num%10;</p><p> xianshi(shi,ge);</p>
67、;<p> if(shu1==0)</p><p><b> {</b></p><p> shu1=chuzhi1;</p><p><b> num=shu1;</b></p><p> shi=num/10;</p><p> ge=num%1
68、0;</p><p> xianshi(shi,ge);</p><p><b> }</b></p><p> while(!key2);</p><p><b> delay(5);</b></p><p> while(!key2);</p>&
69、lt;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(k==2)//按下第二次進入設(shè)置綠燈時間模式</p><p><b> {</b><
70、;/p><p><b> num=shu2;</b></p><p> shi=num/10;</p><p> ge=num%10;</p><p> xianshi(shi,ge);</p><p><b> hong=1;</b></p><p
71、><b> huang=1;</b></p><p><b> lv=0;</b></p><p> if(key2==0)</p><p><b> {</b></p><p> delay(10);</p><p> if(key2
72、==0)//按下key2鍵調(diào)整通行時間</p><p><b> {</b></p><p><b> num--;</b></p><p><b> shu2=num;</b></p><p> shi=num/10;</p><p> g
73、e=num%10;</p><p> xianshi(shi,ge);</p><p> if(shu2==0)</p><p><b> {</b></p><p> shu2=chuzhi2;</p><p><b> num=shu2;</b></p&g
74、t;<p> shi=num/10;</p><p> ge=num%10;</p><p> xianshi(shi,ge);</p><p><b> }</b></p><p> while(!key2);</p><p><b> delay(5);&l
75、t;/b></p><p> while(!key2);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&g
76、t;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> //定時器中斷函數(shù)</b></p><p> void timer0() i
77、nterrupt 1</p><p><b> {</b></p><p> TH0=(65536-10000)/256; //重賦初值</p><p> TL0=(65536-10000)%256;</p><p><b> aa++;</b></p><p&
78、gt; if(aa==100)// 定時達到1秒</p><p><b> {</b></p><p><b> aa=0;</b></p><p><b> num--;</b></p><p> shi=num/10;</p><p&g
79、t; ge=num%10;</p><p> xianshi(shi,ge);</p><p><b> if(bb==0)</b></p><p><b> {</b></p><p> if(num==3)</p><p><b> {&
80、lt;/b></p><p><b> hong=1;</b></p><p><b> huang=0;</b></p><p><b> lv=1;</b></p><p><b> }</b></p><p>
81、 if(num==0)</p><p><b> {</b></p><p><b> hong=1;</b></p><p><b> huang=1;</b></p><p><b> lv=0;</b></p><p&g
82、t;<b> num=shu2;</b></p><p> shi=num/10;</p><p> ge=num%10;</p><p> xianshi(shi,ge);</p><p><b> bb++;</b></p><p><b> }
83、</b></p><p><b> }</b></p><p><b> if(bb==1)</b></p><p><b> {</b></p><p> if(num==3)</p><p><b> {&
84、lt;/b></p><p><b> hong=1;</b></p><p><b> huang=0;</b></p><p><b> lv=1;</b></p><p><b> }</b></p><p>
85、 if(num==0)</p><p><b> {</b></p><p><b> hong=0;</b></p><p><b> huang=1;</b></p><p><b> lv=1;</b></p><p&g
86、t;<b> num=shu1;</b></p><p> shi=num/10;</p><p> ge=num%10;</p><p> xianshi(shi,ge);</p><p><b> bb=0;</b></p><p><b> }
87、</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> //----------------程序結(jié)束------------------------ */<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機交通燈課程設(shè)計--基于單片機的交通燈控制設(shè)計
- 單片機課程設(shè)計--基于單片機的交通燈設(shè)計
- 單片機課程設(shè)計--單片機控制的交通燈控制系統(tǒng)設(shè)計
- 單片機控制交通燈課程設(shè)計
- 單片機課程設(shè)計--基于單片機的控制循環(huán)燈設(shè)計
- 單片機控制交通燈課程設(shè)計
- 單片機控制交通燈課程設(shè)計
- 單片機課程設(shè)計---交通燈控制
- 單片機課程設(shè)計--基于單片機的交通燈設(shè)計 (2)
- 單片機課程設(shè)計--基于51單片機的交通燈
- 單片機交通燈課程設(shè)計--基于單片機的交通燈系統(tǒng)的設(shè)計
- 單片機交通燈的控制課程設(shè)計
- 單片機課程設(shè)計--交通燈
- 單片機課程設(shè)計(交通燈)
- 單片機交通燈課程設(shè)計
- 單片機課程設(shè)計---交通燈
- 單片機交通燈課程設(shè)計
- 單片機課程設(shè)計-交通燈
- 單片機交通燈課程設(shè)計
- 單片機交通燈課程設(shè)計
評論
0/150
提交評論