版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要近些年來(lái),隨著微處理器和單片機(jī)的發(fā)和廣泛應(yīng)用,出現(xiàn)了一種新型的專(zhuān)用儀器—智能儀器。這種儀器以微處理器或單片機(jī)為核心,具有信息采集、顯示、處理、傳輸以及優(yōu)化檢測(cè)與控制等多種功能。有些甚至還具有專(zhuān)家推斷、邏輯分析與決策的能力。智能儀器的出現(xiàn),極大地?cái)U(kuò)充了常規(guī)儀器的應(yīng)用范圍。本文主要介紹了一個(gè)基于89C51單片機(jī)的可控?cái)?shù)字鐘系統(tǒng),詳細(xì)描述了利用89C51開(kāi)發(fā)可控?cái)?shù)字鐘系統(tǒng)的過(guò)程,本次做的數(shù)字鐘是以單片機(jī)(AT89C51)為核心,結(jié)合相關(guān)的元器件(LED數(shù)碼顯示器時(shí)鐘芯片、等功能模塊),再配以相應(yīng)的軟件,其硬件電路設(shè)計(jì)主要包括中央處理單元電路、時(shí)鐘電路、信號(hào)處理電路等幾部分組成,該系統(tǒng)可以方便的實(shí)現(xiàn)時(shí)間顯示和控制,并可根據(jù)需要任意設(shè)定時(shí),它使用起來(lái)相當(dāng)方便,具有精度高、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的時(shí)間顯示,也可以當(dāng)作時(shí)鐘顯示模塊嵌入其它系統(tǒng)中現(xiàn)場(chǎng),有廣泛的應(yīng)用前景。關(guān)鍵詞:可控?cái)?shù)字時(shí)鐘;AT89C51目錄TOC\o"1-5"\h\z\o"CurrentDocument"1智能儀器儀表的簡(jiǎn)介1\o"CurrentDocument"智能儀器儀表簡(jiǎn)介1\o"CurrentDocument"智能儀器儀表的作用113本課題的背景和意義1\o"CurrentDocument"2系統(tǒng)設(shè)計(jì)簡(jiǎn)介3\o"CurrentDocument"數(shù)字鐘簡(jiǎn)介3設(shè)計(jì)要求3\o"CurrentDocument"2.3設(shè)計(jì)方案論證32.4硬件設(shè)計(jì)電路4\o"CurrentDocument"3系統(tǒng)硬件設(shè)計(jì)6\o"CurrentDocument"主控制器選擇6顯示電路63.3時(shí)間控制電路7\o"CurrentDocument"3.4數(shù)字鐘與單片機(jī)的接口電路83.5時(shí)鐘電路8\o"CurrentDocument"3.6復(fù)位電路9\o"CurrentDocument"3.7系統(tǒng)總體電路圖9\o"CurrentDocument"設(shè)計(jì)語(yǔ)言及軟件介紹10\o"CurrentDocument"4.1匯編語(yǔ)言介紹10wave6000軟件介紹11\o"CurrentDocument"系統(tǒng)軟件設(shè)計(jì)13\o"CurrentDocument"5.1軟件算法設(shè)計(jì)13控制源程序15\o"CurrentDocument"程序清單20調(diào)試及仿真21結(jié)論23\o"CurrentDocument"參考文獻(xiàn)23智能儀表綜合課程設(shè)計(jì)智能儀表綜合課程設(shè)計(jì)智能儀器儀表的簡(jiǎn)介智能儀器儀表簡(jiǎn)介隨著微電子技術(shù)的不斷發(fā)展,集成了CPU、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、并行和串行接口、看門(mén)狗、前置放大器甚至A/D、D/A轉(zhuǎn)換器等電路在一塊芯片上的超大規(guī)模集成電路芯片(即單片機(jī))出現(xiàn)了。以單片機(jī)為主體,將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合在一起,又組成了所謂的“智能化測(cè)量控制系統(tǒng)”,也就是智能儀器。與傳統(tǒng)儀器儀表相比,智能儀器具有以下功能特點(diǎn):操作自動(dòng)化。儀器的整個(gè)測(cè)量過(guò)程如鍵盤(pán)掃描、量程選擇、開(kāi)關(guān)啟動(dòng)閉合、數(shù)據(jù)的采集、傳輸與處理以及顯示打印等都用單片機(jī)或微控制器來(lái)控制操作,實(shí)現(xiàn)測(cè)量過(guò)程的全部自動(dòng)化。具有自測(cè)功能,包括自動(dòng)調(diào)零、自動(dòng)故障與狀態(tài)檢驗(yàn)、自動(dòng)校準(zhǔn)、自診斷及量程自動(dòng)轉(zhuǎn)換等。智能儀表能自動(dòng)檢測(cè)出故障的部位甚至故障的原因。這種自測(cè)試可以在儀器啟動(dòng)時(shí)運(yùn)行,同時(shí)也可在儀器工作中運(yùn)行,極大地方便了儀器的維護(hù)。具有數(shù)據(jù)處理功能,這是智能儀器的主要優(yōu)點(diǎn)之一。智能儀器由于采用了單片機(jī)或微控制器,使得許多原來(lái)用硬件邏輯難以解決或根本無(wú)法解決的問(wèn)題,現(xiàn)在可以用軟件非常靈活地加以解決。例如,傳統(tǒng)的數(shù)字萬(wàn)用表只能測(cè)量電阻、交直流電壓、電流等,而智能型的數(shù)字萬(wàn)用表不僅能進(jìn)行上述測(cè)量,而且還具有對(duì)測(cè)量結(jié)果進(jìn)行諸如零點(diǎn)平移、取平均值、求極值、統(tǒng)計(jì)分析等復(fù)雜的數(shù)據(jù)處理功能,不僅使用戶從繁重的數(shù)據(jù)處理中解放出來(lái),也有效地提高了儀器的測(cè)量精度。具有友好的人機(jī)對(duì)話能力。智能儀器使用鍵盤(pán)代替?zhèn)鹘y(tǒng)儀器中的切換開(kāi)關(guān),操作人員只需通過(guò)鍵盤(pán)輸入命令,就能實(shí)現(xiàn)某種測(cè)量功能。與此同時(shí),智能儀器還通過(guò)顯示屏將儀器的運(yùn)行情況、工作狀態(tài)以及對(duì)測(cè)量數(shù)據(jù)的處理結(jié)果及時(shí)告訴操作人員,使儀器的操作更加方便直觀。1.2智能儀器儀表的作用隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的增長(zhǎng),而如何準(zhǔn)確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國(guó)各領(lǐng)域已經(jīng)引用的非常廣泛,可以說(shuō)是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意義。1.3本課題的背景和意義在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過(guò)程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著數(shù)字集成電路性能價(jià)格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來(lái)越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過(guò)程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來(lái)很不方便。根據(jù)這種實(shí)際情況,設(shè)計(jì)了一個(gè)單片機(jī)多功能定時(shí)系統(tǒng),它可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制,同時(shí)又可以進(jìn)行時(shí)鐘校準(zhǔn)和定點(diǎn)打鈴。它可以執(zhí)行不同的時(shí)間表(考試時(shí)間和日常作息時(shí)間)的打鈴,可以任意設(shè)置時(shí)間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。2系統(tǒng)設(shè)計(jì)簡(jiǎn)介2.1數(shù)字時(shí)鐘簡(jiǎn)介數(shù)字電子鐘具有走時(shí)準(zhǔn)確,一鐘多用等特點(diǎn),在生活中已經(jīng)得到廣泛的應(yīng)用。雖然現(xiàn)在市場(chǎng)上已有現(xiàn)成的電子鐘集成電路芯片出售,價(jià)格便宜、使用也方便,但是人們對(duì)電子產(chǎn)品的應(yīng)用要求越來(lái)越高,數(shù)字鐘不但可以顯示當(dāng)前的時(shí)間,而且可以顯示日期、農(nóng)歷、以及星期等,給人們的生活帶來(lái)了方便。另外數(shù)字鐘還具備秒表和鬧鐘的功能,且鬧鐘鈴聲可自選,使一款電子鐘具備了多媒體的色彩。時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車(chē)站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使電子鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。2.2設(shè)計(jì)要求1.開(kāi)機(jī)時(shí),顯示12:00:00的時(shí)間開(kāi)始計(jì)時(shí);2.P0.0/AD0控制“秒”的調(diào)整,每按一次加1秒;3.P0.1/AD1控制“分”的調(diào)整,每按一次加1分;4.P0.2/AD2控制“時(shí)”的調(diào)整,每按一次加1個(gè)小時(shí)設(shè)計(jì)方案論證方案一:本方案采用Dallas公司的專(zhuān)用時(shí)鐘芯片DS12887A。該芯片內(nèi)部采用石英晶體振蕩器,其芯片精度不大于10ms/年,且具有完備的時(shí)鐘鬧鐘功能,因此,可直接對(duì)其以用于顯示或設(shè)置,使得軟件編程相對(duì)簡(jiǎn)單。為保證時(shí)鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行,以備隨時(shí)提供正確的時(shí)間。方案二:本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時(shí)字節(jié)值加1;若時(shí)值達(dá)到24,則將十字節(jié)清零。該方案具有硬件電路簡(jiǎn)單的特點(diǎn)。但由于每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。而且,由于是軟件實(shí)現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作。基于硬件電路的考慮,本設(shè)計(jì)采用方案二完成數(shù)字時(shí)鐘的功能。數(shù)字溫度計(jì)總體電路結(jié)構(gòu)框圖如圖2.1所示。圖2-1數(shù)字時(shí)鐘總體電路結(jié)構(gòu)框圖2.4硬件設(shè)計(jì)電路數(shù)字時(shí)鐘設(shè)計(jì)電路圖如圖2.4所示,控制器使用單片機(jī)AT89C51,用LED實(shí)現(xiàn)時(shí)間顯示。I—II—II—II—II—II—II—II—IRSTEAVCCU3lOuF3140Kic/iR1560W寸DonaMaup■]r刑JonmjHHuP呂uZu■4I1—1a寸nM寸onr-£i—iC/1mLED84SCOsrjgO9sKiup■]r常Jonc』丄msHHup呂QI妙"-i■i5Cl寸nM寸nr-9中igU1LED84S]gnd]vccctxa/O.EdCDCLTCdE目?£E舄£d0§.KwsiW9.&I005E1口<二OdEdvE.od的口『訶Od^QS.E呂T訶Od豈W9.odLcmL.odNMsd口說(shuō)出冒<尋Zd2-=cE£6<二£Klvs&丄皿AG目?jī)自匐x料啟馬陽(yáng)陽(yáng)冋翳丹貳冷器陪圖2-2數(shù)字時(shí)鐘總體電3.系統(tǒng)硬件設(shè)計(jì)3.1主控制器選擇主控器選擇AT89C51單片機(jī)。AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),片內(nèi)置通用8位中央處理器,AT89C51單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。ND寸:ztntrt.二;寸LND寸:ztntrt.二;寸L?ng芻s3S300f--9-cmlods<曲Odmg寸cm.od苕隅Odtz;總TITQTd寸□我住£3尊EdIIWEdBT曲Mis豊住NDKI剜圖3.2為數(shù)碼管的引腳圖,每位的段碼線(a,b,c,d,e,f,g,dp)分別與1個(gè)8位的鎖存器輸出相連,由AT89C51控制組合0—9十個(gè)數(shù)據(jù),如令其顯示1則b,c引腳(即2,3引腳)送高電平,此時(shí)數(shù)碼管顯示1。由于各位的段碼線并聯(lián),8位I/O口輸出段碼對(duì)各個(gè)顯示位來(lái)說(shuō)都是相同的。數(shù)碼管的連接電路:
SEG1SEG2SEK;£EG4SEG5SEKH10tlVC11Bll::*:2B12■=1■-1■-13■-X■-13.-11.-11.-11I⑴B13nf|2hf||btflI?44014*1t1■*1t-1*1fc15%r~~g—?5iJi1I1I1iI1I1iJi1I1if4tE15uJJA』Ji5J■!b-5F16tI111I1■II111I1.■I1U7tI111I1fII111l_g屯屯GNDE17%O1IIIO1IIIfi4ihiO1III8七Si-ID七G1W七GITI:'□J0j0、■'a-,r0、505圖3-2數(shù)碼管內(nèi)部連接電路圖3-3數(shù)碼管的外部引腳圖3.3時(shí)間控制電路圖3-4為時(shí)間控制電路,圖中按下“秒”“分”“時(shí)”按鍵可分別調(diào)節(jié)時(shí)間,實(shí)現(xiàn)時(shí)間顯示的可調(diào)節(jié)性能。/:<TAL1PDIl^DOPO.UftDI/:<TAL1PDIl^DOPO.UftDIPniJftD2XTAL2PD.^'ADiPOS^DSPD.WADbRSTPD.TJftDTP2H';^P2.1JW9P22ftinPSENP23ft11ALEP2朋12EftP2J5W13P2.WAUP2.T^15P1DP3H-RXDP1.1P3.1/TXDP12P32flNH]P1^P33ANT1P1.ipn.i'-raP15pnjaq-iP1J5pn.&tiiiRP1.TP3.T/RD數(shù)字鐘與單片機(jī)的接口電路整體電路由AT89C51為主體元件構(gòu)成,由時(shí)鐘信號(hào)控制系統(tǒng)計(jì)數(shù),定時(shí)及輸出引腳P0丄P0.2,P0.3。為時(shí)間調(diào)節(jié)端口,通過(guò)引腳外部的接入按鈕可以控制時(shí)間的顯示輸出。3.5圖3-6時(shí)鐘電路P2.1JW3P22W10P23W1P2.TJW15PDDMDDPn.lJftD!P02mD2PD.iJKDiPnjBftD6Pn.TZADTP1JP33/1NT13.5圖3-6時(shí)鐘電路P2.1JW3P22W10P23W1P2.TJW15PDDMDDPn.lJftD!P02mD2PD.iJKDiPnjBftD6Pn.TZADTP1JP33/1NT1P1.iP3.4/TUP15P35/T1T卜30pF3.6復(fù)位電路復(fù)位電路是單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的狀態(tài)開(kāi)始運(yùn)行。復(fù)位操作通常有兩種基本形式:上電復(fù)位、開(kāi)關(guān)復(fù)位。此處選擇上電復(fù)位,該操作要求接通電源后自動(dòng)實(shí)現(xiàn)復(fù)位操作。電容上電后使RST持續(xù)一段高電平時(shí)間,此處電解電容C設(shè)定參數(shù)為10uf,如圖所示:^te>riQ.日—RST10k<TEXT>AC3■-nr-110uFuTE爼一PSENALE31EA?A圖3-7復(fù)位電路3.7系統(tǒng)總體電路圖pnn'H.nnP口.VAD1PDJSi'h.DZPDJ'h.DIPWRD*PCIS*ADSPD.&'H.OhP口.Ti'ADTPZD'hEPZ.1MPEN抑口pza'AiiFZ.^AIZpnn'H.nnP口.VAD1PDJSi'h.DZPDJ'h.DIPWRD*PCIS*ADSPD.&'H.OhP口.Ti'ADTPZD'hEPZ.1MPEN抑口pza'AiiFZ.^AIZP2£V.h.13RZSAUP2.7/A15pm
P1.1pm
P1.1
P12P13P1.*P1£P(guān)1.6P1.TPID'RXDP3.1HXDP日2i'更豆P33INT1p*TnP3ST1pj.awRPH.T麗h.TE&::51=TE:<T=-REE:PACKS■=TE:7T:-圖3-8數(shù)字時(shí)鐘電路圖4設(shè)計(jì)語(yǔ)言及軟件介紹匯編語(yǔ)言介紹匯編語(yǔ)言(AssemblyLanguage)是面向機(jī)器的程序設(shè)計(jì)語(yǔ)言。在匯編語(yǔ)言中,用助記符(Memoni)代替機(jī)器指令的操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替指令或操作數(shù)的地址,如此就增強(qiáng)了程序的可讀性并且降低了編寫(xiě)難度,象這樣符號(hào)化的程序設(shè)計(jì)語(yǔ)言就是匯編語(yǔ)言,因此亦稱為符號(hào)語(yǔ)言。使用匯編語(yǔ)言編寫(xiě)的程序,機(jī)器不能直接識(shí)別,還要由匯編程序或者叫匯編語(yǔ)言編譯器轉(zhuǎn)換成機(jī)器指令。匯編程序?qū)⒎?hào)化的操作代碼組裝成處理器可以識(shí)別的機(jī)器指令,這個(gè)組裝的過(guò)程稱為組合或者匯編。因此,有時(shí)候人們也把匯編語(yǔ)言稱為組合語(yǔ)言。匯編語(yǔ)言是直接面向處理器(Processor)的程序設(shè)計(jì)語(yǔ)言。處理器是在指令的控制下工作的,處理器可以識(shí)別的每一條指令稱為機(jī)器指令。每一種處理器都有自己可以識(shí)別的一整套指令,稱為指令集。處理器執(zhí)行指令時(shí),根據(jù)不同的指令采取不同的動(dòng)作,完成不同的功能,既可以改變自己內(nèi)部的工作狀態(tài),也能控制其它外圍電路的工作狀態(tài)人類(lèi)最容易接受自己每天都使用的自然語(yǔ)言。為了使機(jī)器指令的書(shū)寫(xiě)和理解變得容易,需要借鑒自然語(yǔ)言的優(yōu)點(diǎn),為此就引入了匯編語(yǔ)言。匯編語(yǔ)言使用符號(hào)來(lái)代表不同的機(jī)器指令,而這些符號(hào)非常接近于自然語(yǔ)言的要素?;旧希瑓R編語(yǔ)言里的每一條指令,都對(duì)應(yīng)著處理器的一條機(jī)器指令。匯編語(yǔ)言包括兩個(gè)部分:語(yǔ)法部分和編譯器。語(yǔ)法部分提供與機(jī)器指令相對(duì)應(yīng)的助記符,方便指令的書(shū)寫(xiě)和閱讀。當(dāng)然,匯編語(yǔ)言的符號(hào)可以被人類(lèi)接受,但不能被處理器識(shí)別,為此,還要由匯編語(yǔ)言編譯器將這些助記符轉(zhuǎn)換成機(jī)器指令。根據(jù)應(yīng)用領(lǐng)域的不同,處理器的種類(lèi)繁多,比如用于工業(yè)控制和嵌入式計(jì)算的Z80、MC68000和MCS-51、廣泛應(yīng)用于個(gè)人計(jì)算機(jī)的INTELx86系列,以及基于ARM體系結(jié)構(gòu)的處理器,包括蘋(píng)果公司在內(nèi)的大企業(yè)都是ARM的客戶。事實(shí)上,今天的ARM是最受歡迎的32位嵌入式處理器,而且,今天的ARM處理器比INTEL奔騰系列賣(mài)得還多,基本上是3:1的比例。不同的處理器有不同的指令集。正是因?yàn)檫@個(gè)原因,每一種處理器都會(huì)有自己專(zhuān)屬的匯編語(yǔ)言語(yǔ)法規(guī)則和編譯器。即使是同一種類(lèi)型的處理器,也可能擁有不同的匯編語(yǔ)言編譯器。4.2wave6000軟件介紹WAVE6000編譯軟件,采用中文界面。用戶源程序大小不受限制,有豐富的窗口顯示方式,能夠多方位、動(dòng)態(tài)地展示程序的執(zhí)行過(guò)程。其項(xiàng)目管理功能強(qiáng)大,可使單片機(jī)程序化大為小,化繁為簡(jiǎn),便于管理。另外,其書(shū)簽、斷點(diǎn)管理功能以及外設(shè)管理功能等為51單片機(jī)的仿真帶來(lái)極大的便利。數(shù)據(jù)存儲(chǔ)器n8051單片機(jī)數(shù)據(jù)存儲(chǔ)器用于暫存程序執(zhí)行過(guò)程中產(chǎn)生的數(shù)據(jù)和運(yùn)算結(jié)果等°n8051單片機(jī)數(shù)據(jù)存儲(chǔ)器也可以分為片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。當(dāng)片內(nèi)數(shù)據(jù)存儲(chǔ)器不夠用時(shí),可擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器。一般情況下,片外數(shù)據(jù)存儲(chǔ)器的容量不超過(guò)64KB。與內(nèi)、外部的程序存儲(chǔ)器不同,內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器空間存在重疊(內(nèi)部RAM的地址范圍為OOH?07FH,外部RAM的地址范圍為0000H?0FFFFH,如圖3-1所示),通過(guò)不同指令來(lái)區(qū)別。當(dāng)訪問(wèn)內(nèi)部RAM時(shí),用MOV類(lèi)指令;當(dāng)訪問(wèn)外部RAM時(shí),則用MOVX類(lèi)指令,所以地址重疊不會(huì)造成操作混亂。n8051單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器空間共計(jì)128字節(jié),占用00H?7FH地址范圍。特殊功能寄存器區(qū)也是128字節(jié),占用80H?0FFH這段空間。n片內(nèi)數(shù)據(jù)存儲(chǔ)器分成三大部分:工作寄存器區(qū)、可位尋址區(qū)、通用RAM區(qū)。特殊功能寄存器n特殊功能寄存器(SFR)也稱為專(zhuān)用寄存器,特殊功能寄存器反映了51單片機(jī)的運(yùn)行狀態(tài)。很多功能也通過(guò)特殊功能寄存器來(lái)定義和控制程序的執(zhí)行。n在8051單片機(jī)中設(shè)置了21個(gè)特殊功能寄存器,它們不連續(xù)地分布在地址為80H-FFH的128個(gè)字節(jié)的存儲(chǔ)空間中。n在這21個(gè)SFR中,凡是字節(jié)地址能被8整除(即16進(jìn)制的地址碼尾數(shù)為0或8)的11個(gè)單元均具有位尋址能力,有效的位地址共有82個(gè)。表3-3是特殊功能寄存器分布一覽表。n82個(gè)有效位地址可用位地址、位符號(hào)、單元地址.位序和寄存器名.位序四種方法來(lái)表示,但一般是用位符號(hào)或寄存器名.位序來(lái)表示的。n1.51單片機(jī)指令系統(tǒng)指令、指令系統(tǒng)的概念n指令是使計(jì)算機(jī)內(nèi)部執(zhí)行的一種操作,提供給用戶編程使用的一種命令。由構(gòu)成計(jì)算機(jī)的電子器件特性所決定,計(jì)算機(jī)只能識(shí)別二進(jìn)制代碼。以二進(jìn)制代碼來(lái)描述指令功能的語(yǔ)言,稱之為機(jī)器語(yǔ)言。由于機(jī)器語(yǔ)言不便被人們識(shí)別、記憶、理解和使用,因此給每條機(jī)器語(yǔ)言指令賦予助記符號(hào)來(lái)表示,這就形成了匯編語(yǔ)言。也就是說(shuō),匯編語(yǔ)言是便于人們識(shí)別、記憶、理解和使用的一種指令形式,它和機(jī)器語(yǔ)言指令一一對(duì)應(yīng),也是由計(jì)算機(jī)的硬件特性所決定的。n指令的描述形式有兩種:機(jī)器語(yǔ)言形式和匯編語(yǔ)言形式?,F(xiàn)在描述計(jì)算機(jī)指令系統(tǒng)及實(shí)際應(yīng)用中主要采用匯編語(yǔ)言形式。采用機(jī)器語(yǔ)言編寫(xiě)的程序稱之為目標(biāo)程序。采用匯編語(yǔ)言編寫(xiě)的程序稱之為源程序。計(jì)算機(jī)能夠直接識(shí)別并執(zhí)行的只有機(jī)器語(yǔ)言。匯編語(yǔ)言程序不能被計(jì)算機(jī)直接識(shí)別并執(zhí)行,必須經(jīng)過(guò)一個(gè)中間環(huán)節(jié)把它翻譯成機(jī)器語(yǔ)言程序,這個(gè)中間過(guò)程叫做匯編。匯編有兩種方式:機(jī)器匯編和手工匯編。機(jī)器匯編是用專(zhuān)門(mén)的匯編程序,在計(jì)算機(jī)上進(jìn)行翻譯;手工匯編是編程員把匯編語(yǔ)言指令逐條翻譯成機(jī)器語(yǔ)言指令?,F(xiàn)在主要使用機(jī)器匯編,但有時(shí)也用到手工匯編。5系統(tǒng)軟件設(shè)計(jì)軟件算法設(shè)計(jì)系統(tǒng)程序主要包括主程序,系統(tǒng)初始化模塊,“秒”子程序,“分”子程序“時(shí)”子程序等。系統(tǒng)框圖::開(kāi)始]1Ff\系統(tǒng)初始化模塊系統(tǒng)初始化模塊:設(shè)置時(shí)間初始變量,秒:00,分:00,時(shí):12,START:MOVSECOND,#00HMOVMINITE,#00HMOVHOUR,#12MOVDISPBIT,#00HMOVT2SCNTA,#00H
MOVT2SCNTB,#00HMOVTEMP,#0FEHLCALLDISP;2KB范圍內(nèi)長(zhǎng)調(diào)用MOVTMOD,#01HMOVTH0,#(65536-2000)/256;2msMOVTL0,#(65536-2000)MOD256SETBTR0SETBET0SETBEA時(shí)間進(jìn)位顯示:判斷“秒”,“分”和“時(shí)”顯示數(shù)值,秒和分是否顯示為60,時(shí)是否顯示為24,若不是則程序繼續(xù)運(yùn)行,否則程序跳轉(zhuǎn)到初始化模塊從新進(jìn)行計(jì)數(shù)顯示KNA:INCT2SCNTAMOVA,T2SCNTACJNEA,#100,DONEMOVT2SCNTA,#00HINCT2SCNTBMOVA,T2SCNTBCJNEA,#05H,DONEMOVT2SCNTB,#00HINCSECONDMOVA,SECONDCJNEA,#60,NEXTMOVSECOND,#00HINCMINITEMOVA,MINITECJNEA,#60,NEXTMOVMINITE,#00HINCHOURMOVA,HOUR
CJNEA,#24,NEXTMOVHOUR,#00H5.2控制源程序匯編程序:TIMELEQUOEOH;20ms,定時(shí)器0時(shí)間常數(shù)SECONDEQU30HMINITEEQU31HHOUREQU32HHOURKBITP0.2MINITEKBITP0.1SECONDKBITP0.0DISPBUFEQU40HDISPBITEQU48HT2SCNTAEQU49HT2SCNTBEQU4AHTEMPEQU4BHORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVSECOND,#00HMOVMINITE,#00HMOVHOUR,#12MOVDISPBIT,#00HMOVT2SCNTA,#00HMOVT2SCNTB,#00HMOVTEMP,#0FEHLCALLDISP;2KB范圍內(nèi)長(zhǎng)調(diào)用MOVTMOD,#01HMOVTH0,#(65536-2000)/256;2msMOVTL0,#(65536-2000)MOD256SETBTR0SETBET0SETBEAWT:JBSECONDK,NK1;SECONDK是1轉(zhuǎn)NK1,即按鍵SP1按下時(shí)轉(zhuǎn).LCALLDELY10MSJBSECONDK,NK1INCSECONDMOVA,SECONDCJNEA,#60,NS60MOVSECOND,#00HNS60:LCALLDISPJNBSECONDK,$NK1:JBMINITEK,NK2LCALLDELY10MSJBMINITEK,NK2INCMINITEMOVA,MINITECJNEA,#60,NM60MOVMINITE,#00HNM60:LCALLDISPJNBMINITEK,$NK2:JBHOURK,NK3LCALLDELY10MSJBHOURK,NK3INCHOURMOVA,HOURCJNEA,#24,NH24MOVHOUR,#00HNH24:LCALLDISPJNBHOURK,$NK3:LJMPWTDELY10MS:MOVR6,#10D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETDISP:;將得出的時(shí)間存入40H(DISPBUF)之后的地址MOVA,#DISPBUFADDA,#8DECAMOVR1,AMOVA,HOURMOVB,#10DIVABMOV@R1,A;累加器送內(nèi)部RAM單元@R1與R1區(qū)分?:@R1——R1為地址,@R1指向其內(nèi)容。R1——R1為變量,DECR1MOVA,BMOV@R1,ADECR1MOVA,#10;輸出符號(hào)“—”MOV@R1,ADECR1MOVA,MINITEMOVB,#10DIVABMOV@R1,ADECR1MOVA,BMOV@R1,ADECR1MOVA,#10MOV@R1,ADECR1MOVA,SECONDMOVB,#10DIVABMOV@R1,ADECR1MOVA,BMOV@R1,ADECR1RETINT_T0:MOVTH0,#(65536-2000)/256MOVTL0,#(65536-2000)MOD256MOVA,#0FFHMOVP3,AMOVA,#DISPBUFADDA,DISPBIT;地址加,并將時(shí)間的各位送到P1MOVR0,AMOVA,@R0MOVDPTR,#TABLE
MOVCA,@A+DPTRMOVP1,AMOVA,DISPBITMOVDPTR,#TABMOVCA,@A+DPTRMOVP3,AINCDISPBITMOVA,DISPBITCJNEA,#08H,KNAMOVDISPBIT,#00HKNA:INCT2SCNTA;******時(shí)間的增加與進(jìn)位******MOVA,T2SCNTACJNEA,#100,DONEMOVT2SCNTA,#00HINCT2SCNTBMOVA,T2SCNTBCJNEA,#05H,DONEMOVT2SCNTB,#00HINCSECONDMOVA,SECONDCJNEA,#60,NEXTMOVSECOND,#00HINCMINITEMOVA,MINITECJNEA,#60,NEXTMOVMINITE,#00HINCHOURMOVA,HOURCJNEA,#24,NEXTMOVHOUR,#00H
NEXT:LCALLDISPDONE:RETITABLE:“”DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;40H代表符號(hào)TAB:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHEND5.3程序清單將所寫(xiě)的匯編程序使用匯編軟件進(jìn)行編譯,調(diào)試,無(wú)誤后由軟件生成.C或.HEX文件,然后將程序拷入到仿真軟件的單片機(jī)中。NS60/_JdigitalcLctck.hex_Jdigitalclock.asmSECONDMINITEHOURHOURKMINITEKSECONDKDISPEUFDISPEITT2SCNTAT2SCNTBTEMPORGiOOHLIMPSTARTORGiOBHNS60/_JdigitalcLctck.hex_Jdigitalclock.asmSECONDMINITEHOURHOURKMINITEKSECONDKDISPEUFDISPEITT2SCNTAT2SCNTBTEMPORGiOOHLIMPSTARTORGiOBHLIMPINT_T0MOVSECOND,#00HMOVMINITE,#00HMOVHOUR,#12MOVDISPBIT,#00HMOVT2SCNTA,#00HMOVT2SCNTB,#00HMOVTEMP,#0FEHLCALLDISPMOVIMOD,#01HMOVTHO,#(65536-2000)/256MOVTLO,#(65536-2000)MOD256SETBTROSETBET0SETBEAJBSECONDK,NKLLCALLDELY10M5JBSECONDK,NKLINCSECONDMOVA,SECONDCJNEA,#60,NS60MOVSECOND,#00HLCALLDISPSTARTEQU31HEQU32HBITPO.2BITPO.1BITPO.0EQU40HEQU48HEQU49HEQU4AHEQU4BHEQU[AMOVINCDI5PEirf[AMOVINCDI5PEirf#00三T2SCNTAINCDISPBITMOVAfDISPBITCJNEA,#Dc?^fKNAHOURINCMOVAHOURINCMOVAfHOUR圖5-1數(shù)字時(shí)鐘程序編譯MHJVAfT2SCNTACJNE00.DONEMKWT2SCNTA,*00HINCT2SCNTBMOVA.T2SCNTBCJNE衛(wèi)*#05HfDONEMOTT2SCNTB,*00HINCSECONEfriOVArSECONECJNEA,#60fNEXTS^CONE^OO?^INCMINITEMOVAfMINITECJNEA,#60rNEXTMOTMINITE,*O0fiABLEABLE'AB:CJNE鮎#24rNEXTMOTHOUR,#OOH胃試及仿真=■&DB3F:Y”0五E”5三三”TFm”總£三”=[?三”O(jiān)rm”TFm”EFm”TOWDEOFH:^,0FDHfOFBH,3H:F^fODFH,OBF:^,0^F?^END軟件調(diào)試-仿真器proteus調(diào)試通過(guò),并燒錄芯片,得到所要求的設(shè)計(jì)結(jié)果。如圖5.2試驗(yàn)成功。1.如圖所示,時(shí)鐘顯示時(shí)間為12:00:06.圖5-2數(shù)字時(shí)鐘仿真圖(1)■&□!■1Z"?Y23"?G3*■■s*■+56Bh■27S"J-XTALIXTAL2PDn'ADDPD.VAD1FD2TADZpcia'
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年中國(guó)藥用貼膏劑行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年中國(guó)注射用炎琥寧市場(chǎng)行情動(dòng)態(tài)分析及發(fā)展前景趨勢(shì)預(yù)測(cè)報(bào)告
- 2024-2025學(xué)年高中歷史課時(shí)作業(yè)1古代中國(guó)的農(nóng)業(yè)經(jīng)濟(jì)人民版必修2
- 2024-2025學(xué)年高中歷史第四單元亞洲覺(jué)醒的先軀單元學(xué)習(xí)總結(jié)講義新人教版選修4
- 中國(guó)帳篷門(mén)桿項(xiàng)目投資可行性研究報(bào)告
- 2024山東金冶煉市場(chǎng)前景及投資研究報(bào)告
- 吸塵掃地車(chē)行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 附子理宮丸行業(yè)深度研究報(bào)告
- 2019-2025年中國(guó)少兒藝術(shù)培訓(xùn)教育市場(chǎng)供需格局及未來(lái)發(fā)展趨勢(shì)報(bào)告
- 聚乙烯項(xiàng)目投資立項(xiàng)報(bào)告
- 2024-2025學(xué)年重慶市渝中區(qū)四年級(jí)(上)期末數(shù)學(xué)試卷
- 2025年人教版中考英語(yǔ)一輪復(fù)習(xí):七年級(jí)下冊(cè)考點(diǎn)測(cè)試卷(含答案)
- 三年級(jí)體育下冊(cè)全冊(cè)教案
- 2024年八年級(jí)語(yǔ)文下冊(cè)《經(jīng)典常談》第一章《說(shuō)文解字》練習(xí)題卷附答案
- (研究生)商業(yè)倫理與會(huì)計(jì)職業(yè)道德ppt教學(xué)課件(完整版)
- 山西省煤炭運(yùn)銷(xiāo)集團(tuán)有限公司王家?guī)X煤礦井筒工程施工組織設(shè)計(jì)
- 三年級(jí)數(shù)學(xué)下冊(cè)單元計(jì)劃【9個(gè)單元全】
- 火力發(fā)電廠水汽化學(xué)監(jiān)督導(dǎo)則
- 二年級(jí)科學(xué)上冊(cè)期末考試質(zhì)量分析
- 相聲《治病》
- 行動(dòng)學(xué)習(xí)-組織能力提升新境界培訓(xùn)課件.ppt
評(píng)論
0/150
提交評(píng)論