單片機(jī)原理與應(yīng)用設(shè)計(jì)報(bào)告_第1頁(yè)
單片機(jī)原理與應(yīng)用設(shè)計(jì)報(bào)告_第2頁(yè)
單片機(jī)原理與應(yīng)用設(shè)計(jì)報(bào)告_第3頁(yè)
單片機(jī)原理與應(yīng)用設(shè)計(jì)報(bào)告_第4頁(yè)
單片機(jī)原理與應(yīng)用設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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ī)原理與應(yīng)用設(shè)計(jì)報(bào)告電子時(shí)鐘 一、       設(shè)計(jì)題目基于單片機(jī)的電子時(shí)鐘二、       設(shè)計(jì)目標(biāo)1. 掌握74LS273 8D鎖存器的工作原理,并能與7SEG-BCD七段碼顯示器連接,做成可調(diào)節(jié)的電子表,簡(jiǎn)單的了解單片機(jī)對(duì)顯示器的控制過程;能在此基礎(chǔ)上做成可調(diào)節(jié)的萬(wàn)年歷。      2. 了解定時(shí)器中斷服務(wù)子程序和外中斷服務(wù)子程序各個(gè)程序段所實(shí)現(xiàn)的功能。    

2、60; 3. 懂得怎樣修改各個(gè)標(biāo)志位,能準(zhǔn)確的理解程序運(yùn)行時(shí)的兩種狀態(tài):        (1)計(jì)數(shù)狀態(tài):由主程序進(jìn)入定時(shí)器中斷子程序,產(chǎn)生當(dāng)前時(shí)間,然后顯示。        (2)修改狀態(tài):用戶按鍵時(shí)間有兩種可能,按下XW,即使XW=0;             在主程序中執(zhí)行踏步命令時(shí),這時(shí),直接由主程序進(jìn)入外中斷1服務(wù)子程序XW;在執(zhí)

3、行 T1中斷服務(wù)時(shí),這時(shí),由于INT1優(yōu)先級(jí)比T1中斷優(yōu)先級(jí)高,可以暫停T1子程序,進(jìn)入XW子程序。      4. 掌握手動(dòng)調(diào)節(jié)時(shí)的步驟,并能找準(zhǔn)實(shí)現(xiàn)功能的語(yǔ)句在程序中的準(zhǔn) 確位置;在實(shí)踐中找到下列問題的答案:(1)當(dāng)程序處在計(jì)數(shù)狀態(tài)時(shí),從低位到高位是否有進(jìn)位?當(dāng)程序處在修改狀態(tài)時(shí)呢?(2)程序是怎樣實(shí)現(xiàn)從十進(jìn)制到BCD碼的轉(zhuǎn)換的,為什么要實(shí)現(xiàn)這樣的轉(zhuǎn)換。(3)怎樣判斷程序選用的是哪個(gè)寄存器組,如果要改變寄存器組,應(yīng)該修改哪些操作。(4)如果更改了中斷次數(shù),數(shù)據(jù)的顯示會(huì)受到這樣的影響。(5)什么時(shí)候出發(fā)外中斷,當(dāng)外中斷不被觸發(fā)時(shí),程

4、序?qū)?zhí)行什么樣的操作。 三、       設(shè)計(jì)思路與方法1、設(shè)計(jì)思路采用24小時(shí)標(biāo)準(zhǔn)計(jì)時(shí)制,顯示時(shí)、分妙;6位LED數(shù)碼管從左到右分別顯示時(shí)、分、秒(各占用2位),開始計(jì)時(shí)時(shí)為000000,到235959后變成000000。計(jì)時(shí)過程具有報(bào)時(shí)功能,當(dāng)時(shí)間到達(dá)整點(diǎn)前5妙進(jìn)行蜂鳴報(bào)時(shí)。有校時(shí)功能,可以分別對(duì)時(shí)及時(shí)進(jìn)行單獨(dú)校時(shí),使其校正到標(biāo)準(zhǔn)時(shí)間;鍵盤上選定3個(gè)鍵分別作為小時(shí)、分、秒的調(diào)校鍵。每按一次鍵,對(duì)應(yīng)的顯示值便加1。分、秒、加到59后變?yōu)?0;小時(shí)加到23后再按鍵即變?yōu)?0再調(diào)校時(shí)均攤不向上一單位進(jìn)位(例如分加到59后變?yōu)?

