計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì)_第1頁(yè)
計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì)_第2頁(yè)
計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì)_第3頁(yè)
計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì)_第4頁(yè)
計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì) 課題:數(shù)字式秒表的設(shè)計(jì) 專(zhuān)業(yè):電氣工程與自動(dòng)化 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì) 題目:數(shù)字式秒表的設(shè)計(jì)1、 設(shè)計(jì)目的(1) 熟練掌握計(jì)算機(jī)控制系統(tǒng)的設(shè)計(jì)方法。(2) 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡(jiǎn)易數(shù)字秒表。2、 設(shè)計(jì)說(shuō)明1) 秒表由6位7段LED顯示器顯示,其中2位顯示分鐘,4位顯示秒,其中分辨率為0.01秒。2) 計(jì)時(shí)最大值為99分鐘59.99秒。3) 計(jì)時(shí)誤差不得超過(guò)0.01秒。4) 具有清零、啟動(dòng)計(jì)時(shí)、暫停計(jì)時(shí)及繼續(xù)計(jì)時(shí)功能。3、 設(shè)計(jì)要求(1) 方案論證按系統(tǒng)功能實(shí)現(xiàn)要求,決定控制系統(tǒng)的實(shí)現(xiàn)方案,選擇芯片,作出系統(tǒng)框圖。(2) 硬件電路設(shè)計(jì)。按控制系統(tǒng)的實(shí)現(xiàn)方案,做出硬件原理

2、圖。(3) 系統(tǒng)程序設(shè)計(jì)。對(duì)系統(tǒng)內(nèi)存進(jìn)行劃分,采用模塊化設(shè)計(jì)方法,作出初始化程序、主程序、顯示子程序和模/數(shù)轉(zhuǎn)換子程序。(4) 調(diào)試及仿真。(5) 用Keil+Proteus進(jìn)行軟件、硬件聯(lián)合仿真和調(diào)試。 具體設(shè)計(jì)過(guò)程一、硬件設(shè)計(jì)1、 總體方案的設(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ī)AT89C52,顯示電路采用四位共陰極數(shù)碼管顯示計(jì)時(shí)時(shí)間。本設(shè)計(jì)利用AT89C52單片機(jī)的定時(shí)器,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)

3、使其實(shí)現(xiàn)啟動(dòng)和暫停的功能,P0口輸出段碼數(shù)據(jù),P2.0P2.5作為位選,P3.2和P3.3接口的兩個(gè)按鈕分別實(shí)現(xiàn)啟動(dòng)和暫停功能。設(shè)計(jì)的基本要求是正確性。硬件電路按下圖進(jìn)行設(shè)計(jì)。 AT89C52單片機(jī)控制開(kāi)關(guān)六位數(shù)碼管位控制 計(jì)時(shí)器采用T0中斷實(shí)現(xiàn),定時(shí)溢出中斷周期為1ms,當(dāng)溢出中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出10次中斷請(qǐng)求就對(duì)10ms位(即最后一位)加一,達(dá)到100次就對(duì)100ms位加一,以此類(lèi)推,直到99.99s為止。 再看按鍵的處理。兩個(gè)按鍵采用中斷的方法,設(shè)置外部中斷0和外部中斷1位脈沖邊沿觸發(fā)方式,這樣一來(lái)每當(dāng)按鍵按下時(shí)便會(huì)觸發(fā)中斷,從而實(shí)現(xiàn)啟動(dòng)和暫停。2、 單片機(jī)的選擇 本設(shè)

4、計(jì)在選取單片機(jī)時(shí),充分借鑒了許多成型產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn)。并根據(jù)自己的實(shí)際情況,選用了ATMEL公司的AT89C52。 ATMEL公司的89系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的電擦寫(xiě)操作、低廉的價(jià)格完全替代了87C51/62和8751/52,低電壓、低功耗,有DIP、PLCC、QFP封裝,是目前性能最好、價(jià)格最低、最受歡迎的單片機(jī)之一。 AT89S52為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8XC52相同,其主要用于匯聚調(diào)整時(shí)的功能控制。功能包括對(duì)匯聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,匯聚調(diào)整控制,匯

5、聚測(cè)試圖控制等。3、單片機(jī)外部結(jié)構(gòu)AT89S52單片機(jī)采用40腳的DIP封裝,如下所示。(1)主電源引腳Vss和Vcca、 Vss接地b、 Vcc正常操作時(shí)為+5V接地外接晶振引腳XTAL1和XTAL2a、XTAL1內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的一個(gè)引腳。當(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)部提供備用

