基于-單片機(jī)數(shù)字秒表設(shè)計(jì)_第1頁
基于-單片機(jī)數(shù)字秒表設(shè)計(jì)_第2頁
基于-單片機(jī)數(shù)字秒表設(shè)計(jì)_第3頁
基于-單片機(jī)數(shù)字秒表設(shè)計(jì)_第4頁
基于-單片機(jī)數(shù)字秒表設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、-PAGE . z.2021屆學(xué)士學(xué)位論文 基于單片機(jī)的數(shù)字秒表設(shè)計(jì)學(xué)院 、 專業(yè) 物理與電子信息學(xué)院 電子信息工程研 究 方 向單板微型計(jì)算機(jī)學(xué) 生 姓 名 學(xué) 號(hào) 指導(dǎo)教師 指導(dǎo)教師職稱 2021年4月29日-. z基于單片機(jī)的數(shù)字秒表設(shè)計(jì)摘要21世紀(jì),單片機(jī)的開展非常的迅速。單片機(jī)是把主要計(jì)算機(jī)功能部件都集成在一塊芯片上的微型計(jì)算機(jī)。它是一種集計(jì)數(shù)和多種接口于一體的微控制器,被廣泛應(yīng)用在智能產(chǎn)品和工業(yè)自動(dòng)化上,而51單片機(jī)是個(gè)單片機(jī)中最為典型和最有代表性的一種。本設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用STC89C52單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以

2、及獨(dú)立鍵盤來設(shè)計(jì)秒表,將軟、硬件有機(jī)地結(jié)合起來。本設(shè)計(jì)的軟件系統(tǒng)是用C語言編寫的.包括一個(gè)定時(shí)器中斷,4個(gè)獨(dú)立鍵盤及軟件消抖等。最后做成一個(gè)具有翻開、關(guān)閉、復(fù)位、記憶功能的數(shù)字秒表。關(guān)鍵字單片機(jī);數(shù)字電子秒表;仿真,STC89C52Digital stopwatch design based on Single-Chip MicroputerSchool of Physics and Electronic Information Huaibei Normal University 235000AbstractIn the 21st century,the technology of SCM d

3、evelops very quickly. SCM which is a major piece of puter ponents is integrated into the chip micro-puter. It is a multi-interface and counting on the micro-controller integration, and intelligence products are widely used in industrial automation, and MCS-51 microcontroller is a typical and represe

4、ntative.This design of digital electric stopwatch system employs STC89C52 single-chip microputer as the core part. Based on the principle of timing and counting, the stopwatch is designed by integrating display electric circuit, LED digital pipe and independent keyboard, bining both software and har

5、dware. The software system of this design is written in C.The design includes a timer interrupt and four independent keyboards,software away shaking and so on. Finally it makes a digital stopwatch with functions of opening, closing , resting and memory. . KeywordSingle-chip microputer;Digital stopwa

6、tch;Simulation;STC89C52目 錄TOC o 1-2 h z uHYPERLINK l _Toc2921984421 引言 PAGEREF _Toc292198442 h 1HYPERLINK l _Toc2921984431.1 單片機(jī)的背景 PAGEREF _Toc292198443 h 1HYPERLINK l _Toc2921984441.2 單片機(jī)的應(yīng)用 PAGEREF _Toc292198444 h 2HYPERLINK l _Toc2921984452 整體設(shè)計(jì)方案 PAGEREF _Toc292198445 h 4HYPERLINK l _Toc2921984

7、462.1 單片機(jī)的根本構(gòu)造 PAGEREF _Toc292198446 h 4HYPERLINK l _Toc2921984472.2 單片機(jī)的選擇 PAGEREF _Toc292198447 h 9HYPERLINK l _Toc2921984483.秒表的硬件設(shè)計(jì) PAGEREF _Toc292198448 h 12HYPERLINK l _Toc2921984493.1 LED顯示電路 PAGEREF _Toc292198449 h 12HYPERLINK l _Toc2921984503.2 鍵盤控制電路 PAGEREF _Toc292198450 h 15HYPERLINK l _

8、Toc2921984513.3 譯碼器的使用 PAGEREF _Toc292198451 h 16HYPERLINK l _Toc2921984523.4 單片機(jī)晶振和復(fù)位電路 PAGEREF _Toc292198452 h 17HYPERLINK l _Toc2921984534 秒表的軟件設(shè)計(jì) PAGEREF _Toc292198453 h 19HYPERLINK l _Toc2921984544.1 C程序整體設(shè)計(jì)思路 PAGEREF _Toc292198454 h 19HYPERLINK l _Toc2921984554.2 主程序設(shè)計(jì) PAGEREF _Toc292198455 h

9、20HYPERLINK l _Toc2921984564.3 中斷設(shè)計(jì) PAGEREF _Toc292198456 h 21HYPERLINK l _Toc2921984575 軟件調(diào)試和結(jié)果 PAGEREF _Toc292198457 h 26HYPERLINK l _Toc2921984585.1軟件調(diào)試與燒寫 PAGEREF _Toc292198458 h 26HYPERLINK l _Toc2921984595.2 硬件仿真 PAGEREF _Toc292198459 h 27HYPERLINK l _Toc292198460結(jié)論 PAGEREF _Toc292198460 h 30H

10、YPERLINK l _Toc292198461參考文獻(xiàn) PAGEREF _Toc292198461 h 31HYPERLINK l _Toc292198462附錄 PAGEREF _Toc292198462 h 31HYPERLINK l _Toc292198463致 PAGEREF _Toc292198463 h 38-. z1 引言1.1 單片機(jī)的背景單片機(jī)即單片機(jī)微型計(jì)算機(jī)。用專業(yè)語言講,單片機(jī)就是在一塊硅片上集成了微處理器、存儲(chǔ)器及各種輸入輸出借口的芯片,這樣一塊芯片就具有了計(jì)算機(jī)的屬性,因?yàn)楸环Q為單片機(jī)微型計(jì)算機(jī),簡稱單片機(jī)。單片機(jī)的前身叫做單板機(jī),是將CPU芯片、存儲(chǔ)器芯片、I/

