畢業(yè)設計任務書 實習報告 大學生畢業(yè)實習報告
《畢業(yè)設計任務書 實習報告 大學生畢業(yè)實習報告》由會員分享,可在線閱讀,更多相關《畢業(yè)設計任務書 實習報告 大學生畢業(yè)實習報告(162頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、聊城職業(yè)技術(shù)學院 畢業(yè)設計任務書 系 別 計算機系 班 級 06電子信息 姓 名 劉麗娜 學 號 20061206017 畢業(yè)設計寫作指導須知
2、 一、 畢業(yè)設計選題要符合專業(yè)培養(yǎng)目標的要求。論文(任務書)寫作要做到論點明確、論據(jù)充分,說明透徹,語言準確恰當,書面整潔、字跡工整,圖紙應清晰、工整,符合設計要求,符合國家有關標準和部分標準。字數(shù)、圖紙數(shù)量符合學院的有關要求。并在規(guī)定的時間內(nèi)完成。 二、 答辯過程中學生要嚴肅認真,文明禮貌,謙虛謹慎,認真回答答辯主持人、委員等提出的問題。 三、 填報有關表格時,應按項目要求逐項填實、填全、填清。 學號 20061206017 姓名 劉麗娜 學 制 三年 專業(yè) 電子信息工程技術(shù) 年級 06電子信息 教學班負責
3、人 楊清虎 地市 山東省聊城市聊城職業(yè)技術(shù)學院 教學班 06電子信息 設計題目 單片機多功能電子時鐘 指導教師姓名 楊清虎 職務或職稱 助教 一、 畢業(yè)設計的任務和具體要求: 在智能化儀器儀表中,控制核心均為微處理器,而單片機以其高性能、高速度、體積小、價格低廉、穩(wěn)定可靠而得到廣泛應用,是設計智能化儀器儀表的首選微控制器,單片機結(jié)合簡單的接口電路即可構(gòu)成電子鐘,它可廣泛應用于工業(yè)、農(nóng)業(yè)、日常生活等領域,與傳統(tǒng)鐘表相比較,它具有高精度、高可靠性、操作方便、價格便宜、智能化等特點,是鐘表的一個發(fā)展方向,具有一定的實用價值。 1.本課題任務如下: 設計一個具有特定功能的
4、電子鐘,系統(tǒng)以AT89S51單片機為控制核心,結(jié)合外部電路完成電子鐘的功能。該電子鐘上電或按鍵復位后能自動顯示系統(tǒng)提示符“00:00:00”, 進入時鐘準備狀態(tài);按下電子鐘啟動鍵,電子鐘從0時0分0秒開始運行,進入時鐘運行狀態(tài);按下電子鐘調(diào)整鍵,則電子鐘進入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動鍵再次進入時鐘運行狀態(tài) 2、本課題要求如下: (1)在AT89S51的P1口和P2口外接由六個LED數(shù)碼管(LED5~LED0)構(gòu)成的顯示器,用P1口作LED的段碼輸出口(P1.0~P1.6對應于LED的a~g),P2.5~P2.0作LED的位控輸出線(P2.5~P2.0對應于
5、LED5~LED0),P3口外接四個按鍵A、B、C、D(對應于P3.2~P3.5)。 (2)、利用六個LED顯示當前時間。 (3)、四個按鍵的功能:D鍵用于電子鐘啟動;A鍵用于調(diào)時,范圍0-23,0為24點,每按一次時加1;B鍵用于調(diào)分,范圍0-59,0 為60分,每按一次分加1;C鍵用于調(diào)秒, 范圍0-59,0為60秒,每按一次秒加1。 (4)、單片機采用AT89S52,fosc=12MHZ。 (5)、電子鐘供電電源電路的設計。 (6)、電子鐘時鐘電路,復位電路的設計。 (7)、編寫系統(tǒng)監(jiān)控程序、鍵掃子程序、顯示子程序及其它所需子程序、功能程序和中斷服務程序。 (8)、計算機輸
6、出課程設計說明書一份。 (9)、設計時間:二周 (10)、制作電子鐘實物。 二、 畢業(yè)設計說明書應包含的內(nèi)容: 1、課程設計說明書封面; 2、課程設計任務書封面及課程設計任務書; 3、前言; 4、課程設計說明書目錄; 5、電子鐘功能說明及總體方案介紹; 6、詳細介紹電子鐘的工作原理; 7、繪制電子鐘整機電路框圖、整機電路原理圖、電源電路原理圖及PCB圖各1份; 8、列出電子鐘元器件清單; 9、詳細介紹電子鐘單元電路工作原理(包括電源電路、時鐘電路、復位電路、鍵盤/顯示接口電路及所用主要芯片); 10、單片機硬件資源的使用分配情況;
7、 11、畫出電子鐘軟件系統(tǒng)監(jiān)控程序、各子程序、中斷服務程序及各功能程序的流程框圖; 12、列出電子鐘軟件系統(tǒng)程序清單; 13、寫出電子鐘的使用說明; 14、設計體會,談談本設計的重點、難點及精妙之處,是否存在不足之點及改進意見; 15、提出《單片機技術(shù)》課程教學建議; 16、參考資料。 三、 畢業(yè)設計應完成的圖紙: 四、其他要求:無 五、畢業(yè)設計的期限: 自2009 1 月 1 日至 2009 年 2 月 1 日 六、畢業(yè)設計(論文)進度計劃: 起 至 日 期 工 作 內(nèi) 容 備
8、 注 2009.01.01~2009.01.07 2009.01.08~2009.01.14 2009.01.15~2009.01.22 2009.01.23~2009.02.01 電子時鐘電源電路設計 單片機最小系統(tǒng) 電子時鐘顯示電路 電子時鐘按鍵電路原理圖 原理圖,實物制作 原理圖,實物制作 原理圖,實物制作 原理圖,實物制作 參考文獻、資料表 文獻、資料名稱 編 著 者 出 版 單 位 電子CAD-Protel電路設計 Protel 99SE高級應用 單片機實用技術(shù) 單片機原理與應用技術(shù) 單片機應用系統(tǒng)設計與實踐 MCS-5
9、1單片機原理與接口技術(shù) 單片機應用技術(shù)[M] 劉華東 張偉 孫穎 趙晶 劉高 江力 陳景初 馬家辰 劉守義 清華大學出版社 人民郵電出版社 清華大學出版社 清華大學出版社 北京航空航天大學出版社。 哈爾濱工業(yè)大學出版社。 西安電子科技大學出版社 此表由學生填寫所參考的文獻、資料 前言 電子科技日新月異,人們對現(xiàn)代電子設備的智能化和微型化及其精度提出了更高的要求,而單片機因其具有穩(wěn)定可靠、 體積小、 價格低廉等特點,成為設計智能化儀器儀表的首選微控制器,因此本次我們沒有選用傳統(tǒng)的專用的時鐘芯片,而是采用了AT89S51芯片,此款單片
10、機可以使用軟件對其進行在線編程,其靈活性和可靠性都相對提高。 通過此次實物制作,增強了我們的動手能力,把理論與實踐融合在一起。同時,也進一步加深了對單片機的硬件結(jié)構(gòu)的理解和鞏固,編程能力也得到了提高。在此將電子鐘制作過程中用到的知識進行了一些總結(jié),并記錄了遇到的問題,希望自己今后能注意,并且能夠全方位的提高自己。同時也希望能成為讀者的參考資料,能幫助讀者避免出現(xiàn)相同的問題,并能從中得到一些啟發(fā)。 在此要感謝楊老師對我的指導和我同學對我的幫助,感謝同組人的合作及互相鼓勵。由于本人水平有限,書中的錯漏在所難免,懇請讀者批評指正。 目 錄 1 多功能電子表
11、說明及總體方案介紹 1.1 多功能電子表計時方案 1.2 多功能電子表鍵盤/顯示方案 2 電子鐘的工作原理 3 多功能電子表原理框圖、原理圖及PCB圖 3.1 多功能電子表原理框圖 3.2 多功能電子表整機原理圖 3.3 多功能電子表電路PCB圖 4 多功能電子表元器件清單 5 多功能電子表單元電路工作原理及芯片 5.1 電源電路工作原理 5.2 時鐘電路工作原理 5.3 復位電路工作原理 5.4 鍵盤電路工作原理 5.5 顯示器工作原理 5.6 AT89S51芯片
12、 5.7 74LS244芯片 5.8 S8550PNP三極管 5.9 四位一體數(shù)碼管 6 單片機硬件資源分配 7 程序流程圖 8 電子鐘程序清單 9 誤差分析 10 電子鐘使用說明 11 設計體會 12 教學意見 13 參考資料 1 多功能電子表說明及總體方案介紹 本次設計電子鐘系統(tǒng)功能簡單,用單片機的最小系統(tǒng)就能得以實現(xiàn)。而單片機的最小系統(tǒng)設計中實際上最重要的就是對鍵盤/顯示器接口電路的設計,由于系統(tǒng)功能不同所以要求就不同,接口設計也就不同。對一個鍵盤/顯示器接口設計應從整
13、個系統(tǒng)出發(fā),綜合考慮軟、硬件特點。下面是本人在設計前對各種設計方案的考慮: 1.1 多功能電子表計時方案 方案一:采用實時時鐘芯片 實時時鐘芯片具備年、月、日、時、分、秒計時功能和多點定時功能,計時數(shù)據(jù)的更新每秒自動進行一次,不需程序干預。計算機可通過中斷或查詢方式讀取計時數(shù)據(jù)進行顯示,因此計時功能的實現(xiàn)無需占用CPU的時間,程序簡單。此外,實時時鐘芯片多數(shù)帶有鋰電池做后備電源,具備永不停止的計時功能;具有可編程方波輸出功能,可用做實時測控系統(tǒng)的采樣信號等;有的實時時鐘芯片內(nèi)部還帶有非易失性RAM,可用來存放需長期保存但有時也需變更的數(shù)據(jù)。由于功能完善,精度高,軟件程序設計相對簡單,且
14、計時不占用CPU時間,因此,在工業(yè)實時測控系統(tǒng)中多采用這一類專用芯片來實現(xiàn)實時時鐘功能。 方案二: 軟件控制。 利用單片機內(nèi)部的定時/計數(shù)器進行中斷定時,配合軟件延時實現(xiàn)時、分、秒的計時及秒表計時。該方案節(jié)省硬件成本,且能使設計者對單片機的指令系統(tǒng)能有更深入的了解,從而掌握單片機應用技術(shù)MCS-51匯編語言程序設計方法,因此,本系統(tǒng)設計采用此種軟件控制方法來實現(xiàn)計時。而由于ATMEL公司的AT89S51單片機是低功耗的具有4KB在線可編程Flash存儲器的單片機。它與通用80C51系列單片機的指令系和引腳兼容。片內(nèi)的Flash可允許在線重新編程,也可使用通用非易失性存儲器編程。它將通用CP
15、U和在線可編程Flash集成在一個芯片上,形成了功能強大、使用靈活和具有較高性能價格比的微控制器。它的功能強大,而且也較容易購買,故本設計中所選的單片機為AT89S51單片機。 1.2 多功能電子表鍵盤/顯示方案 方案一: 8279擴展。 該方案方框圖如圖1.2.1所示,8279是一種可編程的鍵盤/顯示接口專用芯片,它含有鍵盤輸入和顯示輸出兩種功能,鍵掃描程序和動態(tài)顯示程序全由8279硬件自動完成,此種方案能以比較簡單的硬件 電路和較少的軟件開銷實現(xiàn)單片機與鍵盤、LED顯示器的接口。 方案二: 8155擴展,LED動態(tài)顯示。 該方案方框圖如圖1.2.2所示,8155是一塊
16、可編程的接口芯片,與單片機的接口非常簡單,它的鍵盤、顯示共用一個接口電路,可節(jié)省I/O口。但動態(tài)掃描方式需占用CPU較多的時間,在單片機沒有太多實時測控任務的情況下可以采用。 方案三: 串口擴展,LED靜態(tài)顯示。 該方案方框圖如圖1.2.3所示,獨立式鍵盤配置靈活,軟件結(jié)構(gòu)簡單,按鍵較多時不宜采用。靜態(tài)顯示占用口資源少,采用串口傳輸實現(xiàn)靜態(tài)顯示, LED數(shù)碼管與單片機之間通過6個移位寄存器相連,顯示亮度有保證,但此方案的硬件開銷大,電路復雜,信息刷新速度慢,比較適用于并行口資源較少的場合。 方案四: 獨立式按鍵,LED動態(tài)顯示。 該方案方框圖如圖1.2.4所示,獨立式按鍵直接與單片機
17、I/O口相連構(gòu)成鍵盤,每個按鍵不會相互影響,因本系統(tǒng)用到的按鍵比較少,采用獨立式鍵盤不會浪費I/O口線,所以本系統(tǒng)采用獨立式鍵盤。動態(tài)顯示的亮度雖然不如靜態(tài)顯示,但其硬件電路較簡單,可節(jié)省硬件成本,雖然動態(tài)掃描需占用CPU較多的時間,但本系統(tǒng)中的單片機沒有很多實時測控任務,因此,本系統(tǒng)采用此種方案。 2 多功能電子表的工作原理 本設計中的電子鐘的核心是AT89S52單片機,其內(nèi)部帶有4KB在線可編程Flash存儲器的單片機,無須外擴程序存儲器,硬件電路主要由四部分構(gòu)成:時鐘電路,復位電路,鍵盤以及顯示電路。 時鐘電路是電子表硬件電路的核心,沒
18、有時鐘電路,電子表將無法正常工作計時。本系統(tǒng)時鐘電路采用的晶振的頻率為12MHz,定時器采用的是定時器0工作在方式1定時,用于實現(xiàn)時、分、秒的計時,定時時間為62.5ms。復位電路可使電子表恢復到初始狀態(tài)。鍵盤可對電子表進行開啟、停止,還能實現(xiàn)時、分、秒的顯示及設定等操作。顯示電路由兩個共陽級4位一體LED數(shù)碼管構(gòu)成,它的段控端和位控端通過74LS244及其S8550PNP型號三極管與AT89S51單片機的I/O口相連,顯示器可使電子表顯示出時、分、秒。 多功能電子表的計時原理為:上電后,電子表顯示P.提示符,按下A鍵后,電子表從00:00:00開始計時。當定時器0的定時時間滿62.5ms
19、后,定時器0溢出一次,溢出滿16次后,電子表的秒加1,滿60秒后,分加1,滿60分后,時加1,滿24時后,電子表重新從00:00:00開始計時。 3 多功能電子表原理方框圖、原理圖及PCB圖 3.1 多功能電子表原理方框圖 多功能電子表整機電路方框圖如圖3.1 3.2 多功能電子表電路原理圖 3.2.1多功能電子表電源電路原理圖 直流穩(wěn)壓電源電路原理圖如圖3.2所示 3.2.2 多功能電子表整機電路原理 3.3 多功能
20、電子表電路PCB圖 3.3.1 多功能電子表電源電路PCB圖 電源電路PCB圖如圖3.4所示 3.3.2 多功能電子表整機電路PCB圖 多功能電子表整機電路PCB圖如圖3.5所示 3.5整機PCB圖 4 多功能電子表元器件清單 多功能電子表電路所有元器件清單如表4.1所示 表4.1 多功能電子表元器件清單1 元件名稱 封裝形式 元件號 LED數(shù)碼管(共陽極) DIP-12 D1 LED數(shù)碼管(共陽極) DIP-12 D2 510Ω電阻 AXIAL0.4 R1 510Ω電阻
21、 AXIAL0.4 R2 510Ω電阻 AXIAL0.4 R3 510Ω電阻 AXIAL0.4 R4 510Ω電阻 AXIAL0.4 R5 510Ω電阻 AXIAL0.4 R6 510Ω電阻 AXIAL0.4 R7 510Ω電阻 AXIAL0.4 R8 1K電阻 AXIAL0.4 R9 200電阻 AXIAL0.4 R10 4.7K電阻 AXIAL0.4 R11 4.7K電阻 AXIAL0.4 R12 4.7K電阻 AXIAL0.4 R13 4.7K電阻 AXIAL0.4 R14 4.7K電阻 AXIAL0.4 R
22、15 4.7K電阻 AXIAL0.4 R16 4.7K電阻 AXIAL0.4 R17 4.7K電阻 AXIAL0.4 R18 電源插座 UIN DIANYUAN 74LS244芯片 DIP-20 A1 S8550PNP三極管 TO-5 85501 S8550PNP三極管 TO-5 85502 S8550PNP三極管 TO-5 85503 S8550PNP三極管 TO-5 85504 S8550PNP三極管 TO-5 85505 S8550PNP三極管 TO-5 85506 輕觸開關A DIP04 A 輕觸開關B DIP
23、04 B 輕觸開關C DIP04 C 輕觸開關D DIP04 D 輕觸開關 DIP04 S5 12M晶振 XTAL1 Y1 33pF電容 RAD0.2 C1 33pF電容 RAD0.2 C2 22μF電容 RB.2/.4 C3 7805芯片 TO-220 U1 0.33μF電容 RAD0.2 C1 0.1μF電容 RAD0.2 C2 220μF電容 RB.2/.4 C3 220μF電容 RB.2/.4 C4 橋式整流 DIP-04 D2 二極管 DIODE0.4 D1 11V變壓器 DIP-5 TR
24、擴展插針 SIP08 J0 擴展插針 SIP08 J1 5 多功能電子表單元電路工作原理介紹 5.1 電源電路工作原理 圖5.1所示為集成直流穩(wěn)壓電源電路的原理圖,本電源電路是由集成穩(wěn)壓器構(gòu)成的。電路可分成三部分:電源變壓器部分、整流濾波部分和穩(wěn)壓部分。 變壓器原邊為工頻交流220V電壓,經(jīng)過變壓后,變壓器副邊的電壓變?yōu)榻涣?1V,11V交流電壓經(jīng)過橋式整流電路整流后變?yōu)橹绷?0V電壓,直流10V電壓作為CW7805的輸入電壓,CW7805輸出+5V電壓。圖中D2為整流橋,它由四個整流二極管接成電橋形式。C3為濾波電容,C1用于抵消輸入端較長接線的電感效應,以防止自
25、激振蕩,還可抑制電源的高頻脈沖干擾。一般取0.1——1μF。CW7805為三端固定輸出集成穩(wěn)壓器,其輸入和輸出電壓都為固定值,它的輸入電壓為+10V,輸出電壓為+5V。C2和C4用以改善負載的瞬態(tài)響應,消除電路的高頻噪聲,同時也具有消振作用。 5.2 時鐘電路工作原理 圖5.2所示為時鐘電路原理圖,在AT89S51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。
26、 5.3 復位電路工作原理 圖5.3所示為復位電路原理圖,復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序,并使其它功能單元處于一個確定的初始狀態(tài)。本復位電路采用的是按鍵復位,它是通過復位端經(jīng)電阻與VCC電源接通而實現(xiàn)的,它兼具上電復位功能。因本系統(tǒng)的晶振的頻率為12MHz,所以,復位信號持續(xù)時間應當超過2μS才能完成復位操作。 5.4 鍵盤工作原理 圖5.4所示為鍵盤原理圖,本系統(tǒng)采用的是獨立式鍵盤結(jié)構(gòu),每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。它軟件是采用查詢式結(jié)構(gòu),首先逐位查詢
27、每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認該I/O口線所對應的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。 5.5 顯示器工作原理 系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方法進行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任何時刻都只有一位數(shù)碼管被點亮,但由于人眼存在視覺殘留效應,只要每位數(shù)碼管間隔時間足夠短,就可以給人以同時顯示的感覺。圖中的S8550作為驅(qū)動器,
28、而8個510歐姆電阻則起限流作用。 由圖5.5可知,要想讓數(shù)碼管那一段亮,在該數(shù)碼管位控段為高電平的情況下給這段送低電平就可以了。顯示電路結(jié)構(gòu)采用動態(tài)掃描的方式,所有數(shù)碼管的段控端公用單片機P0口的8根輸出口線,數(shù)碼管的段控端a、b、c、d、e、f、g、dp分別接到P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7口線上,每個數(shù)碼管的位控線單獨占用單片機P2口一根輸出口線,8位數(shù)碼管從高位到低位分別接P2.0~P2.7引腳。段控碼(低電平有效)由P0口輸出經(jīng)上拉電阻上拉電壓后通過鎖存器74LS244送到數(shù)碼管
29、的段控端,位控碼由P2口輸出經(jīng)三極管S8550驅(qū)動后送到數(shù)碼管的位控端。 在單片機內(nèi)部顯示緩沖區(qū)79H、7AH、7BH、7CH、7DH、7EH內(nèi)的值分別是秒的個位、秒的十位、分的個位、分的十位、時的個位、時的十位,顯示器LED0、LED1、LED2、LED3、LED4、LED5分別顯示秒的個位十位、分的個位十位、時的個位十位,由圖5.5所示。 數(shù)碼管動態(tài)顯示:由于顯示的數(shù)據(jù)和LED數(shù)碼管的段控碼并不是一一對應的關系,即顯示的數(shù)據(jù)與數(shù)碼管的字型代碼不相符。顯示數(shù)據(jù)與字型代碼之間存在著轉(zhuǎn)換關系,數(shù)碼管段控數(shù)據(jù)和數(shù)碼管各段的對應關系如表5.1、表5.2所示。 表5.1 數(shù)碼管數(shù)據(jù)和數(shù)碼管每段的
30、對應關系 D7 D6 D5 D4 D3 D2 D1 D0 LED顯示碼 a 1 1 1 1 1 1 1 0 0FEH b 1 1 1 1 1 1 0 1 0FDH c 1 1 1 1 1 0 1 1 0FBH d 1 1 1 1 0 1 1 1 0F7H e 1 1 1 0 1 1 1 1 0EFH f 1 1 0 1 1 1 1 1 0DFH g 1 0 1 1 1 1 1 1 0BFH dp 0 1 1 1 1 1
31、 1 1 7FH 表5.2 數(shù)碼管斷碼和字型的對應關系(共陽極) 字型 D7 D6 D5 D4 D3 D2 D1 D0 段碼 dp g f e d c b a 0 1 1 0 0 0 0 0 0 0CO 1 1 1 1 1 1 0 0 1 0F9 2 1 0 1 0 0 1 0 0 0A4 3 1 0 1 1 0 0 0 0 0B0 4 1 0 0 1 1 0 0 1 99 5 1 0 0 1 0 0 1 0 92 6 1
32、0 0 0 0 0 1 0 82 7 1 1 1 1 1 0 0 0 0F8 8 1 0 0 0 0 0 0 0 80 9 1 0 0 1 0 0 0 0 90 A 1 0 0 0 1 0 0 0 88 B 1 0 0 0 0 0 1 1 83 C 1 1 0 0 0 1 1 0 0C6 D 1 0 1 0 0 0 0 0 0A0 E 1 0 0 0 0 1 1 0 86 F 1 0 0 0 1 1 1
33、0 8E P. 0 0 0 0 0 1 1 0 06 全亮 0 0 0 0 0 0 0 0 00 全滅 1 1 1 1 1 1 1 1 0FF 從電子鐘程序清單中的顯示程序可以知道:數(shù)據(jù)表格存儲單元從首地址到最高位分別存放的是共陽極數(shù)碼管0、1、2、3、4、5、6、7、8、9、P.、滅的十六進制字型代碼,所以只要把顯示緩沖區(qū)內(nèi)的數(shù)值加上偏移地址rel(偏移量計算方法如式3.1所示),把和送到累加器A中,使用MOVC A, @A+PC就可以取出緩沖區(qū)內(nèi)要顯示數(shù)據(jù)的字型代碼,當然要取P.和滅的字型代碼就要分別給緩沖區(qū)送0AH、0B
34、H。 偏移地址rel=數(shù)據(jù)表格首地址-MOVC A @A+PC指令單元首地址-1 式3.1 在動態(tài)掃描時,顯示緩沖區(qū)79H內(nèi)部存放的是要顯示的秒的個位的數(shù)值,使用MOVC A, @A+PC指令取出段控碼,由P0口輸出通過鎖存器74LS244后送到數(shù)碼管的段控端,給P2口送01H通過鎖存器74LS244驅(qū)動以后,只有LED0位的位控端有效,此時只有LED0被點亮來顯示秒的個位,延時持續(xù)點亮一段時間,然后把顯示緩沖單元地址加1,位控值左移一位,取出段控碼,再把段控碼和位控碼送到數(shù)碼管顯示器,此時只有LED1被點亮顯示秒的十位,延時持續(xù)點亮一段時間,就這樣通過逐個地從低位到高位點亮各個
35、顯示器,掃描到最高位時的十位被點亮就返回。這樣雖然在任一時刻只有一位顯示器被點亮,但是由于人眼具有視覺殘留效應,看起來與全部顯示器持續(xù)點亮效果完全一樣。 5.6 AT89S51芯片介紹 如圖5.7所示為AT89S51芯片的引腳圖 兼容標準MCS-51指令系統(tǒng)的AT89S51單片機是一個低功耗、高性能CHMOS的單片機,片內(nèi)含4KB在線可編程Flash存儲器的單片機。它與通用80C51系列單片機的指令系統(tǒng)和引腳兼容。AT89S51單片機片內(nèi)的Flash可允許在線重新編程,也可用通用非易失性存儲編程器編程;片內(nèi)數(shù)據(jù)存儲器內(nèi)含128字節(jié)的RAM;有40個引腳,32個外部雙向輸入/輸出(I/
36、O)端口;具有兩個16位可編程定時器;中斷系統(tǒng)是具有6個中斷源、5個中斷矢量、2級中斷優(yōu)先級的中斷結(jié)構(gòu);震蕩器頻率0到33MHZ,因此我們在此選用12MHZ的晶振是比較合理的;具有片內(nèi)看門狗定時器;具有斷電標志POF等等。AT89S51具有PDIP,TQFP和PLCC三種封裝形式。上圖就是PDIP封裝的引腳排列,下面介紹各引腳的功能。P0口:8位、開漏級、雙向I/O口 。 P0口可作為通用I/O口,但須外接上拉電阻;作為輸出口,每各引腳可吸收8各TTL的灌電流。作為輸入時,首先應將引腳置1。P0也可用做訪問外部程序存儲器和數(shù)據(jù)存儲器時的低8位地址/數(shù)據(jù)總線的復用線。在該模式下,P0口含有內(nèi)部
37、上拉電阻。在FLASH編程時,P0口接收代碼字節(jié)數(shù)據(jù);在編程效驗時,P0口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻)。 P1口:8位、雙向I/0口,內(nèi)部含有上拉電阻。 P1口可作普通I/O口。輸出緩沖器可驅(qū)動四個TTL負載;用作輸入時,先將引腳置1,由片內(nèi)上拉電阻將其抬到高電平。P1口的引腳可由外部負載拉到低電平,通過上拉電阻提供電流。 在FLASH并行編程和校驗時,P1口可輸入低字節(jié)地址。在串行編程和效驗時,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。 P2口:具有內(nèi)部上拉電阻的8位雙向I/O口。 P2口用做輸出口時,可驅(qū)
38、動4各TTL負載;用做輸入口時,先將引腳置1,由內(nèi)部上拉電阻將其提高到高電平。若負載為低電平,則通過內(nèi)部上拉電阻向外部輸出電流。 CPU訪問外部16位地址的存儲器時,P2口提供高8位地址。當CPU用8位地址尋址外部存儲時,P2口為P2特殊功能寄存器的內(nèi)容。 在FLASH并行編程和校驗時,P2口可輸入高字節(jié)地址和某些控制信號。 P3口:具有內(nèi)部上拉電阻的8位雙向口。 P3口用做輸出口時,輸出緩沖器可吸收4各TTL的灌電流;用做輸入口時,首先將引腳置1,由內(nèi)部上拉電阻抬位高電平。若外部的負載是低電平,則通過內(nèi)部上拉電阻向輸出電流。 在與FLASH并行編程和校驗時,P3口可輸入某些
39、控制信號。 P3口除了通用I/O口功能外,還有替代功能,如表5.3所示 表5.3 P3口的替代功能 引腳 符號 說明 P3.0 RXD 串行口輸入 P3.1 TXD 串行口輸出 P3.2 /INT0 外部中斷0 P3.3 /INT1 外部中斷1 P3.4 T0 T0定時器的外部的計數(shù)輸入 P3.5 T1 T1定時器的外部的計數(shù)輸入 P3.6 /WR 外部數(shù)據(jù)存儲器的寫選通 P3.7 /RD 外部數(shù)據(jù)存儲器的讀選通 RST:復位端。當振蕩器工作時,此引腳上出現(xiàn)兩個機器周期的高電平將系統(tǒng)復位。 ALE/ :當訪問外部存儲器時,ALE(
40、允許地址鎖存)是一個用于鎖存地址的低8位字節(jié)的書粗脈沖。在Flash 編程期間,此引腳也可用于輸入編程脈沖()。在正常操作情況下,ALE以振蕩器頻率的1/6的固定速率發(fā)出脈沖,它是用作對外輸出的時鐘,需要注意的是,每當訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如果希望禁止ALE操作,可通過將特殊功能寄存器中位地址為8EH那位置的“0”來實現(xiàn)。該位置的“1”后。ALE僅在MOVE或MOVC指令期間激活,否則ALE引腳將被略微拉高。若微控制器在外部執(zhí)行方式,ALE禁止位無效。 :外部程序存儲器讀選取通信號。當AT89S51在讀取外部程序時, 每個機器周期 將PSEN激活兩次。在此期間內(nèi),每當訪
41、問外部數(shù)據(jù)存儲器時,將跳過兩個信號。 /Vpp:訪問外部程序存儲器允許端。為了能夠從外部程序存儲器的0000H至FFFFH單元中取指令,必須接地,然而要注意的是,若對加密位1進行編程,則在復位時,的狀態(tài)在內(nèi)部被鎖存。 執(zhí)行內(nèi)部程序應接VCC。不當選擇12V編程電源時,在Flash編程期間,這個引腳可接12V編程電壓。 XTAL1:振蕩器反向放大器輸入端和內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器輸出端。 5.7 74LS244驅(qū)動器 74LS244是單向總線驅(qū)動器。是8輸入8輸出芯片,中1G和2G為使能端,低電平有效。它的外部管腳圖如圖5.8所示。 74LS24
42、4是一種三態(tài)輸出的八緩沖器和線驅(qū)動器,該芯片的邏輯電路圖和引腳圖如圖5.8所示。從圖5.8可見,該緩沖器有8個輸入端,分為兩路——1A1~1A4,2A1~2A4,同時8個輸出端,也分為兩路——1Y1~1Y4,2Y1~2Y4,分別由2個門控信號1G和2G控制,當記為低電平時,1Y1~1Y4的電平與1A1~1A4的電平相同,即輸出反映輸入電平的高低;同樣,當2G為低電平時,1Y1~1Y4的電平與2A1~2A4的電平和同。而當1G(或2G)為高電平時,輸出1A1~1A4(或2A1~2A4)為高阻態(tài)。經(jīng)74LS244緩沖后,輸入信號被驅(qū)動,輸出信號的驅(qū)動能力加大了。 其功能表如表5.4所示,表中?
43、H為高電平,L為低電平,A為高阻態(tài),X為任意狀態(tài) 表5.4 74LS244引腳功能表 輸入 輸出 G A Y L L L L H H N X X 5.8 S8550PNP三極管 5.8.1主要用途: 作為音頻放大器,應用于收錄機、電動玩具等電子產(chǎn)品。(與S8050互補) 其管腳圖如下圖5.9 5.8.2極限值如下表5.5 參數(shù) 符號 標稱值 單位 集電極、基極擊穿電壓 VCBO -40 V 集電極、發(fā)射極擊穿電壓 VCEO -25 V 發(fā)射極、基極擊穿電壓
44、VEBO -6 V 集電極電流 IC -1.5 A 集電極功率 PC 1 W 結(jié)溫 TJ 125 ℃ 貯存溫 TSTG -55-125 ℃ 5.8.3電參數(shù)(Ta=25℃) 電參數(shù)表5.6 參數(shù) 符號 測試條件 最小值 典型值 最大值 單 位 集電極漏電流 ICBO VCB=-35,IE=0 -100 nA 發(fā)射極漏電流 IEBO VBE=-6,IC=0 -100 nA 集電極、發(fā)射極擊穿電壓 BVCEO IC=-2mA,IB=0 -25 V 發(fā)射極、基極擊穿電壓 BVEBO
45、IE=-100μA,IC=0 -6 V 集電極、基極擊穿電壓 BVCBO IC=-100μA,IE=0 -40 V 集電極、發(fā)射極飽和壓降 VCE(sat) IC=-800mA,IB=-80mA -0.5 V 基極、發(fā)射極飽和壓降 VBE(sat) IC=-800mA,IB=-80mA -1.2 V 基極、發(fā)射極壓降 VBE VCE=-1V,IC=-10mA -1.0 V 直流電流增益 HFE1 VCE=-1V,IC=-100mA 85 300 HFE2 VCE=-1V,IC=-800mA
46、 40 表5.7 十六進制數(shù)字型代碼 字型 共陽極代碼 共陰極代碼 字型 共陽極代碼 共陰極代碼 0 C0H 3FH 9 90H 6FH 1 F9H 06H A 88H 77H 2 A4H 5BH b 83H 7CH 3 B0H 4FH C C6H 39H 4 99H 66H d A1H 5EH 5 92H 6DH E 86H 79H 6 82H 7DH F 8EH 71H 7 F8H 07H 滅 FFH 00H 8 80H 7FH 6 單片機硬件資源
47、的分配 本次設計用到了單片機正常工作的硬件資源,如(連接晶振的引腳XTAL1和XTAL2,復位引腳RESET),對其硬件資源還做了具體的安排。 (1).P0口 作為數(shù)碼管顯示器的段控輸出口,對數(shù)碼管顯示器進行控制。 (2).P1口 P1.0~P1.3接了四個獨立式分別為A鍵、B鍵、C鍵、D鍵,用于對鍵盤的控制,P1.5、P1.6、P1.7則作為ISP程序下載的輸入端。 (3).P2口 該口全部用于數(shù)碼管的位控端。 (4).定時/計數(shù)器 使用定時器0來實現(xiàn)本次電子鐘的運行。 (5).內(nèi)部存儲單元 30H存儲定時/計數(shù)器0的中斷次數(shù)。31H~36H分別作為時、分、秒個位和十位
48、的數(shù)據(jù)存儲單元。79H~7E分別作為LED0、LED1、LED2、LED3、LED4、LED5顯示緩沖單元。 (6).通用寄存器 第0組寄存器:R0、R1、R3、R7,用來存放鍵功能程序的數(shù)據(jù);第1組寄存器:R3,用來存放中斷服務程序的數(shù)據(jù);第2組寄存器:R1、R4,用來存放顯示程序的數(shù)據(jù)。 (7).專用寄存器 定時器控制寄存器TCON,通過設置該寄存器中TR0位的狀態(tài)來控制定時/計數(shù)器0的啟動/停止;中斷允許寄存器IE,通過設置該寄存器EA/ET0位的狀態(tài)來設置定時/計數(shù)器0中斷允許/禁止;定時/計數(shù)器工作方式寄存器TMOD,設置定時/計數(shù)器0的工作方式。 7 程序流程圖
49、 8 電子鐘程序清單 調(diào)整運行后的電子鐘程序清單 ;該程序?qū)崿F(xiàn)電子鐘時、分、秒運行,時、分、秒調(diào)整;十、分、秒同時顯示; ;共A、B、C、D四個按鍵,A鍵實現(xiàn)電子鐘的運行和停止、B鍵調(diào)時、C鍵調(diào)分、D鍵調(diào)秒 ;該電子鐘是單片機AT89S51控制,使用芯片中的定時器0方式1實現(xiàn)定時功能;P0口輸出段控碼、P2口輸出位控碼控制數(shù)碼管顯示 ;該電子鐘共使用兩個4位一體數(shù)碼管(S02841A-B)顯示 ;系統(tǒng)初始化程序****************************************************
50、 ORG 0000H AJMP MAIN ;轉(zhuǎn)到系統(tǒng)初始化程序 ORG 000BH AJMP PITO ;轉(zhuǎn)到定時器0中斷服務程序 ORG 0100H MAIN: MOV SP, #60H ;確立堆棧區(qū) MOV TMOD, #01H ;設定定時器0為工作方式1 MOV TL0,
51、 #0DCH ;裝計數(shù)器初值 MOV TH0, #0BH CLR 21H.0 CLR TR0H ;TR0置“0”,定時關閉 SETB EAH ;EA置“1”,中斷總允許 SETB ET0H ;ET0置“1”,定時器0中斷 允許 MOV 3
52、0H, #10H ;循環(huán)次數(shù) MOV 7EH, #0AH ;P.點顯示初始化 MOV R0, #79H MOV R1, #05H PP: MOV @R0, #0BH INC R0 DJNZ R1, PP MOV R0, #31H ;時、分、秒值存儲單元清零
53、 MOV R1, #06H Q00: MOV @R0, #00H INC R0 DJNZ R1, Q00 ;監(jiān)控程序********************************************************** LOOP: LCALL DIR ;調(diào)顯示子程序 LCALL KEY ;調(diào)鍵掃描子程序 LOOP
54、1: JB 20H.0, KEYA ;A鍵是否按下,是跳轉(zhuǎn)到A鍵功能程序 JB 20H.1, KEYB ;B鍵是否按下,是跳轉(zhuǎn)到B鍵功能程序 JB 20H.2, KEYC ;C鍵是否按下,是跳轉(zhuǎn)到C鍵功能程序 JB 20H.3, KEYD ;D鍵是否按下,是跳轉(zhuǎn)到D鍵功能程序 LCALL DIR LJMP LOOP ;跳轉(zhuǎn)到監(jiān)控程序 ;A鍵功能子程序******
55、********************************************** KEYA: CPL TR0H ;開啟/關閉定時器 SETB 21H.0 AJMP LOOP ;返回 ;B鍵功能子程序**************************************************** KEYB: JB TR0H, KEYBO ;定時器是否運行,是跳轉(zhuǎn)
56、 JNB 21H.0, KEYBOO MOV R0, #36H ;時值存儲單元地址送R0 LCALL DAAD1 ;調(diào)加1子程序 MOV A, R3 ;時值加1后的值送累加器A XRL A, #24H JNZ KEYBO ;時值是否到24時,否返回 LCALL CLR0
57、 ;時值存儲單元清零 KEYBO: MOV 7DH, 35H MOV 7EH, 36H KEYBOO: LJMP LOOP ;返回監(jiān)控程序 ;C鍵功能子程序**************************************************** KEYC: JB 8CH, KEYCO ;定時器是否運行,否跳轉(zhuǎn) JNB 21H.0, KEYCOO
58、 MOV R0, #34H ;分值存儲單元地址送R0 LCALL DAAD1 ;調(diào)加1子程序 MOV A, R3 ;分值加1后的值送累加器A XRL A, #60H JNZ KEYCO ;分值是否到60分,否返回 LCALL CLR0 ;分值存儲單元清零 KEYCO: MOV 7CH, 34
59、H MOV 7BH, 33H KEYCOO: LJMP LOOP ;返回監(jiān)控程序 ;D鍵功能子程序**************************************************** KEYD: JB 8CH, KEYDO ;定時器是否運行,否跳轉(zhuǎn) JNB 21H.0, KEYDOO MOV R0, #32H ;秒值存儲單元地址送R0
60、 LCALL DAAD1 ;調(diào)加1子程序 MOV A, R3 ;秒值加1后的值送R0 XRL A, #60H JNZ KEYDO ;秒值是否到60秒,否返回 LCALL CLR0 ;秒值存儲單元清0 KEYDO: MOV 79H, 31H MOV 7AH, 32H
61、 KEYDOO: LJMP LOOP ;返回監(jiān)控程序 ;中斷服務程序****************************************************** PITO: PUSH PSW ;中斷服務程序,現(xiàn)場保護 PUSH A SETB RS0 ;選第三組通用寄存器 SETB RS1 MOV TL0, #0
62、DCH ;計數(shù)器重新加載 MOV TH0, #0BH MOV A, 30H ;循環(huán)次數(shù)減1 DEC A MOV 30H, A JNZ RETO ;不滿16次,轉(zhuǎn)RET0返回 MOV 30H, #10H ;滿16次開始計時操作 MOV R0,
63、 #32H ;秒顯示單元地址 ACALL DAAD1 ;秒加1 MOV A, R3 ;加1后秒值在R3中 XRL A, #60H ;判是否到60秒 JNZ RETO ;不到轉(zhuǎn)RET0返回 ACALL CLR0 ;到60秒顯示單元清0 MOV R0, #34H ;分顯示單元地址
64、 ACALL DAAD1 ;分加1 MOV A, R3 ;加1后分值在R3中 XRL A, #60H ;判是否到60分 JNZ RETO ;不到轉(zhuǎn)RET0返回 ACALL CLR0 ;到60分顯示單元清0 MOV R0, #36H ;時顯示單元地址
65、ACALL DAAD1 ;時加1 MOV A, R3 ;加1后時值在R3中 XRL A, #24H ;判是否到24時 JNZ RETO ;不到轉(zhuǎn)RET0返回 ACALL CLR0 ;到24時顯示單元清0 RETO: CLR RS0 ;返回第0組通用寄存器 CLR RS1
66、 POP A ;現(xiàn)場恢復 POP PSW MOV 79H, 31H ;時、分、秒值放緩沖區(qū) MOV 7AH, 32H MOV 7BH, 33H MOV 7CH, 34H MOV 7DH, 35H MOV 7EH, 36H RETI ;中斷返回 ;加1子程序******************************************************* DAAD1: MOV A, @R0 ;加1子程序,十位送A DEC R0 SWAP
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。