6、電源,以保持內(nèi)部RAM中的數(shù)據(jù)。b、ALE/PROG 正常操作時(shí)為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部存儲(chǔ)器,ALE引腳以不變的頻率(振蕩器頻率的1/6)周期性的發(fā)出正脈沖信號(hào)。因此,它可以用作對(duì)外輸出的時(shí)鐘,或用于定時(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í),訪問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng)EA/Vpp為低電平時(shí),則訪問(wèn)外部程序存儲(chǔ)器。對(duì)于EPROM編程期間,此引腳上加21VEPROM編程電源(Vpp)。(3)輸入/輸出引

7、腳P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0P3.7。a、P0口(P0.0P0.7)是一個(gè)8位漏極開(kāi)路型雙向I/O口,在訪問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(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口,在訪問(wèn)外部存儲(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ù)載。4、顯示電路

8、的選擇與設(shè)計(jì)對(duì)于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對(duì)于一般的段式液晶屏,需要專(zhuān)門(mén)的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性差,不適合遠(yuǎn)距離觀看;對(duì)于具有驅(qū)動(dòng)電路和單片機(jī)接口的液晶顯示模塊,一般多采用并行接口,對(duì)單片機(jī)的接口要求較高,占用資源多;另外,AT89C52單片機(jī)本身沒(méi)有專(zhuān)門(mén)的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、響應(yīng)速度快、價(jià)格便宜、易于購(gòu)買(mǎi)等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺(jué)效果,很適合夜間或者遠(yuǎn)距離操作。因此在本設(shè)計(jì)中,我們采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用六位數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線多,硬

9、件電路復(fù)雜,所以采用動(dòng)態(tài)顯示。動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱(chēng)為位掃描。通常各位數(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ī)律循環(huán),即可以使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同時(shí)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時(shí)顯示的感覺(jué),其系統(tǒng)框圖如下所示;AT89C52段驅(qū)動(dòng)位驅(qū)動(dòng)六位數(shù)碼管5、系統(tǒng)總體

10、電路的設(shè)計(jì)系統(tǒng)總體電路如下圖所示AT89C52單片機(jī)為主電路的核心部分,各個(gè)電路均與單片機(jī)相連,由單片機(jī)統(tǒng)籌協(xié)調(diào)各個(gè)電路的運(yùn)行工作。開(kāi)始鍵和暫停鍵使用了外部中斷,所以需要連到單片機(jī)的P3.2和P3.3引腳上,這兩個(gè)I/O口的第二功能是單片機(jī)的外部中斷0端口和外部中斷1端口。顯示電路由六位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制和六位位控制,8位段接控制接P0口,P0.0P0.7分別控制數(shù)碼管的a b c d e f g dp顯示,位控制接在P2.0P2.5六個(gè)口實(shí)現(xiàn)位控制。系統(tǒng)的硬件原理圖如下所示; 二、軟件設(shè)計(jì)1、主程序設(shè)計(jì)本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷0服務(wù)程

11、序和外部中斷1服務(wù)程序組成。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序之間的關(guān)系。主程序主要是設(shè)置定時(shí)器大的工作模式,對(duì)定時(shí)器賦初值,開(kāi)總中斷、兩個(gè)外部中斷以及定時(shí)器溢出中斷。并設(shè)置外部中斷為脈沖邊沿觸發(fā)方式。2、中斷程序設(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)了另一個(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é)束,再

12、繼續(xù)執(zhí)行原來(lái)較低級(jí)的中斷服務(wù)程序。而當(dāng)CPU為級(jí)別高的中斷服務(wù)程序服務(wù)時(shí),如果級(jí)別低的中斷發(fā)出中斷請(qǐng)求,此時(shí)CPU是不會(huì)響應(yīng)的,所以為了避免開(kāi)始和暫停兩個(gè)按鍵中的一個(gè)出現(xiàn)沒(méi)有響應(yīng)的情況,在進(jìn)行編程是要注意中斷的使用,避免出現(xiàn)中斷的嵌套。合理分配中斷對(duì)本設(shè)計(jì)是很重要的。(1)外部中斷0服務(wù)程序外部中斷0服務(wù)程序結(jié)合外部P3.2鍵實(shí)現(xiàn)數(shù)字秒表的啟動(dòng)功能。流程如下圖所示。外部中斷0入口啟動(dòng)定時(shí)器T0 TR0=1中斷返回(2)外部中斷1服務(wù)程序 外部中斷1服務(wù)程序結(jié)合外部P3.3鍵實(shí)現(xiàn)數(shù)字秒表的停止功能。 流程圖如下所示。外部中斷1入口停止計(jì)時(shí)TR1=0 中斷返回(3)清零的實(shí)現(xiàn) 系統(tǒng)清零運(yùn)用AT89

13、C52單片機(jī)復(fù)位功能清零的,在振蕩器正在運(yùn)行的情況下,復(fù)位是靠在REST/Vpd或RST引腳處至少保持2個(gè)機(jī)器周期(24個(gè)振蕩器周期)的高電平而實(shí)現(xiàn)的。在RST斷出現(xiàn)高電平后的第2個(gè)周期,執(zhí)行內(nèi)部復(fù)位,以后每個(gè)周期重復(fù)一次,直至RST端變低。復(fù)位后,除了特殊寄存器外,其他寄存器狀態(tài)都位00H或者0000H,因此運(yùn)用AT89C52單片機(jī)的復(fù)位功能可以實(shí)現(xiàn)清零功能,系統(tǒng)的清零部分電路圖(復(fù)位功能電路圖)如下圖所示; (4)定時(shí)器T0中斷服務(wù)程序當(dāng)T0一處后,向CPU發(fā)出中斷請(qǐng)求信號(hào)。CPU跳轉(zhuǎn)到定時(shí)中斷程序執(zhí)行,具體流程如下;定時(shí)器中斷入口重裝計(jì)數(shù)初值中斷次數(shù)加1中斷次數(shù)到10嗎中斷次數(shù)清零,0.

14、01秒位加一0.01秒位到10嗎0.01秒位清零,0.1秒位加一0.1秒位到10嗎0.1秒位清零,1秒位加一1秒位到10嗎1秒位清零,10秒位加一10秒位到10嗎10秒位清零中斷返回3、程序清單#includeunsigned int data table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; unsigned int data table1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;unsigned int i,j,k,l,o,n,m,count;void delay(u

15、nsigned int z) unsigned int x,y;for(x=z;x!=0;x-)for(y=110;y!=0;y-);void main()TMOD=0x01; TH0=(65536-100)/256; TL0=(65536-100)%256; EA=1; EX0=1;EX1=1;ET0=1;IT0=1; IT1=1; while(1) P2=0x01;P0=tableo;delay(1);P2=0x02;P0=table1n;delay(1);P2=0x04;P0=tablem;delay(1);P2=0x08;P0=table1l;delay(1); P2=0x10;P0=