11、O接口芯片和簡單的I/O設(shè)備等裝配在一塊印刷電路板上,再配上監(jiān)控程序,就構(gòu)成一塊單板機(jī)。單片機(jī)根本用于教學(xué),后來開展為單片機(jī)??梢哉f,二十世紀(jì)跨越了三個(gè)電的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過,這種電腦,通常是指個(gè)人計(jì)算機(jī),簡稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)亦稱微控制器。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)展簡單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械里。它在整個(gè)裝置中,起著至關(guān)重要的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、

12、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的成效,常在產(chǎn)品名稱前冠以形容詞智能型,如智能型洗衣機(jī)、智能手機(jī)等。現(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的*些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。將8位單片機(jī)的推出作為起點(diǎn),單片機(jī)的開展歷史大致可分為以下幾個(gè)階段:1.第一階段1976-1978:單片機(jī)的控索階段。以Intel公司的MCS48為代表。MCS48的推出是在工控領(lǐng)域的控索,參與這一控索的公司還有Motorola 等,都取得了滿意的效果。這就是SCM的誕生年代,

13、單機(jī)片一詞即由此而來。2.第二階段1978-1982單片機(jī)的完善階段。Intel公司在MCS48根底上推出了完善的、典型的單片機(jī)系列MCS51。它在以下幾個(gè)方面奠定了典型的通用總線型單片機(jī)體系構(gòu)造:1完善的外部總線。MCS-51設(shè)置了經(jīng)典的8位單片機(jī)的總線構(gòu)造,包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有很多機(jī)通信功能的串行通信接口。2)CPU外圍功能單元的集中管理模式。3)表達(dá)工控特性的位地址空間及位操作方式。4指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。3.第三階段1982-1990:8位單片機(jī)的穩(wěn)固開展及16位單片機(jī)的推出階段,也是單片機(jī)向微控制器開展的階段。Intel

14、公司推出的MCS96系列單片機(jī),將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運(yùn)行監(jiān)視器、脈寬調(diào)制器等納入片中,表達(dá)了單片機(jī)的微控制器特征。隨著MCS51系列的廣應(yīng)用,許多電氣廠商競相使用80C51為核,將許多測控系統(tǒng)中使用的電路技術(shù)、接口技術(shù)、多通道A/D轉(zhuǎn)換部件、可靠性技術(shù)等應(yīng)用到單片機(jī)中,增強(qiáng)了外圍電路路功能,強(qiáng)化了智能控制的特征。4.第四階段1990:微控制器的全面開展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面深入地開展和應(yīng)用,出現(xiàn)了高速、大尋址圍、強(qiáng)運(yùn)算能力的8位/16位/32位通用型單片機(jī),以及小型廉價(jià)的專用型單片機(jī)。1.2 單片機(jī)的應(yīng)用目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)

15、的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的平安保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域。1在智能儀器儀表上的應(yīng)用。單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合

16、不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精細(xì)的測量設(shè)備功率計(jì),示波器,各種分析儀。2在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家用電器根本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。4在計(jì)算機(jī)網(wǎng)絡(luò)和通

17、信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)展數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備根本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動(dòng),集群移動(dòng)通信,無線電對(duì)講機(jī)等。此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。2 整體設(shè)計(jì)方案2.1 單片機(jī)的根本構(gòu)造單片機(jī)是一種可通過編程控制的微處理器,單片機(jī)芯片自身不能單獨(dú)運(yùn)用于工程或者產(chǎn)品上,它必須要依靠外圍數(shù)字器件或者模擬器件的協(xié)調(diào)才能發(fā)揮自身的強(qiáng)大功能。單片機(jī)部包含中央處理器CPU、程序

18、存儲(chǔ)器ROM、數(shù)據(jù)存儲(chǔ)器RAM、I/O口、定時(shí)計(jì)數(shù)器、外部中斷、串行通信等部構(gòu)造。 1.中央處理器CPU中央處理器CPU是整個(gè)單片機(jī)的核心部件,是整個(gè)單片機(jī)最重要的部件。由運(yùn)算與控制邏輯組成,還有終端系統(tǒng)與局部外部特殊功能存放器等。是負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)的工作。2.運(yùn)算器運(yùn)算器的功能是進(jìn)展算術(shù)運(yùn)算和邏輯運(yùn)算??梢詫?duì)半字節(jié)4位、單字節(jié)等數(shù)據(jù)進(jìn)展操作。例如能完成加、減、乘、除、加1、減1、BCD碼十進(jìn)制調(diào)整、比擬等算術(shù)運(yùn)算和與、或、異或、求補(bǔ)、循環(huán)等邏輯操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)存放器。89C52運(yùn)算器還包含有一個(gè)布爾處理器,用來處理位操作。它是以進(jìn)位標(biāo)志位C為累加器的,可執(zhí)行置

19、位、復(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)展邏輯與、或操作。3.程序計(jì)數(shù)器PC程序計(jì)數(shù)器PC用來存放即將要執(zhí)行的指令地址,共16位,可對(duì)64K程序存儲(chǔ)器直接尋址。執(zhí)行指令時(shí),PC容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。4.令存放器指令存放器中存放指令代碼。CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令存放器,經(jīng)譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能。本設(shè)計(jì)采用ATMEL的AT89C52微處理器,主要基于以下幾個(gè)因素:1) AT89C52為51核,仿真調(diào)試的

