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

下載本文檔

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

文檔簡(jiǎn)介

1、 單片機(jī)系統(tǒng) 計(jì)設(shè) 程課 成績(jī)?cè)u(píng)定表 設(shè)計(jì)課題 指導(dǎo)教師意見: 成績(jī): 簽名: 年 月 日 單片機(jī)系統(tǒng) 課 程 設(shè) 計(jì) 目錄 第1章 數(shù)字式秒表的設(shè)計(jì)介紹5 1.1設(shè)計(jì)任務(wù)及功能要求說明5 1.2工作原理及其方法5 第2章 數(shù)字式秒表硬件系統(tǒng)的設(shè)計(jì)7 2.1數(shù)字式秒表硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹7 2.1.1 AT89S52簡(jiǎn)介.7 2.1.2時(shí)鐘電路.8 2.1.3鍵盤電路8 2.1.4復(fù)位電路.9 2.1.5 驅(qū)動(dòng)及顯示電路9 2.1.6 單片機(jī)下載口電路10 2.2 數(shù)字式秒表的硬件系統(tǒng)設(shè)計(jì)圖11. 2.2.1 電路原理圖.11. 2.2.2 PCB圖11. 第3章 數(shù)字式秒表軟件系統(tǒng)的設(shè)

2、計(jì).11. 3.1 數(shù)字式秒表使用單片機(jī)資源情況11 3.2 主程序流程圖12. 3.3中斷服務(wù)程序流程圖12 3.4顯示程序流程圖14 3.5軟件系統(tǒng)程序清單.14 第4章 設(shè)計(jì)總結(jié)15 4.1 數(shù)字式秒表的設(shè)計(jì)結(jié)論及使用說明15 4.2 程序仿真與結(jié)果.15 4.3 誤差分析及解決方法16. 總結(jié)16 參考文獻(xiàn)17 附錄17 第1章 數(shù)字式秒表的設(shè)計(jì)介紹 1.1設(shè)計(jì)任務(wù)及功能要求說明 由單片機(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)功能。

3、 使用單片機(jī)AT89S52作為主要控制芯片,以四位一體共陽極數(shù)碼顯示管通過三極管驅(qū)動(dòng)作為顯示部分,設(shè)計(jì)一個(gè)具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”,進(jìn)入準(zhǔn)備工作狀態(tài)。該數(shù)字式1時(shí)、暫停計(jì)時(shí)、連續(xù)計(jì)時(shí)、清零和停止功能。 秒表通過按鍵控制可實(shí)現(xiàn)開始計(jì)1.2工作原理及其方法 使用AT89S52單片機(jī)作為核心控制部件,采用12M晶體振蕩器及微小電容構(gòu)成振蕩電路;采用S8550作為數(shù)碼管的驅(qū)動(dòng)部分;用兩個(gè)四位一體共陽極或共陰極數(shù)碼顯示管作為顯示部分,構(gòu)成數(shù)字式秒表的主體結(jié)構(gòu),配合獨(dú)立式鍵盤和復(fù)位電路完成此秒表的復(fù)位、計(jì)時(shí)、連續(xù)、清零、停止各項(xiàng)功能。 對(duì)于時(shí)鐘,它

4、有兩方面的含義:一是指為保障系統(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ù)器來實(shí)現(xiàn),但誤差很大,主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法。 LED數(shù)碼顯示器有如下兩種連接方法:共陽極接法:把發(fā)光二極管的陽極連 在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)

5、發(fā)光二極管的陽極通過電阻與輸入端相連。 鍵盤部分方案:鍵盤控制采用獨(dú)立式按鍵,每個(gè)按鍵的一端均接地,另一端直接和P1口相連,在按鍵和P1口之間通過10K電阻與+5V電源相連。鍵盤通過檢測(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è)顯示筆劃慜戩挬搬攬昬本搬屰的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)

6、輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。動(dòng)態(tài)顯示是利用人眼視覺暫留特性來實(shí)現(xiàn)顯示的。事實(shí)上,顯示器上任何時(shí)刻只有一個(gè)數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時(shí)間間隔短、節(jié)奏快,人的眼睛反應(yīng)不過來,因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時(shí)的時(shí)間在1ms左右,不能太長(zhǎng),也不能太短。本設(shè)計(jì)可采用P0口直接驅(qū)動(dòng)八段數(shù)碼管顯示。此方案成本低,而且單片機(jī)的I/