5、0;但小時(shí)不發(fā)生改變)。2、設(shè)計(jì)方法系統(tǒng)由AT89C51、LED 數(shù)碼管、按鍵、發(fā)光二極管等部分構(gòu)成,能實(shí)現(xiàn)時(shí)間的調(diào)整、定時(shí)時(shí)間的設(shè)定,輸出等功能。系統(tǒng)的功能由鍵盤上XW、JIA 完成。定時(shí)器T1中斷服務(wù)子程序功能:每到1S,對(duì)內(nèi)存單元70H到73H加1;把用二進(jìn)制形式表示的當(dāng)前時(shí)間轉(zhuǎn)換為BCD碼形式,存放在內(nèi)存53H到50H單元中;顯示當(dāng)前時(shí)間。外中斷INT1中斷服務(wù)子程序功能是按照用戶選擇的位修改當(dāng)前時(shí)間。接收用戶按鍵后,移動(dòng)標(biāo)志位,根據(jù)標(biāo)志位對(duì)秒或分或小時(shí)進(jìn)行修改。然后把用二進(jìn)制形式表示的當(dāng)前時(shí)間轉(zhuǎn)換為BCD碼形式,存放在內(nèi)存53H到50H單元中;顯示當(dāng)前時(shí)間。 四、 

6、;      程序使用說明    該程序默認(rèn)的時(shí)間初值是23時(shí)49分51秒。啟動(dòng)仿真軟件,此時(shí)顯示的時(shí)間為23時(shí)49分51秒,在定時(shí)器T1中斷服務(wù)子程序的作用下,每0.5s自動(dòng)修改時(shí)間。這時(shí)用戶可以按XW及JIA兩個(gè)按鈕更改當(dāng)前時(shí)間。按下XW鍵,可以選擇要修改的位,按下JIA鍵,對(duì)選中的位進(jìn)行加1操作,修改完成之后,再按下XW鍵對(duì)其它位進(jìn)行修改。具體如下:    第一次按下XW時(shí),可以修改秒。    第二次按下XW時(shí),可以修改分。  &

7、#160; 第三次按下XW時(shí),可以修改時(shí)。    無(wú)論每次修改與否,必須使XW鍵為1,再按一次JIA鍵,退出子程序。例如:若用戶修改分鐘的值,按鍵過程如下:第一次按下XW鍵(使XW鍵為0),進(jìn)入子程序;使XW鍵為1,再按一次JIA鍵,退出子程序;第二次按下XW鍵(使XW鍵為0),按一次JIA鍵,這樣修改的就是分鐘的值 五、       電路圖、程序流程圖及說明(一)電路圖及說明該電子表的總體電路圖如圖一所示,其中包括單片機(jī)AT89C51、七段碼顯示器7SEGBCDGRN、鎖存器74LS273、晶

8、振CRYSTAL、瓷片電容CAP、電解電容CAPELEC、電阻RES、電源、地線及按鈕。如圖1所示。圖1 電子時(shí)鐘總電路圖1、顯示器的顯示原理:   數(shù)碼管需要驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼才能顯示我們需要的數(shù)字。根據(jù)數(shù)碼管的驅(qū)動(dòng)方式不同,可以分為靜態(tài)驅(qū)動(dòng)和動(dòng)態(tài)驅(qū)動(dòng)兩種方式。靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。是指每個(gè)數(shù)碼管的第一個(gè)段碼都是由同一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。動(dòng)態(tài)顯示驅(qū)動(dòng):動(dòng)態(tài)驅(qū)動(dòng)是數(shù)碼管是單片機(jī)中應(yīng)用最為廣泛的一種驅(qū)動(dòng)方式。動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的八個(gè)顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起

9、,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,各選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出這形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,哪個(gè)數(shù)碼管會(huì)顯示字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示的過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms。動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,但能節(jié)省大量的I/O端口,而且功耗更低。2、74LS273的工作原理(1)74LS273是8位數(shù)據(jù)/地址鎖存器,,1腳是復(fù)位CLR,低電平有效,1

10、1腳是時(shí)鐘(脈沖)輸入端, D0D7為數(shù)據(jù)輸入端,Q0Q7為數(shù)據(jù)輸出端,正脈沖觸發(fā),低電平清除,常用作8位地址鎖存器。(2)單片機(jī)把數(shù)據(jù)從P1口送出至D端,即74LS273的8位輸入端相連,所以74LS273的輸入端D0D7對(duì)應(yīng)P1.7P1.0。(3)數(shù)據(jù)線的輸入輸出關(guān)系如下:a、當(dāng)1腳是低電平時(shí),無(wú)論有無(wú)脈沖,數(shù)據(jù)輸入端(D端)是高電平或低電平,輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部輸出0,即全部復(fù)位; b、當(dāng)1腳為高電平時(shí),11(CLK)腳是鎖存控制端,并且是上升沿觸發(fā)鎖存,當(dāng)11腳有一個(gè)上升沿,立即鎖存輸入腳3、4