20、軟硬件資源豐富。2) 性價(jià)比高,貨源充足。3) 功耗低,功能強(qiáng),靈活性高。4) DIP40封裝,體積小,便于產(chǎn)品小型化。5) 為EEPROM程序存儲(chǔ)介質(zhì),1000次以上擦寫周期,便于編程調(diào)試。6) 工作電壓圍寬:2.7V6V,便于交直流供電。5.數(shù)據(jù)存儲(chǔ)器RAM 數(shù)據(jù)存儲(chǔ)器用于存放各種運(yùn)算的中間結(jié)果,用作緩存和數(shù)據(jù)暫存,以及設(shè)置特征標(biāo)志等。分為片數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。8052部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用存放器單元,他們是統(tǒng)一編址的。 6.程序存儲(chǔ)器ROM程序存儲(chǔ)器用于存放程序代碼和表格常數(shù)。像我們用的STC89C52單片機(jī),它的ROM大小為8KB。7.I/O口 I/O口

21、為4并行輸入輸出口。對(duì)于輸入,是檢測外部有沒有在控制它。對(duì)于輸入,是在寫程序的時(shí)候控制其管腳的輸出為高電平還是低電平。 8.T/C 對(duì)于89C52單片機(jī),有2個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,用來實(shí)現(xiàn)定時(shí)或者計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。 9.中斷系統(tǒng) 8052要比8051的中斷系統(tǒng)更加完善。有2個(gè)外部中斷,2個(gè)定時(shí)/計(jì)數(shù)器中斷和一耳光串行中斷,可滿足不同的控制要求,并且具有2級(jí)優(yōu)先級(jí)別選擇。 10.UART 一個(gè)全雙工UART通用于異步接收發(fā)送器的串口I/O口。用于實(shí)現(xiàn)單片機(jī)間和單片機(jī)與計(jì)算機(jī)之間的串口通信, 11.時(shí)鐘電路片振蕩器與時(shí)鐘產(chǎn)生電路,8052置最高頻率高達(dá)12MHZ的時(shí)鐘電路,但是

22、石英晶體與微調(diào)電容仍需外接。而且一般最高震蕩頻率取決于單片機(jī)的型號(hào)與性能。總線BUS是計(jì)算機(jī)各部件之間傳送信息的公共通道。微機(jī)中有部總線和外部總線兩類。部總線是CPU部之間的連線。如圖1所示,外部總線是指CPU與其它部件之間的連線。 外部總線有三種: 數(shù)據(jù)總線DBData Bus, 地址總線 ABAddress Bus和控制總線 CBControl Bus。如圖1,為8051部構(gòu)造。對(duì)于8051來說,ROM為4KB;對(duì)于8052來說,ROM為8KB。單片機(jī)總共有40個(gè)引腳,如圖2所示,每個(gè)引腳都有其不同的功能,有的引腳還有第二功能作用。8051時(shí)鐘數(shù)據(jù)總線地址總線控制總線程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器定

23、時(shí)計(jì)數(shù)器并行I/O口串行通信口中斷系統(tǒng)圖1 8051內(nèi)部構(gòu)造 1I/O口引腳-P0口、P1口、P2口、P3口對(duì)于P0口是一雙向8位三態(tài)I/O口,每個(gè)口可以獨(dú)立控制。P0口部沒有上拉電阻,為高阻態(tài),一般選擇10歐姆的上拉電阻。對(duì)于其他的3組引腳,為準(zhǔn)雙向8位I/O口,每個(gè)口可以獨(dú)立控制,帶上拉電阻。因?yàn)閹侠娮?,所以這種借口輸出沒有高阻狀態(tài),輸入也不能鎖存,所以不是真正的雙向I/O口。因?yàn)樵谑褂们?,要先進(jìn)展寫1操作,然后單片機(jī)部才可以正確獨(dú)處外部信號(hào),有一個(gè)準(zhǔn)備的過程,所以稱為準(zhǔn)雙向口。對(duì)于P3口,不僅有輸入輸出功能,還有第二功能。R*D為串口輸入,R*D為串口輸出。INR0為外部中斷0輸入,

24、INT1為外部中斷1輸入。T0為定時(shí)器0外部輸入,T1為定時(shí)器1外部輸入,WR為外部寫控制,RD為外部讀控制。1P0口P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL邏輯門電路,對(duì)端口P0 寫1時(shí),可作為高阻抗輸入端用。在外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址低8 位和數(shù)據(jù)總線復(fù)用,在期間激活部上拉電阻。在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。2P1口P1口是一個(gè)帶部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4 個(gè)T

25、TL 邏輯門電路。對(duì)端口寫1”,通過部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮瑁?個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入P1.0/T2和輸入P1.1/T2E*。3P2口是一個(gè)帶有部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4 個(gè)TTL 邏輯門電路。對(duì)端口P2 寫1”,通過部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮瑁?個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在外部程序存儲(chǔ)器或16 位

26、地址的外部數(shù)據(jù)存儲(chǔ)器例如執(zhí)行MOV* DPTR 指令時(shí),P2 口送出高8 位地址數(shù)據(jù)。在8 位地址的外部數(shù)據(jù)存儲(chǔ)器如執(zhí)行MOV* RI 指令時(shí),P2 口輸出P2 鎖存器的容。Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。4P3口是一組帶有部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4 個(gè)TTL 邏輯門電路。對(duì)P3 口寫入1時(shí),它們被部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流IIL。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào) 2電

27、源和時(shí)鐘、復(fù)位引腳RST為單片機(jī)的復(fù)位引腳。當(dāng)輸入連續(xù)兩個(gè)時(shí)鐘周期以上高電平有效,用來完成單片機(jī)的復(fù)位初始化操作。Vcc、GND為單片機(jī)的電源引腳,一個(gè)接高電平,一個(gè)接低電平。*TAL1和*TAL2為外接時(shí)鐘引腳。一個(gè)是片震蕩電路輸入端,一個(gè)是輸出端。對(duì)于8052時(shí)鐘有2種方式。一個(gè)為兩個(gè)引腳外接石英晶體和震蕩電容,另一個(gè)是1接地,2輸入。P1.0 VCCP1.1 P0.0P1.2 P0.1P1.3 P0.2P1.4 P0.3P1.5 P0.4P1.6 P0.5P1.7 P0.6RST/VPD P0.7P3.0/R*D /VPPP3.1/T*D P3.2/ P3.3/ P2.0P3.4/T0