7、O口占用較少,可以節(jié)約單片機(jī)接口資源,而且功耗更低。 此電路采用單片機(jī)的P0口作為數(shù)碼顯示管的段控,采用P2口作為數(shù)碼管的位控。8個(gè)獨(dú)立式鍵盤分別接在單片機(jī)的P1口上,以及其他部分構(gòu)成數(shù)字式秒表的硬件電路。通過編寫程序使用單片機(jī)的定時(shí)計(jì)數(shù)器,以及軟件延時(shí),中斷資源來實(shí)現(xiàn)秒計(jì)時(shí)和相關(guān)控制。此數(shù)字式秒表的硬件整體結(jié)構(gòu)如圖1-1所示。 振蕩電路 示 AT89S52 限流 獨(dú)立式鍵盤 復(fù)位電路 圖 1-1數(shù)字式秒表的硬件結(jié)構(gòu)圖 第2章 數(shù)字式秒表硬件系統(tǒng)的設(shè)計(jì) 2.1數(shù)字式秒表硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹 2.1.1 AT89S52簡(jiǎn)介 (1) 與MCS-51產(chǎn)品相兼容; (2) 具有8KB可改寫的Fl

8、ash 內(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所示。 引腳圖AT89S522-1 圖單片機(jī) 2.1.2時(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è)高增

9、益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳TXAL2,在芯片的外部通過這兩個(gè)引角跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。 此電路采用12MHz的石英晶體。時(shí)鐘電路如圖2-2: 圖2-2 時(shí)鐘電路 2.1.3鍵盤電路 本設(shè)計(jì)使用獨(dú)立式鍵盤接在單片機(jī)的P1口上但通過軟件賦予其中三個(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ú)立式鍵盤電路圖 2.1.4復(fù)位

10、電路 復(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)超過4us才能完成復(fù)位操作。復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的。在本設(shè)計(jì)中采用了按鍵電平復(fù)位

11、方式,其復(fù)位電路如圖2-4所示: 復(fù)位電路2-4 圖 驅(qū)動(dòng)及顯示電路2.1.5 其兩端正向壓降約為數(shù)碼管實(shí)際上是由二極管構(gòu)成發(fā)光二級(jí)管正常工作時(shí), ,為了使數(shù)碼管達(dá)到一定的亮度而又不至于由于電流,正向電流約為10mA1.6v口上口和同時(shí)在S8550過大而損壞,我們使用三極管作為數(shù)碼管的驅(qū)動(dòng),P0P2 串上470歐姆的電阻。此處使用四位一體共陰極數(shù)碼管,由于驅(qū)動(dòng)電路決定了此處共陰極數(shù)碼管和共陽極數(shù)碼管均可以采用而且均采用共陽極代碼來編寫顯示程序,具體電路如圖2-5所示。 2-5 數(shù)碼管驅(qū)動(dòng)及顯示電路圖圖 單片機(jī)下載口電路2.1.6 下載線對(duì)單片機(jī)進(jìn)行程序USB下載口主要是一個(gè)十芯的座子,可以通過

12、使用 下載。方便整個(gè)軟件的設(shè)計(jì),也能讓我們使用起來更加方便。 2-6 圖單片機(jī)下載口電路圖 2.2 數(shù)字式秒表的硬件系統(tǒng)設(shè)計(jì)圖 2.2.1 電路原理圖 此處電路原理圖以及PCB原理圖的繪制均使用protel99軟件完成,Protel99是基于Win95/Win NT/Win98/Win2000的純32位電路設(shè)計(jì)制版系統(tǒng)。Protel99提供了一個(gè)集成的設(shè)計(jì)環(huán)境,包括了原理圖設(shè)計(jì)和PCB布線工具,集成的設(shè)計(jì)文檔管理,支持通過網(wǎng)絡(luò)進(jìn)行工作組協(xié)同設(shè)計(jì)功能。根據(jù)硬件接線要求設(shè)計(jì)繪制電路原理圖及PCB。具體電路圖見附錄A與附錄B。 2.2.2 PCB圖 PCB圖設(shè)計(jì)時(shí),首先要使元器件盡量少,這樣既可以節(jié)

13、約材料,又可以是布線更加短,減少干擾,同時(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.

14、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,通過設(shè)置該寄存器TR0位的狀態(tài)來控制定時(shí)/計(jì)數(shù)器0的啟動(dòng)/停止;中斷允許寄存器IE,通過設(shè)置該寄存器EA/ET0位的狀態(tài)來設(shè)置定時(shí)/計(jì)數(shù)器0中斷允許/禁止;定時(shí)/計(jì)數(shù)器工作方式寄存器TMOD,設(shè)置定時(shí)/計(jì)數(shù)器0的工作方式。 3.2 主程序流程圖 MAIN 定義堆棧 顯示緩沖單元清零 工作方式1 定時(shí)器0

15、 裝載計(jì)數(shù)初值 定時(shí)開始 開中斷設(shè)置循環(huán)次調(diào)用顯示子程等待定時(shí)中斷請(qǐng)鍵盤掃 主程序流程圖圖3-1 中斷服務(wù)程序流程圖3.3 N 是否滿8次 Y 1 毫秒值加N 是否滿60 Y 毫秒緩沖清零1 秒值加N 是否60S 秒顯緩沖清零1 分顯示加是否滿60 分顯示清零DISP 現(xiàn)場(chǎng)保護(hù) 寄存器初始化 顯示代碼查表 送段控代碼 送位控代碼 送段控代碼 位控代碼左移Y N Y 圖3-2 中斷服務(wù)程序流程圖 顯示程序流程圖3.4 延時(shí) N 8次?左移 Y 恢復(fù)現(xiàn)場(chǎng) 返回 顯示程序流程圖圖3-3 軟件系統(tǒng)程序清單3.5 Ckeil按照流程圖應(yīng)用軟件匯編語言編程實(shí)現(xiàn)秒表功能。程序見附錄。 第4章 設(shè)計(jì)總結(jié) 4.

16、1 數(shù)字式秒表的設(shè)計(jì)結(jié)論及使用說明 通過設(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)下按下清零鍵,無效。 4.2 程序仿真與結(jié)果 我們是在Keil軟件里編寫程序并編譯通過才能被硬件電路所應(yīng)用。Keil的 功能比較強(qiáng)大但還是有一定的缺點(diǎn)。他編譯過程中他只能檢查出所編寫的語法錯(cuò)誤,所以我們一步一步的去在硬件電路里仿真去達(dá)到我們所設(shè)計(jì)要求的功能。經(jīng)仿真修改和完善均已達(dá)到設(shè)計(jì)要求.“P.”顯示,電子鐘

17、準(zhǔn)備狀態(tài)與電子鐘自動(dòng)運(yùn)行狀態(tài)的仿真如下圖所示。 (1). “P.”顯示如圖4-1所示。 P”顯示圖圖4-1 “ 所示。4-2(2). 數(shù)字式秒表準(zhǔn)備狀態(tài)仿真的顯示如圖 準(zhǔn)備計(jì)時(shí)狀態(tài)圖4-2 數(shù)字式秒表運(yùn)行狀態(tài)的仿真如圖4-3所示。(3). 圖4-3 4.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ān)。 軟件原因:我們從外部中斷請(qǐng)求有效到轉(zhuǎn)向中斷區(qū)入口地址所需的機(jī)器周期數(shù)來計(jì)算中斷時(shí)間,51系列單片機(jī)最短響應(yīng)時(shí)間為3個(gè)機(jī)器周期。在一般情況下中斷

18、響應(yīng)時(shí)間通常無需考慮,但在精確定時(shí)的應(yīng)用場(chǎng)合需知道中斷響應(yīng)時(shí)間,以保證定時(shí)的精確控制。 硬件原因:?jiǎn)纹瑱C(jī)的時(shí)鐘信號(hào)是由外部的振蕩電路所提供,在芯片的外部通過接XATL1與XATL2這兩個(gè)引角跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。因?yàn)殡娮釉豢梢跃陀形覀兯O(shè)計(jì)的那么理想(電容的容量,振晶的輸出頻率)所以會(huì)造成我們的時(shí)間準(zhǔn)確。 針對(duì)這樣的問題我們就能只能從上述兩個(gè)方面入手去解決。軟件方面我們可以通過計(jì)算設(shè)計(jì)子程序去減少響應(yīng)的時(shí)差。硬件部分我們可以采用一些穩(wěn)定,精確度比較高的電子元件去完善,但是在最后調(diào)試出的還是有誤差但我盡可能的減少差誤差接近理想。 總結(jié): 同過這

