版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、序號(hào)(學(xué)號(hào)):序號(hào)(學(xué)號(hào)): 吉林建筑大學(xué)城建學(xué)院吉林建筑大學(xué)城建學(xué)院 51 單片機(jī)數(shù)字秒表設(shè)計(jì)報(bào)告 姓姓 名名張肖肖 系系 別別電氣信息工程系 專專 業(yè)業(yè)測(cè)控技術(shù)與儀器 班班 級(jí)級(jí)測(cè)控 11-1 2014 年5月30日 目錄目錄 摘要摘要.I I ABSTRACTABSTRACT.IIII 第一章第一章 引言引言.1 1 1.1 秒表的概述 .1 1.2 本設(shè)計(jì)任務(wù) .1 1.3 系統(tǒng)主要功能 .2 第二章第二章 硬件設(shè)計(jì)硬件設(shè)計(jì).3 3 2.1 總體方案的設(shè)計(jì) .3 2.2 單片機(jī)的選擇 .4 2.3 各部分電路設(shè)計(jì) .5 2.3.1 系統(tǒng)時(shí)鐘電路的設(shè)計(jì).5 2.3.2 系統(tǒng)復(fù)位電路的設(shè)計(jì)
2、.6 2.3.3 按鍵與按鈕電路設(shè)計(jì) .7 2.4 顯示電路的選擇與設(shè)計(jì) .7 2.4.1 數(shù)碼管的內(nèi)部結(jié)構(gòu).8 2.4.2 數(shù)碼管的外部結(jié)構(gòu) .8 2.5 系統(tǒng)總體電路的設(shè)計(jì) .9 第三章第三章 軟件設(shè)計(jì)軟件設(shè)計(jì).1111 3.1 主程序設(shè)計(jì) .11 3.2 中斷程序設(shè)計(jì) .12 第四章第四章 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.1616 第五章第五章 總結(jié)總結(jié).1717 參考文獻(xiàn)參考文獻(xiàn).1818 摘要摘要 近年來隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)的應(yīng)用正在不斷發(fā)展。本文闡述了基于 51 單片機(jī) 的數(shù)字秒表的設(shè)計(jì)。計(jì)時(shí)秒表是一種先進(jìn)的電子計(jì)數(shù)器,較多的應(yīng)用在教學(xué)器材、比賽計(jì)時(shí) 等,而且采用數(shù)字顯示,具有直觀、讀取方
3、便、功能方便等諸多優(yōu)點(diǎn)。本設(shè)計(jì)是由硬件電路 和軟件程序兩部分組成,硬件電路由 AT89C51 單片機(jī)、按鍵控制電路、數(shù)碼顯示電路、晶振 電路以及復(fù)位電路組成,它使用元件少,電路結(jié)構(gòu)簡(jiǎn)單,功能強(qiáng)大;軟件采用 C 語言程序設(shè) 計(jì),使用 keil 編譯源程序,產(chǎn)生的可執(zhí)行性文件能夠讓單片機(jī)快速執(zhí)行。該設(shè)計(jì)充分利用 單片機(jī)內(nèi)部資源,通過程序利用定時(shí)器中斷服務(wù)程序?qū)τ?jì)時(shí)秒表開始、暫停、清零等操作進(jìn) 行處理,提高單片機(jī)的工作效率,使得系統(tǒng)能實(shí)現(xiàn) 099 秒的計(jì)時(shí)。 關(guān)鍵字關(guān)鍵字:51 單片機(jī) ;秒表;定時(shí)器;中斷服務(wù)程序 ABSTRACT advanced electronic counter, more
4、 application in teaching equipment, timing, etc., and adopts digital display, intuitive, easy to read, convenient features, and many other advantages. This design is consists of two parts, hardware circuit and software program, the hardware circuit is controlled by AT89C51, key circuit, digital disp
5、lay circuit, crystals circuit and reset circuit, it USES less component, the circuit structure is simple, powerful; Software using C language program design, use the keil compiler source code, can let the enforceability file microcontroller rapid execution. This design make full use of the single ch
6、ip microcomputer internal resources, through the application using the timer interrupt service routine for timing stopwatch start, pause, reset operations such as processing, improve the work efficiency of the single chip microcomputer system can realize the timing of 0 99 seconds. Key words: 51 sin
7、gle chip, microcomputer A stopwatch,The timer, Interrupt service routin 第一章第一章 引言引言 20 世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎 滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的 提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越 快。 時(shí)間對(duì)于我們每個(gè)人來說都是很寶貴的,市場(chǎng)上出現(xiàn)的各式個(gè)樣的鐘表都 很受消費(fèi)者的歡迎和喜愛,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便, 滿足大家的需求,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、 按時(shí)自動(dòng)
8、打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、定時(shí)啟閉電路、定時(shí)開關(guān)烘箱、 通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等等,所有這些,都是以鐘表數(shù) 字化為基礎(chǔ)的。 本秒表設(shè)計(jì)就是利用單片機(jī)體積小、成本低、抗干擾能力強(qiáng)、面向控制、 可以實(shí)現(xiàn)分機(jī)各分布式控制等優(yōu)點(diǎn),采用目前市場(chǎng)上性能價(jià)格比較高的 MCS-52 單片機(jī)設(shè)計(jì)而成的最小系統(tǒng)。 1.11.1 秒表的概述秒表的概述 秒表是電器制造,電國(guó),工業(yè)自動(dòng)化控制、國(guó)防、實(shí)驗(yàn)室及科研單位理想 的計(jì)時(shí)儀器,它廣泛應(yīng)用于各種繼電器、電磁開關(guān),控制器、廷時(shí)器、定時(shí)器 等的時(shí)間測(cè)試。目前所使用的電秒表大多是指針式或集成電路型的,結(jié)構(gòu)相對(duì) 復(fù)雜、測(cè)試功能單一。但我們這次設(shè)計(jì)的
9、秒表比較簡(jiǎn)單,所以使用很簡(jiǎn)單。 1.21.2 本設(shè)計(jì)任務(wù)本設(shè)計(jì)任務(wù) 利用 AT89C51 單片機(jī)來制作一個(gè)手動(dòng)計(jì)數(shù)器,在 AT89C51 單片機(jī)的 P3.5 管 腳接一個(gè)輕觸開關(guān),作為手動(dòng)計(jì)數(shù)的按鈕,用單片機(jī)的 P0.0P0.7 接兩個(gè)共陽 數(shù)碼管,作為 0099 計(jì)數(shù)的位顯示。 (1)按下開始鍵后,開始計(jì)時(shí)。 (2) 按下暫停鍵后,計(jì)時(shí)停止。 (3) 按下清零鍵后,計(jì)時(shí)歸零。 1.31.3 系統(tǒng)主要功能系統(tǒng)主要功能 99 秒計(jì)時(shí)器主要是用在精確計(jì)時(shí)方面。比如:學(xué)校里的校運(yùn)會(huì)、答題倒 計(jì)時(shí)等方面。它通過一個(gè)按鍵來控制它的開和停,它能及時(shí)有效的記錄瞬間時(shí) 間。而且它在我們生活中運(yùn)用很廣泛,希望我
10、們做的這個(gè)計(jì)時(shí)器對(duì)以上方面有 所幫助。它也許比較簡(jiǎn)單,而且有可能達(dá)不到很多人的要求,但我相信通過我 們過一步的學(xué)習(xí),我們一定會(huì)制造出更好的系統(tǒng),為社會(huì)大眾服務(wù)。 第二章第二章 硬件設(shè)計(jì)硬件設(shè)計(jì) 2.12.1 總體方案的設(shè)計(jì)總體方案的設(shè)計(jì) 數(shù)字秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛應(yīng)用。 本設(shè)計(jì)中用單片機(jī)和數(shù)碼管組成數(shù)字秒表力求結(jié)構(gòu)簡(jiǎn)單。 設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。硬件電路主要有主控制器、 控制按鈕與顯示電路組成。主控制器采用單片機(jī) AT89S52,顯示電路采用兩位 共陽極數(shù)碼管顯示計(jì)時(shí)時(shí)間。 本設(shè)計(jì)利用 AT89S52 單片機(jī)的定時(shí)器,使其能精確計(jì)時(shí)。利用中斷系
11、統(tǒng)使 其實(shí)現(xiàn)啟動(dòng)和暫停的功能,P0 口輸出段碼數(shù)據(jù),P2.0P2.1 連上譯碼器作為位 選,P3.2 和 P3.3 接口的兩個(gè)按鈕分別實(shí)現(xiàn)啟動(dòng)和暫停功能。設(shè)計(jì)的基本要求 是正確性。硬件電路按下圖 2-1 進(jìn)行設(shè)計(jì)。 AT89C52AT89C52 單片機(jī)單片機(jī) 控制開關(guān)控制開關(guān) 兩位數(shù)碼管兩位數(shù)碼管 位控制位控制 圖圖 2-1 硬件設(shè)計(jì)總框圖硬件設(shè)計(jì)總框圖 計(jì)時(shí)器采用 T0 中斷實(shí)現(xiàn),定時(shí)溢出中斷周期為 1ms,當(dāng)溢出中斷后向 CPU 發(fā)出溢出中斷請(qǐng)求,每發(fā)出 1000 次中斷請(qǐng)求就對(duì) 1s 位(即最后一位)加 1,1s 位加到 10 就對(duì) 10s 位加 1,以此類推,直到 99s 為止。 再看
12、按鍵的處理。兩個(gè)按鍵采用中斷的方法,設(shè)置外部中斷 0 和外部中斷 1 位脈沖邊沿觸發(fā)方式,這樣一來每當(dāng)按鍵按下時(shí)便會(huì)觸發(fā)中斷,從而實(shí)現(xiàn)啟 動(dòng)和暫停。 2.22.2 單片機(jī)的選擇單片機(jī)的選擇 本設(shè)計(jì)在選取單片機(jī)時(shí),充分借鑒了許多成型產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn)。并 根據(jù)自己的實(shí)際情況,選用了 ATMEL 公司的 AT89S52。 ATMEL 公司的 89 系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的 電擦寫操作、低廉的價(jià)格完全替代了 87C51/62 和 8751/52,低電壓、低功耗, 有 DIP、PLCC、QFP 封裝,是目前性能最好、價(jià)格最低、最受歡迎的單片機(jī)之一。 AT89S52 為 40
13、 腳雙列直插封裝的 8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的 C51 內(nèi)核,在內(nèi)部功能及管腳排布上與通用的 8XC52 相同,其主要用于匯聚調(diào)整時(shí) 的功能控制。功能包括對(duì)匯聚主 IC 內(nèi)部寄存器、數(shù)據(jù) RAM 及外部接口等功能部 件的初始化,匯聚調(diào)整控制,匯聚測(cè)試圖控制等。 AT89S52 單片機(jī)采用 40 腳的 DIP 封裝,如下圖 2-2 所示。 圖圖 2-22-2 80C5180C51 引腳圖引腳圖 (1)主電源引腳 Vss 和 Vcc Vss 接地 Vcc 正常操作時(shí)為+5V 接地,外接晶振引腳 XTAL1 和 XTAL2 a、XTAL1 內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的一個(gè)引腳
14、。當(dāng) 采用外部振蕩時(shí),此引腳接地。 b、XTAL2 內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的的另一端。當(dāng) 采用外部振蕩時(shí),此引腳接外部振蕩源。 (2)控制或與其他電源復(fù)用引腳 a、RST/VPD 當(dāng)振蕩器運(yùn)行是,在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由 低到高跳變) ,將使單片機(jī)復(fù)位在 Vcc 掉電期間,此引腳可接上備用電源,由 VPD 向內(nèi)部提供備用電源,以保持內(nèi)部 RAM 中的數(shù)據(jù)。 b、ALE/PROG 正常操作時(shí)為 ALE 功能(允許地址鎖存)提供把地址的低字 節(jié)鎖存到外部存儲(chǔ)器,ALE 引腳以不變的頻率(振蕩器頻率的 1/6)周期性的發(fā) 出正脈沖信號(hào)。因此,它可以用作對(duì)外輸出的時(shí)鐘
15、,或用于定時(shí)目的。 c、PSEN 外部程序存儲(chǔ)器讀選通信號(hào)輸出端,在從外部程序存儲(chǔ)取指令 (或數(shù)據(jù))期間,PSEN 在每個(gè)機(jī)器周期內(nèi)兩次有效。 d、EA/Vpp 內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng) EA/Vpp 位高電 平時(shí),訪問內(nèi)部程序存儲(chǔ)器,當(dāng) EA/Vpp 為低電平時(shí),則訪問外部程序存儲(chǔ)器。 對(duì)于 EPROM 編程期間,此引腳上加 21VEPROM 編程電源(Vpp) 。 (3)輸入/輸出引腳 P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0P3.7。 a、P0 口(P0.0P0.7)是一個(gè) 8 位漏極開路型雙向 I/O 口,在訪問外部存 儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)
16、地址和數(shù)據(jù)總線,P0 口能以吸收電流的方式驅(qū) 動(dòng)八個(gè) LSTTL 負(fù)載。 b、P1 口(P1.0P1.7)是一個(gè)帶有內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 I/O 口。能 驅(qū)動(dòng)四個(gè) LSTTL 負(fù)載。 c、P2 口(P2.0P2.7)是一個(gè)帶有內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 I/O 口,在 訪問外部存儲(chǔ)器時(shí),它輸出高 8 位地址。P2 口可以驅(qū)動(dòng)四個(gè) LSTTL 負(fù)載。 d、P3 口(P3.0P3.7)是一個(gè)帶有內(nèi)部上拉電阻的 8 位準(zhǔn)雙向 I/O 口。能 驅(qū)動(dòng)四個(gè) LSTTL 負(fù)載。 2.32.3 各部分電路設(shè)計(jì)各部分電路設(shè)計(jì) 2.3.12.3.1 系統(tǒng)時(shí)鐘電路的設(shè)計(jì)系統(tǒng)時(shí)鐘電路的設(shè)計(jì) 80C52 單片
17、機(jī)內(nèi)有一個(gè)高增益反相放大器,其頻率范圍為 1.2MHz12MHz,XTAL1 和 XTAL2 分別為放大器的輸入端和輸出端。時(shí)鐘可以由 內(nèi)部方式或外部方式產(chǎn)生。 80C52 內(nèi)部方式時(shí)鐘電路如圖 2-3(a)所示。在 XTAL1 和 XTAL2 引腳上外 接定時(shí)元件,就能構(gòu)成自激振蕩電路。定時(shí)元件通常采用石英晶體和電容組成 的并聯(lián)諧振電路。電容器 C1 和 C2 主要起頻率微調(diào)作用,電容值可選取為 30pF 左右(外接晶體時(shí))或 40pF 左右(外接陶瓷諧振器時(shí)) 。 80C52 外部方式時(shí)鐘電路如圖 2-3(b)所示。XTAL1 接外部振蕩器,XTAL2 懸空。對(duì)外部振蕩信號(hào)無特殊要求,只要
18、保證脈沖寬度,一般采用頻率低于 12MHz 的方波信號(hào)。 圖圖 2-32-3 80C5180C51 單片機(jī)的時(shí)鐘電路單片機(jī)的時(shí)鐘電路 2.3.22.3.2 系統(tǒng)復(fù)位電路的設(shè)計(jì)系統(tǒng)復(fù)位電路的設(shè)計(jì) 電路中 C3、R15 組成復(fù)位電路,該電路采用的是上電復(fù)位,即整個(gè)系統(tǒng)從 新開始工作。復(fù)位電路有很多種,分別可由不同的元件組成,可靠性也各有不 同,本設(shè)計(jì)采用簡(jiǎn)單的上電復(fù)位。如圖 2-4 所示。 圖圖 2-42-4 復(fù)位電路復(fù)位電路 2.3.32.3.3 按鍵與按鈕電路設(shè)計(jì)按鍵與按鈕電路設(shè)計(jì) 本設(shè)計(jì)中只使用一個(gè)按鍵開關(guān) SET,來對(duì)時(shí)、分、秒進(jìn)行調(diào)整。SET 還作為復(fù)位按鈕,也可以進(jìn)入省電(不顯示 LE
19、D 數(shù)碼管)和正常顯示三種狀態(tài)。 圖 2-5 所示為按鈕電路。 圖圖 2-52-5 按鈕電路按鈕電路 2.42.4 顯示電路的選擇與設(shè)計(jì)顯示電路的選擇與設(shè)計(jì) 對(duì)于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對(duì)于一般的段式液 晶屏,需要專門的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性差,不 適合遠(yuǎn)距離觀看;對(duì)于具有驅(qū)動(dòng)電路和單片機(jī)接口的液晶顯示模塊,一般多采 用并行接口,對(duì)單片機(jī)的接口要求較高,占用資源多;另外,AT89S52 單片機(jī) 本身沒有專門的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、 響應(yīng)速度快、價(jià)格便宜、易于購買等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺效果,很適合夜 間或者遠(yuǎn)距離操作
20、。因此在本設(shè)計(jì)中,我們采用 7 段數(shù)碼管作為顯示介質(zhì)。 數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用兩位 數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜,所以采用動(dòng) 態(tài)顯示。 驅(qū)動(dòng)數(shù)碼管采用動(dòng)態(tài)顯示。動(dòng)態(tài)驅(qū)動(dòng)是將所有的數(shù)碼管的 8 個(gè)顯示筆畫 “a,b,c,d,e,f,g,dp”的同名端連在一起,另外每個(gè)數(shù)碼管中的公共極 COM 增 加位選通控制電路,位選通由各自獨(dú)立的 I/O 線控制,通過分時(shí)輪流控制各個(gè) 數(shù)碼管的 COM 端,就使各個(gè)數(shù)碼管輪流受控制顯示。 P0 口加上拉電阻, P0 端口必須外接上拉電阻才能正常輸出“0”和“1” 電平,保證 P1 端口所接的 L
21、ED 數(shù)碼管能夠正常顯示數(shù)字,和軟件相配合來驅(qū)動(dòng) 數(shù)碼管顯示。 2.4.1 數(shù)碼管的內(nèi)部結(jié)構(gòu)數(shù)碼管的內(nèi)部結(jié)構(gòu) 數(shù)碼管的結(jié)構(gòu)有單個(gè)數(shù)碼管和集成數(shù)碼管(即一個(gè)封裝內(nèi)至少有兩個(gè)數(shù)碼 管集成在一起)兩種,結(jié)構(gòu)圖如圖 7 所示,其中(a)為數(shù)碼管的引腳圖,有 共陰極和共陽極兩種。本設(shè)計(jì)采用共陽極數(shù)碼管,其內(nèi)部結(jié)構(gòu)圖如圖(b)所示。 它們都是由基本的 7 個(gè)條狀的發(fā)光二極管(LED)排列而成的,可實(shí)現(xiàn)數(shù)字“0- 9”及少量字符的顯示。另外,為了顯示小數(shù)點(diǎn),增加了 1 個(gè)點(diǎn)狀的發(fā)光二極管, 因此數(shù)碼管就由 8 個(gè) LED 組成,把這些發(fā)光二極管命名為 “a、b、c、d、e、f、g、DP”,對(duì)應(yīng)引腳如圖 2-
22、6 所示。 圖圖 2-62-6 數(shù)碼管的內(nèi)部結(jié)構(gòu)與引腳圖數(shù)碼管的內(nèi)部結(jié)構(gòu)與引腳圖 2.4.2 數(shù)碼管的外部結(jié)構(gòu)數(shù)碼管的外部結(jié)構(gòu) 數(shù)碼管的外部結(jié)構(gòu)圖,如圖 2-7 所示。 圖圖 2-72-7 數(shù)碼管的外部結(jié)構(gòu)圖數(shù)碼管的外部結(jié)構(gòu)圖 動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式 稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè) 8 位的 I/O 口 控制;各位的公共陽極位選線由另外的 I/O 口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù) 碼管輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位 數(shù)碼管并送出相應(yīng)的段碼,在另一時(shí)刻選通另一數(shù)碼管,并送出相應(yīng)的段碼, 依次規(guī)律循
23、環(huán),即可以使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在 不同時(shí)刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短 就可以給人同時(shí)顯示的感覺。數(shù)碼管顯示總體框圖如下圖 2-8 所示。 AT89C52 段 驅(qū) 動(dòng) 位 驅(qū) 動(dòng) 兩位數(shù)碼管 圖圖 2-82-8 數(shù)碼管顯示總體框圖數(shù)碼管顯示總體框圖 2.52.5 系統(tǒng)總體電路的設(shè)計(jì)系統(tǒng)總體電路的設(shè)計(jì) 系統(tǒng)總體電路如下圖 2-9 所示。 AT89S52 單片機(jī)為主電路的核心部分,各個(gè)電路均與單片機(jī)相連,由單片 機(jī)統(tǒng)籌協(xié)調(diào)各個(gè)電路的運(yùn)行工作。 開始鍵和暫停鍵使用了外部中斷,所以需要連到單片機(jī)的 P3.2 和 P3.3 引 腳上,這兩個(gè) I/
24、O 口的第二功能是單片機(jī)的外部中斷 0 端口和外部中斷 1 端口。 顯示電路由四位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有 8 位段控制和 2 位位控制,8 位段控制位接 P0 口,P0.0P0.7 分別控制數(shù)碼管的 a b c d e f g dp 顯示,位控制分別接在 P2.0 和 P2.1 口實(shí)現(xiàn)位控制。 圖圖 2-92-9 系統(tǒng)總體電路系統(tǒng)總體電路 第三章第三章 軟件設(shè)計(jì)軟件設(shè)計(jì) 3.13.1 主程序設(shè)計(jì)主程序設(shè)計(jì) 本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷 0 服務(wù)程序 和外部中斷 1 服務(wù)程序組成。其中主程序是整個(gè)程序的主體。可以對(duì)各個(gè)中斷 程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序之間
25、的關(guān)系。 主程序主要是設(shè)置定時(shí)器大的工作模式,對(duì)定時(shí)器賦初值,開總中斷、兩 個(gè)外部中斷以及定時(shí)器溢出中斷。并設(shè)置外部中斷為脈沖邊沿觸發(fā)方式。其主 程序執(zhí)行流程見圖 3-1 所示。 顯示單元清零 TR0 設(shè)為計(jì)數(shù)器模式 允許中斷 調(diào)用顯示子程序 TR0=0? 進(jìn)入計(jì)時(shí)程序 N Y 開始 圖圖 3-13-1 主程序流程圖主程序流程圖 3.23.2 中斷程序設(shè)計(jì)中斷程序設(shè)計(jì) 本方案中用到了三個(gè)中斷:外部中斷 0、外部中斷 1 和定時(shí)器 T0 溢出中斷。 CPU 在響應(yīng)中斷時(shí),先處理高級(jí)中斷,后處理低級(jí)中斷,若有多個(gè)同級(jí)中斷時(shí), 則應(yīng)按自然優(yōu)先順序處理。例如當(dāng) CPU 正在處理一個(gè)中斷申請(qǐng)時(shí),又出現(xiàn)了
26、另 一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,這時(shí),CPU 就暫停對(duì)當(dāng)前優(yōu)先級(jí)較低的中斷源 的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級(jí)比它高的中斷請(qǐng)求,并為其服務(wù)。待服務(wù)結(jié)束,再繼 續(xù)執(zhí)行原來較低級(jí)的中斷服務(wù)程序。而當(dāng) CPU 為級(jí)別高的中斷服務(wù)程序服務(wù)時(shí), 如果級(jí)別低的中斷發(fā)出中斷請(qǐng)求,此時(shí) CPU 是不會(huì)響應(yīng)的,所以為了避免開始 和暫停兩個(gè)按鍵中的一個(gè)出現(xiàn)沒有響應(yīng)的情況,在進(jìn)行編程是要注意中斷的使 用,避免出現(xiàn)中斷的嵌套。合理分配中斷對(duì)本設(shè)計(jì)是很重要的。 (1)外部中斷 0 服務(wù)程序 外部中斷 0 服務(wù)程序結(jié)合外部 P3.2 鍵實(shí)現(xiàn)數(shù)字秒表的啟動(dòng)功能。流程如下 圖 3-2 所示。 圖圖 3-23-2 外部中斷外部中斷 0
27、0 服務(wù)程序框圖服務(wù)程序框圖 (2)外部中斷 1 服務(wù)程序 外部中斷 1 服務(wù)程序結(jié)合外部 P3.3 鍵實(shí)現(xiàn)數(shù)字秒表的停止功能。 流程圖如下圖 3-3 所示。 圖圖 3-33-3 外部中斷外部中斷 1 1 服務(wù)程序框圖服務(wù)程序框圖 (3)定時(shí)器 T0 中斷服務(wù)程序 當(dāng) T0=1 后,向 CPU 發(fā)出中斷請(qǐng)求信號(hào)。CPU 跳轉(zhuǎn)到定時(shí)中斷程序執(zhí)行。當(dāng) 中斷次數(shù)為 1000 時(shí)為 1s。具體流程如下: 定時(shí)器中斷入口重置計(jì)數(shù)初值 中斷次數(shù)加 1 中斷次數(shù)等于 1000?中斷次數(shù)清零, 1 秒位加 1 1 秒位到 10?1 秒位清零, 10 秒位加 110 秒位到 10? 10 秒位清零中斷返回。 3
28、.33.3 程序清單程序清單 #include sbit TR1=P35; unsigned int data table= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8, 0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e; /顯示碼值 unsigned int i,j,count; void delay(unsigned int z) /延時(shí)程序 unsigned int x; for(x=z;x!=0;x-); void ex0() interrupt 0 /外部中斷 0 TR0=1; /開定時(shí)
29、器,開始計(jì)數(shù) void ex1() interrupt 2 /外部中斷 0 TR0=0; /停止計(jì)數(shù) void timer0() interrupt 1 /定時(shí)器 T0 溢出中斷 TH0=0 xfc; /重裝計(jì)數(shù)初值 TL0=0 x18; count+; /溢出中斷次數(shù)加一 if(count=1000) count=0; i+; /溢出 1000 次,1s 位加一 if(i=10) i=0; /1s 位到 10 了,清零,10s 位加一 j+; if(j=10) j=0; /10s 位到 10 了,清零 void main() TMOD=0 x01; /設(shè)置定時(shí)器為模式 1 TH0=0 xfc
30、; TL0=0 x18; EA=1; /開中斷 EX0=1; EX1=1; ET0=1; IT0=1; /設(shè)置外部中斷位脈沖邊沿觸發(fā)方式 IT1=1; while(1) / 數(shù)碼顯示 if(!TR1) count=0; i=0; j=0; TR0=0; P0=0 xff; /消除鬼影 P2=0 x02; P0=tablei; delay(10); P0=0 xff; P2=0 x01; P0=tablej; delay(10); 第四章第四章 系統(tǒng)調(diào)試系統(tǒng)調(diào)試 Proteus ISIS 是英國(guó) Labcenter 公司開發(fā)的電路分析與實(shí)物仿真軟件,它 可以仿真、分析各種模擬器件和集成電路。該軟
31、件的主要特點(diǎn)為:實(shí)現(xiàn)了單片 機(jī)仿真和 SPICE 電路仿真相結(jié)合的功能,支持目前主流單片機(jī)系統(tǒng)的仿真,提 供了軟件調(diào)試的功能,具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單 片機(jī)和 SPICE 分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中起到了很 大的作用,它的出現(xiàn)仿真不需要先焊接電路板,可以先仿真調(diào)試通過之后再焊 接電路,節(jié)省了不少在硬件調(diào)試上花費(fèi)的時(shí)間。 打開已經(jīng)畫好的 Proteus DSN 文件,雙擊圖中的 AT89S52 芯片,就彈出一 個(gè)窗口,在 program file 項(xiàng)中通過路徑選擇在 keil 中生成 hex 文件,雙擊選 中后確定,這樣仿真圖中的 AT89C52 芯片就已經(jīng)讀取了本設(shè)計(jì)中的 hex 文件, 然后進(jìn)行仿真。 在調(diào)試中遇到的問題: 1 本設(shè)計(jì)電源是采用 5V 直流電源直接供電,故在硬件電板的焊接中直接采 用 5V 電源供電。 2 在對(duì)軟件電路仿真時(shí),電路的輸出電壓較低,致使電路軟件不能達(dá)到預(yù) 定效果。經(jīng)過檢查,是引腳接錯(cuò)。 3 在對(duì)各元器件的檢查發(fā)現(xiàn),由于硬件電路的焊接過程中的疏忽。個(gè)別色 環(huán)電阻阻值與要求有差別,阻礙了硬件電路的調(diào)試,經(jīng)過仔細(xì)核對(duì),排除了這 些問題。 4
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Sanggenon-F-生命科學(xué)試劑-MCE
- Sabinene-Standard-生命科學(xué)試劑-MCE
- 2023年陜煤電力略陽有限公司招聘考試真題
- 2024年生育保險(xiǎn)服務(wù)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 白酒產(chǎn)品招商方案
- 2024年木工雕刻機(jī)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 病蟲草模型研究報(bào)告
- 病房呼叫機(jī)課程設(shè)計(jì)
- 班組自主管理方案
- 2024年真空管太陽熱水器項(xiàng)目申請(qǐng)報(bào)告
- 《等比數(shù)列的通項(xiàng)公式》示范課教案【高中數(shù)學(xué)蘇教版教學(xué)設(shè)計(jì)】
- 愛國(guó)主義主題班會(huì)
- 電力電子技術(shù)課程設(shè)計(jì)-NE555驅(qū)動(dòng)的BUCK降壓電路
- 前列腺癌化療護(hù)理常規(guī)
- 公司負(fù)責(zé)人履職待遇和業(yè)務(wù)支出情況自查報(bào)告范文集團(tuán)企業(yè)工作匯報(bào)總結(jié)
- GB/T 5699-2017采光測(cè)量方法
- GB/T 22806-2008白卡紙
- GB/T 1910-1999新聞紙
- GB/T 12611-2008金屬零(部)件鍍覆前質(zhì)量控制技術(shù)要求
- 藥物性肝損害
- 部編版二年級(jí)上冊(cè)語文課件語文園地五-教學(xué)課件
評(píng)論
0/150
提交評(píng)論