




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、信息與電氣工程學院課程設計說明書(2013/2014 學年第 二 學期)課程名稱 : 單片機應用課程設計 題 目 : 帶提醒功能的可調時鐘 專業班級 : 學生姓名 : 學 號: 指導教師 : 設計周數 : 2周 設計成績 : 2014年 6月 26日目 錄一、課程設計目的. .2二、課程設計正文. .2 1.任務要求說明. .21.1、主要任務. .21.2、技術要求. .21.3、設計思路. .2 2.硬件設計 2.1器件說明2.11、所需器件.3 2.1.2、STC90C52RC說明. .3 2.1.3、數碼管說明. .4 2.2 原理簡介. .5 2.2.1、原理介紹. .5 2.2.2
2、、電路原理圖.52.3單元模塊設計. .6 2.3.1時間顯示模塊. .6 2.3.2 按鍵調時模塊.72.3.3晶振驅動模塊.72.3.4蜂鳴器響時模塊.7 2.4參數計算.83.軟件設計. .8 3.1開發軟件Keil C51 uVision3簡介. .8 3.2單片機程序燒寫軟件. .9 3.3參考程序 . 10 4.軟硬件調試. 16三、課程設計總結. . .16四、參考文獻. . .17帶提醒功能的時鐘單片機設計1、課程設計目的1.1用單片機課程及已學電子電路知識設計一簡易時鐘顯示裝置,包括電路圖的設計和制版等。 1.2進一步熟悉和掌握單片機的結構及工作原理。1.3掌握單片機的接口技
3、術及相關外圍芯片的外特性,控制方法。1.4通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解有關電路參數的計算方法。1.5通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。1.6通過完成一個包括電路設計和程序開發的完整過程,使學生了解開發一單片機應用系統的全過程,為今后從事相應打下基礎。1.7初步學會一些設計思想和實踐技能,從設計過程中領悟到相互合作的重要性。2、課程設計正文2.1任務及要求說明2.1.1主要任務設計并制作出一個以單片機為核心的計時控制系統:1) 確定總體設計方案2)設計鍵盤輸入電路3)設計顯示電路4)合理分配地址,編寫系統程序)利用Protuse設計硬
4、件電路原理圖)軟硬件聯機調試2.1.2技術要求 設計一個可顯分鐘2位,秒2位的可調時鐘,且在計時過程中允許設置響鈴時刻,不影響定時過程。根據調節鍵按下的次數,可依次選中分十位,分個位,秒十位,秒個位;根據設置鍵按下的次數,可依次設置響鈴時刻的分十位,分個位,秒十位,秒個位;根據按下調節鍵還是設置鍵,加1鍵用于調節顯示/響鈴時刻設置的分十位,分個位,秒十位,秒個位。要求按下設置鍵后,數碼管的顯示信息為設定的響鈴時刻,計時并不停止,一旦按下啟動/確認鍵,顯示信息為當前時刻。2.1.3設計思路1、時間的顯示:單片機P0.0P0.3控制位選,可分別選通四只共陽數碼管。P0.4P0.7控制段碼管,將數據
5、送給數碼管顯示時間。2、時間的調整:設置6個按鈕,分別由P2.0P2.5控制,其編號分別是k1到k6。3、蜂鳴器:單片機P2.7口接蜂鳴器電路。4、復位電路:單片機RST接復位電路。5、晶振電路:XTAL1,XTAL2接振蕩電路。2.2硬件設計2.2.1器件說明電阻: 1K (12個)、3.3K(1個)、100(1個)、6.5K(1個) 按鍵開關:7個電容:20pF (2個)電解電容:10uf(1個)晶振:6MHZ(1個)三極管:NPN(5個)共陰極數碼管:4個萬能電路板:1個芯片:STC90C52AD(1片) 4511(1片)蜂鳴器:1個LED:3個2.3方案設計2.3.1 STC90C52
6、AD的功能參數介紹STC90C52AD是由宏晶公司生產的高性能八位單片機。如圖一所示。該芯片采用FLASH存儲技術,內部具有8KB字節快閃存存儲器,采用DIP封裝,是目前在中小系統中應用最為普及的單片機。 STC90C52AD可構成真正的單片機最小應用系統,縮小系統體積,增加系統的可靠性,降低系統的成本。只要程序長度小于8K,四個I/O口全部提供給用戶。可用5V電壓編程,而且擦寫時間僅需10毫秒,僅為8751/87C51的擦除時間的百分之一,與8751/87C51的12V電壓擦寫相比,不易損壞器件,沒有兩種電源的要求,改寫時不拔下芯片,適合許多嵌入式控制領域。工作電壓范圍(2.7V6V),全靜
7、態工作,工作頻率寬在0Hz24MHz之間,比8751/87C51等51系列的6MHz12MHz更具有靈活性,系統能快能慢。STC90C52AD芯片提供三級程序存儲器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統不被仿制。P0口是三態雙向口,通稱數據總線口,因為只有該口能直接用于對外部存儲器的讀/寫操作。STC90C52AD單片機為40引腳芯片如上圖所示,在本設計中,主要用到P0口、P10口。P0口可作為通用I/O口,但須外接上拉電阻,所以在設計顯示數碼管我們避免了使用P0口這樣大大簡化了動態顯示電路。P1口:8位、雙向I/0口,內部含有上拉電阻。P1口可作普通I/O口。輸出緩沖器
8、可驅動四個TTL負載;用作輸入時,先將引腳置1,由片內上拉電阻將其抬到高電平。P1口的引腳可由外部負載拉到低電平,通過上拉電阻提供電流。在FLASH并行編程和校驗時,P1口可輸入低字節地址。在串行編程和效驗時,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分別是串行數據輸入、輸出和移位脈沖引腳。 P2口:具有內部上拉電阻的8位雙向I/O口。P2口用做輸出口時,可驅動4各TTL負載;用做輸入口時,先將引腳置1,由內部上拉電阻將其提高到高電平。若負載為低電平,則通過內部上拉電阻向外部輸出電流。在FLASH并行編程和校驗時,P2口可輸入高字節地址和某些控制信號。P3口:具有內部上拉電阻的
9、8位雙向口。P3口用做輸出口時,輸出緩沖器可吸收4各TTL的灌電流;用做輸入口時,首先將引腳置1,由內部上拉電阻抬位高電平。若外部的負載是低電平,則通過內部上拉電阻向輸出電流。在本設計中,P3口作為時間設置的4按鍵輸入,因為有上拉電阻,所以可以通過按鍵直接接地,簡化了電路。在與FLASH并行編程和校驗時,P3口可輸入某些控制信號。P3口除了通用I/O口功能外,還有替代功能如表1所示。表1 P3口的第二功能端口引腳各個功能P3.0RXD(串行口輸入端)P3.1TXD(串行口輸出端)P3.2INT0(外部中斷0請求輸入端,低電平有效)P3.3INT1(外部中斷1請求輸入端,低電平有效)P3.4T0
10、(定時/計數器0計數脈沖輸入端)P3.5T1(定時/計數器1計數脈沖輸入端)P3.6WR(外部數據存儲器寫選通信號輸出端,低電平有效)P3.7RD(外部數據存儲器讀選通信號輸出端,低電平有效)單片機使用宏晶公司支持串口下載程序(ISP)的單片機,為STC90C52AD課程設計配發的小電路板(ISP-MCU Basic circuit)電路原理圖見下圖。該板作為課程設計的核心電路板使用,板上有單片機及附屬電路,RS-232通信驅動電路,高低電平測試電路等。課程設計電路中需要的其他電路在此基礎上擴展,通過插孔連接。課程設計配發的小電路板(ISP-MCU Basic circuit)電路原理圖見下圖
11、。擴展電路在萬用板上制作用四位數碼管顯示分鐘與秒,每秒用一個LED閃爍一下;用了6個按鍵,一個是調節鍵,一個是加1鍵,一個是減1鍵,一個是設置鍵,一個是關玲鍵。時間要精確,整點報時,聲音間隔1秒,并且可以調整時間調整位閃爍提示。 擴展電路用到得器件:6個按鍵,一個是調節鍵,一個是設置鍵,一個是加1鍵,一個是減1鍵,一個關鈴鍵;四個DPY7-SEG DP共陰極動態數碼管;五個NPN三極管;12個1K歐姆的電阻;導線。每各引腳可吸收8各TTL的灌電流。作為輸入時,首先應將引腳置1。P0也可用做訪問外部程序存儲器和數據存儲器時的低8位地址/數據總線的復用線。在該模式下,P0口含有內部上拉電阻。在FL
12、ASH編程時,P0口接收代碼字節數據;在編程效驗時,P0口輸出代碼字節數據(需要外接上拉電阻)。2.3.2綜合電路設計 串口通信電路 時鐘電路STC90C52AD單片機時間調整按鍵電路 動態顯示電路 動態顯示控制電路采用單片機的TO定時器,使其工作在方式1,產生一個50ms定時中斷,循環20次,到1s時,秒加1;秒到60時,分加1,秒清零;分到60時,秒清零,分清零。數碼管采用動態顯示,一個掃描周期共循環四次,依次顯示秒的低位、秒的高位、分的低位、分的高位,每次顯示延時5ms。這期間要將不同的數送到P1口高四位,以及將P2口低四位的不同位置1。調節時,調用相應的子程序,來完成功能。2.4單元電
13、路設計2.4.1 STC90C52AD 2.4.2 動態顯示驅動設計數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,如圖所示。LED顯示器由8段發光二極管組成,排列成8字形狀,稱為8段LED顯示器。為了顯示數字或符號,要為LED顯示器提供代碼,即字形代碼。七段發光二極管,再加上一個小數點(dp)位,共計8段,因此提供的字形代碼的長度正好是一個字節。2.4.3 時鐘產生單元52單片機的時鐘信號通常用兩種電路形式得到:內部振蕩方式和外部振蕩方式。 在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)
14、或陶瓷諧振器,就構成了內部振蕩方式。由于單片機內部有一個高增益反相放大器,當外接晶振后,就構成了自激振蕩器并產生振蕩時鐘脈沖。內部振蕩方式的外部電路如下圖所示。 圖中,電容器Col,C02起穩定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內部振蕩方式所得的時鐘情號比較穩定,實用電路中使用較多。外部振蕩方式是把外部已有的時鐘信號引入單片機內。這種方式適宜用來使單片機的時鐘與外部信號保持同步。 2.4.4 蜂鳴器電路單元2.4.5譯碼單元其功能介紹如下: BI:4腳是消隱輸入控制端,當BI=0 時, 不管其它輸入端狀態如何,七段數
15、碼管均處于熄滅(消隱)狀態,不顯示數字。 LT:3腳是測試輸入端,當BI=1,LT=0 時,譯碼輸出全為1,不管輸入 DCBA 狀態如何,七段均發亮,顯示“8”。它主要用來檢測數碼管是否損壞。 LE:鎖定控制端,當LE=0時,允許譯碼輸出。 LE=1時譯碼器是鎖定保持狀態,譯碼器輸出被保持在LE=0時的數值。 A1、A2、A3、A4、為8421BCD碼輸入端。 a、b、c、d、e、f、g:為譯碼輸出端,輸出為高電平1有效。2.4.6按鍵電路單元2.4.7 動態顯示控制電路單元如圖所示另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨
16、立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為5ms。 2.5參數計算定時器初值計算定時器0設為16位定時器。外部為6兆的晶體振蕩器,故而可知一個機器周期是1微秒。分析:已知fosc = 12MHz 則: (機器周期)1Tm=12Tc=12/12MHz=1muS 5mS = 5000 1
17、6位定時器最大數值為: 65536 (=0FFFFH+1) 故選擇方式1工作可以滿足要求。計算初值:655365000=60536=3CB0H定時器0高八位和第八位分別裝入初值TH0=0eeH; TL0=00H。每5ms定時器溢出一次,中斷200次剛好1s,秒顯示加1.2.6系統調試 硬件調試時可先檢查印制板及焊接的質量情況,在檢查無誤后可通電檢查LED顯示器的點亮狀況。若亮度不理想,可以調整P1口的電阻大小,一般情況下取200電阻即可獲得滿意的亮度效果。 實驗室制作時,可結合示波器測試晶振及P1,P2端口的波形情況進行綜合硬件測試分析。硬件調試:硬件調試是利用DVCC實驗與開發系統、基本測試
18、儀器(萬用表、示波器等),檢查用戶系統硬件中存在的故障。硬件調試可分為靜態調試與動態調試兩步進行。靜態調試:是在用戶系統未工作時的一種硬件檢測。第一步:目測。檢查外部的各種元件或者是電路是否有斷點。第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線與地線之間是否有短路現象。第三步:加電檢測。給板加電,檢測所有插座或是器件的電源端是否符合要求的值 第四步:聯機檢查。因為只有用單片機開發系統才能完成對用戶系統的調試。 動態調試:是在用戶系統工作的情況下發現和排除用戶系統硬件中存在的器件內部故障、器件連接邏輯錯誤等的一種硬件檢查。動態調試的一般方法是由近及遠、由分到合。由分到
19、合是指首先按邏輯功能將用戶系統硬件電路分為若干塊,當調試電路時,與該元件無關的器件全部從用戶系統中去掉,這樣可以將故障范圍限定在某個局部的電路上。當各塊電路無故障后,將各電路逐塊加入系統中,在對各塊電路功能及各電路間可能存在的相互聯系進行調試。由分到合的調試完成。由近及遠是將信號流經的各器件按照距離單片機的邏輯距離進行由近及遠的分層,然后分層調試。調試時,仍采用去掉無關元件的方法,逐層調試下去,就會定位故障元件了。2.7原理簡介 2.7.1原理介紹(1) 初始時,4個數碼管顯示全為0,并且秒顯示數碼管最后一位每秒鐘加1.此時,單片機內部定時器0計時,每5ms溢出一次,200次中斷秒顯加一。單片
20、機P0口不斷向4511送數據驅動數碼管顯示。(2) 按下S2時,系統進入調節切換模式。按S2一下調分十位,按S1兩下調分個位,三次調節秒十位,四次調節秒個位。S4、S5分別為加數和減數。S1為確認開始鍵,按下后系統計時開始。(3) 進入調整時間模式時,數碼管閃爍顯示提示。 2.8 軟件設計2.8.1 開發軟件Keil C51 uVision4簡介Keil uVISION2 是眾多單片機應用開發軟件中優秀的軟件之一,它支持眾多不同公司的MCS-51 架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持、PLM、匯編和C語言的程序設計,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。
21、Keil C51集成開發環境主要由菜單欄、工具欄、源文件編輯窗口、工程窗口和輸出窗口五部分組成。工具欄為一組快捷工具圖標,主要包括基本文件工具欄、建造工具欄和調試工具欄,基本文件工具欄包括新建、打開、拷貝、粘貼等基本操作。建造工具欄主要包括文件編譯、目標文件編譯連接、所有目標文件編譯連接、目標選項和一個目標選擇窗口。調試工具欄位于最后,主要包括一些仿真調試源程序的基本操作,如單步、復位、全速運行等。在工具欄下面,默認有三個窗口。左邊的工程窗口包含一個工程的目標(target)、組(group)和項目文件。右邊為源文件編輯窗口,編輯窗口實質上就是一個文件編輯器,我們可在這里對源文件進行編輯、修改
22、、粘貼等。下邊的為輸出窗口,源文件編譯之后的結果顯示在輸出窗口中,會出現通過或錯誤(包括錯誤類型及行號)的提示。如果通過則會生成“HEX”格式的目標文件,用于仿真或燒錄芯片。MCS-51單片機軟件Keil C51開發過程為:建立一個工程項目,選擇芯片,確定選項。建立匯編源文件或C源文件。用項目管理器生成各種應用文件。檢查并修改源文件中的錯誤。編譯連接通過后進行軟件模擬仿真或硬件在線仿真。 Keil C51軟件的運行界面2.8.2 單片機程序調試軟件STC90C52AD系列單片機大部分具有在系統可編程特性,單片機在用戶系統上即可在線調試用戶程序,而無需將單片機從已經生產好的產品上拆下,在用通用編
23、程器進行調試程序。大部分STC90C50AD系列單片機在銷售給用戶之前已經在單片機系統內部固化了ISP系統引導程序配合PC端得控制程序即可將用戶的程序代碼下載進單片機內部,故無需編程器燒寫程序。 2.8.3 系統分析通過軟件編程,將相應的端口賦成變量的形式。分別通過調用中斷子程序,動態顯示子程序,時間調整子程序,整點報時子程序等來控制各端口的輸出,以達到理想的效果。2.8.4 系統設計主程序的程序流程圖:開始定時器初始化數碼管掃描顯示時間調整鍵是否按下時間調整子程序是否到鬧鐘時是返回否鬧鐘報時子程序是蜂鳴器響響60s返回2.8.5 系統實施軟件調試是通過對程序的匯編、連接、執行來發現程序中存在
24、的語法錯誤與邏輯錯誤并加以排除糾正的過程。可以利用仿真器加以調試,對系統單個單元進行調試,當單元電路成功后,在對整個程序調試,最后在用CPU芯片調試。最后本次課設實現了簡易時鐘顯示,可以實現整點報時,可以調整分鐘,秒的顯示位及調整位的閃爍。2.9參考程序、原理圖及顯示結果:2.9.1 參考程序#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit qidong = P20;sbit tiaojie = P21;sbit shezhi = P22;sbit jiayi = P23;sbit
25、jianyi = P24;sbit guanling = P25;sbit BEEP = P27; /蜂鳴器sbit xian1 = P00; sbit xian2 = P01;sbit xian3 = P02;sbit xian4 = P03;char KeyCount=1,fenshi=0,fenge=0,miaoshi=0,miaoge=0,fen1shi=0,fen1ge=0,miao1shi=0,miao1ge=0,ling=0; uchar flag=0,flag1=0,flag2=0,flag3=0,flag4=0,flag5=0,flag6=1;uchar flag7=1,fl
26、ag8=1,flag9=1,flag10=1,flag11=1;uchar duanxuan=0,shan=0; uchar display = 0x00,0x00,0x00,0x00,0x00,0x00,0x00; uchar display2 = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/* 延時函數*/void Delay(uint num)/延時函數 while( -num );/* 蜂鳴器響一聲 */void beep() if(shan%2=0)BEEP=1; else BEEP=0; /關閉蜂鳴器/* 延時函數1*/void delay1(
27、uint ms) unsigned char n,j; while(ms-) for(n = 0; n<10; n+) for(j=100;j>0;j-); /* 顯示函數*/void play() P0=fenshi<<4;xian1=1;Delay(70);P0=fenge<<4;xian2=1;Delay(70);P0=miaoshi<<4;xian3=1;Delay(70);P0=miaoge<<4;xian4=1;Delay(70);/* 主函數*/main() TMOD=0x01; TH0=0x4c; TL0=0x04;
28、/50ms定時 EA=1; ET0=1; P0=0x0f; BEEP=0; while(1) if(qidong=0&&flag6=1) delay1(2); if(qidong=0&&flag6=1) flag6=0; KeyCount=1; flag1+; if(flag1=4)flag1=0; if(qidong=1)flag6=1; if(tiaojie=0&&flag7=1) delay1(2); if(tiaojie=0&&flag7=1) flag7=0; KeyCount=2; flag2+; if(flag2=5
29、)flag2=1; if(tiaojie=1)flag7=1; if(shezhi=0&&flag8=1) delay1(2); if(shezhi=0&&flag8=1) flag8=0; KeyCount=3; flag3+; if(flag3=5)flag3=1; if(shezhi=1)flag8=1; if(fenshi=fen1shi&&miaoshi=miao1shi&&fenge=fen1ge&&miaoge=miao1ge&&ling=10) flag4=1; if(flag4=1
30、) beep(); if(flag5=60) flag4=0;flag5=0;BEEP=0; if(guanling=0&&flag9=1) delay1(2); if(guanling=0&&flag9=1)flag9=0;flag4=0;flag5=0;BEEP=0; if(guanling=1)flag9=1; switch (KeyCount) case 1: if(flag1=0)play();TR0=0;/停止中斷 if(flag1=1)flag=1;TR0=1;/啟動中斷if(flag1=2)play();TR0=0;if(flag1=3)flag
31、=1;TR0=1; break; case 2: flag1=2; if(flag2=1) flag=2;if(jiayi=0&&flag10=1)delay1(2);if(jiayi=0&&flag10=1)flag10=0;fenshi+;if(fenshi=6)fenshi=0; if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;fenshi-;if(fenshi<0)fenshi=5; if(jian
32、yi=1)flag11=1;if(flag2=2)flag=3; if(jiayi=0&&flag10=1)delay1(2);if(jiayi=0&&flag10=1)flag10=0;fenge+;if(fenge=10)fenge=0; if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;fenge-;if(fenge<0)fenge=9;if(jianyi=1)flag11=1; if(flag2=3)
33、 flag=4;if(jiayi=0&&flag10=1)delay1(2);if(jiayi=0&&flag10=1)flag10=0;miaoshi+;if(miaoshi=6)miaoshi=0; if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;miaoshi-;if(miaoshi<0)miaoshi=5; if(jianyi=1)flag11=1;if(flag2=4)flag=5; if(jia
34、yi=0&&flag10=1)delay1(2);if(jiayi=0&&flag10=1)flag10=0;miaoge+;if(miaoge=10)miaoge=0; if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;miaoge-;if(miaoge<0)miaoge=9;if(jianyi=1)flag11=1; break; case 3: flag1=2; if(flag3=1)flag=6;if
35、(jiayi=0&&flag10=1)delay1(2);if(jiayi=0&&flag10=1)flag10=0;fen1shi+;if(fen1shi=6)fen1shi=0;if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;fen1shi-;if(fen1shi<0)fen1shi=5;if(jianyi=1)flag11=1;if(flag3=2) flag=7; if(jiayi=0&&a
36、mp;flag10=1) delay1(2);if(jiayi=0&&flag10=1)flag10=0;fen1ge+;if(fen1ge=10)fen1ge=0; if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;fen1ge-;if(fen1ge<0)fen1ge=9; if(jianyi=1)flag11=1; if(flag3=3)flag=8;if(jiayi=0&&flag10=1)delay1
37、(2);if(jiayi=0&&flag10=1)flag10=0;miao1shi+;if(miao1shi=6)miao1shi=0;if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;miao1shi-;if(miao1shi<0)miao1shi=5;if(jianyi=1)flag11=1;if(flag3=4) flag=9; if(jiayi=0&&flag10=1) delay1(2);if(j
38、iayi=0&&flag10=1)flag10=0;miao1ge+;if(miao1ge=10)miao1ge=0; if(jiayi=1)flag10=1; if(jianyi=0&&flag11=1)delay1(2);if(jianyi=0&&flag11=1)flag11=0;miao1ge-;if(miao1ge<0)miao1ge=9; if(jianyi=1)flag11=1; break; default: break; /* * Time0中斷函數 * */void Time0(void) interrupt 1 usi
39、ng 1 TH0=0xee; /5ms定時 TL0=0x00; display0+; duanxuan+; if(duanxuan=5)duanxuan=1; if(display0=20) /0.01S display0=0;display1+; shan=miaoge; if(display1=10) /0.1S ling+; if(ling>=10)ling=10; if(flag4=1)flag5+;display1=0; miaoge+; /秒個位 if(miaoge=10) miaoge=0; miaoshi+; /秒十位 if(miaoshi=6) miaoshi=0;fe
40、nge+; /分個位 if(fenge=10) fenge=0; fenshi+; /fen十位 if(fenshi=6) fenshi=0; if(flag=1) switch(duanxuan) case 1: P0=fenshi<<4;xian1=1;Delay(70);break;case 2:P0=fenge<<4;xian2=1;Delay(70);break;case 3:P0=miaoshi<<4;xian3=1;Delay(70);break;case 4:P0=miaoge<<4;xian4=1;Delay(70);break
41、;default:break; if(flag=2) switch(duanxuan) case 1: P0=fenshi<<4;xian1=shan%2;Delay(70);break;case 2:P0=fenge<<4;xian2=1;Delay(70);break;case 3:P0=miaoshi<<4;xian3=1;Delay(70);break;case 4:P0=miaoge<<4;xian4=1;Delay(70);break;default:break; if(flag=3) switch(duanxuan) case 1:
42、 P0=fenshi<<4;xian1=1;Delay(70);break;case 2:P0=fenge<<4;xian2=shan%2;Delay(70);break;case 3:P0=miaoshi<<4;xian3=1;Delay(70);break;case 4:P0=miaoge<<4;xian4=1;Delay(70);break;default:break; if(flag=4) switch(duanxuan) case 1: P0=fenshi<<4;xian1=1;Delay(70);break;case 2:P0=fenge<<4;xian2=1;Delay(70);break;case 3:P0=miaoshi<<4;xian3=shan%2;Delay(70);break;case 4:P0=miaoge<<4;xian4=1;Delay(70);break;default:break; if(flag=5) switch(duanxuan) case 1: P0=fenshi<<4;xi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 挖掘機搬運合同協議書
- 2025房產按揭貸款購房合同
- 招聘合同協議書模板下載
- 2025年抵押車輛買賣合同
- 2025珠寶首飾購銷合同
- 國內各種考試題庫及答案
- 合同和協議書有啥區別
- 承包公園魚塘合同協議書
- 制作合同協議書找誰寫好
- 醫保文員面試題及答案解析
- 備戰中考物理真題《壓軸挑戰》分類匯編 挑戰10 作圖題(光學和力學綜合46題)(解析版)
- 道口抓拍系統施工方案
- 三星堆-巴蜀與青銅文化的見證
- 人工智能導論(天津大學)知到智慧樹章節答案
- 詳盡的施工方案
- DB3305T 323-2024政府儲備糧綠色倉儲技術規范
- 二級保密資格認定辦法培訓
- 工業4.0新篇章介紹
- 中華人民共和國統計法
- 主題班會課:以夢為馬-不負韶華
- 電子技術技能與實訓電子教案12 CD4511顯示譯碼功能測試
評論
0/150
提交評論