c51課程設計報告電子鐘_第1頁
c51課程設計報告電子鐘_第2頁
c51課程設計報告電子鐘_第3頁
c51課程設計報告電子鐘_第4頁
c51課程設計報告電子鐘_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.z基于單片機的電子鐘的設計學院:班級:姓名:學號:小組成員:姓名:學號:指導教師:第一章緒論1.1數字電子鐘的背景20世紀末,電子技術獲得了飛速的開展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的開展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快。時間對人們來說總是則珍貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向開展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內裝化等幾個方面開展。下面是單片機的主要開展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大局部功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。單片機模塊中最常見的是數字鐘,數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。1.2數字電子鐘的意義數字鐘是采用數字電路實現對.時,分,秒.數字顯示的計時裝置,廣泛用于個人家庭,車站,碼頭辦公室等公共場所,成為人們日常生活中不可少的必需品,由于數字集成電路的開展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表,鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時播送、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為根底的。因此,研究數字鐘及擴大其應用,有著非常現實的意義。1.3數字電子鐘的應用數字鐘已成為人們日常生活中:必不可少的必需品,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便。由于數字集成電路技術的開展和采用了先進的石英技術,使數字鐘具有走時準確、性能穩定、攜帶方便等優點,它還用于計時、自動報時及自動控制等各個領域。第二章整體設計方案2.1單片機的選擇單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構成,內部包含有計算機的根本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統。單片機經過1、2、3、3代的開展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強I/O功能及較好的構造兼容性方向開展。其開展趨勢不外乎以下幾個方面:1、多功能單片機中盡可能地把所需要的存儲器和I/O口都集成在一塊芯片上,使得單片機可以實現更多的功能。比方A/D、PWM、PCA〔可編程計數器陣列〕、WDT〔監視定時器看家狗〕、高速I/O口及計數器的捕獲/比擬邏輯等。有的單片機針對*一個應用領域,集成了相關的控制設備,以減少應用系統的芯片數量。例如,有的芯片以51內核為核心,集成了USB控制器、SMARTCARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅動器也開場集成在8位單片機中。2、高效率和高性能為了提高執行速度和執行效率,單片機開場使用RISC、流水線和DSP的設計技術,使單片機的性能有了明顯的提高,表現為:單片機的時鐘頻率得到提高;同樣頻率的單片機運行效率也有了很大的提升;由于集成度的提高,單片機的尋址能力、片內ROM〔FLASH〕和RAM的容量都突破了以往的數量和限制。由于系統資源和系統復雜程度的增加,開場使用高級語言〔如C語言〕來開發單片機的程序。使用高級語言可以降低開發難度,縮短開發周期,增強軟件的可讀性和可移植性,便于改良和擴大功能。3、低電壓和低功耗單片機的嵌入式應用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機可以在更低的電壓下工作〔1.2V或0.9V〕,功耗已經降低到uA級。這些特性使得單片機系統可以在更小電源的支持下工作更長的時間。4、低價格單片機應用面廣,使用數量大,帶來的直接好處就是本錢的降低。目前世界各大公司為了提高競爭力,在提高單片機性能的同時,十分注意降低其產品的價格。下面大致介紹一下單片機的主要應用領域和特點。〔1〕家用電器領域用單片機控制系統取代傳統的模擬和數字控制電路,使家用電器〔如洗衣機、空調、冰箱、微波爐、和電視機等〕功能更完善,更加智能化和易于使用。〔2〕辦公自動化領域單片機作為嵌入式系統廣泛應用于現代辦公設備,如計算機的鍵盤、磁盤驅動、打印機、復印機、機和機等。〔3〕商業應用領域商業應用系統局部與家用和辦公應用系統相似,但更加注重設備的穩定性、可靠性和平安性。商用系統中廣泛使用的電子計量儀器、收款機、條形碼閱讀器、平安監測系統、空氣調節系統和冷凍保鮮系統等,都采用了單片機構成的專用系統。與通用計算機相比,這些系統由于比擬封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。〔4〕工業自動化在工業控制和機電一體化控制系統中,除了采用工控計算機外,很多都是以單片機為核心的單片機和多機系統。〔5〕智能儀表與集成智能傳感器目前在各種電氣測量儀表中普遍采用了單片機應用系統來代替傳統的測量系統,使得測量系統具有存儲、數據處理、查詢及聯網等智能功能。將單片機和傳感器相結合,可以構成新一代的智能傳感器。它將傳感器變換后的物理量作進一步的變化和處理,使其成為數字信號,可以遠距離傳輸并與計算機接口。〔6〕現代交通與航空航天領域通常應用于電子綜合顯示系統、動力監控系統、自動駕駛系統、通信系統以及運行監視系統等。這些領域對體積、功耗、穩定性和實時性的要求往往比商用系統還要高,因此采用單片機系統更加重要。目前,我國生產很多型號的單片機,在此,我們采用型號為STC89C52的單片機。因為:

STC89C52是一個低電壓,高性能CMOS8位單片機,片內含4kbytes的可反復擦寫的Flash只讀程序存儲器和128bytes的隨機存取數據存儲器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-52指令系統,片內置通用8位中央處理器和Flash存儲單元,內置功能強大的微型計算機的AT89C52提供了高性價比的解決方案。

STC89C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出〔I/O〕端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,STC89C51可以按照常規方法進展編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發本錢。2.2單片機的根本構造MCS-52單片機內部構造

8052單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時/計數器、并行接口、串行接口和中斷系統等幾大單元及數據總線、地址總線和控制總線等三大總線,現在我們分別加以說明:中央處理器:

中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統協調的工作,完成運算和控制輸入輸出功能等操作。數據存儲器(RAM)

8052內部有128個8位用戶數據存儲單元和128個專用存放器單元,它們是統一編址的,專用存放器只能用于存放控制指令數據,用戶只能,而不能用于存放用戶數據,所以,用戶能使用的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。圖2-1單片機8052的內部構造程序存儲器(ROM):8052共有4096個8位掩膜ROM,用于存放用戶程序,原始數據或表格。定時/計數器(ROM):8052有兩個16位的可編程定時/計數器,以實現定時或計數產生中斷用于控制程序轉向。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、P1、P2或P3),用于對外部數據的傳輸。全雙工串行口:8052內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發器,也可以當同步移位器使用。中斷系統:8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優先級別選擇。時鐘電路:8052內置最高頻率達12MHz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8052單片機需外置振蕩電容。單片機的構造有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛(Harvard)構造,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一的構造,即普林斯頓(Princeton)構造。INTEL的MCS-52系列單片機采用的是哈佛構造的形式,而后續產品16位的MCS-96系列單片機則采用普林斯頓構造。下列圖是MCS-52系列單片機的內部構造示意圖。圖2-2MCS-52系列單片機的內部構造MCS-52的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP構造,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。現在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP構造,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。現在我們對這些引腳的功能加以說明:圖2-3單片機的引腳圖Pin9:RESET/Vpd復位信號復用腳,當8052通電,時鐘電路開場工作,在RESET引腳上出現24個時鐘周期以上的高電平,系統即初始復位。初始化后,程序計數器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用存放器被清“0”。RESET由高電平下降為低電平后,系統即從0000H地址開場執行程序。然而,初始復位不改變RAM〔包括工作存放器R0-R7〕的狀態,8052的初始態。8051的復位方式可以是自動復位,也可以是手動復位,見下列圖4。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內部RAM的數據不喪失。圖2-4上電自動和手動復位電路圖圖2-5內部和外部時鐘方式圖Pin30:ALE/當外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節。而內部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數據將出現在P0和P2口上,外部程序存儲器則把指令數據放到P0口上,由CPU讀入并執行。Pin31:EA/Vpp程序存儲器的內外部選通線,8051和8751單片機,內置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內部程序存儲器指令數據,而超過4kB地址則讀取外部指令數據。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內部無程序存儲器的8031,EA端必須接地。第三章數字鐘的硬件設計3.1最小系統設計圖3-1單片機最小系統的構造圖單片機的最小系統是由電源、復位、晶振、/EA=1組成,下面介紹一下每一個組成局部。1.電源引腳Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V,引腳功能一樣。2.外接晶體引腳圖3-2晶振連接的內部、外部方式圖*TAL119*TAL218*TAL1是片內振蕩器的反相放大器輸入端,*TAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到*TAL1,而*TAL2懸空。內部方式時,時鐘發生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。AT89單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳*TAL1和*TAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反應元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反應回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的上下、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22μF。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩定和可靠地工作。3.復位RST9在振蕩器運行時,有兩個機器周期〔24個振蕩周期〕以上的高電平出現在此引腿時,將使單片機復位,只要這個腳保持高電平,51芯片便循環復位。復位后P0-P3口均置1引腳表現為高電平,程序計數器和特殊功能存放器SFR全部清零。當復位腳由高電平變為低電平時,芯片為ROM的00H處開場運行程序。復位是由外部的復位電路來實現的。片內復位電路是復位引腳RST通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統采用的是上電與按鈕復位電路。當時鐘頻率選用6MHz時,C取22μF,Rs約為200Ω,Rk約為1K。復位操作不會對內部RAM有所影響。常用的復位電路如下列圖所示:圖3-3常用復位電路圖4.輸入輸出引腳(1)P0端口[P0.0-P0.7]P0是一個8位漏極開路型雙向I/O端口,端口置1〔對端口寫1〕時作高阻抗輸入端。作為輸出口時能驅動8個TTL。對內部Flash程序存儲器編程時,接收指令字節;校驗程序時輸出指令字節,要求外接上拉電阻。在外部程序和外部數據存儲器時,P0口是分時轉換的地址(低8位)/數據總線,期間內部的上拉電阻起作用。(2)P1端口[P1.0-P1.7]P1是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收低8位地址信息。(3)P2端口[P2.0-P2.7]P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收高8位地址和控制信息。在外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在8位地址的外部數據存儲器時其引腳上的內容在此期間不會改變。(4)P3端口[P3.0-P3.7]P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能P3.0串行通訊輸入〔R*D〕P3.1串行通訊輸出〔T*D〕P3.2外部中斷0〔INT0〕P3.3外部中斷1〔INT1〕P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數據存儲器寫選通WRP3.7外部數據存儲器寫選通RD表3-1P3端口引腳兼用功能表3.2LED顯示電路顯示器普遍地用于直觀地顯示數字系統的運行狀態和工作數據,按照材料及產品工藝,單片機應用系統中常用的顯示器有:發光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現在最常用的顯示器之一,如下列圖所示。圖3-4LED顯示器的符號圖發光二極管〔LED〕由特殊的半導體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式LED顯示器件〔半導體顯示器〕。分段式顯示器〔LED數碼管〕由7條線段圍成8字型,每一段包含一個發光二極管。外加正向電壓時二極管導通,發出清晰的光。只要按規律控制各發光段亮、滅,就可以顯示各種字形或符號。LED數碼管有共陽、共陰之分。圖是共陽式、共陰式LED數碼管的原理圖和符號.圖3-5共陽式、共陰式LED數碼管的原理圖和數碼管的符號圖顯示電路顯示模塊需要實時顯示當前的時間,即時、分、秒,因此需要6個數碼管,另需兩個數碼管來顯示橫。采用動態顯示方式顯示時間,硬件連接如下列圖所示,時的十位和個位分別顯示在第一個和第二個數碼管,分的十位和個位分別顯示在第四個和第五個數碼管,秒的十位和個位分別顯示在第七個和第八個數碼管,其余數碼管顯示橫線。LED顯示器的顯示控制方式按驅動方式可分成靜態顯示方式和動態顯示方式兩種。對于多位LED顯示器,通常都是采用動態掃描的方法進展顯示,其硬件連接方式如下列圖所示。圖3-6數碼管的硬件連接示意圖數碼管使用條件:a、段及小數點上加限流電阻b、使用電壓:段:根據發光顏色決定;小數點:根據發光顏色決定c、使用電流:靜態:總電流80mA〔每段10mA〕;動態:平均電流4-5mA峰值電流100mA數碼管使用考前須知說明:〔1〕數碼管外表不要用手觸摸,不要用手去弄引角;〔2〕焊接溫度:260度;焊接時間:5S〔3〕外表有保護膜的產品,可以在使用前撕下來。時鐘顯示校正電路本設計利用按鍵開關來校正時鐘顯示的數字。當按鈕按下時,將在相應的端口輸入一個低電平,通過相應的程序來改變時鐘顯示。其中S1按鍵開關用來選擇要修改的數字;S2按鍵用來增加所選數字的數值;S3按鍵用來減少所選數字的數值。6、蜂鳴器電路電路接法:三極管選定PNP型,基極B連接5V電壓,發射極E連接一個1K左右的電阻后接I/O口,集電極C連接蜂鳴器后接地。單片機在復位后的個I/O口是高電平,此時三極管是截止的,編寫程序使選定的I/O為低電平,此時三極管導通,導通后蜂鳴器與電源正極連通,構成一個工作回路,從而發出滴滴的響聲。其中電阻R1在電路里起分壓限流的作用,PNP三極管起到模擬開關的作用。7、外接電源電路外接電源電路用于連接外部5V電源與電子時鐘電路,通過自鎖開關控制電路的導通與斷開,當開關閉合時,電路導通,外部電源給電路正常供電,電子時鐘正常工作。當開關斷開時,電路停頓工作。8、總電路原理圖〔五〕軟件局部根據上述電子時鐘的工作流程,軟件設計可分為以下幾個功能模塊:〔1〕主程序模塊。主程序主要用于系統初始化:設置計時緩沖區的位置及初值,設置8155的工作方式、定時器的工作方式和計數初值等參數。主程序流程如下列圖所示。開場定義堆棧區T0、數據緩沖區、標志位初始化調用鍵盤掃描程序否是C/R鍵.是地址指針指向計時緩沖區調用時間設置程序主程序流程圖〔2〕計時模塊。即定時器0中斷子程序,完成刷新計時緩沖區的功能。系統使用6MHz的晶振,假設定時器0工作在方式1,則定時器的最大定時時間為65.536ms,這個值遠遠小于1s。因此本系統采用定時器與軟件循環相結合的定時方法。設定時器0工作在方式1,每隔50ms溢出中斷一次,則循環中斷20次延時時間是1s,上述過程重復60次為1分,分計時60次為1小時,小時計時24次則時間重新回到00:00:00。因定時器0工作在方式1,則50ms定時對應的定時器初值為:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。但應當指出:CPU從響應T0中斷到完成定時器初值重裝這段時間,定時器T0并不停頓工作,而是繼續計數。因此,為了確保T0能準確定時50ms,重裝的定時器初值必須加以修正,修正的定時器初值必須考慮到從原定時器初值中扣除計數器多計的脈沖個數。由于定時器計數脈沖的周期恰好和機器周期吻合,因此修正量等于CPU從響應中斷到重裝完TL0為止所用的機器周期數。CPU響應中斷通常要3~8個機器周期。經過測試,定時器0重裝的計數初值設為9E5FH~9E67H,可以滿足精度要求。另外,MCS-51單片機只有二進制加法指令,而時間是按十進制遞增,因此用加法指令后必須進展二-十進制轉換。計時模塊流程圖如下列圖所示。保護現場重裝定時器初值循環次數減1否滿20次.是秒單元加1否60s到.是秒單元清0,分單元加1否60分到.是分單元清0,時單元加1否24小時到.是時單元清0恢復現場返回計時模塊流程圖〔3〕時間設置模塊。該模塊由鍵盤輸入相應的數據來設置當前時間。程序通過調用一個鍵盤設置子程序通過鍵盤掃描將鍵入的6位時間值送入顯示緩沖區。設置時間后,時鐘要從這個時間開場計時,而時分秒單元各占一個字節,鍵盤占6個字節。因此程序中要調用一個合字子程序將顯示緩沖區中的6位BCD碼合并為3位壓縮BCD碼,并送入計時緩沖區,作為當前計時起始時間。該程序同時要檢測輸入時間值的合法性,假設鍵盤輸入的小時值大于23,分、秒值大于59,則不合法,將取消本次設置,清零重新開場計時。時間設置和鍵盤設置子程序的流程圖如下列圖所示。保護現場調用鍵盤設置子程序KETIN調用合字子程序B恢復現場返回時間設置流程圖保護現場顯示緩沖區首地址送R0鍵盤輸入次數送R7調用鍵盤掃描程序KEYSCAN鍵號送R0顯示緩沖區地址加1循環次數減1否循環完畢.是恢復現場返回鍵盤設置子程序流程圖〔4〕顯示模塊。該模塊完成時分秒6位LED的動態顯示。因為顯示為6位,二計時是3個字節單元,為此,必須將3字節計時緩沖區中的時分秒壓縮BCD碼拆分為6字節BCD碼,并送入顯示緩沖區中。當按下調整時間鍵后,在6位設置完成之前,這6個LED應該顯示鍵人的數據,不顯示當前的時間。為此,我們設置了一個計時顯示允許標志位F0,在時間設置期間F0=1,不調用刷新顯示緩沖區的子程序。顯示程序流程圖如下列圖所示。保護現場否允許顯示.調用拆字程序是動態掃描顯示返回顯示程序流程圖掃描鍵盤否調用顯示程序有鍵按下.是調用顯示程序否有鍵按下.是求取鍵號返回鍵盤掃描程序流程圖程序:*include<reg52.h>unsignedcharcodedispcode[]={0*3f,0*06,0*5b,0*4f, 0*66,0*6d,0*7d,0*07, 0*7f,0*6f,0*77,0*7c, 0*39,0*5e,0*79,0*71,0*00};unsignedchardispbitcode[]={0*fe,0*fd,0*fb,0*f7, 0*ef,0*df,0*bf,0*7f};unsignedchardispbuf[8]={0,0,16,0,0,16,0,0};unsignedchardispbitt;unsignedcharsecond;unsignedcharminite;unsignedcharhour;unsignedinttt;unsignedcharmstt;unsignedchari,j;sbitP3_0=P3^0;sbitP3_1=P3^1;sbitP3_2=P3^2;voidmain(void){ P2=0*00; TMOD=0*02; TH0=0*06; TL0=0*06; TR0=1; ET0=1; EA=1; while(1) { if(P3_0==0) { for(i=5;i!=0;i--) for(j=248;j!=0;j--); if(P3_0==0) { second++; if(second==60) { econd=0; } dispbuf[0]=second%10; dispbuf[1]=second/10; while(P3_0==0); } } if(P3_1==0) { for(i=5;i!=0;i--) for(j=248;j!=0;j--); if(P3_1==0) { minite++; if(minite==60) { minite=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論