




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、華東交通的大學 單片機技術課程設計說明書 數 字 電 子 鐘 系 、 部: 學生姓名: 指導教師: 專 業: 班 級: 完成時間: 摘要 本電子鐘采用ATMEL公司的AT89S52單片機為核心,使用12MHz 晶振與單片機AT89S52 相連接,通過軟件編程的方法實現以24小時為一個周期,同時8位7段LED數碼管(兩個四位一體數碼管)顯示小時、分鐘和秒的要求,并在計時過程中具有定時功能,當時間到達提前定好的時間進行蜂鳴報時。該電子鐘設有四個按鍵S1、S2、S3和S4鍵,進行相應的操作就可實現校時、定時、復位功能。具有時間顯示、整點報時、校正等功能。走時準確、顯示直觀、精度、穩定等優點。整個過程
2、就是先設計和焊接好硬件電路,再通過匯編語言編寫應用程序來實現我們需要的功能,這期間,進行的軟件仿真和調試是本設計的重點和難點。關鍵詞 電子鐘; AT89S52;硬件設計;軟件設計 1 引言單片機因將其主要組成部分集成在一個芯片上而得名,就是把中央處理器、隨機存儲器、只讀存儲器、中斷系統、定時器/計數器以及I/O接口電路等部件集成在一個芯片上1。 單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發展很快。單片機具有體積小、功能多、價格低廉、使用方便、系統設計靈活等優點2。因此,它應用廣泛前景美好,它的實用性大大地提高了我對畢業設計的興趣。在我國,單片機的開
3、發應用已有15年左右,已經形成一支龐大的技術開發隊伍,為我國單片機應用積累了豐富的經驗。隨著電子技術、計算機芯片技術和微電子技術的飛速發展促進了單片機技術一日千里的變化3。隨著半導體技術的飛速發展,以及移動通信、網絡技術、多媒體技術在嵌入式系統設計中的應用,單片機從4位、8位、16位到32位,其發展歷程一直受到廣大電子愛好者的極大關注。單片機功能越來越強大,價格卻不斷下降的優勢無疑成為嵌入式系統方案設計的首選,同時單片機應用領域的擴大也使得更多人加入到基于單片機系統的開發行列中,推動著單片機技術的創新進步。然而傳統的單片機系統開發除了需要購置諸如仿真器、編程器、示波器等價格不菲的電子設備外,開
4、發過程也較繁瑣。來自英國Labcenter Electronics公司的Proteus軟件很好地詮釋了利用現代EDA工具方便快捷開發單片機系統的優勢。它包括PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN兩大組成部分,在PC機上就能實現原理圖電路設計、電路分析與仿真、單片機代碼級調試與仿真、系統測試與功能驗證以及形成PCB文件的完整嵌入式系統設計與研發過程。單片機系統作為一種典型的嵌入式系統,其系統設計包括硬件電路設計和軟件編程設計兩個方面, 其調試過程一般分為軟件調試、硬件測試、系統調試3個過程。如果采用單片機系統的虛擬仿真軟件
5、Proteus,則不用制作具體的電路板也能夠完成以上工作。數字鐘是采用數字電路實現對時,分,秒,數字顯示的計時裝置,由于數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表,鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表的報時功能。數字鐘已成為人們日常生活中的必需品,廣泛應用于家庭、車站、碼頭、劇院、辦公室等場所,給人們的生活、學習、工作帶來極大的方便4。不僅如此,在現代化的進程中,也離不開電子鐘的相關功能和原理,比如機械手的控制、家務的自動化、定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各
6、種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為基礎的。而且是控制的核心部分。因此,研究數字鐘及擴大其應用,有著非?,F實的意義。電子鐘在工業控制和日常生活中是很重要的,它不僅可以用于計時、提醒又可用于對機器的控制,在自動化的過程中必然有電子鐘的參與,因此電子鐘的應用會越來越廣泛。而且向著精確、低功耗、多功能發展?;趩纹瑱C設計的數字鐘精確度較高, 因為在程序的執行過程中, 任何指令都不影響定時器的正常計數,即便程序很長也不會影響中斷的時間。從而,使數字鐘的精度僅僅取決于單片機的產生機器周期電路和定時器硬件電路的精確度。另外,程序較為簡潔,具有可靠性和較好的可讀性。如果我們想將它應用于實時控
7、制之中,只要對上述程序和硬件電路稍加修改,便可以得到實時控制的實用系統,從而應用到實際工作與生產中去。數字電子鐘的設計方法有多種,例如,可用中小規模集成電路組成電子鐘, 也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘還可以利用單片機來實現電子鐘等等。這些方法都各有特點, 其中,利用單片機實現的電子鐘具有編程靈活, 便于功能擴充, 精確度高等特點5?;谝陨戏治?,在此次設計中,我選擇的是利用單片機制作電子鐘。電子鐘的設計本身包括程序的設計和硬件電路的設計6。我的思路是,先進行電路的整體設計,再根據電路進行編程,在編程的過程中,對電路進行微調,以更好地配合程序。在設計完成后,
8、進行程序調試,調試軟件選擇MedWin,調試成功后,再根據電路圖畫出仿真圖,將軟件裝入單片機芯片,利用Proteus軟件進行仿真,仿真中的錯誤通過改正程序中的邏輯錯誤和電路中的設計不當進行排除,這個過程是很艱難的但也是很重要的。若仿真可以實現,則硬件電路的實現就可以有條不紊地進行。目 錄1 設計課題任務、功能要求說明及方案介紹11.1 設計課題任務11.2 功能要求說明11.3 設計總體方案介紹及原理說明12 設計課題硬件系統的設計22.1 設計課題硬件系統各模塊功能簡要介紹22.2 設計課題電路原理圖、元器件布局圖 22.3 設計課題元器件清單33 設計課題軟件系統的設計43.1 設計課題使
9、用單片機資源的情況43.2 設計課題軟件系統各模塊功能簡要介紹43.3 設計課題軟件系統程序流程框圖43.4 設計課題軟件系統程序清單84 設計結論、仿真結果、誤差分析、教學建議94.1 設計課題的設計結論及使用說明94.2 設計課題的仿真結果94.3 設計課題的誤差分析104.4 設計體會104.5 教學建議10參考文獻 12致 謝 13附 錄 141 設計課題任務、功能要求說明及方案介紹1.1 設計課題任務設計一個具有特定功能的電子鐘。具有時間顯示、報時等功能。并有時間設定,時間調整功能。1.2 功能要求說明設計一個具有特定功能的電子鐘。該電子鐘上電或按鍵復位后能自動顯示系統提示符“P.”
10、, 進入時鐘準備狀態;第一次按電子鐘啟動/調整鍵,電子鐘從0時0分0秒開始運行,進入時鐘運行狀態;再次按電子鐘啟動/調整鍵,則電子鐘進入時鐘調整狀態,此時可利用各調整鍵調整時間,調整結束后可按啟動/調整鍵再次進入時鐘運行狀態。1.3 設計課題總體方案介紹及工作原理說明1.3.1 整體設計思路這部分主要介紹工作安排和整體設計的思想。工作過程規劃如下:熟悉硬件 了解各引腳功能分塊設計各部分電路將分塊的電路組合認真學習單片機匯編語言完成整體電路圖確定變成結構和思路綜合各程序完成整體程序編輯各個程序模塊用Proteus畫出電路圖調試程序,進行修改對仿真中出現的問題進行改正畫出仿真圖進行仿真準備器件、搭
11、接電路仿真成功軟硬件結合,完成任務書要求驗證硬件電路成功進行擴展圖2.1 整體設計思路針對要實現的功能,擬采用AT89C51單片機進行設計,AT89C51 單片機是一款低功耗,高性能CMOS8位單片機,片內含4KB在線可編程(ISP)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用高密度、非易失性存儲技術制造,兼容標準MCS- 51指令系統及80C51引腳結構7。這樣,既能做到經濟合理又能實現預期的功能。在程序方面,采用分塊設計的方法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項功能。程序可分為鬧鐘的聲音程序、顯示程序、鬧鐘顯示程序、調時顯示、定時程序。運用這種方法,關鍵在
12、于各模塊的兼容和配合,若各模塊不匹配會出現意想不到的錯誤。本電子鐘設計主要是依照圖2.1中的流程做出來的,時間分配比較均勻。首先,在編程之前必須了解硬件結構尤其是各引腳的用法,以及內部寄存器、存儲單元的用法,否則,編程無從下手,電路也無法設計。這是前期準備工作。第二部分是硬件部分:依據想要的功能分塊設計設計,比如輸入需要開關電路,輸出需要顯示驅動電路和數碼管電路等。第三部分是軟件部分:先學習理解匯編語言的編程方法再根據設計的硬件電路進行分塊的編程調試,最終完成程序設計。第四部分是軟件畫圖部分:設計好電路后進行畫圖,包括電路圖和仿真圖的繪制。第五部分是軟件仿真部分:軟硬件設計好后將軟件載入芯片中
13、進行仿真,仿真無法完成時檢查軟件程序和硬件電路并進行修改直到仿真成功。第六部分是硬件實現部分:連接電路并導入程序檢查電路,若與設計的完全一樣一般能實現想要的功能。最后進行功能擴展,本設計加進了日期顯示與調整功能。本電子鐘主要由單片機、4*1獨立鍵盤、顯示接口電路和復位電路構成,設計課題的總體方案如圖1.1所示: 圖1.1 總體設計方案圖本電子鐘的所有的軟件、參數均存放在AT89S52的Flash ROM和內部RAM中,減少了芯片的使用數量簡化了整體電路也降低了整機的工作電流。由于AT89S52芯片內部Flash ROM有8KB,RAM有256個字節,故軟件下載編譯時有足夠的存儲空間。鍵盤采用動
14、態掃描方式。利用單片機定時器及計數器產生定時效果通過編程形成數字鐘效果,再利用數碼管動態掃描顯示單片機內部處理的數據,同時通過端口讀入當前外部控制狀態來改變程序的不同狀態,實現不同功能。2 設計課題硬件系統的設計2.1 設計課題硬件系統各模塊功能簡要介紹本設計的硬件系統主要采用以下基本模塊來實現,單片機最小系統模塊,輸入模塊、輸出模塊、電源模塊。(1)單片機最小系統模塊:包括低功耗、高性能CMOS8位微控制器AT89S52;復位電路;晶振電路。本本模塊AT89S52系統控制核心,單片機系統復位由復位電路完成,單片機內部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端位位引腳XT
15、AL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容。這樣就構成一個穩定的自激振蕩器。 (2)輸入模塊:本模塊共用到了5個按鍵,1個電源開關,一個復位鍵,單片機運行期間,利用按鍵完成復位操作。3個按鍵獨立式鍵盤,S1鍵控制電子鐘的啟動狀態,S2鍵為加1鍵,S3鍵為減1鍵。且S1、S2、S3任一鍵都獨自連一個I/O(P1.0、P1.1、P1.2)口線,說明它們可以獨立實現相應的電子鐘功能。(3)輸出模塊:本次設計顯示為8位,采用兩個四位一體數碼管(共陽極)作為顯示窗口,既可以節約成本又能簡化電路。數碼管驅動為74LS245芯片。(4)電源模塊:現在市面上銷售的編程器有很多都是由PC機的US
16、B口直接供電為了降低本設計的成本及節省設計時間,沒有另外設計編程器,而直接購買了市場上的USB供電及下載器。2.2 設計課題電路原理圖、PCB圖、元器件布局圖設計課題電路原理圖,見附錄二;設計課題電路的PCB圖,見附錄三;設計課題電路的元器件布局圖,見附錄四;2.3 設計課題元器件清單設計課題元器件清單如表2.1所示。表2.1 設計所用元器件清單名稱數量參數電阻5個1K共陽數碼管2個4位一體電阻4個4.7kISP下載口插座1個普通插座1個40PIN電阻8個470電阻5個200按鍵5個插針1排40PIN鎖緊插座1個40PIN驅動一套74ls245USB供電接口及供電線一套晶振及其插座一套12MH
17、z電容2個30pF極性電容1個22F排阻1個10K芯片1塊AT89S52發光二極管1個六角開關1個電容 各1個470f、104P銅柱 (帶螺母)4個3 設計課題軟件系統的設計3.1 設計課題使用單片機資源的情況設計課題使用單片機資源的情況如下:P0口輸出數碼管段選信號,P3口輸出數碼管位選信號;晶振11.0592M;調整選擇鍵SET_KEY:P1.0;通過選擇鍵選擇調整位,選中位閃爍;增加鍵ADD_KEY:P1.1;按一次使選中位加1;減少鍵DEC_KEY:P1.2;按一次使選中位減1;P2.1為蜂鳴器發聲報時;50H-5FH;16個寄存器單元作為顯示單元; 50H 用于控制秒基準時鐘源的產生
18、;51H 清零秒寄存器;52H 清零分寄存器;53H 清零時寄存器;5FH 用于秒個位;5EH 用于秒十位;5DH 用于分個位;5CH 用于分十位;5BH 用于時個位;5AH 用于時十位;54H 用于控制調時閃爍;堆棧棧底:70H。3.2 設計課題軟件系統個模塊功能簡要介紹 本設計的軟件系統主要采用以下基本模塊來實現,主程序、中斷服務程序、鍵盤輸入程序模塊、數碼管及其驅動模塊和延時模塊。主程序:主要是用于對輸入信號的處理、輸出信號的控制和對各個功能程序模塊的運用及其控制。中斷服務程序:主要是用于電子鐘的準確運行、數據輸入過程中的閃爍。鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。數碼
19、管及其驅動模塊:主要是用于驅動數碼管及利用數碼管顯示時間。延時模塊:程序中有兩種延時子程序,一種是短延時用于判鍵按下等,一種是長延時。3.3 設計課題軟件系統程序流程框圖系統軟件采用匯編語言按模塊化方式進行設計,然后通過Keil軟件開發平臺將程序轉變成十六進制程序語言,接著使用Proteous 進行仿真,讀出顯示數據。主程序流程框圖如3.1所示;加1子程序如3.2所示;中斷服務程序程序如3.3所示;鍵盤掃描子程序框圖如3.4所示;顯示子程序框圖如3.5所示; 圖3.1 主程序流程框圖圖3.2 加1子程序流程框圖圖3.3 中斷子程序圖3.4 鍵盤掃描子程序 圖3.5 顯示子程序3.4設計課題軟件
20、系統程序清單設計課題軟件系統程序清單,詳見附錄一。4 設計結論、仿真結果、誤差分析、教學建議4.1 設計課題的設計結論及使用說明本設計為基于單片機的電子鐘的設計。剛開始,我們很多地方理不清頭緒,無從下手,但通過認真研究設計課題,找書上網查資料買元件,確定基本設計方案,對所用芯片功能進行查找、調試,然后畫電路圖制PCB板、打孔、溶銅、焊接等,真的經歷了許多困難,卻積累了很多寶貴的經驗,本設計用2個四位一體的共陽數碼管做為顯示器,它顯示時間值;設計中有三個按鍵,其中S1為啟動/選擇調整位置,S2為加控制鍵 S3為減控制鍵,當整點時間到時,蜂鳴器報警。這樣的結果與設計要求完全相符,本設計成功。完成了
21、設計任務。4.2 設計課題的仿真結果在Proteus ISIS的Debug菜單中選擇Execute,運行程序,系統仿真結果如圖4.1與4.2所示。實現功能:可調整運行的電子鐘具有三種工作狀態:“P.”狀態、運行狀態、調整狀態。 (1)、“P.”狀態,依靠上電或按復位鍵進入,在此狀態下,按S2、S3鍵均無效,按S1鍵有效,進入運行狀態; (2)、運行狀態,在此狀態下,按S2、S3鍵均無效,只有按S1鍵有效,按下S1鍵后,退出運行狀態,進入調整狀態; (3)、調整狀態,按S1鍵進入時、分、秒的閃爍,在此狀態下,按S2(+1鍵)、S3(-1鍵)鍵均有效;調整結束后必須按S1鍵,即可退出調整狀態,進入
22、運行狀態。在調整狀態時長按S2、S3時可以連加及連減。時間顯示格式為:時-分-秒; 圖4.1 “P.”運行狀態仿真圖4.2 時鐘運行狀態仿真4.3 設計課題的誤差分析該電子鐘在運行中存在一定的誤差,誤差產生有三種可能,首先是采用的計時方案是軟件計時的,計時優勢利用中斷來實現。而當電子鐘運行時間1秒時,又得去執行中斷程序,這個過程是需要時間的,所以就產生了一定的誤差,當然這個誤差是避免不了的,其次還有硬件系統也有一定的影響。第三,設計用到11.0592MHz的晶振,計算是滿20次為一秒鐘,但實際會慢很多。4.4 設計體會 課程設計是培養學生綜合運用所學知識、發現、提出、分析和解決實際問題,鍛煉實
23、踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程。 這次我設計的課程設計內容是電子鐘。對于我們這些工科學生來說,這是一次考驗。怎樣才能找到課堂所學與實際運用的最佳結合點?怎樣讓自己業余更接近專業?怎樣讓自己的計劃更具有序性,而不會忙無一用?這都是我們所要考慮和努力的方向的。這次課程設計我學到了很多很多的東西,學會了怎樣去制定計劃,怎樣去實現這個計劃,并掌握了執行這個計劃過程中怎樣去克服心理上的不良情緒。不僅鞏固了以前所學的知識,而且學到了書本上所沒有的過的知識,掌握了一種系統的研究方法,可以進行一些簡單的編程,提高了自己獨立思考的能力。本次課程設計,讓我受益匪淺,認識到了自己的許多缺
24、點和不足,使我深深的感受到了理論聯系實際的必要性及其重要性。在我們以往的學習過程中,我們刻意地去加強理論的基礎,對于一個程序我們只求它在運行時沒有出錯,我們便以為我們的計劃成功了豈不知它能否在硬件結構中得以實現則是另外一回事,這就要求我們的動手能力,如果無法使軟件與硬件實現有機的結合,那么再好的程序也只是一堆廢字符。4.5 教學建議經過一個學期陳老師教導的的單片機學習,我掌握了很多單片機學習的寶貴經驗,尤其在編程的思路和PCB實物的制作上面。編程思路是整個程序的靈魂,沒有編程思路,程序就不會編出來,就失去了編程的意義。在開始編程之前,想好編程的思路,編程能力才會提高,編程的過程才會順暢,程序的
25、質量才會提高。在陳老師的教學過程中,幽默輕松的教學方式常常讓課堂氣氛很活躍,幽默詼諧,授課內容條理清晰,經常運用各種實例,娓娓道來,給人印象深刻。陳師在課堂上也十分注重和同學們的互動,經常會用一些親身實踐的經驗為例,讓同學們在基于事實的基礎上更好的理解相關理論,充分做到了理論與實際的結合,既形象生動,又豐富有趣。參考文獻1 代啟化.基于Proteus的電路設計與仿真J.現代電子技術.2006,第19期.2 劉文秀.單片機應用系統仿真的研究J.現代電子技術.2005, 第286 期.3 曹巧媛.單片機原理及應用M,北京:電子工業出版社,1997.7.4 張洪潤.蘭清華,單片機應用技術教程M,北京
26、:清華大學出版社,1997.11.致 謝通過不斷努力,終于完成了此次單片機的課程設計。在此,首先感謝往陳老師,正是他在萬忙之中還抽出寶貴的時間對我進行精心的指導,才使我順利完成了此次單片機課程設計。同時也感謝電子科技協會各位同學和老師對我提供的幫助。使我在此次設計中學到了許多寶貴的知識和經驗。在此,衷心地感謝你們!附 錄附錄1;-;本電子鐘實現24小時制,8位數碼管顯示時分秒,可整點報時;顯示格式:00-00-00(設置小時十位為0時,不顯示);通過3只按鍵來調整時間;調整選擇鍵SET_KEY:P1.0;通過選擇鍵選擇調整位,選中位閃爍; 增加鍵ADD_KEY:P1.1;按一次使選中位加1;
27、減少鍵DEC_KEY:P1.2;按一次使選中位減1;如果長按ADD_KEY或DEC_KEY,可進行調時、調分快進快減,并停止閃爍;如果選中位是秒,則按增加鍵或減少鍵可實現,但無調時快進和快減功能;P0口輸出數碼管段選信號,P3口輸出數碼管位選信號;晶振11.0592M;P2.1為蜂鳴器發聲報時;編程人:鄭振凡 編寫日期:2009年12月2日 修改日期(最終):2009年12月6日;-;-;程序入口;- ORG 0000H ;程序入口地址 LJMP START ORG 000BH ;定時器0中斷入口地址 LJMP TIMET0ORG 1000H;-;顯P.程序;功能:可以在8個數碼閃爍移位進行屏
28、保;-START: MOV R6, #2 ;閃爍次數MOV A, #01H ;位選TT:MOV P3, AMOV P0, #0CH ;段碼"P."LCALL DELAYMOV P3, #00HDJNZ R6, TTLCALL DELAYLCALL DELAY1RR AJB P1.0, TT ;鍵是否按下,沒按下則轉移LCALL DELAY ;延時去抖JNB P1.0, KAI ;再次判斷鍵是否按下KAI:SETB P1.0CLR A ;狀態恢復MOV P0, #0FFHLCALL DELAY1SETB 48H ;用于調時閃爍標志SETB 47H ;用于產生脈沖用于調時快進的
29、脈沖MOV R1, #0 ;鍵功能標志:0計時、1調時、2調分、3調秒;-;清16位寄存器及初始化;50H 用于控制秒基準時鐘源的產生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零時寄存器;5FH 用于秒個位;5EH 用于秒十位;5DH 用于分個位;5CH 用于分十位;5BH 用于時個位;5AH 用于時十位;54H 用于控制調時閃爍;-MOV R0, #50H ;初始化MOV R6, #10HCLEARJCQ:MOV R0, #00H ;清寄存器INC R0DJNZ R6, CLEARJCQMOV IP, #02HSETB EASETB ET0MOV TMOD, #01H ;設定定
30、時器0工作方式1MOV TH0, #3CHMOV TL0, #0B0H ;賦定時初值,定時50msSETB TR0 ;啟動定時器0MOV SP, #70H ;堆棧;-;主程序 ;- MAIN:LCALL DISPLAYLCALL KEY_SCANJZ MAINLCALL SET_KEYJB 46H, MAIN ;如果已進行調時快進,則不再執行下面的調整LCALL ADD_KEY ;調用增加鍵處理子程序,加一LCALL DEC_KEY ;調用減少鍵處理子程序,減一LJMP MAIN ;重新循環;-; 顯示處理程序;-DISPLAY:MOV A, 51HANL A, #0FHMOV 5FH, A
31、;轉換出秒個位,存入5FHMOV A, 51HANL A, #0F0HSWAP AMOV 5EH, A ;轉換出秒十位,存入5EHJB 46H, MIN ;如果調時快進,則跳過閃爍處理程序CJNE R1, #3,MIN ;如果R1為3,閃爍秒位待調整JB 48H, MINMOV 5FH, #0AH ;使該位為10,查表得到使該位不顯示MOV 5EH, #0AHMIN:MOV A, 52HANL A, #0FHMOV 5DH, A ;轉換出分個位,存入5DHMOV A, 52HANL A, #0F0HSWAP AMOV 5CH, A ;轉換出分十位,存入5CHJB 46H, HOURCJNE R
32、1, #2,HOUR ;如果R1為2,閃爍分位待調整JB 48H, HOURMOV 5DH, #0AHMOV 5CH, #0AHHOUR: MOV A, 53HANL A, #0FHMOV 5BH, A ;轉換出時個位,存入5BHMOV A, 53HANL A, #0F0HSWAP AMOV 5AH, A ;轉換出時十位,存入5AHJB 46H, DISPCJNE R1, #1,DISP ;如果R1為1,閃爍時位待調整JB 48H, DISPMOV 5BH, #0AH ;使該位為10,查表得到使該位不顯示MOV 5AH, #0AH;-;數碼管動態掃描顯示;-DISP:MOV DPTR, #TA
33、BLEMOV A, 5FHMOVC A, A+DPTRMOV P0, ASETB P3.7LCALL DELAYCLR P3.7 ;顯示秒個位MOV A, 5EHMOVC A, A+DPTRMOV P0, ASETB P3.6LCALL DELAYCLR P3.6 ;顯示秒十位MOV A, #0BFHMOV P0, ASETB P3.5LCALL DELAYCLR P3.5 ;顯示“-”MOV A, 5DHMOVC A, A+DPTRMOV P0, ASETB P3.4LCALL DELAYCLR P3.4 ;顯示分個位MOV A, 5CHMOVC A, A+DPTRMOV P0, ASETB
34、 P3.3LCALL DELAYCLR P3.3 ;顯示分十位MOV A, #0BFHMOV P0, ASETB P3.2LCALL DELAYCLR P3.2 ;顯示“-”MOV A, 5BHMOVC A, A+DPTRMOV P0, ASETB P3.1LCALL DELAYCLR P3.1 ;顯示時個位MOV DPTR, #TABLE1 ;該位使用TABLE1以消除時的十位置0MOV A, 5AHMOVC A, A+DPTRMOV P0, ASETB P3.0LCALL DELAYCLR P3.0 ;顯示時十位RET;-;定時器中斷1s程序;-TIMET0:PUSH ACC ;保護現場P
35、USH PSWMOV TH0, #3CHMOV TL0, #0B0HCPL 47H ;產生脈沖用于調時快進INC 54HMOV A, 54HCJNE A, #10,ADD_TIME;產生0.5秒,用于調時閃爍CPL 48H ;取反調時閃爍標志位MOV 54H, #00HADD_TIME:INC 50HMOV A, 50HCJNE A, #10,ZDBACD;整點報時時蜂鳴器響延遲時間SETB P2.1 ;關蜂鳴器ZDBACD:CJNE A, #20,RETI1 ;產生1秒時鐘MOV 50H, #00H ;一秒鐘時間到,清零50HMOV A, 51HADD A, #01HDA A ;十進制調整M
36、OV 51H,ACJNE A,#60H,RETI1MOV 51H,#00H ;一分鐘到MOV A,52HADD A,#01HDA AMOV 52H,ACJNE A,#60H,RETI1CLR P2.1MOV 52H,#00H ;一小時到,開蜂鳴器,清分顯示MOV A,53HADD A,#01HDA AMOV 53H,ACJNE A,#24H,RETI1MOV 53H,#00H ;到24點,清零小時RETI1:POP PSWPOP ACC ;恢復現場RETI ;中斷返回;-;鍵盤掃描程序;R4設置為00H是為了在進入長按處理前加長延時,以區分長按與短按鍵;-KEY_SCAN:CLR 46H ;關
37、閉調時快進標志MOV P1,#0FFH ;將P1口設置成輸入狀態MOV A,P1CPL AANL A, #07H ;1口低3位連接3個按鍵,只判斷該3位JZ EXIT_KEYLCALL DELAY ;延時去抖動MOV A, P1 ;重新判斷CPL AANL A, #07HJZ EXIT_KEYMOV R5, AMOV R4, #00H ;用于控制調時快進速度LOOP: LCALL DISPLAY ;進入長按處理MOV A, P1CPL AANL A, #07HJB 47H, LOOP1INC R4 ;調時快進間隔時間基準加1LOOP1: CJNE R1, #03H,LOOP2 ;如果調秒時長按
38、,則不處理LJMP LOOP3LOOP2: CJNE R4, #99H,LOOP3MOV R4, #70H ;確認長按后,加快調時快進速度SETB 46HLCALL ADD_KEYLCALL DEC_KEYLOOP3: JNZ LOOP ;等待鍵釋放MOV A, R5 ;輸出鍵值RETEXIT_KEY:RET;-;延時子程序;- DELAY:MOV R7,#200 DJNZ R7,$ RETDELAY1:MOV R3,#50 MOV TMOD,#00H MOV TH1,#63H MOV TL1,#18H SETB TR1 LP1:JBC TF1,LP2 SJMP LP1 LP2:MOV TH1,#63H MOV TL1,#18H DJNZ R3,LP1 RET ;-;選擇鍵處理子程序;-SET_KEY:CJNE R5,#01
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年山東省菏澤市中考歷史真題
- 花崗巖開采管理制度
- 茶葉修剪隊管理制度
- 防疫督導員管理制度
- 課外閱讀專項-部編人教版小學三年級語文下冊試卷-部編人教版小學三年級語文下冊試卷
- 設備維修合同 (三)
- 設備機組維修技術培訓方案及質量保證措施
- 哈爾濱市第九中學校2024-2025學年高二下學期6月月考政治試卷(含答案)
- 大班各領域教育內容要點及實施策略探討
- 【高中語文】《六國論》課文深度解析+統編版高一語文必修下冊
- 通信員工安全試題及答案
- 2025年洗紋身協議書
- 工會廠務公開課件
- 桃花源記的試題及答案
- 工廠計件獎罰管理制度
- 2024年陜西省西安市初中學業水平模擬考試地理試卷
- 2025黑龍江省交通投資集團限公司招聘348人易考易錯模擬試題(共500題)試卷后附參考答案
- cpsm考試試題及答案
- 匯川技術高壓變頻器技術標準教材
- 2025年玻璃鋼圍網漁船項目市場調查研究報告
- 江蘇省南京2022年中考歷史試卷(解析版)
評論
0/150
提交評論