11、、7、8、13、14、17、18的電平狀態(tài),并且立即呈現(xiàn)在在輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.(4)74LS273是8位數(shù)據(jù)/地址鎖存器,它是一種清除功能的8D觸發(fā)器:a.1腳是復(fù)位CLR,低電平有效,當(dāng)1腳是低電平時(shí),輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部輸出0,即全部復(fù)位;b.當(dāng)1腳為高電平時(shí),11(CLK)腳是鎖存控制端,并且是上升沿觸發(fā)鎖存,當(dāng)11腳有一個(gè)上升沿,立即鎖存輸入腳3、4、7、8、13、14、17、18的電平狀態(tài),并且立即呈

12、現(xiàn)在在輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上。(5) 擴(kuò)展口地址確定原則,只要保證P2.0為“0” 。其他地址位或“0”或“1”即可。如地址用FEFFH(無(wú)效位全為“1”),用0000H(無(wú)效位全為“0”)。輸出程序段:MOV   A,  #data            ;數(shù)據(jù)AMOV   DPTR, #0FEFFH    

13、    ;I/O地址DPTRMOVX   DPTR, A             ;WR為低電平,數(shù)據(jù)74LS273口輸出輸入程序段:MOV  DPTR, #OFEFFH          ;I/O地址DPTRMOVX  A, DPTR       

14、     ;RD為低電平,74LS244接口數(shù)據(jù)讀入內(nèi)部RAM 圖2 74LS273管腳圖  (二)程序流程圖及其說明程序由3個(gè)模塊組成:主程序、定時(shí)器T1中斷服務(wù)子程序、外中斷INT1中斷服務(wù)子程序。外中斷1優(yōu)先級(jí)高于T1中斷優(yōu)先級(jí)。1、主程序流程及解析圖3 主程序流程圖主程序功能:初始化,等待中斷。2、外中斷INT1服務(wù)子程序流程及解析圖4 外中斷服務(wù)子程序外中斷INT1服務(wù)中斷子程序是按照用戶選擇的位修改當(dāng)前時(shí)間。接收用戶按鍵后,移動(dòng)標(biāo)志位,根據(jù)標(biāo)志位對(duì)秒、分或小時(shí)進(jìn)行修改。把二進(jìn)制形式表示的當(dāng)前時(shí)間轉(zhuǎn)換為BCD碼形式

15、,存放在內(nèi)存53H到50H單元中;顯示當(dāng)前時(shí)間。3、定時(shí)器中斷T1服務(wù)子程序流程及解析圖5 定時(shí)器中斷子程序定時(shí)器T1中斷服務(wù)子程序:每到1S,對(duì)內(nèi)存單元70H到72加1;把二進(jìn)制形式表示的當(dāng)前時(shí)間轉(zhuǎn)換為BCD碼形式,存放在內(nèi)存53H到50H單元中;顯示當(dāng)前時(shí)間。4、數(shù)據(jù)轉(zhuǎn)換子程序流程及解析圖6 數(shù)據(jù)轉(zhuǎn)換子程序數(shù)據(jù)轉(zhuǎn)換子程序把用二進(jìn)制形式表示的當(dāng)前時(shí)間轉(zhuǎn)換為BCD碼形式,存放在內(nèi)存53H到50H單元中。5、數(shù)據(jù)顯示子程序流程及解析圖7 數(shù)據(jù)顯示子程序?qū)@示緩沖區(qū)內(nèi)容送到P1口顯示,顯示當(dāng)前時(shí)間。 六、參考文獻(xiàn)1張俊謨主編.單片機(jī)教程.北京.航天航空大學(xué)出版社2006.2李亞伯主編.數(shù)

16、字電路與系統(tǒng).北京.電子工業(yè)出版社.1998.3張俊謨. 單片機(jī)中級(jí)教程原理與應(yīng)用(第2版).北京航空航天大學(xué)出版社.2007.4 童本敏等編.標(biāo)準(zhǔn)集成電路數(shù)據(jù)手冊(cè).北京.電子工業(yè)出版社. 5 馬忠梅,籍順心,張凱等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M.北京.北京航空航天大學(xué)出版社.2001.143164.6 胡偉,季曉衡.單片機(jī)C程序設(shè)計(jì)及應(yīng)用實(shí)例M.北京人民郵電出版社.2003.470478. 七、   總結(jié)體會(huì)這次課程設(shè)計(jì)根據(jù)課題要求,復(fù)習(xí)了這學(xué)期所學(xué)的單片機(jī)內(nèi)容,通過查詢相關(guān)的資料,簡(jiǎn)要的了解一下。雖然老師上課講過,但并非聽懂了所有有關(guān)知識(shí)。根據(jù)課程設(shè)計(jì)的要求和