28、P2.1P3.5/T1 P2.2P3.6/ P2.3P3.7/ P2.4*TAL2 P2.5*TAL1 P2.6 VSS P2.7STC89C5212345678910111213141516171819204030383736353433323130292827262524232221圖2 單片機(jī)的引腳構(gòu)造3全稱是程序存儲(chǔ)器允許輸入控制端。在度外部程序存儲(chǔ)器時(shí)低電平有效,以實(shí)現(xiàn)外部程序存儲(chǔ)器單元的讀操作。當(dāng)部ROM讀取時(shí)候,該引腳不動(dòng)作;外部ROM讀取時(shí),每個(gè)機(jī)器周期會(huì)動(dòng)作2次;外部RAM讀取時(shí),2個(gè)脈沖被跳過不會(huì)輸出;外接ROM時(shí),與ROM的OE腳相接。4ALE/ 在單片機(jī)擴(kuò)展外部RAM時(shí)

29、,ALE用于控制把P0口得輸出低8位地址送鎖存器鎖存起來,以實(shí)現(xiàn)地位地址和數(shù)據(jù)的隔離。ALE為高電平時(shí),允許地址鎖存信號(hào);ALE為低電平時(shí),P0口上的容和鎖存器輸出一致。為編程脈沖的輸入端,單片機(jī)的部有程序存儲(chǔ)器,用來存放用戶需要執(zhí)行的程序,我們可以通過編程脈沖輸入寫入ROM。5/Vpp接高電平時(shí),單片機(jī)讀取部程序存儲(chǔ)器。當(dāng)擴(kuò)展有外部ROM時(shí),當(dāng)讀取完部ROM后自動(dòng)讀取外部ROM。接低電平時(shí),單片機(jī)直接讀取外部EOM。單片機(jī)部本身就各種周期設(shè)置。像機(jī)器周期、指令周期等。如果單片機(jī)的定時(shí)器/計(jì)數(shù)器為定時(shí)功能的時(shí)候,計(jì)數(shù)器記錄的就是單片機(jī)部的機(jī)器周期。1振蕩周期: 也稱時(shí)鐘周期, 是指為單片機(jī)提供

30、時(shí)鐘脈沖信號(hào)的振蕩源的周期,T*實(shí)驗(yàn)板上為11.0592MHZ。 2狀態(tài)周期: 每個(gè)狀態(tài)周期為時(shí)鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。 3機(jī)器周期: 一個(gè)機(jī)器周期包含 6 個(gè)狀態(tài)周期S1S6, 也就是 12 個(gè)時(shí)鐘周期。 在一個(gè)機(jī)器周期, CPU可以完成一個(gè)獨(dú)立的操作。 4指令周期: 它是指CPU完成一條操作所需的全部時(shí)間。 每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成。MCS - 51 系統(tǒng)中, 有單周期指令、雙周期指令和四周期指令。2.2 單片機(jī)的選擇單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具有生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用控制領(lǐng)域,故又稱為微控制器

31、。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,部包含有計(jì)算機(jī)的根本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可稱為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過4代開展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)I/O功能及較好的構(gòu)造兼容性開展方向。其開展趨勢不外乎一下幾個(gè)方面:1.多功能單片機(jī)中盡可能的把所需要的存儲(chǔ)器和I/O口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比方A/D、PWD、PCA(可片成計(jì)數(shù)器陣列)、WDT監(jiān)視定時(shí)器、高速I/O口及計(jì)數(shù)器的捕獲和比擬邏輯等。有的單片機(jī)針對(duì)*一個(gè)應(yīng)用領(lǐng)域、集成了相關(guān)的控制設(shè)備,以減少應(yīng)用

32、系統(tǒng)的芯片數(shù)量。例如,有的芯片以51核為核心,集成了USB控制器,SMART CARD借口、MPS解碼器,CAN或者I*I*C總線控制器、LED、LCD或者VFD顯示驅(qū)動(dòng)器也開場集成在8位單片機(jī)中。2高效率和高性能為了提高執(zhí)行速度和實(shí)行效率,單片機(jī)開場使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高。比方,單片機(jī)的時(shí)鐘頻率得到提高;童謠的平率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片ROMFLASH和RAM的容量都突破了以往的數(shù)量和限制。由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開場使用高級(jí)語言入C語言來開發(fā)單片機(jī)的程序,使用高級(jí)語言可以降低開發(fā)難度,

33、縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改良和擴(kuò)大功能。3低電壓和低功耗單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗特性十分重要。由于CMOS等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作。這些特性使得單片機(jī)系統(tǒng)可以在更小的電源的支持下工作更長的時(shí)間。4低價(jià)格單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是本錢的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品價(jià)格。選取單片機(jī)時(shí),充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)歷,并根據(jù)自己的實(shí)際情況,選擇了 STC89S52。因?yàn)镾TC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片含8k bytes的可反復(fù)擦寫的

34、Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器RAM,器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的STC89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。89系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的電擦寫操作,低廉的價(jià)格、超強(qiáng)的加密功能,完全替代87C51/62和8751/52,低電壓、低電源、低功耗,有DIP、PLCC、QFP封裝,有民用型、工業(yè)級(jí)、汽車級(jí)、軍品級(jí)等多種溫度等級(jí),是當(dāng)今世界上性能最好、價(jià)格最低、最受歡送的八位單片機(jī)。STC89C52為40 腳雙列直插封裝的8 位通用微