19、幾天的實(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)容后覺得還是可以做的出來了,一開始不知道從哪里開始下手,于是問了一些人上網(wǎng)查了點(diǎn)資料,有些是c編還有些是匯編,于是參考了一下,也和別人一起探討了一下,在不

20、斷地求知中前進(jìn),最終編成了一個(gè)完整的程序,是自己對(duì)與多練有了跟進(jìn)一步的認(rèn)識(shí),明白動(dòng)手的重要性,努力走的更遠(yuǎn),盡自己的力為社會(huì)做一點(diǎn)貢獻(xiàn),也為自己創(chuàng)造一個(gè)未來! 參考文獻(xiàn) 1李朝青.單片機(jī)原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1988. 1Li Zhaoqing. SCM Theory and Interface Technology M. Beijing: Beijing Aerospace University Press, 1988. 2李勛等.單片機(jī)實(shí)用教程M.北京:北京航空航天大學(xué)出版社,2000 2 Li Xun and so on. microcontroller Pra

21、ctical Guide M. Beijing: Beijing Aerospace University Press, 2000 3王幸之等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)M. 北京:北京航空航天大學(xué)出版社,1999 3 Wangxing the other. microcomputer application system interference technology M. Beijing: Beijing Aerospace University Press, 1999 4何為民.低功耗單片微型計(jì)算機(jī)系統(tǒng)設(shè)計(jì)M. 北京:北京航空航天大學(xué)出版社,1994 4 What the people.