16、tablek;delay(1); P2=0x20;P0=tablej;delay(1);void ex0() interrupt 0 TR0=1; void ex1() interrupt 2 TR0=0; void timer0() interrupt 1 TH0=(65536-100)/256; TL0=(65536-100)%256;count+; if(count=10)count=0;i+; if(i=10)i=0; j+;if(j=10)j=0; k+;if(k=10)k=0; l+; if(l=10) l=0; m+; if(m=6) m=0; n+; if(n=10) n=0;

17、 o+; if(o=10) o=0; count=0; 三、系統(tǒng)調(diào)試Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,它可以仿真、分析各種模擬器件和集成電路。該軟件的主要特點(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)試通過(guò)之后再焊接電路,節(jié)省了不少在硬件調(diào)試上花費(fèi)的時(shí)間。打開(kāi)已經(jīng)畫(huà)好的Proteus DSN文件,雙擊圖中的AT8

18、9S52芯片,就彈出一個(gè)窗口,在program file項(xiàng)中通過(guò)路徑選擇在keil中生成hex文件,雙擊選中后確定,這樣仿真圖中的AT89S52芯片就已經(jīng)讀取了本設(shè)計(jì)中的hex文件。然后進(jìn)行仿真,仿真圖如下所示。系統(tǒng)運(yùn)行時(shí)的情況: 1、秒表運(yùn)行圖2、秒表清零圖四 總結(jié)報(bào)告本設(shè)計(jì)的數(shù)字秒表是由AT89S52單片機(jī)、共陰極數(shù)碼管和控制按鍵等器件組成的,設(shè)有六位計(jì)時(shí)顯示。計(jì)時(shí)精度能達(dá)到0.01s。系統(tǒng)設(shè)計(jì)合理,線路簡(jiǎn)單,性能穩(wěn)定、程序簡(jiǎn)單。給出了較為詳盡的電路設(shè)計(jì)方法。本系統(tǒng)以單片機(jī)為核心,但僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟硬件結(jié)合,以作完善。 本次課程設(shè)計(jì),按照設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論