35、處理器,采用工業(yè)標(biāo)準(zhǔn)的C51核,在部功能及管腳排布上與通用的8*c52 一樣,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 部存放器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出I/O端口,同時(shí)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)展編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)本錢。3.

36、秒表的硬件設(shè)計(jì)3.1 LED顯示電路單片機(jī)系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示構(gòu)造:段顯示7段、米字型等和點(diǎn)陣顯示58、88點(diǎn)陣等。這里我們采用的是發(fā)光二管LED。發(fā)光二極管簡稱為LED。由鎵Ga與砷AS、磷P的化合物制成的二極管,當(dāng)電子與空穴復(fù)合時(shí)能輻射出可見光,因而可以用來制成發(fā)光二極管。在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。它是半導(dǎo)體二極管的一種,可以

37、把電能轉(zhuǎn)化成光能;常簡寫為LED。發(fā)光二極管與普通二極管一樣是由一個(gè)PN結(jié)組成,也具有單向?qū)щ娦?。?dāng)給發(fā)光二極管加上正向電壓后,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米分別與N區(qū)的電子和P區(qū)的空穴復(fù)合,產(chǎn)生自發(fā)輻射的熒光。不同的半導(dǎo)體材料中電子和空穴所處的能量狀態(tài)不同。當(dāng)電子和空穴復(fù)合時(shí)釋放出的能量多少不同,釋放出的能量越多,則發(fā)出的光的波長越短。常用的是發(fā)紅光、綠光或黃光的二極管。如圖3所示,按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。1共陽數(shù)碼管共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極()的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極接到+5

38、V,當(dāng)*一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)*一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。2共陰數(shù)碼管共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極()的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極接到地線GND上,當(dāng)*一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)*一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。本次設(shè)計(jì)中,采用的是共陰極數(shù)碼管。將共陰極數(shù)碼管一端接地,一端接在單片機(jī)上,通過操縱單片機(jī)的上下電平,去控制數(shù)碼管。abcdefg dpppabcdefgdp圖3 共陰極和共陽極數(shù)碼管+5VLED顯示器工作方式有兩種:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。1靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。

39、靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)展驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)展驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5840根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢,實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)展驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用CPU時(shí)間少,顯示便于監(jiān)測和控制。缺點(diǎn)是硬件電路比擬復(fù)雜,本錢較高。2.數(shù)碼管動(dòng)態(tài)顯示接口是

40、單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到一樣的字形碼,但終究是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)

41、碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低,如表1,為數(shù)碼管顯示的16進(jìn)制代碼。表1 8段數(shù)碼管顯示數(shù)表0*3f00*06 10*5b 20*4f 30*66 40*6d 50*7d 60*07 70*7f 80*6f 90*77A0*7c B0*39 C0*5e D0*79 E0*71 F0*00無顯示動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)

42、光管的余輝和人眼視覺暫留作用,使人的感覺好似各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元多一個(gè)小數(shù)點(diǎn)顯示;按能顯示多少個(gè)8可分為1位、2位、4位等等數(shù)碼管;由于數(shù)碼管是有P0口來驅(qū)動(dòng),它部沒有上拉電阻,作為輸出口時(shí)驅(qū)動(dòng)能力比擬弱,不能點(diǎn)亮數(shù)碼顯示管,因此P0口必須接上拉電阻來提高驅(qū)動(dòng)能力。另外一位共陰數(shù)碼管的驅(qū)動(dòng)電流一般為20mA左右,如果電流太大容易造成數(shù)碼管損壞,所以也需要根據(jù)電源的電壓值來確定上拉電阻的大小。如果電阻過小,勢必會(huì)形成灌電流過大,造成

43、單片機(jī)IO的損壞,如果電阻過大,則對(duì)拉電流沒有太大的影響。電源供電電壓為5V,當(dāng)上拉電阻選用220電阻時(shí)灌電流為22mA。不會(huì)損壞單片機(jī)的I/O口,同時(shí)也可以為數(shù)碼顯示管起到限制電流的保護(hù)作用。3.2 鍵盤控制電路鍵盤是指經(jīng)過系統(tǒng)安排操作一臺(tái)機(jī)器或設(shè)備的一組鍵如打字機(jī)、電腦鍵盤,主要的功能是輸入資料.從編碼的功能上,鍵盤又可以分成編碼鍵盤和非編碼鍵盤兩種。1編碼鍵盤 鍵盤上閉合健的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值計(jì)算機(jī)鍵盤靠軟件編碼來識(shí)別。編碼鍵盤是由硬件完成鍵盤識(shí)別功能的,它通過識(shí)別鍵是否按下以及所按下鍵的位置,由全編碼電路產(chǎn)生一個(gè)唯一對(duì)應(yīng)的編碼信息(如ASCII碼)。非編碼

44、鍵盤是由軟件完成鍵盤識(shí)別功能的,它利用簡單的硬件和一套專用鍵盤編碼程序來識(shí)別按鍵的位置,然后由CPU將位置碼通過查表程序轉(zhuǎn)換成相應(yīng)的編碼信息。2非編碼鍵盤靠軟件編碼來識(shí)別的鍵盤。非編碼鍵盤的速度較低,但構(gòu)造簡單,并且通過軟件能為*些鍵的重定義提供很大的方便。單片機(jī)一般都是編碼鍵盤。而對(duì)于單片機(jī)的非編碼鍵盤,又分為獨(dú)立鍵盤和行列式鍵盤。行列式鍵盤又可稱為矩陣鍵盤。1獨(dú)立鍵盤因?yàn)閷?duì)于P3口來說,是準(zhǔn)雙向I/O口。因此不能直接識(shí)別輸入,但是可以直接進(jìn)展輸出。要對(duì)其進(jìn)展賦值為1.讓P3口全部為高電平。對(duì)于P3口來說,全部為位與的關(guān)系:當(dāng)P3口和其連接的借口都為高電平時(shí),結(jié)果是高電平;如果一個(gè)為高電平一