22、low-power single-chip micro-computer system design M. Beijing: Beijing Aerospace University Press, 1994 5李杏春等.8090單片機(jī)原理及實(shí)用接口技術(shù)M. 北京:北京航空航天大學(xué)出版社,1996 5 Li Xingchun such .8090 SCM Theory and practical interface technology M. Beijing: Beijing Aerospace University Press, 1996 附 錄 A 原理圖 DC22CDDEELL路電34pd

23、管g6f3edc2ba11DE4pdLgf3e5dc2ba174563210000000PPPPPPP412357864統(tǒng)系制控機(jī)片單32217534622222RRRRR00000777774444401322222PPPP56321042222222PPPPPPP65432172222222305241222222PPPPPP25S98TA01TT01NNTTII231453111145323333PPPPK0路1電盤鍵立獨(dú)CCVW1SSCCVCVPN8QP6dPN7QP8dPN6QP9dPN5QdddddCCVK0100P9300P01P1U101P215碼01數(shù)1247111DEL3P

24、21PN4QP6PN3QP8PN2QP9PN1QCEPB23211501124711043127650000000007RRRRRRRR4000000K77777744442447201354600000000PPPPPPPP0021222RRR00077744446572222PPPP43216570000000PPPPPPP2345786333333317654320000000PPPPPPP73251461111111PPPPPPP864325743625171111111PPPPPPP95468730P95J2NOC521PJDCDCVVDDVAA11DDDDDDDD214352EEE

25、DDDDDLLLK0PR321000PPP777RRR44402133333PPPPD2687EEEEEDDDLLLLLKJ路電7513062411111111CPPPPPPPPC燈V647500000PPPP水77777RRRR44444流6745WWWWWWWK3333PPSPSSSSSPS95432876SSSSSSSS88NN24OO8421365432876517PPCCJJ75427332661140503313131313113113PPPPPPPPPPPPPPPP插排單88NN13OO8421332154687657PPCCJJ7605152044331627202002020

26、0200222PPPPPPPPPPPPPPPPC)B 附錄 B 程序清單 ;項(xiàng)目名稱:秒表; ;設(shè)計(jì)者:高金科; ;設(shè)計(jì)日期:2013年12月; ;LED數(shù)碼管顯示器設(shè)定; ;P0.7-P0.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)/停

