版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計任務(wù)書設(shè)計題目:設(shè)計題目: 基于單片機(jī)的電子日歷設(shè)計設(shè)計要求:設(shè)計要求:1.七段數(shù)碼管正常顯示陽歷、陰歷日期;2.七段數(shù)碼管顯示的格式為年-月-日;3.利用外部按鍵的操作實現(xiàn)陽歷和陰歷之間的轉(zhuǎn)換;4.利用外部按鍵的操作實現(xiàn)陰歷和陽歷顯示的暫停、運行等功能。設(shè)計進(jìn)度要求:設(shè)計進(jìn)度要求:第一周:確定畢業(yè)設(shè)計題目第二周:查找資料第三周:收集和整理資料第四周:收集和整理資料第五周:完善設(shè)計內(nèi)容、撰寫報告第六周:上交設(shè)計論文電子稿第七周:修改論文第八周:論文答辯指導(dǎo)教師(簽名):指導(dǎo)教師(簽名): i畢業(yè)設(shè)計(論文)任務(wù)書畢業(yè)設(shè)計(論文)任務(wù)書 填表時間: (指導(dǎo)教師填表)學(xué)生姓名專業(yè)班級機(jī)電指導(dǎo)教
2、師課題類型軟件設(shè)計題目基于單片機(jī)的電子日歷設(shè)計主要研究目標(biāo)(或研究內(nèi)容)本課題在透徹了解電子日歷的工作過程及功能的基礎(chǔ)上,設(shè)計出簡單實用的應(yīng)用程序。主要內(nèi)容有:1、開題報告;2、電子日歷硬件設(shè)計;3、電子日歷軟件設(shè)計;4、編寫說明書;5、翻譯與設(shè)計有關(guān)的外文資料通過設(shè)計過程以考察學(xué)生的對于單片機(jī)的設(shè)計能力,并培養(yǎng)學(xué)生用以解決實際工程能力。課題要求、主要任務(wù)及數(shù)量(指圖紙規(guī)格、張數(shù),說明書頁數(shù)、論文字?jǐn)?shù)等)1、通過調(diào)查研究,撰寫開題報告。2、通過分析論證,確定設(shè)計方案,正確繪制電子日歷的硬件連接圖;并且編制其應(yīng)用程序。3、查閱 20 篇以上與題目相關(guān)的文獻(xiàn)。4、按要求的格式獨立撰寫 500080
3、00 字以上的說明書。5、翻譯一篇本專業(yè)外文文獻(xiàn)(500010000 個以上印刷符號) ,并附譯文進(jìn)度計劃57 周,查閱資料,熟悉設(shè)計內(nèi)容,擬訂設(shè)計方案。814 周,進(jìn)行電子日歷硬件設(shè)計,并編寫其應(yīng)用軟件。1516 周,修改完善設(shè)計,翻譯資料,寫說明書,準(zhǔn)備答辯。主要參考文獻(xiàn)1、 單片機(jī)技術(shù)及應(yīng)用2、 單片機(jī)徹底研究實習(xí)篇3、 單片機(jī)徹底研究基礎(chǔ)篇4.單片機(jī)編程手冊 指導(dǎo)教師簽字: 教研室主任簽字: 年 月 日ii摘摘 要要設(shè)計以單片機(jī)at89s51為核心部件的電子日歷,利用74ls245作為驅(qū)動器,74ls138作為譯碼器使用,六個七段數(shù)碼管均采用共陰極的方式,p0口作為段選碼輸出口,p2口
4、作為位選碼輸出口。本次設(shè)計的題目是基于單片機(jī)的電子日歷設(shè)計,可以正常的顯示年、月、日,還可以利用外部按鍵實現(xiàn)陰歷和陽歷之間的轉(zhuǎn)換以及暫停等功能。電子日歷具有性能穩(wěn)定、精確度高、成本低、易于產(chǎn)品化,以及方便、實用等特點。適用于家庭、公司、機(jī)關(guān)等眾多場所。為人們的日常生活、出行安排提供了方便,成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?。本次設(shè)計可分為兩部分:硬件系統(tǒng)、軟件系統(tǒng)。硬件系統(tǒng)包括:at89s51單片機(jī)、74ls245驅(qū)動器、74ls138譯碼器、rc復(fù)位電路、+5v直流電源電路、去抖電路、動態(tài)顯示掃描電路。軟件系統(tǒng)主要有單片機(jī)的編程構(gòu)成。關(guān)鍵詞關(guān)鍵詞:單片機(jī),日歷,位碼,段碼,顯示iiiabst
5、ract single-chip at89s51 design as the core components of the electronic calendar, use as a 74ls245 drives, 74ls138 used as a decoder, six and seventh digits are a total of cathode way, p0 mouth as paragraph code output selection, p2 i, as bit selection code output. the design is based on the topic
6、of single-chip design of the electronic calendar, you can show a normal year, month, day, can also be used to achieve external keys as well as conversion between 陰陽歷 lunar and solar calendarsuspend functions. electronic calendar with stable performance, high accuracy, low cost, ease of production, a
7、s well as convenient, practical and so on. apply to families, companies, agencies and many other places. for peoples daily life, travel arrangements, providing a convenient, daily life has become an indispensable part of. the design can be divided into two parts: hardware systems, software systems.
8、hardware system, including: at89s51 single-chip, 74ls245 drive, 74ls138 decoder, rc reset circuit, +5 v dc power supply circuit, to stir up the circuit, dynamic display scanning circuit. there are single-chip microcomputer software system constitute the programming. key words: single-chip, calendar,
9、 code, code above to showi目 錄摘 要.ii前 言.11 設(shè)計方案.111 設(shè)計思路.112 系統(tǒng)總體框圖.12 硬件設(shè)計.321 單片機(jī) at89s51 的簡介.322 動態(tài)顯示電路的介紹.823 去抖電路的工作原理.1024 復(fù)位電路的方式.1125 中斷系統(tǒng)的介紹.133 軟件設(shè)計.1531 程序清單 .1532 流程圖 .21結(jié) 論.26致 謝.27參考文獻(xiàn).28附 錄.291前 言隨著社會不斷的發(fā)展,科學(xué)技術(shù)不斷的進(jìn)步,單片機(jī)的問世和飛速發(fā)展掀起了計算機(jī)工程應(yīng)用的一場新革命,使計算機(jī)技術(shù)沖破了實驗室和機(jī)房的界限,廣泛地應(yīng)用于工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動測
10、試系統(tǒng)、智能儀表和接口以及各類功能模塊等廣闊的領(lǐng)域。單片機(jī)應(yīng)用系統(tǒng)已經(jīng)成為實現(xiàn)許多控制系統(tǒng)的常規(guī)性工具。我們說,單片機(jī)開辟了計算機(jī)應(yīng)用的一個新時代是并不過分的。單片機(jī)的發(fā)展歷史雖然只有短短20年,但由于計算機(jī)科學(xué)和微電子集成技術(shù)的飛速發(fā)展,單片機(jī)自身也在不斷地向更高層次和更大規(guī)模發(fā)展。世界各大半導(dǎo)體廠商紛至沓來爭先擠入這一市場,激烈的市場競爭也促進(jìn)了單片機(jī)迅速更新?lián)Q代,帶來了它們更為廣泛的應(yīng)用。由于單片機(jī)應(yīng)用系統(tǒng)的高可靠性,硬、軟件的高利用系數(shù),優(yōu)異的性能價格比,使它的應(yīng)用范圍由開始傳統(tǒng)的過程控制,逐步進(jìn)入數(shù)值處理、數(shù)字信號處理以及圖像處理等高技術(shù)領(lǐng)域。我們在本次的設(shè)計中廣泛用到了單片機(jī)的應(yīng)用
11、系統(tǒng),下面我們就逐一的敘述。21 設(shè)計方案1 11 1 設(shè)計思路設(shè)計思路設(shè)計的題目是基于單片機(jī)的電子日歷設(shè)計。根據(jù)設(shè)計要求日歷顯示正常的年、月、日,同時利用外部按鍵實現(xiàn)陰歷和陽歷之間的轉(zhuǎn)換,以及暫停等功能。要想實現(xiàn)上述功能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機(jī)的結(jié)合在一起,方可實現(xiàn)我們設(shè)計任務(wù)中的各項要求。硬件系統(tǒng)主要有單片機(jī) at89s51、74ls245 驅(qū)動器、74ls138 譯碼器、rc 復(fù)位電路、獨立式鍵盤接口去抖電路等。軟件系統(tǒng)主要是單片機(jī)的編程。根據(jù)設(shè)計要求,電子日歷要顯示年、月、日就需要 6 個顯示數(shù)碼管,如(09 年 05 月 01 日即顯示為 09-05-01) ,由于數(shù)碼管的數(shù)
12、量較多,必須采用動態(tài)顯示掃描的方式。例如 09-05-01,首先日分為個位和十位,個位顯示到 09時,應(yīng)向日的十位自動進(jìn)位,即個位清 0,十位置 1,顯示為 10,繼續(xù)累計;當(dāng)顯示為 31 時,日的十位就自動向月的個位進(jìn)位,顯示為 06,當(dāng)月顯示到 09時,月的個位自動向月的十位進(jìn)位,個位清 0,十位置 1,即為 10,當(dāng)月至 12時,月向年的個位進(jìn)位,即顯示 08,同時月、日開始從 01 月 01 日繼續(xù)顯示,即顯示為 10-01-01,依次周而復(fù)始的循環(huán)運行。此外利用外部按鍵實現(xiàn)陰歷和陽歷的轉(zhuǎn)換,當(dāng)按下 k1 按鍵時,當(dāng)前的陽歷顯示暫停,而由軟件系統(tǒng)調(diào)用陰歷的顯示程序,即顯示為陰歷的日期;
13、當(dāng)按下 k2 鍵時,當(dāng)前的顯示暫停,松開按鍵時,當(dāng)前的顯示繼續(xù)運行;當(dāng)按下 k3鍵時,顯示的當(dāng)前日期暫停。利用單片機(jī)將 rc 復(fù)位電路、動態(tài)顯示電路、電源電路、去抖電路等正確的連接在一起,并通過單片機(jī)的編程來實現(xiàn)本次設(shè)計任務(wù)中的要求。1 12 2 系統(tǒng)總體框圖系統(tǒng)總體框圖硬件電路采用的是at89s51芯片來作cpu,顯示部分采用74ls245作為驅(qū)動電路,74ls138作為譯碼器使用,七段共陰極數(shù)碼管作為顯示部分,采用rc復(fù)位電路以及獨立式鍵盤接口電路去抖的方法來完成此次的設(shè)計。在確定系統(tǒng)的形式3后,畫出本系統(tǒng)的總體框圖,如圖1.1所示: 圖 1.1 系統(tǒng)框圖系統(tǒng)總體框圖包括:單片機(jī)、電源電路
14、、復(fù)位電路、顯示電路、去抖電路。單片機(jī)at89s51芯片的主要功能是:存儲程序,對存儲程序進(jìn)行相應(yīng)的處理,并從i/o口輸出;復(fù)位電路:在單片機(jī)上有一個復(fù)位引腳rest,在單片機(jī)外部用電容和電阻控制rest;電源電路:采用+5v的直流電源供電;顯示電路:主要用于顯示日歷的結(jié)果;去抖電路:消除外部按鍵按下時的抖動造成的誤操作。42 硬件設(shè)計硬件電路主要包括:單片機(jī)、去抖電路、顯示電路、復(fù)位電路、電源電路等。單片機(jī)的選擇:選用at89s51芯片, p0.0-p0.7作為段選碼輸出口,p2.1-p2.3作為位選碼輸出口。去抖電路的選擇:采用獨立式鍵盤電路;顯示電路的選擇:采用動態(tài)掃描顯示,共陰極七段數(shù)
15、碼管;復(fù)位電路的選擇:rc復(fù)位電路;電源電路的選擇:+5v直流電源。2 21 1 單片機(jī)單片機(jī) at89s51at89s51 的簡介的簡介2 21 11 1 at89s51at89s51 簡介簡介1.at89s51 是一種低功耗,高性能的片內(nèi)含有 4kb 的快閃可編程/擦處只讀存儲器(fperom-flash programmable and erasable read only memory )的8 位 coms 微控制器,使用高密度、非易失存儲技術(shù)改造,并且與 at80c51 引腳和指令系統(tǒng)完全兼容。芯片上的 fperom 允許在線編程或者采用通用的非易失存儲編程器對存儲器重復(fù)編程。at8
16、9s51 具有多種的 8 位 cpu 與 fperom 結(jié)合在一個芯片上,為很多嵌入式控制應(yīng)用提供了非常靈活而有方便的方案,其性能價格比遠(yuǎn)低于 at87c51。由于片內(nèi)帶 eprom 的 at87c51 價格偏高,而片內(nèi)帶 eprom 的 at89s51 價格低且與at80s51 兼容,這就顯示了 at89s51 的優(yōu)越性。at89c2051 是一種帶 2k 字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除 100 次,該器件采用 atmel 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8 位 cpu 和閃爍存儲
17、器組合在單一芯片上,atmel 的 at89s51是一種高效微控制器,at89c2051 是它的一個精簡版本。at89s51 單片機(jī)可以為很多嵌入式控制系統(tǒng)提供一種靈活性高且價格低廉的方案。2 21 12 2 at89s51at89s51 內(nèi)部資源內(nèi)部資源1.中央處理器(cpu)5cpu 是單片機(jī)內(nèi)部的核心部件,是一個 8 位二進(jìn)制數(shù)的中央處理單元,主要有運算器和控制器構(gòu)成。運算器用來完成算術(shù)運算、邏輯運算、位變量處理和數(shù)據(jù)傳送等功能。它是 89s51 內(nèi)部處理各種信息的主要部件,運算器主要有算術(shù)運算和邏輯運算組成。算術(shù)邏輯單元,89s51 中算術(shù)邏輯單元由加法器和一個布爾處理器組成。主要是實
18、現(xiàn) 8 位數(shù)據(jù)的加、減、乘、除算術(shù)運算和與、或、異或、循環(huán)、求反等邏輯運算;布爾處理器主要用來處理位操作,它是以進(jìn)位標(biāo)志位 c 為累加器的,可執(zhí)行置位、復(fù)位、取反、等于 1 轉(zhuǎn)移、等于 0 轉(zhuǎn)移、等于 1 轉(zhuǎn)移且清 0以及進(jìn)位標(biāo)志位與其他位尋址的位之間進(jìn)行數(shù)據(jù)傳送等位操作,也能使進(jìn)位標(biāo)志位與其他可以尋址的位之間邏輯與、或操作??刂破?控制器是單片機(jī)內(nèi)部各部件按一定時序協(xié)調(diào)工作的控制核心。是分析和執(zhí)行指令的部件,控制器主要有程序計數(shù)器 pc、指令寄存器 ir、指令譯碼器 id、振蕩器和定時控制邏輯電路等構(gòu)成。程序計數(shù)器 pc 是專門用于存放下一條將要執(zhí)行指令的 16 位地址的一個部件,由 8 位
19、計數(shù)器 pch(高 8 位)和 pcl(低 8 位)組成。cpu 就是根據(jù) pc 中的地址到 rom 中去讀取程序指令碼和數(shù)據(jù)。指令寄存器 ir 是用于存放 cpu 根據(jù) pc 地址從 rom 中讀出的指令操作碼并送給 id。指令譯碼器 id 是用于分析指令操作的部件,指令操作碼經(jīng)譯碼后送至定時控制電路,產(chǎn)生一定序列的脈沖信號,來執(zhí)行指令規(guī)定的操作。振蕩器及定時控制邏輯電路,在它們外接石英晶體和微調(diào)電容(230pf) ,即可以產(chǎn)生 1.2-12mhz 的脈沖信號,作為 89s51 工作的基本節(jié)拍。2存儲器89s51 單片機(jī)內(nèi)部有 128b 的 ram 數(shù)據(jù)存儲器和 4kb 的掩膜式 rom,當(dāng)
20、不夠使用時,可以分別擴(kuò)展為 64kb 外部 ram 存儲器和 64kb 外部程序存儲器。程序存儲器是可讀不可寫的,用于存放編好的程序和表格常數(shù)。數(shù)據(jù)存儲器是既可以讀也可以寫的,用于存放運算的中間結(jié)果,進(jìn)行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。3定時/計數(shù)器689s51 內(nèi)部有 2 個 16 位可編程定時器/計數(shù)器,簡稱為定時器 0(t0)和定時器 1(t1) ,t0 和 t1 分別有兩個 8 位寄存器構(gòu)成,其中 t0 由 th0(高 8 位)和tl0(低 8 位)構(gòu)成。t1 由 th1(高 8 位)和 tl1(低 8 位)構(gòu)成。4中斷控制系統(tǒng) 單片機(jī)的中斷是指 cpu 暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源服務(wù),在
21、執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指能夠處理中斷過程部分的電路。89s51 單片機(jī)設(shè)有 5 個中斷源(外中斷 2 個,定時/計數(shù)中斷 2 個,串行中斷 1 個) ,2 個優(yōu)先級,可以實現(xiàn)兩級中斷嵌套。5內(nèi)部總線總線是用于傳送信息的公共通道。總線可以分為數(shù)據(jù)總線、地址總線、控制總線。單片機(jī)內(nèi)的 cpu、存儲器、i/o 接口等單元部件都是通過總線連接到一起的,采用總線結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,增強(qiáng)系統(tǒng)靈活性。2 21 13 3 at89s51at89s51 性能及特點性能及特點(1)與 mcs-51 微控制器產(chǎn)品兼容(2)片內(nèi)有 4kb 可以在線重復(fù)編程的快閃
22、擦寫存儲器(flash memory)(3)存儲器可以循環(huán)寫入/擦除 100 次(4)存儲器數(shù)據(jù)可以保存時間為 10 年(5)較寬的工作電壓范圍:vcc 可以為 2.7-6v(6)全靜態(tài)工作 (7) 程序存儲器具有 3 級加密保護(hù)(8)128*8 位內(nèi)部 ram(9)32 條可編程 i/o 接口(10)2 個 16 位定時/計數(shù)器(11)終端結(jié)構(gòu)具有 5 個中斷源和 2 個優(yōu)先級(12)可編程全雙工串行通道(13)空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容由于 eprom 具有在線改寫,并且在掉電狀態(tài)下保存數(shù)據(jù)的特點,可以為用戶的特殊應(yīng)用提供方便。但是擦除和寫入對于要求數(shù)據(jù)高速吞吐的應(yīng)用還顯的時
23、間過長,這就是 eprom 芯片的主要缺陷。7at89s51 的內(nèi)部硬件結(jié)構(gòu)中除了程序存儲器由 fperom 取代了 87c51 的eprom 外,其余部分完全相同。at89s51 的引腳和 at8051 的引腳完全兼容。at89s51 的引腳圖如下圖 2.1 所示:圖 2.1 at89s51 芯片引腳圖pin40: 電源腳,工作電壓為+5vpin20:接地端p0 口:p0 口為一個 8 位漏極開路的雙向 i/o 口,每腳可以吸收 8ttl 門電流。當(dāng) p0 口的管腳第一次寫“1”時,被定義為高阻輸入,p0 口能夠用于外部數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位,在 flash 編程時,p
24、0 口作為原碼輸入口,當(dāng) flash 進(jìn)行校驗時,p0 口輸出原碼,此時,p0 外部必須被拉高。p1 口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4ttl 門電流,p1 口管腳寫入 1 時,被內(nèi)部上拉為高,可用作輸出,p1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在8flash 編程和校驗時,p1 口作為第八位地址接收。p2 口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可以接收、輸出 4 個 ttl 門電流,當(dāng) p2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。因此作為輸入時,p2 口的管腳被
25、外部拉低,將輸出電流,這就是內(nèi)部上拉的緣故。p2 口當(dāng)用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2 口輸出地址的高八位, 。在給出地址“1”時,它利用內(nèi)部上拉的優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2 口輸出其特殊功能寄存器的內(nèi)容。p2 口在 flash 編程和校驗時接收八位地址信號和控制信號。p3 口:p3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可以接收輸出 4個 ttl 門電流。當(dāng) p3 口寫入“1”時,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平;p3 口將輸出電流,這就是上拉的緣故。p3 口也可以作為 at89s51 的一些
26、特殊功能口,如下所示:p3.0: rxd (串行輸入口)p3.1: txd (串行輸出口)p3.2: (外部中斷 0)p3.3: (外部中斷 1)p3.4:t0 (定時/計數(shù)器 0)p3.5: t1 (定時/計數(shù)器 1)p3.6: (外部數(shù)據(jù)存儲器寫選通線)p3.7: (外部數(shù)據(jù)存儲器讀選通線)p3 口同時為閃爍編程和編程校驗接收一些控制信號ret 復(fù)位輸出:當(dāng)振蕩器復(fù)位時,要保持 ret 腳兩個機(jī)器周期的高電平時間。ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié),在 flash 編程期間,此引腳用于輸入編程脈沖。在平時,ale 端以不變的頻率周期輸出脈沖信
27、號,此頻率為振蕩器頻率的 1/6,因此它用作對外部輸出的脈沖或用于定時目的。然而應(yīng)注意的是,每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個 ale 脈沖,如想禁止 ale 的輸出可在數(shù)據(jù)地址上置 0。此時,ale 只有在執(zhí)行 movx、movc 指令時 ale 才其作用。另外,該引腳被略微拉高,如果處9理器在外部執(zhí)行狀態(tài) ale 禁止,置位無效。xtal1:反向振蕩器的輸入及內(nèi)部時鐘工作電路的輸入xtal2:來自反向振蕩器的輸出振蕩器特性:xtal1 和 xtal2 分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器,石英振蕩器和陶瓷振蕩器均可采用,如果采用外部時鐘源驅(qū)動器件,xtal2 應(yīng)
28、不連接,有余的輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈沖沒有任何嚴(yán)格的要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個 perom 系列和三個鎖定位的電擦除可通過正確的控制信號組合,并保證 ale 管腳處于低電平,在芯片擦除操作中,代碼陣列全被寫“1” ,且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89s51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu 停止工作,但 ram、定時器、計數(shù)器、串口和中斷系統(tǒng)仍工作;在掉電模式下,保存 ram 的內(nèi)容并且凍結(jié)振蕩器,禁止所用芯片的其他功能,直到
29、下一個硬件復(fù)位為止。為了滿足一些應(yīng)用系統(tǒng)的特殊要求,如在一些工業(yè)控制中系統(tǒng)中,有時要進(jìn)行一些系統(tǒng)的擴(kuò)展設(shè)計以彌補單片機(jī)內(nèi)部資源的不足。單片機(jī)的擴(kuò)展系統(tǒng)通過并行 i/o 接口作總線,在外部擴(kuò)展程序存儲器、數(shù)據(jù)存儲器或輸入輸出接口以及其他功能的部件以滿足一些控制系統(tǒng)的特殊要求。2 22 2 動態(tài)顯示電路的介紹動態(tài)顯示電路的介紹led 動態(tài)顯示就是利用單片機(jī)依次輸出每一位數(shù)碼管的段選碼和對應(yīng)于該位數(shù)碼管的位選控制信號,一位一位輪流點亮各七段數(shù)碼管。對于數(shù)碼管來說,每隔一段時間點亮一次,如此循環(huán),利用人眼的“視覺暫留”效應(yīng),只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。在動態(tài)顯示方式中,同一時刻,
30、只有一位 led 數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送出一次后,應(yīng)保持 1ms 左右,這個時間應(yīng)根據(jù)實際情況而定,不能太小,因為發(fā)光10二極管從導(dǎo)通到發(fā)光有一定的延時,導(dǎo)通時間太小,發(fā)光太弱,人眼無法看清,但是也不能太大,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用cpu 時間也就越多。1. 采用動態(tài)顯示方式比較節(jié)省 i/o 接口,硬件電路也比靜態(tài)顯示方式簡單,在此次的設(shè)計中我們利用 89s51 作為 i/o 接口,六個七段數(shù)碼管均采用共陰極的方式顯示,p0 口作為段選碼輸出口使用,p2 口作為位選碼輸出口使用,它們的顯示緩沖區(qū)分別為:mov 30h,#01h mov 4
31、0h,#05hmov 31h,#00h mov 41h,#01hmov 32h,#05h mov 42h,#03hmov 33h,#00h mov 43h,#00hmov 34h,#07h mov 44h,#07hmov 35h,#00h mov 45h,#00h2顯示部分我們利用動態(tài)顯示電路,而其顯示電路中的驅(qū)動部分我們則采用一片 74ls245 芯片作為驅(qū)動部分,來完成電路的動態(tài)顯示。374ls245 是一種三態(tài)輸出的 8 總線收發(fā)驅(qū)動器,無鎖存功能。它的端和 dip 端是控制端,當(dāng)它的端為低電平時,如果 dip 為高電平,則 74ls245將 a 端數(shù)據(jù)傳送至 b 端;如果 dip 為低
32、電平,則 74ls245 將 b 端數(shù)據(jù)傳送至 a端。在其他情況下不傳送數(shù)據(jù),并輸出高阻態(tài),它的引腳圖如下圖 2.2 所示,其功能表如表 2.1 所示。 474ls138 是一種 3-8 譯碼器,其中 g1、g2a、g2b 腳為使能端,只有11g1 為高電平時,g2a、g2b 為低電平時,譯碼器才可以使用。a、b、c 為譯碼器的信號輸入端,y0-y7 為譯碼器的輸出端,低電平有效。74ls138 譯碼器如圖 2.3 所示:圖 2.3 74ls138 譯碼器2 23 3 去抖電路的工作原理去抖電路的工作原理1. 目前,mcs-51 單片機(jī)應(yīng)用系統(tǒng)上常采用鍵盤作為輸入設(shè)備,通過鍵盤的操作將數(shù)據(jù)、內(nèi)
33、存地址、命令及指令等輸入系統(tǒng)中,來實現(xiàn)簡單的人機(jī)通信。mcs-51 單片機(jī)在應(yīng)用系統(tǒng)上的按鍵常用機(jī)械觸點式按鍵,它在閉合及斷開的瞬間均有抖動的過程,時間長短與開關(guān)的機(jī)械特性有關(guān)。一般為 510ms,由于抖動會造成被查詢的開關(guān)狀態(tài)無法正確讀出,造成誤操作。為了保證 cpu 對按鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必須消除產(chǎn)生的(前沿)后沿的抖動影響,在本次設(shè)計中我們采用獨立式鍵盤接口電路的方式來消除按鍵抖動的現(xiàn)象。2. 獨立式鍵盤的接口電路獨立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵直接接在一根 i/o 接口線上,這種連接方式的鍵盤
34、稱為獨立式鍵盤。每個獨立按鍵單獨占有一根 i/o 接口線,每根i/o 接口線的工作狀態(tài)不會影響到其他 i/o 接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個按鍵必須占用一根 i/o 線,i/o 接口線浪費較大。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,i/o接口線有確定的高電平。當(dāng) i/o 接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。如圖 2.4 所示: 12圖 2.4 獨立式鍵盤接口電路2 24 4 復(fù)位電路的方式復(fù)位電路的方式1單片機(jī)在開機(jī)時或者在工作中因干擾而使程序失控,或工作中程序處于某死循環(huán)狀態(tài),在這些情況下都需要復(fù)位,復(fù)位的作用是使中央處理器 cp
35、u 以及其他功能部件都需要恢復(fù)到一個確定的初始狀態(tài),并從這個狀態(tài)重新開始工作。289s51 單片機(jī)的復(fù)位靠外部的電路實現(xiàn),信號由 rest 引腳輸入,高電平有效,在振蕩器工作時,主要保持 rest 引腳高電平兩個機(jī)器周期,單片機(jī)即復(fù)位,復(fù)位后,pc 程序計數(shù)器的內(nèi)容為 0000h。3智能系統(tǒng)一般應(yīng)有手動或上電復(fù)位電路。復(fù)位電路可以采用簡單的電阻,電容及按鍵開關(guān)構(gòu)成上電自動復(fù)位電路入圖 2.5 所示,而手動復(fù)位電路如圖2.6 所示,也可以選擇專用的復(fù)位芯片。復(fù)位電路的實現(xiàn)通常有兩種方式:即專用 p 監(jiān)控電路和 rc 復(fù)位電路。前者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位;后者電路實現(xiàn)簡單,
36、成本低,但復(fù)位可靠性相對較低。對于復(fù)位要求高、并對電源電壓進(jìn)行監(jiān)視的場合,大多采用前者復(fù)位電路。13圖 2.5 上電自動復(fù)位電路圖 2.6 手動復(fù)位電路(1)專用監(jiān)控 p 電路專用 p 監(jiān)控電路又稱為電源監(jiān)視電路,具有上電時可以產(chǎn)生復(fù)位信號和電源電壓跌落到“門檻值”時可以產(chǎn)生復(fù)位信號等功能。按有效電平分,有高電平輸出、低電平輸出兩種;按功能分,有簡單的電源監(jiān)視復(fù)位電路、帶“看門狗”定時器(watch dog timer,wdt)的監(jiān)控電路和 wdt + e2prom 的監(jiān)控電路等多種類型。比較常見的生產(chǎn)廠家有 maxim、philips、imp 及 dalls 等,51系列微處理器中常用的型號
37、有 max8l3l、max8o9、x25043/5 等。(2)rc 復(fù)位電路14本次設(shè)計采用的是 rc 復(fù)位方式。rc 復(fù)位電路的實質(zhì)是一階充放電電路,結(jié)合圖 2.7 說明這種復(fù)位電路的特點。系統(tǒng)上電時該電路提供有效的復(fù)位信號rst(高電平)直至系統(tǒng)電源穩(wěn)定后撤銷復(fù)位信號(低電平) 。從理論上說,51系列單片機(jī)復(fù)位引腳只要外加兩個機(jī)器周期的有效信號即可復(fù)位,即只要保證t=rc 2m(機(jī)器周期)便可。但在實際設(shè)計中,通常 c1 取值為 10f 以上, rl 通常取值 10k 左右。實踐發(fā)現(xiàn),rl 如果取值太小,例如 lk,則會導(dǎo)致 rst信號驅(qū)動能力變差而無法使系統(tǒng)可靠復(fù)位。圖 2.7 rc 復(fù)
38、位電路2 25 5 中斷系統(tǒng)的介紹中斷系統(tǒng)的介紹中斷技術(shù)是計算機(jī)中在實時處理和實時控制中不可缺少的一個很重要的技術(shù)。它既和硬件有關(guān),也和軟件有關(guān)。而且中斷是現(xiàn)代計算機(jī)必須具備的重要功能,也是計算機(jī)發(fā)展史上的一個里程碑。1.中斷的概念當(dāng)計算機(jī)執(zhí)行正常程序時,系統(tǒng)中出現(xiàn)了某種急需處理的異常情況和特殊請求,這時 cpu 暫時終止當(dāng)時正在執(zhí)行的程序,轉(zhuǎn)而去對隨機(jī)發(fā)生的緊迫事件進(jìn)行處理(執(zhí)行中斷服務(wù)程序) ,待該事件處理完畢,cpu 自動的返回到原來被中斷的程序繼續(xù)執(zhí)行,這個過程稱為“中斷” 。2.中斷的作用(1)實現(xiàn)同步工作:計算機(jī)有了中斷功能后,就解決了快速 cpu 與低速外設(shè)之間的矛盾,可以使 c
39、pu 和外設(shè)同時工作。cpu 啟動外設(shè)后,繼續(xù)執(zhí)行15主程序,同時外設(shè)也在工作。當(dāng)外設(shè)把數(shù)據(jù)準(zhǔn)備好后,就發(fā)出中斷請求,請求cpu 中斷正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行中斷服務(wù)程序(i/o 處理) ,中斷服務(wù)程序執(zhí)行完后,cpu 恢復(fù)執(zhí)行主程序,外設(shè)也繼續(xù)工作。這樣,cpu 可以指揮多個外設(shè)同時工作,從而大大提高了 cpu 的效率。(2)實現(xiàn)實時處理:在實時控制系統(tǒng)中,為使控制系統(tǒng)能保持在最佳的工作狀態(tài),被控系統(tǒng)的各種控制參量可隨時向計算機(jī)發(fā)出中斷請求,要求 cpu 處理。對此,cpu 必須作出快速響應(yīng)和及時處理,這種實時控制功能只有靠中斷技術(shù)才能實現(xiàn)。(3)實現(xiàn)故障處理:若計算機(jī)在運行過程中出現(xiàn)了事先
40、預(yù)料不到的情況或故障時,如電源掉電、存儲出錯、傳輸錯誤等,可以利用中斷系統(tǒng)自行處理,而不必停機(jī)。3.中斷系統(tǒng)的功能(1)進(jìn)行中斷優(yōu)先權(quán)的排隊(2)實現(xiàn)中斷嵌套(3)自動響應(yīng)中斷并返回4.89s51 的中斷請求源89s51 有 5 個中斷源,它們是 2 個外部中斷、2 個定時器中斷和一個串行接口中斷。它們分別是外部中斷 0、定時/計數(shù)器 0、外部中斷 1、定時/計數(shù)器 1和串行接口中斷。它們的中斷向量表如下表 2.2 所示:中斷向量表 2.2中斷源入口地址外部中斷 00003h定時/計數(shù)器 t0000bh外部中斷 10013h定時/計數(shù)器 t1001bh串行接口中斷0023h163 軟件設(shè)計3
41、31 1 程序清單程序清單org 0000hljmp mainorg 000bh ;定時器 t1 入口地址ljmp ctco1org 001bh ;定時器 t2 入口地址ljmp ctco2org 0030hmain:mov 30h,#01hmov 31h,#00hmov 32h,#05hmov 33h,#00hmov 34h,#07hmov 35h,#00h ;顯示初始化mov 40h,#05hmov 41h,#01hmov 42h,#03hmov 43h,#00hmov 44h,#07hmov 45h,#00h ;顯示初始化mov r3,#10mov r4,#10mov tmod,#11h
42、mov th0,#3chmov tl0,#0b0hmov th1,#3chmov tl1,#0b0h17setb easetb et0setb tr0setb et1setb tr1next:jb p1.0,mmm ;判 p1.0 是否等于 1?lcall display1 ;調(diào)陽歷顯示程序mmm:lacll dealy ;調(diào)用延時程序lcall display2 ;調(diào)陰歷顯示程序jb p1.1,www ;判位 p1.1 是否等于 1?sjmp next ;中斷返回www:clr ea ;暫停jb p1.2,qqq ;判 p1.2 是否等于 1?clr ea ;暫停qqq:setb ea ;開
43、啟定時sjmp nextctco1:push acc ;開啟中斷 1push pswdjnz r3,back1 ;減 1 不為 0 轉(zhuǎn)移mov r3,#10hinc 30hmov a,31hcjne a,#03h,loop9 ;判斷十位是否等于 3?mov a,30hcjne a,#02h,back1 ;判斷個位是否等于 01?mov 30h,#01hmov 31h,#00hsjmp back1loop9:mov a,30h18cjne a,#0ah,back1 ;判斷個位是否等于10?inc 31h ;十位加 1mov a,31hmov 30h,#00h ;個位清 0sjmp back1ba
44、ck1:mov th0,#3chmov tl0,#0b0h ;重裝初值,恢復(fù)現(xiàn)場pop pswpop accreti ;中斷返回ctco2:push acc ;開啟中斷 2push pswdjnz r4,back2mov r4,#10inc 40hmov a,42hcjne a,#04h,loop1 ;判斷百位是否等于4?mov a,41hcjne a,#02h,loop3 ;判斷十位是否等于1?mov a,40hcjne a,#07h,back2 ;判斷個位是否等于6?mov 40h,#05hmov 41h,#01hmov 42h,#03hsjmp back219loop1:mov a,41
45、hcjne a,#03h,loop3 ;判斷十位是否等于3?mov a,40hcjne a,#02h,back2 ;判斷個位是否等于1?inc 42h ;百位置 1mov 41h,#00h ;十位清 0mov 40h,#01h ;個位置 1sjmp back2loop2:mov a,40hcjne a,#0ah,back2 ;判斷個位是否等于10?inc 41h ;十位加 1mov 40h,#00h ;個位清 0sjmp loop1loop3:mov a,40hcjne a,#0ah,back2 ;判斷個位是否等于10?inc 41h ;十位加 1mov 40h,#00h ;個位清 0sjmp
46、 back2back2:mov th1,#3chmov tl1,#0b0h ;重裝初值pop pswpop accreti ;子程序返回display1:mov r0,#30h ;陽歷顯示程序mov r2,#01h20mov dptr ,#tabl1:mov a,r0movc a,a+dptrcjne r2,#04h,k2orl a,#80h ;顯示小數(shù)點k2:cjne r2,#16h,k1 ;不顯示orl a,#80hk1:mov p0,a ;段碼送到 p0 端口mov p2,r2 ;位碼送到 p2 端口lcall dealy ;調(diào)用延時程序inc r0mov a,r2jb acc.5,l2
47、rl a ;左移位碼mov r2,asjmp l1l2:ret ;子程序返回display2:mov r0,#40h ;陰歷顯示程序mov r5,#01hmov dptr,#tabl3:mov a,r0movc a,a+dptrcjne r5,#04h,k9orl a,#80hk9:cjne r5,#16h,k8orl a,#80hk8:mov p0,a ;段碼送到 p0 端口mov p2,r5 ;位碼送到 p2 端口lcall dealy21inc r0mov a,r5jb acc.5,l4rl a ;左移位碼mov r5,asjmp l3l4:rettab:db 3fh,06h,5bh,4
48、fh,66h,6dh ;查表顯示程序db 7dh,07h,7fh,6fh,77h,7chdb 39h,5eh,79h,71h,00hdealy:mov r6,#05hll2:mov r7,#200ll1:djnz r7,ll1djnz r6,ll2ret ;子程序返回end ;結(jié)束22開始顯示初始化定時器賦初值中斷初始化計數(shù)器初始化開啟定時器調(diào)顯示程序3 32 2 流程圖流程圖 初始化查表取段碼段碼送p0口位碼送p2口調(diào)整數(shù)據(jù)指針顯示入口循環(huán)一周?左移位碼子程序返回yn取數(shù)圖 3.1 主程序流程圖 圖 3.2 顯示程序流程圖 23中斷2入口保護(hù)現(xiàn)場1天到了嗎?個位加1百位= 4?十位= 1?中
49、斷返回十位= 3?ynnnyy個位= 6?恢復(fù)初值重裝初值個位= 1?百位置1十位清0個位置1個位=10?個位= 10?個位清0十位加1個位清0十位加1nyyynnnnyy圖 3.3中斷 2 程序流程圖24 調(diào)陰歷調(diào)陽歷暫停延時開啟定時p1.1=1?p1.2=1?p1.0=1?yyynnn圖 3.4中斷 1 程序流程圖 圖 3.5外部按鍵程序流程圖254 系統(tǒng)調(diào)試完成了硬件的設(shè)計、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計思路正常運行,必須進(jìn)行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個部分。不過,作為一個單片機(jī)系統(tǒng),正常運行是硬件系統(tǒng)和軟件系統(tǒng)相結(jié)合的,因此,硬件、軟件系統(tǒng)的調(diào)試是緊密相關(guān),二者
50、是相輔相成的。程序的調(diào)試應(yīng)一個模塊一個模塊地進(jìn)行,單獨調(diào)試各功能子程序,檢驗程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的連接是否正常等;最后逐步將各個子程序連接起來進(jìn)行統(tǒng)一的調(diào)試。統(tǒng)一的調(diào)試需要注意的是,各程序模塊間能否正確傳送數(shù)據(jù),特別要注意各子程序的現(xiàn)場保護(hù)與恢復(fù)。調(diào)試的基本步驟如下:將所要調(diào)試的程序輸入到偉福 6000 中,然后進(jìn)行編譯,根據(jù)系統(tǒng)的提示,將出錯的地方修改正確,之后再編譯,直到準(zhǔn)確無誤后方可以保存。例如:有的是標(biāo)號未定義;有的是少標(biāo)點符號;有的是標(biāo)號重復(fù)定義;有的是多輸入一個空格符等。最后以*.asm 擴(kuò)展名保存。將在偉福中編譯好的程序加入 keil 內(nèi),并且在 keil 內(nèi)進(jìn)行一些必要參數(shù)的設(shè)置,例如 11.0592mhz。設(shè)置完畢應(yīng)將單片機(jī)實驗箱與計算機(jī)通過總線的形式進(jìn)行正確的連接,然后在 keil 中進(jìn)行添加程序,運行程序,根據(jù)試驗箱顯示部分所顯示的結(jié)果分析程序,修改程序中錯誤的地方直到正常運行為止。在調(diào)試過程中出現(xiàn)的問題:(1)七段數(shù)碼管全部顯示的是 888888,經(jīng)分析原因在試驗箱的 p0、p2 口接線有誤,顯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度國際雇員勞動權(quán)益保護(hù)合同
- 2025年度智能城市建設(shè)內(nèi)部股權(quán)轉(zhuǎn)讓協(xié)議范本
- 2025年度商業(yè)空間窗簾設(shè)計、安裝及后期維護(hù)合同4篇
- 2025年美團(tuán)電商平臺用戶隱私保護(hù)與數(shù)據(jù)安全協(xié)議
- 2025版小區(qū)房屋裝修智能家居系統(tǒng)安全評估與認(rèn)證合同2篇
- 2025年度新能源項目用地承包及轉(zhuǎn)讓合同協(xié)議書4篇
- 2025年度門窗行業(yè)環(huán)保檢測與認(rèn)證服務(wù)合同4篇
- 二零二五年度外教合同終止與清算協(xié)議合同
- 二零二五年度土地租賃合同(農(nóng)業(yè)開發(fā))4篇
- 二零二五年度錨具市場推廣合作合同4篇
- 2024年秋季學(xué)期學(xué)校辦公室工作總結(jié)
- 鋪大棚膜合同模板
- 長亭送別完整版本
- 2024年英語高考全國各地完形填空試題及解析
- 智能養(yǎng)老院視頻監(jiān)控技術(shù)方案
- 你比我猜題庫課件
- 無人駕駛航空器安全操作理論復(fù)習(xí)測試附答案
- 建筑工地春節(jié)留守人員安全技術(shù)交底
- 默納克-NICE1000技術(shù)交流-V1.0
- 蝴蝶蘭的簡介
- 老年人心理健康量表(含評分)
評論
0/150
提交評論