45、個(gè)為低電平,則結(jié)果為電平;如果兩個(gè)都是低電平,則結(jié)果為低電平。有上圖電路圖可以看到,4個(gè)獨(dú)立鍵盤一段連接的是P3,.1、P3.2、P3.3、P3.4,另外一端口全部接地。當(dāng)按鍵按下后,因?yàn)槠鋬啥艘欢藶殡娖剑欢藶楦唠娖?,則結(jié)果為電平,所以此時(shí)結(jié)果為低電平。由此P3口的變化判斷按鍵有沒有被按下。2)矩陣鍵盤矩陣鍵盤分為很多種,我們這里用的是4*4的矩陣鍵盤。很明顯,共有16個(gè)按鍵,如果每個(gè)都當(dāng)做是獨(dú)立鍵盤使用的話,當(dāng)應(yīng)該有16個(gè)借口與此相連接,對(duì)于總共就40的借口的AT89C52單片機(jī)來說,實(shí)在是浪費(fèi)資源。如果按鍵更多的話,則更加不好使用。所以出現(xiàn)了矩陣鍵盤。矩陣鍵盤,只用8個(gè)I/O接口,也就是

46、P3口就控制了全部的16個(gè)鍵盤,十分的節(jié)省資源。對(duì)于這16個(gè)按鍵,我們可以把他們分成4行、4列。其中的4行分別接P3.0、P3.1、P3.2、P3、3。而他們的4列則接在P3.4、P3.5、P3.6、P3.7上。這樣可以通過行與列的上下電平來判斷哪個(gè)鍵盤被按下了。舉個(gè)例子,我們現(xiàn)在按下了第一個(gè)鍵盤,但是計(jì)算機(jī)并不知道是哪個(gè)按鍵按下,這樣計(jì)算機(jī)當(dāng)然無法進(jìn)展相應(yīng)的操作。此刻,可以在程序中,對(duì)P3口分別賦值,進(jìn)展4次判斷,先判斷到底是哪行被按下,這樣就可以把圍縮小到*一行。然后在改行的判斷語句中,再進(jìn)展4次比擬,找出是哪一列的鍵盤發(fā)生變化,這樣就可以輕松的找到到底按下的是哪一個(gè)按鍵了。不過在程序中需

47、要進(jìn)展屢次判斷,也就是說,每一次按下按鍵后,計(jì)算機(jī)必須對(duì)所有的程序掃描一遍才可以。3.3 譯碼器的使用譯碼器是組合邏輯電路的一個(gè)重要的器件,其可以分為:變量譯碼和顯示譯碼兩類。 變量譯碼一般是一種較少輸入變?yōu)檩^多輸出的器件,一般分為2n譯碼和8421BCD碼譯碼兩類。顯示譯碼主要解決二進(jìn)制數(shù)顯示成對(duì)應(yīng)的十、或十六進(jìn)制數(shù)的轉(zhuǎn)換功能,一般其可分為驅(qū)動(dòng)LED和驅(qū)動(dòng)LCD兩類。譯碼是編碼的逆過程,在編碼時(shí),每一種二進(jìn)制代碼,都賦予了特定的含義,即都表示了一個(gè)確定的信號(hào)或者對(duì)象。把代碼狀態(tài)的特定含義翻譯出來的過程叫做譯碼,實(shí)現(xiàn)譯碼操作的電路稱為譯碼器?;蛘哒f,譯碼器是可以將輸入二進(jìn)制代碼的狀態(tài)翻譯成輸出

48、信號(hào),以表示其原來含義的電路.根據(jù)需要,輸出信號(hào)可以是脈沖,也可以是高電平或者低電平。譯碼器的種類很多,但它們的工作原理和分析設(shè)計(jì)方法小異,其中二進(jìn)制譯碼器、二-十進(jìn)制譯碼器和顯示譯碼器是三種最典型,使用十分廣泛的譯碼電路。譯碼器是典型的組合數(shù)字電路,譯碼器是將一種編碼轉(zhuǎn)換為另一種編 譯碼器碼的邏輯電路,學(xué)習(xí)譯碼器必須與各種編碼打交道。從廣義的角度看,譯碼器有四類:二進(jìn)制碼譯碼器,也稱最小項(xiàng)譯碼器,N中取一譯碼器,最小項(xiàng)譯碼器一般是將二進(jìn)制碼譯為十進(jìn)制碼;代碼轉(zhuǎn)換譯碼器,是從一種編碼轉(zhuǎn)換為另一種編碼;顯示譯碼器,一般是將一種編碼譯成十進(jìn)制碼或特定的編碼,并通過顯示器件將譯碼器的狀態(tài)顯示出來。編

49、碼器,一般是將十進(jìn)制碼轉(zhuǎn)換為相應(yīng)的其它編碼,其實(shí)質(zhì)與代碼轉(zhuǎn)換譯碼器一樣,編碼是譯碼的反過程。對(duì)于數(shù)碼管的為選,我采用譯碼器與其連接。用Y0到Y(jié)7分別連接在8個(gè)數(shù)碼管的為選,然后A0、A1、A2分別連接在P2.0、P2.1、P2.2口。這樣可以對(duì)P2口賦值,實(shí)現(xiàn)控制數(shù)碼管的過程,如表2,為譯碼器編譯的二進(jìn)制代碼。表2 譯碼器編譯表 輸 入輸 出A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 1 0 00 0 0 0 1

