




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/單片機(jī)系統(tǒng)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表設(shè)計(jì)課題指導(dǎo)教師意見:成績(jī):簽名:年月日單片機(jī)系統(tǒng)課程設(shè)計(jì)目錄第1章數(shù)字式秒表的設(shè)計(jì)介紹………51.1設(shè)計(jì)任務(wù)及功能要求說(shuō)明…………51.2工作原理及其方法……………5第2章數(shù)字式秒表硬件系統(tǒng)的設(shè)計(jì)…72.1數(shù)字式秒表硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹………72.1.1AT89S52簡(jiǎn)介…….72.1.2時(shí)鐘電路………….82.1.3鍵盤電路…………82.1.4復(fù)位電路………..92.1.5驅(qū)動(dòng)及顯示電路…………………92.1.6單片機(jī)下載口電路………………102.2數(shù)字式秒表的硬件系統(tǒng)設(shè)計(jì)圖…電路原理圖…….PCB圖…………11.第3章數(shù)字式秒表軟件系統(tǒng)的設(shè)計(jì)….11.3.1數(shù)字式秒表使用單片機(jī)資源情況………………113.2主程序流程圖……12.3.3中斷服務(wù)程序流程圖……………123.4顯示程序流程圖…………………143.5軟件系統(tǒng)程序清單……………..14第4章設(shè)計(jì)總結(jié)………154.1數(shù)字式秒表的設(shè)計(jì)結(jié)論及使用說(shuō)明……………154.2程序仿真與結(jié)果………………….154.3誤差分析及解決方法……………16..總結(jié)………………16參考文獻(xiàn)………17附錄……………17第1章數(shù)字式秒表的設(shè)計(jì)介紹1.1設(shè)計(jì)任務(wù)及功能要求說(shuō)明由單片機(jī)接收小鍵盤控制遞增計(jì)時(shí).由LED顯示模塊計(jì)時(shí)時(shí)間.顯示格式為XX〔分:XX〔秒.XX.精確到0.01s的整數(shù)倍。繪制系統(tǒng)硬件接線圖.并進(jìn)行系統(tǒng)仿真和實(shí)驗(yàn)。畫出程序流程圖并編寫程序?qū)崿F(xiàn)系統(tǒng)功能。使用單片機(jī)AT89S52作為主要控制芯片.以四位一體共陽(yáng)極數(shù)碼顯示管通過(guò)三極管驅(qū)動(dòng)作為顯示部分.設(shè)計(jì)一個(gè)具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符"P.".進(jìn)入準(zhǔn)備工作狀態(tài)。該數(shù)字式秒表通過(guò)按鍵控制可實(shí)現(xiàn)開始計(jì)1時(shí)、暫停計(jì)時(shí)、連續(xù)計(jì)時(shí)、清零和停止功能。1.2工作原理及其方法使用AT89S52單片機(jī)作為核心控制部件.采用12M晶體振蕩器及微小電容構(gòu)成振蕩電路;采用S8550作為數(shù)碼管的驅(qū)動(dòng)部分;用兩個(gè)四位一體共陽(yáng)極或共陰極數(shù)碼顯示管作為顯示部分.構(gòu)成數(shù)字式秒表的主體結(jié)構(gòu).配合獨(dú)立式鍵盤和復(fù)位電路完成此秒表的復(fù)位、計(jì)時(shí)、連續(xù)、清零、停止各項(xiàng)功能。對(duì)于時(shí)鐘.它有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào).主要由晶振和外圍電路組成.晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘.即定時(shí)時(shí)間.它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn).即用單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn).但誤差很大.主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn).在對(duì)時(shí)間精度要求很高的情況下.通常采用這種方法。LED數(shù)碼顯示器有如下兩種連接方法:共陽(yáng)極接法:把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極.使用時(shí)公共陽(yáng)極接+5V.每個(gè)發(fā)光二極管的陰極通過(guò)電阻與輸入端相連。共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極.使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽(yáng)極通過(guò)電阻與輸入端相連。鍵盤部分方案:鍵盤控制采用獨(dú)立式按鍵.每個(gè)按鍵的一端均接地.另一端直接和P1口相連.在按鍵和P1口之間通過(guò)10K電阻與+5V電源相連。鍵盤通過(guò)檢測(cè)輸入線的電平狀態(tài)就可以很容易地判斷哪個(gè)鍵被按下了.這種方法操作速度高而且軟件結(jié)構(gòu)很簡(jiǎn)單.比較適合按鍵較少或操作速度較高的場(chǎng)合.這種獨(dú)立式接口的應(yīng)用很普遍。顯示部分方案:顯示部分采用動(dòng)態(tài)顯示。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一.動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起.另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路.位選通由各自獨(dú)立的I/O線控制.當(dāng)單片機(jī)輸出字形碼時(shí).所有數(shù)碼管都接收到相同的字形碼.但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形.取決于單片機(jī)對(duì)位選通COM端電路的控制.所以我們只要將需要顯示的數(shù)碼管的選通控制打開.該位就顯示出字形.沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端.就使各個(gè)數(shù)碼管輪流受控顯示.這就是動(dòng)態(tài)驅(qū)動(dòng)。動(dòng)態(tài)顯示是利用人眼視覺暫留特性來(lái)實(shí)現(xiàn)顯示的。事實(shí)上.顯示器上任何時(shí)刻只有一個(gè)數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時(shí)間間隔短、節(jié)奏快.人的眼睛反應(yīng)不過(guò)來(lái).因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時(shí)的時(shí)間在1ms左右.不能太長(zhǎng).也不能太短。本設(shè)計(jì)可采用P0口直接驅(qū)動(dòng)八段數(shù)碼管顯示。此方案成本低.而且單片機(jī)的I/O口占用較少.可以節(jié)約單片機(jī)接口資源.而且功耗更低。此電路采用單片機(jī)的P0口作為數(shù)碼顯示管的段控.采用P2口作為數(shù)碼管的位控。8個(gè)獨(dú)立式鍵盤分別接在單片機(jī)的P1口上.以及其他部分構(gòu)成數(shù)字式秒表的硬件電路。通過(guò)編寫程序使用單片機(jī)的定時(shí)計(jì)數(shù)器.以及軟件延時(shí).中斷資源來(lái)實(shí)現(xiàn)秒計(jì)時(shí)和相關(guān)控制。此數(shù)字式秒表的硬件整體結(jié)構(gòu)如圖1-1所示。AT89S52AT89S52電源振蕩電路復(fù)位電路獨(dú)立式鍵盤驅(qū)動(dòng)電路數(shù)碼管顯示限流圖1-1數(shù)字式秒表的硬件結(jié)構(gòu)圖第2章數(shù)字式秒表硬件系統(tǒng)的設(shè)計(jì)2.1數(shù)字式秒表硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹AT89S52簡(jiǎn)介<1>與MCS-51產(chǎn)品相兼容;<2>具有8KB可改寫的Flash內(nèi)部程序存儲(chǔ)器.可寫/擦1000次;<5>256字節(jié)內(nèi)部RAM;<6>32根可編程I/O口;<7> 3個(gè)16位定時(shí)器/計(jì)數(shù)器。<8>8個(gè)中斷源;<9> 可編程中串行口;<10>低功耗空閑和掉電方式。它的價(jià)格便宜.功能強(qiáng)大.能耗低。很大程度上減少總電路的復(fù)雜性.提高了所設(shè)計(jì)系統(tǒng)的穩(wěn)定性。其芯片引腳圖如圖2-1所示。圖2-1單片機(jī)AT89S52引腳圖時(shí)鐘電路時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào).單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路.為了保證同步工作方式的實(shí)現(xiàn).電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。在AT89S52芯片內(nèi)部有一個(gè)高增益反相放大器.其輸入端為芯片引腳XTAL1.輸出端為引腳TXAL2.在芯片的外部通過(guò)這兩個(gè)引角跨接晶體振蕩器和微調(diào)電容.形成反饋電路.就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。此電路采用12MHz的石英晶體。時(shí)鐘電路如圖2-2:圖2-2時(shí)鐘電路2.1.3鍵盤電路本設(shè)計(jì)使用獨(dú)立式鍵盤接在單片機(jī)的P1口上但通過(guò)軟件賦予其中三個(gè)按鍵功能.其中S2是計(jì)時(shí)開始按鍵.第二功能為停止.S3為計(jì)時(shí)暫停按鍵.第二功能為繼續(xù)計(jì)時(shí)按鍵.S4是清零按鍵。注意使用時(shí)只有在暫停狀態(tài)下才能繼續(xù)計(jì)時(shí).只有在停止?fàn)顟B(tài)下才能清零.在停止時(shí)不能繼續(xù)計(jì)時(shí).在暫停時(shí)不能清零。鍵盤電路如圖2-3:圖2-3獨(dú)立式鍵盤電路圖復(fù)位電路復(fù)位是單片機(jī)的初始化操作.其主要功能是把PC初始化為0000H.使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外.當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤是系統(tǒng)處于死鎖狀態(tài)時(shí).為擺脫困境.也需要按復(fù)位鍵以重新啟動(dòng)。RST引腳是單片機(jī)復(fù)位信號(hào)的輸入端.復(fù)位信號(hào)是高電平有效.其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期〔即2個(gè)機(jī)器周期以上.若使用頻率為6MHz的晶振.則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)4us才能完成復(fù)位操作。復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。按鍵電平復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的。在本設(shè)計(jì)中采用了按鍵電平復(fù)位方式.其復(fù)位電路如圖2-4所示:圖2-4復(fù)位電路2.1.5驅(qū)動(dòng)及顯示電路數(shù)碼管實(shí)際上是由二極管構(gòu)成發(fā)光二級(jí)管正常工作時(shí).其兩端正向壓降約為1.6v.正向電流約為10mA.為了使數(shù)碼管達(dá)到一定的亮度而又不至于由于電流過(guò)大而損壞.我們使用三極管S8550作為數(shù)碼管的驅(qū)動(dòng).同時(shí)在P0口和P2口上串上470歐姆的電阻。此處使用四位一體共陰極數(shù)碼管.由于驅(qū)動(dòng)電路決定了此處共陰極數(shù)碼管和共陽(yáng)極數(shù)碼管均可以采用而且均采用共陽(yáng)極代碼來(lái)編寫顯示程序.具體電路如圖2-5所示。圖2-5數(shù)碼管驅(qū)動(dòng)及顯示電路圖2.1.6單片機(jī)下載口電路下載口主要是一個(gè)十芯的座子.可以通過(guò)使用USB下載線對(duì)單片機(jī)進(jìn)行程序下載。方便整個(gè)軟件的設(shè)計(jì).也能讓我們使用起來(lái)更加方便。圖2-6單片機(jī)下載口電路圖2.2數(shù)字式秒表的硬件系統(tǒng)設(shè)計(jì)圖2.2.1電路原理圖此處電路原理圖以及PCB原理圖的繪制均使用protel99軟件完成.Protel99是基于Win95/WinNT/Win98/Win2000的純32位電路設(shè)計(jì)制版系統(tǒng)。Protel99提供了一個(gè)集成的設(shè)計(jì)環(huán)境.包括了原理圖設(shè)計(jì)和PCB布線工具.集成的設(shè)計(jì)文檔管理.支持通過(guò)網(wǎng)絡(luò)進(jìn)行工作組協(xié)同設(shè)計(jì)功能。根據(jù)硬件接線要求設(shè)計(jì)繪制電路原理圖及PCB。具體電路圖見附錄A與附錄B。2.2.2PCB圖PCB圖設(shè)計(jì)時(shí).首先要使元器件盡量少.這樣既可以節(jié)約材料.又可以是布線更加短.減少干擾.同時(shí)還應(yīng)注意盡量減少線路之間的寄生電容和電感.布線時(shí)需要將線寬設(shè)置得比較寬這樣可以提高腐蝕電路板時(shí)的成功率.焊盤大小也要設(shè)置的比較大.這樣在腐蝕環(huán)節(jié)和焊接環(huán)節(jié)比較容易成功。不易出現(xiàn)短線的現(xiàn)象和焊盤剝離的現(xiàn)象。雙面布線時(shí)芯片和針腳多的元件需將焊接點(diǎn)置于底層.這樣才能比較方便的焊接。制作電路板PCB圖見附錄B。第3章數(shù)字式秒表軟件系統(tǒng)的設(shè)計(jì)3.1數(shù)字式秒表使用單片機(jī)資源情況本次電子鐘設(shè)計(jì)除了了使用單片機(jī)工作所必須的硬件資源〔如連接晶振的引腳XTAL1和XTAL2.復(fù)位引腳RESET外.對(duì)單片機(jī)的硬件資源還做了具體的安排。<1>.P0口:P0.0-P0.7作為數(shù)碼管顯示器的段控。<2>.P1口:P1.0-P1.3作為獨(dú)立式鍵盤的輸入端。<3>.P2口:P2.0-P2.7分別控制數(shù)碼管LED0-LED7的位控碼驅(qū)動(dòng)。<4>.定時(shí)/計(jì)數(shù)器:使用定時(shí)器0工作方式2實(shí)現(xiàn)數(shù)字式計(jì)數(shù)器的運(yùn)行。<5>.專用寄存器:定時(shí)器控制寄存器TCON.通過(guò)設(shè)置該寄存器TR0位的狀態(tài)來(lái)控制定時(shí)/計(jì)數(shù)器0的啟動(dòng)/停止;中斷允許寄存器IE.通過(guò)設(shè)置該寄存器EA/ET0位的狀態(tài)來(lái)設(shè)置定時(shí)/計(jì)數(shù)器0中斷允許/禁止;定時(shí)/計(jì)數(shù)器工作方式寄存器TMOD.設(shè)置定時(shí)/計(jì)數(shù)器0的工作方式。3.2主程序流程圖MAINMAIN定義堆棧顯示緩沖單元清零定時(shí)器0工作方式1裝載計(jì)數(shù)初值定時(shí)開始開中斷設(shè)置循環(huán)次數(shù)調(diào)用顯示子程序等待定時(shí)中斷請(qǐng)求鍵盤掃描圖3-1主程序流程圖3.3中斷服務(wù)程序流程圖PDJWPDJW現(xiàn)場(chǎng)保護(hù)計(jì)數(shù)器重加載循環(huán)次數(shù)減1是否滿8次毫秒值加1是否滿60毫秒緩沖清零秒值加1是否60S秒顯緩沖清零分顯示加1是否滿60分顯示清零現(xiàn)場(chǎng)恢復(fù)返回YNNNNYYY圖3-2中斷服務(wù)程序流程圖3.4顯示程序流程圖DISP現(xiàn)場(chǎng)保護(hù)寄存器初始化顯示代碼查表送段控代碼送位控代碼延時(shí)送段控代碼位控代碼左移左移8次?恢復(fù)現(xiàn)場(chǎng)返回NYDISP現(xiàn)場(chǎng)保護(hù)寄存器初始化顯示代碼查表送段控代碼送位控代碼延時(shí)送段控代碼位控代碼左移左移8次?恢復(fù)現(xiàn)場(chǎng)返回NY圖3-3顯示程序流程圖3.5軟件系統(tǒng)程序清單按照流程圖應(yīng)用軟件keil匯編語(yǔ)言編程實(shí)現(xiàn)秒表功能。程序見附錄C。第4章設(shè)計(jì)總結(jié)4.1數(shù)字式秒表的設(shè)計(jì)結(jié)論及使用說(shuō)明通過(guò)設(shè)計(jì)和調(diào)試.數(shù)字式秒表能順利完成各項(xiàng)功能。上電或復(fù)位后顯示"P."提示符.此時(shí)按1鍵便可開始計(jì)時(shí)。在計(jì)數(shù)狀態(tài)下.按下2鍵即可實(shí)現(xiàn)暫停.再次按下2鍵即可實(shí)現(xiàn)繼續(xù)計(jì)數(shù).在計(jì)數(shù)狀態(tài)下按下1鍵.實(shí)現(xiàn)計(jì)數(shù)停止.在停止?fàn)顟B(tài)下按下3鍵.便可實(shí)現(xiàn)計(jì)數(shù)清零。計(jì)數(shù)狀態(tài)下按下清零鍵.無(wú)效。4.2程序仿真與結(jié)果我們是在Keil軟件里編寫程序并編譯通過(guò)才能被硬件電路所應(yīng)用。Keil的功能比較強(qiáng)大但還是有一定的缺點(diǎn)。他編譯過(guò)程中他只能檢查出所編寫的語(yǔ)法錯(cuò)誤.所以我們一步一步的去在硬件電路里仿真去達(dá)到我們所設(shè)計(jì)要求的功能。經(jīng)仿真修改和完善均已達(dá)到設(shè)計(jì)要求."P."顯示.電子鐘準(zhǔn)備狀態(tài)與電子鐘自動(dòng)運(yùn)行狀態(tài)的仿真如下圖所示。<1>."P."顯示如圖4-1所示。圖4-1"P"顯示圖<2>.數(shù)字式秒表準(zhǔn)備狀態(tài)仿真的顯示如圖4-2所示。圖4-2準(zhǔn)備計(jì)時(shí)狀態(tài)<3>.數(shù)字式秒表運(yùn)行狀態(tài)的仿真如圖4-3所示。圖4-34.3誤差分析及解決方法我們可以發(fā)現(xiàn)數(shù)字式秒表計(jì)數(shù)一段時(shí)間的我們的標(biāo)準(zhǔn)時(shí)間相比較出現(xiàn)了誤差.所設(shè)計(jì)的數(shù)字式秒表比我們的標(biāo)準(zhǔn)時(shí)間要慢.而且相比較的時(shí)間越長(zhǎng)他的時(shí)差越大。經(jīng)過(guò)分其主要原因與硬件和軟件都有關(guān)。軟件原因:我們從外部中斷請(qǐng)求有效到轉(zhuǎn)向中斷區(qū)入口地址所需的機(jī)器周期數(shù)來(lái)計(jì)算中斷時(shí)間.51系列單片機(jī)最短響應(yīng)時(shí)間為3個(gè)機(jī)器周期。在一般情況下中斷響應(yīng)時(shí)間通常無(wú)需考慮.但在精確定時(shí)的應(yīng)用場(chǎng)合需知道中斷響應(yīng)時(shí)間.以保證定時(shí)的精確控制。硬件原因:?jiǎn)纹瑱C(jī)的時(shí)鐘信號(hào)是由外部的振蕩電路所提供.在芯片的外部通過(guò)接XATL1與XATL2這兩個(gè)引角跨接晶體振蕩器和微調(diào)電容.形成反饋電路.就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。因?yàn)殡娮釉豢梢跃陀形覀兯O(shè)計(jì)的那么理想〔電容的容量.振晶的輸出頻率所以會(huì)造成我們的時(shí)間準(zhǔn)確。針對(duì)這樣的問(wèn)題我們就能只能從上述兩個(gè)方面入手去解決。軟件方面我們可以通過(guò)計(jì)算設(shè)計(jì)子程序去減少響應(yīng)的時(shí)差。硬件部分我們可以采用一些穩(wěn)定.精確度比較高的電子元件去完善.但是在最后調(diào)試出的還是有誤差但我盡可能的減少差誤差接近理想??偨Y(jié):同過(guò)這幾天的實(shí)驗(yàn)設(shè)計(jì),讓自己對(duì)AT89S52單片機(jī)有了更深的了解,其具有計(jì)時(shí)開始、暫停及清零功能.計(jì)時(shí)最大值為59分59.99秒.計(jì)時(shí)精度為0.01秒。利用Proteus和Keil軟件進(jìn)行了仿真.達(dá)到了預(yù)期的效果。整體電路的計(jì)時(shí)精度高.電路結(jié)構(gòu)簡(jiǎn)單.抗干擾能力強(qiáng).具有廣泛的應(yīng)用前景。作為僅僅上了一個(gè)學(xué)期單片機(jī)課后就看這些課程設(shè)計(jì)題目.感覺壓力比較大.畢竟自己還是初學(xué)者.對(duì)各方面都不是了解的很透徹.因?yàn)槎伎瓷先ザ急容^有難度.熟悉了單片機(jī)的內(nèi)容后覺得還是可以做的出來(lái)了.一開始不知道從哪里開始下手.于是問(wèn)了一些人上網(wǎng)查了點(diǎn)資料.有些是c編還有些是匯編.于是參考了一下.也和別人一起探討了一下.在不斷地求知中前進(jìn),最終編成了一個(gè)完整的程序,是自己對(duì)與多練有了跟進(jìn)一步的認(rèn)識(shí),明白動(dòng)手的重要性,努力走的更遠(yuǎn),盡自己的力為社會(huì)做一點(diǎn)貢獻(xiàn),也為自己創(chuàng)造一個(gè)未來(lái)!參考文獻(xiàn)[1]李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社.1988.[1]LiZhaoqing.SCMTheoryandInterfaceTechnology[M].Beijing:BeijingAerospaceUniversityPress,1988.[2]李勛等.單片機(jī)實(shí)用教程[M].北京:北京航空航天大學(xué)出版社.2000[2]LiXunandsoon.microcontrollerPracticalGuide[M].Beijing:BeijingAerospaceUniversityPress,2000[3]王幸之等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大學(xué)出版社.1999[3]Wangxingtheother.microcomputerapplicationsysteminterferencetechnology[M].Beijing:BeijingAerospaceUniversityPress,1999[4]何為民.低功耗單片微型計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社.1994[4]Whatthepeople.low-powersingle-chipmicro-computersystemdesign[M].Beijing:BeijingAerospaceUniversityPress,1994[5]李杏春等.8090單片機(jī)原理及實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社.1996[5]LiXingchunsuch.8090SCMTheoryandpracticalinterfacetechnology[M].Beijing:BeijingAerospaceUniversityPress,1996附錄A原理圖附錄 B程序清單;項(xiàng)目名稱:秒表;;設(shè)計(jì)者:高金科;;設(shè)計(jì)日期:20XX12月;;LED數(shù)碼管顯示器設(shè)定;;P0.7P0.0段控線.接LED的顯示段dp,g,f,e,d,c,b,a;;P2.7-P2.0位控線從左至右<LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0>;;顯示緩沖區(qū)設(shè)定從左至右依次為78H,79H,7AH,7BH,7CH,7DH,7EH,7FH;;獨(dú)立式鍵盤設(shè)定與功能;;8個(gè)按鍵S1至S8分別依次接在P1.0至P1.7口線;;K0的功能為復(fù)位;K1的功能為啟動(dòng)/停止〔標(biāo)識(shí)符為22H.0當(dāng)它為1時(shí)啟動(dòng).為0時(shí)停止;K2的功能為暫停/繼續(xù)〔標(biāo)識(shí)符為22H.1當(dāng)它為1時(shí)暫停.為0時(shí)繼續(xù);K3的功能為清零;常數(shù)表格; ;DISBH<系統(tǒng)提示符P.字型代碼序號(hào)表>;;TAB<共陽(yáng)數(shù)碼管字型代碼表> ;;子程序;;TIME_1MS〔定時(shí)1ms子程序;;KEY<鍵掃描子程序>;;KEYCHULI<P1口數(shù)據(jù)處理子程序>;;DISP〔數(shù)碼管顯示子程序;;DL<2毫秒延時(shí)子程序>;;ADD01<入口地址為R0>;存儲(chǔ)器內(nèi)容的安排;;堆棧棧底7FHH; ;;20H作為按鍵標(biāo)志〔20H.0——20H.7分別對(duì)應(yīng)的是按鍵K1——K8;;專用寄存組1,用在顯示子程序中;系統(tǒng)起始程序區(qū) ORG0000HSTART:LJMPMAINORG000BH LJMPPDJW;系統(tǒng)監(jiān)控程序區(qū)ORG0030HMAIN:MOVPSW,#00HMOVSP,#7FH;確立堆棧區(qū)MOVR0,#20H;RAM區(qū)首地址MOVR7,#96;RAM區(qū)單元個(gè)數(shù) MOV TMOD, #01H SETBEA SETB ET0ML: MOV@R0,#00HINCR0 DJNZR7,MLTSF:MOVDPTR,#DISBH;系統(tǒng)初始化后提示符"P."字符代碼表首地址MOVR5,#08H MOVR0,#78HDISPTSF:CLRAMOVCA,@A+DPTRMOV@R0,AINCR0INCDPTRDJNZR5,DISPTSF KEY0: LCALL DISPLCALLKEY JB20H.0,K1 JB20H.1,K2 JB20H.2,K3 LJMPKEY0KEY00:LCALLKEYLCALLDISP JB20H.2,K3 LJMPKEY00K1:JB22H.1,KEY0 ;如果此時(shí)為暫停狀態(tài).本次按鍵K1無(wú)效 CPL22H.0 JB22H.0,K01 ;高電平則計(jì)時(shí) CLRTR0;低電平則停止LCALLDISP LJMPKEY00K01:MOV7AH,#12H ;從零開始計(jì)時(shí)MOV7DH,#12HMOV7FH,#10HMOV78H,#00HMOV79H,#00HMOV7BH,#00HMOV7CH,#00HMOV7EH,#00HMOV7FH,#00H LCALLDISPMOVTH0, #0D8HMOVTL0, #0F0HSETBTR0 ;啟動(dòng)定時(shí)器LJMPKEY0K2:JB22H.0,K21 ;判斷秒表是否啟動(dòng).如不是啟動(dòng)狀態(tài)則此次按鍵無(wú)效LJMPKEY0K21:CPL 22H.1JB22H.1,K22SETB TR0 ;繼續(xù)計(jì)時(shí) LJMPKEY0K22:CLRTR0 ;暫停秒表LCALLDISP LJMPKEY0K3: JB 22H.0, KEY0 ;只有當(dāng)停止是.清零鍵才有效 MOVR0,#79H ;秒表清零LCALLCLR00 MOVR0,#7CHLCALLCLR00 MOVR0,#7FHLCALLCLR00 LJMPKEY0PDJW:PUSHPSWPUSHACC MOVTMOD,#01H ;定時(shí)器以工作方式1工作 SETBRS1 ;設(shè)定組號(hào)為2組 CLRRS0 MOV TH0, #0D8H MOV TL0, #0F0H MOVR0, #79H LCALLADD01 CJNER2,#99,RETT;判斷1秒到?jīng)] MOVR0,#7CH LCALLADD01 CJNER2,#60,RETT;判斷60毫秒到?jīng)] LCALLCLR00 MOVR0,#7FH LCALLADD01 CJNER2,#60H,RETT;判斷60分到?jīng)] LCALLCLR00RETT:POPACCPOPPSW RETI;常數(shù)表格區(qū) ;系統(tǒng)初始化后提示符"P."字符代碼表;DISBH:DB10H,10H,10H,10H,10H,10H,10H,11H;提示符"P."字符序號(hào);顯示字符段選碼表<共陽(yáng)極代碼>TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;0-8DB90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH;9,A,B,C,D,E,F,滅,p.,-子程序區(qū);ADD01:MOV A,@R0DECR0 SWAPA ORLA,@R0 ADDA,#01H DAA MOVR2,A ANLA,#0FH MOV@R0,A MOVA,R2 ANLA,#0F0H SWAPA INCR0 MOV@R0,A RETCLR00:MOV@R0,#00HDECR0 MOV@R0,#00H RET;鍵掃描子程序KEY: LCALLKEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序JZEXIT ;沒(méi)有鍵按下.轉(zhuǎn)返回 LCALL DISP ;調(diào)顯示子程序去抖動(dòng) LCALL DISPLCALLKEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序JZEXIT ;沒(méi)有鍵按下.轉(zhuǎn)返回 MOV B, 20H ;保存取反后的鍵值KEYSF: LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序 JZ KEY1 ;鍵釋放.轉(zhuǎn)恢復(fù)鍵值 LCALL DISP LCALLDISP ;調(diào)顯示子程序延時(shí)LJMPKEYSF ;等待釋放KEY1: MOV20H, B ;鍵值送20H保存EXIT: RET ;子程序返回;P1口數(shù)據(jù)處理子程序KEYCHULI:PUSHPSW ;保護(hù)現(xiàn)場(chǎng) CLR RS1 ;改變當(dāng)前寄存器組為組
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電焊工施工合同協(xié)議書
- 湖北省隨州市部分高中2024-2025學(xué)年高一下學(xué)期2月聯(lián)考地理試卷(含答案)
- 洗衣設(shè)備購(gòu)銷合同共
- 健身房運(yùn)營(yíng)管理作業(yè)指導(dǎo)書
- 會(huì)議策劃與活動(dòng)執(zhí)行服務(wù)協(xié)議
- 健康科技在老年健康管理中的應(yīng)用解決方案
- 水利建設(shè)工程施工合同協(xié)議書
- 大學(xué)生科普小說(shuō)讀后感
- 觀看紀(jì)錄片長(zhǎng)江觀后感
- 車隊(duì)土石方運(yùn)輸合同
- 2025年榆林市公共交通總公司招聘(57人)筆試參考題庫(kù)附帶答案詳解
- 醫(yī)院培訓(xùn)課件:《多發(fā)性骨髓瘤》
- 【新】部編人教版小學(xué)4四年級(jí)《道德與法治》下冊(cè)全冊(cè)教案
- DZ/T 0462.8-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第8部分:硫鐵礦、磷、硼、天然堿、鈉硝石(正式版)
- 部編版三年級(jí)下冊(cè)語(yǔ)文全冊(cè)教案表格版
- JTS 144-1-2010 港口工程荷載規(guī)范
- 產(chǎn)液剖面介紹
- 美國(guó)UNF和unc螺紋標(biāo)準(zhǔn)
- 河北省省直行政事業(yè)單位資產(chǎn)(房屋)租賃合同書(共7頁(yè))
- 220kV、110kV設(shè)備基礎(chǔ)施工方案
- 白龍庵隧道出口端仰坡監(jiān)測(cè)專項(xiàng)方案
評(píng)論
0/150
提交評(píng)論