17、自己通過參考有關(guān)資料擬的方案,寫好程序流程圖,在程序流程圖的基礎(chǔ)上,根據(jù)芯片的功能寫出相應(yīng)的程序,達(dá)到能夠?qū)崿F(xiàn)所要求的功能的目的。 在寫程序時(shí),在每條指令后都寫好注釋,以便在程序出錯(cuò)的檢查過程中可以更容易查找得到。這次的單片機(jī)課程設(shè)計(jì)重點(diǎn)是理論與實(shí)際的相結(jié)合,不單單只是書上的一條條分離的指令。通過這次設(shè)計(jì)讓我更系統(tǒng)的了解了各個(gè)指令以及單片機(jī)的擴(kuò)展內(nèi)容,為這次的期末考試有了進(jìn)一步的準(zhǔn)備。學(xué)習(xí)任何知識(shí),僅從理論上去求知,而不去實(shí)踐、探索是不夠的,所以在學(xué)期末單片機(jī)課程設(shè)計(jì)是很及時(shí)、很必要的。這樣不僅能加深我們對(duì)單片機(jī)的更深理解,而且還及時(shí)、真正的做到了學(xué)以致用。剛開始進(jìn)行課程設(shè)計(jì)的時(shí)候,我表現(xiàn)出了

18、極大的熱情。上網(wǎng)查資料、詢問高年級(jí)同學(xué)的經(jīng)驗(yàn),我時(shí)刻猜測(cè)著我會(huì)從中獲得什么,這是一個(gè)難得的鍛煉機(jī)會(huì)。通過實(shí)踐,我領(lǐng)悟到了很多以前不知道的東西,可以說是受益匪淺。雖然時(shí)間不是很長(zhǎng),但是還是有不少長(zhǎng)進(jìn),這不僅是局限在程序設(shè)計(jì)的功能實(shí)現(xiàn)上,更多的是對(duì)程序設(shè)計(jì)的技巧的追求上。 八 、附錄ORG    0SJMP   STARORG   0013H           ;外部中斷1LJMP   XWORG  

19、; 001BH           ;定時(shí)器T1LJMP   TLSTARTORG   30HSTAR:                          ;設(shè)置寄存器區(qū)CLR  RS0  

20、             ;主程序,初始化,等待中斷CLR  RS1MOV   SP, #30H         ;設(shè)置堆棧MOV   TMOD, #10HSETB   PX1             ;外中斷優(yōu)先級(jí)高CLR

21、60;  IT1              ;外中斷申請(qǐng)信號(hào),低電平MOV   IE, #8CH         ;中斷尋址寄存器MOV   TH1, #3CHMOV   TL1, #0B0H     MOV   40H, #10      

22、;   ;中斷次數(shù)MOV   20H, #80H        ;標(biāo)志位MOV   72H, #23         ;時(shí)MOV   71H, #49         ;分MOV   70H, #51         ;秒SETB

23、   P3.3           ;設(shè)置為輸入狀態(tài),P3口為準(zhǔn)雙向口SETB   P3.4SETB   TR1  E01:SJMP   E01XW:PUSH   ACC          ;外中斷服務(wù)子程序MOV   A, 20H    

24、    ;移動(dòng)標(biāo)志位并更改內(nèi)容JB  ACC.2, E60RL  AMOV   20H, ASJMP   E20E60:MOV   20H, #1E20:JNB   P3.4, E20    ;檢測(cè)JIA下降沿,等待變成1E30:JB  P3.4, E30      ;等待變成0JB  P3.3, E33      ;JIA下降沿時(shí),若P3.3為1

25、,則退出子程序MOV   A, 20H       ;開始修改JB  20H.2, E32JB  20H.1, E31     ;T1產(chǎn)生當(dāng)前時(shí)間INC   70HMOV   A, 70HCJNE   A, #60, BTODMOV   70H, #0SJMP   BTODE31:INC   71HMOV   A, 71HCJNE   A, #60, BTO

26、DMOV   71H, #0SJMP   BTODE32:INC   72HMOV   A, 72HCJNE   A, #24, BTODMOV   72H, #0BTOD:ACALL  BTOD5ACALL  DISPSJMP   E20E33:POP   ACCRETIBTOD5:MOV   R0, #70H       ;數(shù)據(jù)轉(zhuǎn)換子程序,把二進(jìn)制壓縮成BCD碼MOV   R1, #

27、50HBTOD1:MOV   A, R0         ;計(jì)數(shù)單元地址R0MOV   B, #10DIV   ABMOV   R1, B         ;顯示緩沖區(qū)單元地址R1SWAP   AORL   A, R1MOV   R1, AINC   R1INC   R0CJNE   R0, #73H, BTOD1RE

28、T                  ;數(shù)據(jù)轉(zhuǎn)換子程序結(jié)束DISP:MOV   R1, #50H       ;顯示子程序MOV   A, R1MOV   P1, ACLR   P3.2           ;產(chǎn)生鎖存信號(hào)SETB   P3.2NOPINC   R1MOV   A, R1MOV   P1, ACLR   P3.1SET

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論