50、0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 00 1 0 0 0 0 0 01 0 0 0 0 0 0 03.4 單片機(jī)晶振和復(fù)位電路對(duì)于單片機(jī)來說,想讓單片機(jī)運(yùn)行必須要有:電源、晶振和復(fù)位電路。如果沒有這幾個(gè)必備條件,單片機(jī)無常運(yùn)行。晶振單片機(jī)系統(tǒng)里都有晶振。全稱叫做晶體振蕩器,如圖4所示,他結(jié)合單片機(jī)部電路產(chǎn)生所需的時(shí)鐘頻率,單片機(jī)晶振提供的時(shí)鐘頻率越高,哪兒單片機(jī)運(yùn)行的速度就越快,單片機(jī)接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。*1*2 024M30PC130PC2圖4 晶振電路單片機(jī)晶振的作用是為系統(tǒng)提供根本的時(shí)鐘信號(hào),晶振通常和鎖相環(huán)電路配合作用,

51、以提供系統(tǒng)所需的時(shí)鐘頻率。對(duì)于89S52來說,片設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,*TAL1和 *TAL2分別為振蕩電路的輸入和輸出端,89S52單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:部振蕩方式與外部振蕩方式。電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為533pF。但在時(shí)鐘電路的實(shí)際應(yīng)用中一定要注意正確選擇其大小,并保證電路的對(duì)稱性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話,溫度系數(shù)盡可能低。本設(shè)計(jì)中采用大小為30pF的電容和12MHz的晶振。復(fù)位電路關(guān)于單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個(gè)確定的狀態(tài),一般來說,單片機(jī)復(fù)位電路作用是把一個(gè)例如狀態(tài)機(jī)初始

52、化到空狀態(tài),而在單片機(jī)部,復(fù)位的時(shí)候單片機(jī)是把一些存放器以及存儲(chǔ)設(shè)備裝入廠商預(yù)設(shè)的一個(gè)值,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)展復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn),如圖5所示。VCCC3 22uF接RSETR4 200R4R51K圖5 復(fù)位電路當(dāng)AT89C52單片機(jī)的復(fù)位引腳RST出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。而本系統(tǒng)選用的是12MHz的晶振,因此一個(gè)機(jī)器周期為1s,則復(fù)位脈沖寬度最小應(yīng)為2s。4 秒表的軟件設(shè)計(jì)4.1 C程序整體設(shè)計(jì)思路一個(gè)程序應(yīng)

53、該包括兩方面的容。一個(gè)是對(duì)數(shù)據(jù)的描述,一個(gè)是對(duì)操作的描述。對(duì)數(shù)據(jù)的描述是指在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)構(gòu)造;對(duì)操作的描述即操作步驟,也就是算法。數(shù)據(jù)是操作的對(duì)象,操作的目的是對(duì)數(shù)據(jù)進(jìn)展加工處理,已得到期望的結(jié)果。一個(gè)程序除了以上兩個(gè)主要要素之外,還應(yīng)當(dāng)采用構(gòu)造化程序設(shè)計(jì)方法進(jìn)展程序設(shè)計(jì),并且*一種計(jì)算機(jī)語言表示,在設(shè)計(jì)一個(gè)程序的時(shí)候要綜合運(yùn)用這幾方面的知識(shí)。對(duì)于一個(gè)算法應(yīng)該包括以下特點(diǎn):1.有窮性一個(gè)算法應(yīng)包含有限的操作步驟,而不能是無限的。當(dāng)然,比方一個(gè)程序讓計(jì)算機(jī)計(jì)算1000年也是不合理的,不能當(dāng)做是有效地算法。終究什么是有限合理的,并沒有嚴(yán)格標(biāo)準(zhǔn),由人們的常識(shí)和需要而

54、定。2確定性算法中的每一個(gè)步驟都應(yīng)當(dāng)是確定的,而不應(yīng)該是模糊、模棱兩可的。不能出現(xiàn)有歧義的語句。3有零個(gè)或多個(gè)輸入所謂輸入是指在執(zhí)行算法的時(shí)候需要從外界取得必要的信息。一個(gè)算法也可以沒有輸入。4有一個(gè)或多個(gè)輸出算法的目的是為了求解,求解就是解出。但算法的輸出不一定就是計(jì)算機(jī)的打印輸出,一個(gè)算法得到的構(gòu)造就是算法的輸出。沒有輸出的算法是沒有意義的。5有效性算法的每一個(gè)步驟都應(yīng)當(dāng)能夠有效地執(zhí)行,并且得到確定結(jié)果的。簡單介紹下計(jì)算機(jī)語言。計(jì)算機(jī)的開展規(guī)律是離硬件越來越遠(yuǎn),離人類的自然語言越來越近。計(jì)算機(jī)語言的開展是:機(jī)器語言,匯編語言,高級(jí)語言,第四代語言,和自然語言。對(duì)于機(jī)器語言,只能識(shí)別二進(jìn)制。

55、而二進(jìn)制就是0和1,0和1代表的是開關(guān)。比方1代表關(guān)閉,0代表翻開。則每一臺(tái)進(jìn)算計(jì)的開關(guān)都不一樣,也就是硬件都不一樣,所以機(jī)器語言沒有移植性。對(duì)于匯編語言,就是把機(jī)器語言用助記符來代替。比方,機(jī)器語言,如果是個(gè)8位的,11001010,都很難記。更別說16位的了。則用助記符來代替他們,會(huì)容易些。比方用add,表示加,則不用記則長的數(shù)了。其他的兩者并沒有什么太大的區(qū)別。也沒有移植性。對(duì)于高級(jí)語言,比方說C語言,他具有很強(qiáng)的可移植性。因?yàn)樗袑iT的編譯器。可以把C語言編譯成機(jī)器語言。所以對(duì)于高級(jí)語言,只有在編譯的時(shí)候才去操作硬件。第四代語言,就是面向問題的語言了。就是指需要告訴電腦需要怎么做,不需

