版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 測控系統(tǒng)原理與設計 課程設計</p><p> 課題: 時鐘計時器的設計 </p><p> 班級 測控1101 學號 </p><p> 學生姓名 </p><p> 專業(yè) 測控技術與儀器
2、 </p><p> 系別 電子信息工程系 </p><p> 指導教師 </p><p><b> 2013年5月</b></p><p><b> 1設計目的</b></p><p>
3、 《測控系統(tǒng)原理與設計》課程設計是一項重要的實踐性教育環(huán)節(jié),是學生在校期間必須接受的一項工程訓練。在課程設計過程中,在教師指導下,運用工程的方法,通過一個簡單課題的設計練習,可使學生初步體驗微機應用系統(tǒng)的設計過程、設計要求、完成的工作內容和具體的設計方法,了解必須提交的各項工程文件,也達到鞏固、充實和綜合運用所學知識解決實際問題的目的。</p><p> 通過課程設計,應能加強學生如下能力的培養(yǎng):</p&
4、gt;<p> 獨立工作能力和創(chuàng)造力;</p><p> 綜合運用專業(yè)及基礎知識,解決實際工程技術問題的能力;</p><p> 查閱圖書資料、產品手冊和各種工具書的能力;</p><p><b> 工程繪圖的能力;</b></p><p> 編寫技術報告和編制技術資料的能力。</p>
5、<p><b> 2設計要求</b></p><p> (1) 獨立完成設計任務</p><p> (2) 繪制系統(tǒng)硬件總框圖</p><p> (3) 繪制系統(tǒng)原理電路圖</p><p> (4) 繪制系統(tǒng)工程設計圖(機箱、控制面板、線路板圖、元件布局圖、裝配連線圖等)</p>&
6、lt;p> (5) 編制軟件框圖</p><p> (6) 完成詳細完整的程序清單和注釋</p><p> (7) 制定編寫調試方案</p><p> (8) 編寫用戶操作使用說明書</p><p> (9) 寫出設計工作小結</p><p><b> 3系統(tǒng)方案設計</b>&l
7、t;/p><p><b> 3.1概述</b></p><p> 本實驗所選用的單片機為AT89C51,時鐘計時器用單片機和6位LED數(shù)碼管顯示時、分、秒,以24小時計時方式進行,能整點提醒,使用按鍵開關可實現(xiàn)時、分調整,秒表/時鐘功能轉換,省電及定時設定提醒功能。</p><p> 3.2 系統(tǒng)方案框圖</p><p&g
8、t;<b> 圖1:系統(tǒng)方案框圖</b></p><p><b> 4硬件介紹</b></p><p> 4.1 STC89C51</p><p> AT89C52引腳結構</p><p> 圖 2 AT89C52引腳結構</p><p><b> 功
9、能特性描述:</b></p><p> 與MCS-51單片機產品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz、三級加密程序存儲器、2個可編程I/O口線、三個16位定時器/計數(shù)器、八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器等AT89C51引腳功能描述 </p><p><b>
10、; VCC : 電源</b></p><p><b> GND: 地</b></p><p> P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內部上拉電阻。在flash編程時,
11、P0口也用來接收指令字節(jié);而在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。</p><p> P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在flash編程和校驗時,P1口接收低8位地址字節(jié)。
12、</p><p> P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在flash編程和校驗時,P2口亦接收低高位地址和其它控制信號。</p><p> P3 口:P3 口是一個具有內
13、部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在flash編程和校驗時,P3口也接收一些控制信號。P3口亦作為AT89S52特殊功能(第二功能)使用,如下所示。</p><p> AT89S52 引腳號 第二功能</p>
14、<p> P3.0 RXD (串行輸入)</p><p> P3.1 TXD (串行輸出)</p><p> P3.2 INT0 (外部中斷0)</p><p> P3.3 INT1 (外部中斷1)</p><p> P3.4 T0 (定時器0外部輸入)</p><p> P3.5 T1 (定時
15、器1外部輸入)</p><p> P3.6 WR (外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 RD (外部數(shù)據(jù)存儲器寫選通)</p><p> RST: 復位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復位。</p><p> ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地
16、址的輸出脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過一個ALE脈沖。</p><p> PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當AT89C51從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。</p&g
17、t;<p> EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器</p><p> 讀取指令,EA必須接GND。為了執(zhí)行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。</p><p> XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。</p><p> XTAL
18、2:振蕩器反相放大器的輸出端。</p><p> AT89C52 有5個中斷源,中斷是指計算機在執(zhí)行某一程序的過程中, 由于計算機系統(tǒng)內、 外的某種原因, 而必須中止原程序的執(zhí)行,轉去執(zhí)行相應的處理程序,待處理結束之后, 再回來繼續(xù)執(zhí)行被中止的原程序的過程。 </p><p> 采用了中斷技術后的計算機, 可以解決CPU與外設之間速度匹配的問題, 使計算機可以及時處理系統(tǒng)中許多隨機的
19、參數(shù)和信息, 同時, 它也提高了計算機處理故障與應變的能力。兩個外部中斷(INT0 和INT1),兩個定時中斷(定時器0、1)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器IE 中的相關中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。</p><p> 中斷源是在一個計算機系統(tǒng)對中斷請求的來源,中斷可以人為設定,它可以在應對突發(fā)隨機事件設置。通常的I
20、/ O設備,實時控制系統(tǒng)的故障隨機參數(shù)和信息源等。</p><p> 較高優(yōu)先級的中斷,那么到更高的優(yōu)先級響應。當運行時,中斷服務程序,另一個中斷高優(yōu)先級中斷請求產生,當電流CPU中斷服務將暫停高級別中斷處理應用,可完成先進的中斷處理程序中斷程序關閉,然后再返回到CPU原始點繼續(xù)這一過程被稱為嵌套。 </p><p><b> 中斷響應的過程:</b></p
21、><p> 在每個指令結束時,系統(tǒng)會自動檢測中斷請求信號,如果有一個中斷請求,并在打開的CPU,那么響應的中斷的中斷狀態(tài)。 </p><p> (2)保護之前,在一般保護,禁止中斷,以防止現(xiàn)場銷毀現(xiàn)場的一幕。保護現(xiàn)場的指令一般用于堆疊在原程序中使用到堆棧中的寄存器。 </p><p> ?。?)中斷服務的相應的中斷源是服務。 </p><p>
22、; ?。?)恢復現(xiàn)場,將保護的數(shù)據(jù)在堆棧上彈出的復蘇之前,禁止中斷現(xiàn)場,以防 止破壞現(xiàn)場。時間后,現(xiàn)場恢復開放中斷。 </p><p> ?。?)返回時,此CPU的斷點地址時堆棧推彈回到程序計數(shù)器,使CPU繼續(xù)執(zhí)行被中斷的程序。</p><p> 4.2 74HC573</p><p> SL74HC573 跟LS/AL573 的管腳一樣。器件的輸
23、入是和標準CMOS 輸出兼容的;加上拉電阻,他們能和LS/ALSTTL 輸出兼容。當鎖存使能端為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。輸出能直接接到CMOS,NMOS 和TTL 接口上操作電壓范圍:2.0V~6.0V低輸入電流:1.0uACMOS 器件的高噪聲抵抗特性</p><p><b> 圖4 管腳功能圖
24、:</b></p><p> 表1 74HC573功能表</p><p> 圖5 74HC573邏輯圖</p><p> 4.3 LED 數(shù)碼管</p><p> 由于系統(tǒng)要顯示的內容較簡單,顯示量不多,所以選用數(shù)碼管既方便又經濟。LED 有共陰極和共陽極兩種。如圖所示。</p><p> 二極
25、管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5V 的電壓。一位顯示器由8 個發(fā)光二極管組成,其中7 個發(fā)光二極管構成字型“8”的各個筆劃(段)a~g,另一個小數(shù)點為dp 發(fā)光二極管。當在某段發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各段LED 不被損壞,需外加限流電阻。</p><p> LED 顯示數(shù)碼管通常由硬件7 段譯碼集成電路,完成從數(shù)
26、字到顯示碼的譯碼驅動。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機軟件完成從數(shù)字到顯示碼的轉換。從LED 數(shù)碼管結構原理可知,為了顯示字符,要為LED 顯示數(shù)碼管提供顯示段碼,組成一個“8”字形字符的7 段,再加上1 個小數(shù)點位,共計8 段,因此提供給LED 數(shù)碼管的顯示段碼為1 個字節(jié)。各段碼位與顯示段的對應關系如表。</p><p>
27、;<b> 表2</b></p><p> 需說明的是當用數(shù)據(jù)口連接LED 數(shù)碼管a~dp 引腳時,不同的連接方法,各段碼位與顯示段有不同的對應關系。通常數(shù)據(jù)口的D0 位與a 段連接,D1 位與b 段連接,……D7 位與dp 段連接,如表1 所示,表2 為用于LED 數(shù)碼管顯示的十六進制數(shù)和空白字符與P 的顯示段碼。</p><p> 注:(1)本表所列各字符的
28、顯示段碼均為小數(shù)點不亮的情況。</p><p> ?。?)“空白”字符即沒有任何顯示。</p><p> 顯示方式有靜態(tài)顯示和動態(tài)顯示兩種。</p><p> 靜態(tài)顯示:所謂靜態(tài)顯示,就是當顯示器顯示某一字符時,相應的發(fā)光二極管恒定的導通或截止。該方式每一位都需要一個8 位輸出口控制。靜態(tài)顯示時較小的電流能獲得較高的亮度,且字符不閃爍。但當所顯示的位數(shù)較多時,靜
29、態(tài)顯示所需的I/O 口太多,造成了資源的浪費。</p><p> 動態(tài)顯示:所謂動態(tài)顯示就是一位一位的輪流點亮各個位,對于顯示器的每一位來說,每隔一段時間點亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導通電流有關,也于點亮時間與間隔時間的比例有關。調整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O 口,降低了能耗。</p><p&
30、gt;<b> 5硬件電路介紹</b></p><p><b> 5.1 晶振電路</b></p><p> 每個單片機系統(tǒng)里都有晶振,全程是叫晶體震蕩器,在單片機系統(tǒng)里晶振的作用非常大,他結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令的執(zhí)行都是建立在這個基礎上的,晶振的提供的時鐘頻率越高,那單片機的運行速度也就越快。晶
31、振用一種能把電能和機械能相互轉化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內調整頻率,稱為壓控振蕩器(VCO)。晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調整頻率的方法保持同步。</p><p><
32、b> 5.2復位電路</b></p><p> 復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。</p><p><b> 圖6 復位電路</b></p><p><b&g
33、t; 顯示電路</b></p><p> 圖7 數(shù)碼管顯示電路</p><p><b> 5.4 按鍵電路</b></p><p> 本設計采用四個獨立按鍵;按鍵處理設置為:如果沒有按鍵,則時鐘正常走下去。第一個按鍵為切換按鍵,用于顯示不同界面的切換。默認顯示為時分秒,如果按鍵一次,切換為顯示年月日;如果按鍵兩次,切換為顯示
34、鬧鈴時間;再按一次則跳回顯示時分秒;第二個按鍵為調整時間,當?shù)谝淮伟聪碌臅r候,進入調整狀態(tài),把定時器關掉,時鐘就停止走動;這時當按下第三個按鍵可以對秒進行加1 的操作,當按下第四個按鍵可以對分進行加1 的操作,當按下K2 鍵的時可以對時進行加1 操作,當再次按下第二個按鍵 鍵時,打開定時器,再次啟動時鐘。為了使按鍵更穩(wěn)定,在程序中加入了去抖程序與松手檢測程序。</p><p><b> 圖8 按鍵電路
35、</b></p><p><b> 6總電路流程圖</b></p><p><b> 7軟件設計</b></p><p><b> 7.1主程序</b></p><p> 主程序循環(huán)調用顯示子程序和查鍵子程序,當按鍵被按下時,轉入相應功能程序。其主程序執(zhí)行流
36、程如圖9所示。</p><p> 圖9 主程序流程圖</p><p><b> 7.2顯示主程序</b></p><p> 本程序采用動態(tài)顯示,并運用鎖存器將結果送出;</p><p> 圖10 顯示流程圖</p><p> 7.3鬧鐘時間設定功能程序</p><
37、p> 在時鐘狀態(tài)下,觸發(fā)外中斷1時,進入鬧鐘時間設定模式,且不影響T0計時器的功能狀態(tài),在鍵盤上輸入對應的數(shù)字進行時間設定。當分別按下調節(jié)時鐘、分鐘和秒鐘的個位時,時間自動確定。鬧鐘時間設定流程圖如圖6-3所示:</p><p> 圖11 鬧鐘時間設定流程圖</p><p><b> 8誤差分析與修正</b></p><p>&l
38、t;b> ·測量數(shù)據(jù)</b></p><p><b> 數(shù)據(jù)分析</b></p><p> 基本滿足設計要求,誤差在10~15秒/時之間,完全可以滿足日常的使用。</p><p><b> 9軟件仿真</b></p><p><b> 10 PCB&l
39、t;/b></p><p> 11課程設計體會與總結</p><p> 通過本次課程設計,加深了對傳感器課程的認識,提高了動手與團隊合作能力。在單片機課程設計中,經過選題、設計電路、購買元件、焊接電路、程序編寫調試等步驟,最終得到完整的作品。這次課程設計是本門課程課堂教學的延伸和發(fā)展,是理論知識與工程實踐之間的銜接。通過本課程設計,我獲益匪淺,增強了我對單片機專業(yè)知識的學習,加深
40、了認識,進一步鞏固了我的動手能力,培養(yǎng)獨立自主、綜合分析的思維與創(chuàng)新能力,最終使初步具有設計小型計算機控制系統(tǒng)的硬件及軟件的能力。同時,通過資料搜集、方案分析、系統(tǒng)設計與報告撰寫的一系列過程,得到一次科學研究工作的初步訓練。從而,在專業(yè)知識與研究方法方面為日后的畢業(yè)設計乃至畢業(yè)后的工作奠定良好的基礎。本次課程設計 使我得到了鍛煉,讓我明白學習不知能是紙上談兵,要能在生活生產中用到的具體使用。</p><p>&l
41、t;b> 附:</b></p><p><b> 參考代碼</b></p><p> #include<reg52.h></p><p> unsigned char data shijian[2][3]={13,06,25,23,59,50};</p><p> unsigned
42、 char data naoling[3]={23,59,51};</p><p> unsigned char code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> unsigned char code weima[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xb
43、f,0x7f}; </p><p> sbit key1=P3^4;</p><p> sbit key2=P3^5;</p><p> sbit key3=P3^6;</p><p> sbit key4=P3^7;</p><p> sbit fmq=P2^3;</p><p>
44、 bit flag,flagfmq;</p><p> sbit duan=P2^6;//定義鎖存使能端口 段鎖存</p><p> sbit wei=P2^7;// 位鎖存</p><p> void delay(unsigned char t)</p><p><b> {</b&
45、gt;</p><p> unsigned char i,j;</p><p> for(i=t;i>0;i--)</p><p> for(j=110;j>0;j--);</p><p><b> }</b></p><p> void display(unsigned
46、char n)</p><p><b> {</b></p><p> unsigned char i,j=0;</p><p> unsigned char temp[2][6];</p><p> for(i=0,j=0;i<3;i++,j+=2)</p><p><b&g
47、t; {</b></p><p> temp[n][j]=shijian[n][i]/10;</p><p> temp[n][j+1]=shijian[n][i]%10;</p><p><b> }</b></p><p> for(i=0;i<6;i++)</p><
48、p><b> {</b></p><p><b> P0=0;</b></p><p><b> duan=1;</b></p><p><b> duan=0;</b></p><p> P0=weima[i];</p>&
49、lt;p><b> wei=1;</b></p><p><b> wei=0;</b></p><p> if((i%2==1)&&(i!=5))</p><p> P0=duanma[temp[n][i]]|0x80;</p><p><b> else
50、</b></p><p> P0=duanma[temp[n][i]];</p><p><b> duan=1;</b></p><p><b> duan=0;</b></p><p> delay(10);</p><p><b> }&
51、lt;/b></p><p><b> }</b></p><p> void init_time0()</p><p><b> {</b></p><p> TMOD=0X01;</p><p> TH0=(65536-50000)/256;</p&
52、gt;<p> TL0=(65536-50000)%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b
53、></p><p> void main()</p><p><b> {</b></p><p> unsigned char n=1,i,j=0;</p><p> unsigned char a;</p><p><b> key1=1;</b><
54、/p><p> key2=1;// control</p><p><b> key3=1;</b></p><p><b> key4=1;</b></p><p> init_time0();</p><p><b> while(1)</b>
55、</p><p><b> {</b></p><p><b> if(!key1)</b></p><p><b> {</b></p><p> delay(15);</p><p><b> if(!key1)</b>
56、;</p><p><b> {</b></p><p> while(!key1);</p><p><b> n++;</b></p><p><b> j=0;</b></p><p><b> if(n==2)</b&g
57、t;</p><p><b> n=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(flag)</b></p><p><b> {<
58、;/b></p><p><b> flag=0;</b></p><p> shijian[1][2]++;</p><p> if(shijian[1][2]==60)</p><p><b> {</b></p><p> shijian[1][2]=0
59、;</p><p> shijian[1][1]++;</p><p> if(shijian[1][1]==60)</p><p><b> {</b></p><p> shijian[1][1]=0;</p><p> shijian[1][0]++;</p><
60、;p> if(shijian[1][0]==24)</p><p><b> {</b></p><p> shijian[1][0]=0;}</p><p><b> }</b></p><p><b> }</b></p><p
61、><b> }</b></p><p><b> if(!key2)</b></p><p><b> {</b></p><p> delay(150);</p><p><b> if(!key2)</b></p><
62、;p><b> {</b></p><p> while(!key2);</p><p><b> j++;</b></p><p><b> TR0=0;</b></p><p><b> if(j==4)</b></p>
63、<p><b> {</b></p><p><b> j=0;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p><b> }</b></p>
64、;<p><b> }</b></p><p><b> if(j==1)</b></p><p><b> {</b></p><p><b> if(!key3)</b></p><p><b> {</b>
65、;</p><p> delay(15);</p><p><b> if(!key3)</b></p><p><b> {</b></p><p> while(!key3);</p><p> shijian[n][2]++;</p><p
66、> if(n==1&&shijian[n][2]>=60)</p><p> shijian[n][2]=0;</p><p><b> else</b></p><p> if(n==0&&shijian[n][2]>=31)</p><p> shijian
67、[n][2]=0;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(!key4)</b></p><p><b> {</b></p><p> delay(15
68、);</p><p><b> if(!key4)</b></p><p><b> {</b></p><p> while(!key4);</p><p> shijian[n][2]--;</p><p> if(n==1&&shijian[n
69、][2]==0)</p><p> shijian[n][2]=60;</p><p><b> else</b></p><p> if(n==0&&shijian[n][2]==0)</p><p> shijian[n][2]=31;</p><p><b>
70、; }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(j==2)</b></p><p><b> {</b></p><p><b&
71、gt; if(!key3)</b></p><p><b> {</b></p><p> delay(15);</p><p><b> if(!key3)</b></p><p><b> {</b></p><p> whi
72、le(!key3);</p><p> shijian[n][1]++;</p><p> if(n==1&&shijian[n][1]>=60)</p><p> shijian[n][1]=0;</p><p><b> else</b></p><p> if
73、(n==0&&shijian[n][1]>=12)</p><p> shijian[n][1]=0;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(!key4)</b></p&g
74、t;<p><b> {</b></p><p> delay(15);</p><p><b> if(!key4)</b></p><p><b> {</b></p><p> while(!key4);</p><p>
75、 shijian[n][1]--;</p><p> if(n==1&&shijian[n][1]==0)</p><p> shijian[n][1]=59;</p><p><b> else</b></p><p> if(n==0&&shijian[n][1]==0)<
76、;/p><p> shijian[n][1]=12;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(j==3)</b><
77、/p><p><b> {</b></p><p><b> if(!key3)</b></p><p><b> {</b></p><p> delay(15);</p><p><b> if(!key3)</b><
78、;/p><p><b> {</b></p><p> while(!key3);</p><p> shijian[n][0]++;</p><p> if(n==1&&shijian[n][0]>=24)</p><p> shijian[n][0]=0;</
79、p><p><b> else</b></p><p> if(n==0&&shijian[n][0]==100)</p><p> shijian[n][0]=0;</p><p><b> }</b></p><p><b> }</
80、b></p><p><b> if(!key4)</b></p><p><b> {</b></p><p> delay(15);</p><p><b> if(!key4)</b></p><p><b> {<
81、/b></p><p> while(!key4);</p><p> shijian[n][0]--;</p><p> if(n==1&&shijian[n][0]<=0)</p><p> shijian[n][0]=23;</p><p><b> else<
82、;/b></p><p> if(n==0&&shijian[n][0]==0)</p><p> shijian[n][0]=99;</p><p><b> }</b></p><p><b> }</b></p><p><b>
83、 }</b></p><p> if((TR0==1)&&(shijian[1][0]==naoling[0]&&shijian[1][1]==naoling[1]&&(shijian[1][2]>naoling[2]&&shijian[1][2]<naoling[2]+30))||(shijian[1][1]==0&am
84、p;&shijian[1][2]<20))</p><p><b> {</b></p><p> for(i=0;i<50;i++)</p><p><b> {</b></p><p><b> fmq=!fmq;</b></p>
85、<p> delay(50);</p><p><b> }</b></p><p><b> }</b></p><p> display(n);</p><p><b> }</b></p><p><b> }<
86、;/b></p><p> void init_time0_ser() interrupt 1</p><p><b> {</b></p><p> static unsigned char i;</p><p><b> i++;</b></p><p>&
87、lt;b> if(i==20)</b></p><p><b> {</b></p><p><b> i=0;</b></p><p><b> flag=1;</b></p><p><b> }</b></p>
88、<p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> }</b></p><p><b> 參考文獻</b></p><p> [1]李廣弟等.單片機基礎[M].北京航空航天出版社,2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論