27、止(標(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(共陽數(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.020H.7分別對(duì)應(yīng)的是按鍵K1K8); ;專用寄存

28、組1,用在顯示子程序中 ;系統(tǒng)起始程序區(qū) ORG 0000H START: LJMP MAIN ORG 000BH LJMP PDJW ;系統(tǒng)監(jiān)控程序區(qū) ORG 0030H MAIN: MOV PSW, #00H MOV SP, #7FH ;確立堆棧區(qū) MOV R0, #20H ;RAM區(qū)首地址 MOV R7, #96 ;RAM區(qū)單元個(gè)數(shù) MOV TMOD, #01H SETB EA SETB ET0 ML: MOV R0, #00H INC R0 DJNZ R7, ML TSF: MOV DPTR, #DISBH ;系統(tǒng)初始化后提示符“P.”字符代碼表首地址 MOV R5, #08H MOV

29、 R0, #78H DISPTSF:CLR A MOVC A, A+DPTR MOV R0, A INC R0 INC DPTR DJNZ R5, DISPTSF KEY0: LCALL DISP LCALL KEY JB 20H.0, K1 JB 20H.1, K2 JB 20H.2, K3 LJMP KEY0 KEY00: LCALL KEY LCALL DISP JB 20H.2, K3 LJMP KEY00 K1: JB 22H.1, KEY0 ;如果此時(shí)為暫停狀態(tài),本次按鍵K1無效 CPL 22H.0 JB 22H.0, K01 ;高電平則計(jì)時(shí) CLR TR0 ;低電平則停止 LCA

30、LL DISP LJMP KEY00 K01: MOV 7AH, #12H ;從零開始計(jì)時(shí) MOV 7DH, #12H MOV 7FH, #10H MOV 78H, #00H MOV 79H, #00H MOV 7BH, #00H MOV 7CH, #00H MOV 7EH, #00H MOV 7FH, #00H LCALL DISP MOV TH0, #0D8H MOV TL0, #0F0H;啟動(dòng)定時(shí)器 SETB TR0 LJMP KEY0 ;判斷秒表是否啟動(dòng),如不是啟動(dòng)K2: JB 22H.0, K21 狀態(tài)則此次按鍵無效 LJMP KEY0 K21: CPL 22H.1 JB 22H.1

31、, K22;繼續(xù)計(jì)時(shí) SETB TR0 LJMP KEY0 ;暫停秒表 K22: CLR TR0 LCALL DISP LJMP KEY0 ;只有當(dāng)停止是,清零鍵才有效K3: JB 22H.0, KEY0 ;秒表清零MOV R0, #79H LCALL CLR00 MOV R0, #7CH LCALL CLR00 MOV R0, #7FH LCALL CLR00 LJMP KEY0 PDJW: PUSH PSW PUSH ACC;定時(shí)器以工作方式1MOV TMOD, #01H 工作 ;設(shè)定組號(hào)為2組 SETB RS1 CLR RS0 TH0, #0D8HMOV MOV #0F0HTL0, MO

32、V R0, #79H LCALL ADD01 ;判斷 CJNE R2, #99, RETT 秒到?jīng)]1 MOV R0, #7CH LCALL ADD01 CJNE R2, #60, RETT ;判斷60毫秒到?jīng)] LCALL CLR00 MOV R0, #7FH LCALL ADD01 CJNE R2, #60H, RETT ;判斷60分到?jīng)] LCALL CLR00 RETT: POP ACC POP PSW RETI ;常數(shù)表格區(qū) ;系統(tǒng)初始化后提示符“P.”字符代碼表; DISBH: DB 10H,10H,10H,10H,10H,10H,10H,11H ;提示符“P.”字符序號(hào) ;顯示字符段選

33、碼表(共陽極代碼) TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8 DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F,滅,p.,- 子程序區(qū); ADD01: MOV A, R0 DEC R0 SWAP A ORL A, R0 ADD A, #01H DA A MOV R2, A ANL A, #0FH MOV R0, A MOV A, R2 ANL A, #0F0H SWAP A INC R0 MOV R0, A RET CLR00: MOV R0, #00H DEC R0 MOV R0, #00H RET ;鍵掃描子程序 KEY: LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論