56、要告訴電腦應(yīng)該怎么做,離硬件更遠(yuǎn)了。第五代語言,就是自然語言。自然語言顧名思義,就是我們?nèi)祟愓f得語言。這也是最高級(jí)的語言。我們?cè)谶@個(gè)設(shè)計(jì)中,采用的就是C語言。4.2 主程序設(shè)計(jì)在本軟件設(shè)計(jì)中,用到了4個(gè)數(shù)碼管,3個(gè)獨(dú)立鍵盤,一個(gè)定時(shí)器中斷,還有一些復(fù)位電路等等。對(duì)于本程序設(shè)計(jì)的結(jié)果;首先,當(dāng)硬件上電后在數(shù)碼管上顯示了4個(gè)零,最右邊的兩位數(shù)為秒位,最前面2位每一次循環(huán)是60次,沒循環(huán)一次的時(shí)間是一秒鐘。程序定義的3個(gè)獨(dú)立鍵盤,第一個(gè)是啟動(dòng)秒表,按下去后,經(jīng)過軟件判斷,秒表開場啟動(dòng)。第二個(gè)按鍵是停頓按鍵,按下后,秒表停頓,此刻顯示的時(shí)間就是停頓的時(shí)候的時(shí)間。最后一個(gè)按鍵是復(fù)位按鍵,按下后,時(shí)間歸零

57、,再按下第一個(gè)按鍵可以從新開場計(jì)時(shí)。以上是程序的大概要求。則對(duì)于程序設(shè)計(jì)思路是:首先,開場,運(yùn)行程序,接著進(jìn)入主函數(shù)。第一步就是對(duì)程序的初始化了,對(duì)剛開場的數(shù)碼管顯示以及定時(shí)器的翻開,定時(shí)器的高八位和第八位的復(fù)制,定時(shí)器的啟動(dòng)等進(jìn)展初始化。完成了這個(gè)工作后,進(jìn)入一個(gè)大循環(huán),在該循環(huán)里,就是本程序的主要局部了。因?yàn)槲沂峭瑫r(shí)亮4個(gè)數(shù)碼管,必然采用的是動(dòng)態(tài)顯示;因?yàn)橛幸粋€(gè)定時(shí)器中斷,則必然有一個(gè)中斷程序,由于采用的是T0定時(shí)器,所以優(yōu)先級(jí)別是1.在主程序中,主要局部就是對(duì)按鍵的判別,因?yàn)橛?個(gè)按鍵,所以要判別3次。對(duì)第一個(gè)按鍵,首先判定按鍵有沒有按下,如果按下,什么也不做,直接判斷有沒有松開按鍵,一

58、旦松開后,則立刻啟動(dòng)定時(shí)器,此刻定時(shí)器開場運(yùn)行。對(duì)于第二個(gè)按鍵,還是首先判斷有沒有按下,一旦按下,立刻停頓定時(shí)器,同時(shí)對(duì)16位定時(shí)計(jì)數(shù)器的高八位和第八位再賦值一次,和以前的賦值是一樣的。此刻,數(shù)碼管上的數(shù)字不再改變,秒表停頓。接著是最后一個(gè)按鍵,還是判斷有沒有按下按鍵,一旦按下,對(duì)數(shù)碼管運(yùn)行的數(shù)全部清零,清零后,數(shù)碼管再次顯示4個(gè)零。如果此時(shí)再按下第一個(gè)按鍵,秒表從新開場運(yùn)行,以此類推如圖6所示。開場賦初值判斷key0是否按下判斷key1是否按下判斷key2是否按下判斷key3是否按下顯示數(shù)碼管開啟定時(shí)器關(guān)閉定時(shí)器數(shù)碼管復(fù)位存儲(chǔ)此刻的數(shù)值是是是是否否否否圖6 程序流程圖 4.3 中斷設(shè)計(jì)中斷是

59、指計(jì)算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)異常情況或特殊請(qǐng)求時(shí),計(jì)算機(jī)停頓現(xiàn)行程序的運(yùn)行,轉(zhuǎn)向?qū)@些異常情況或特殊請(qǐng)求的處理,處理完畢后再返回現(xiàn)行程序的連續(xù)處,繼續(xù)執(zhí)行原程序。 中斷是單片機(jī)實(shí)時(shí)地處理部或外部事件的一種部機(jī)制。當(dāng)*種部或外部事件發(fā)生時(shí),單片機(jī)的中斷系統(tǒng)將迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進(jìn)展中斷事件的處理,中斷處理完畢后,又返回被中斷的程序處,繼續(xù)執(zhí)行下去。對(duì)于51單片機(jī)部一共有5個(gè)中斷源,也就是說,有5中情況發(fā)生的時(shí)候,會(huì)使單片機(jī)去處理中斷程序。而對(duì)于52單片機(jī),多了一個(gè)T2定時(shí)器中斷。對(duì)于單片機(jī)來講,中斷是指CPU在處理*一件事情A時(shí)候,突然發(fā)生了另外一件事B,請(qǐng)求CPU迅速去處

60、理;CPU暫時(shí)停頓當(dāng)前的工作,轉(zhuǎn)而去處理事件B;待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A。引起CPU中斷的根源,稱為中斷源,如表3所示,該過程就叫做中斷系統(tǒng)。中斷的開啟和關(guān)閉,設(shè)置啟用那一個(gè)中斷等都是由單片機(jī)部的一些特殊功能存放器決定的。同時(shí),與中斷有關(guān)的還有一個(gè)中斷嵌套:單片機(jī)在處理事件A,此刻有了一個(gè)中斷B,程序接著執(zhí)行B,這個(gè)時(shí)候,又有了一個(gè)中斷C,則如果該C中斷優(yōu)先級(jí)高于B中斷的話,可以先去執(zhí)行C中斷,執(zhí)行完后再返回B,接著把B執(zhí)行完,然后再返回A程序,繼續(xù)執(zhí)行以下容。對(duì)于51單片機(jī)可以實(shí)現(xiàn)2級(jí)中斷嵌套,對(duì)于52單片機(jī)可以實(shí)現(xiàn)4級(jí)中斷嵌套。表3 單片機(jī)中斷

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論