版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
吉林大學(xué)珠海學(xué)院課程設(shè)計報告專業(yè)測控技術(shù)與儀器班級15班學(xué)生姓名吳聰課程名稱單片機課程設(shè)計任課老師劉立勛張弓設(shè)計時間2014/11/15-2014/11/29設(shè)計地點實驗樓吉林大學(xué)珠海學(xué)院電子信息系2014年11月目錄一.設(shè)計內(nèi)容及設(shè)計任務(wù)二.本次課程設(shè)計已實現(xiàn)的功能三.電路原理圖及PCB絲印圖(系統(tǒng)概述和細節(jié)描述)四.軟件環(huán)境及調(diào)配下載工具、軟件流程圖及設(shè)計思想、軟件功能及模塊描述、主要程序及注釋五.尚未完成工作的困難及解決思路六.本次設(shè)計的收獲心得
一.設(shè)計內(nèi)容及設(shè)計任務(wù)設(shè)計內(nèi)容:基于51構(gòu)架單片機的電子沙漏設(shè)計設(shè)計任務(wù):0-99S計時可設(shè)置顯示數(shù)值永遠向上A組倒計時B組正計時翻轉(zhuǎn)后計時沙漏式反正水平放置停止計時計時溢出蜂鳴報警LED水滴效果設(shè)定數(shù)據(jù)掉電可保持*可設(shè)定加減模式、分鐘模式*設(shè)計電子鐘功能*二.本次課程設(shè)計已實現(xiàn)的功能本次課程設(shè)計我們組已完成0-99S計時可設(shè)置,顯示數(shù)值永遠向上,A組倒計時B組正計時,翻轉(zhuǎn)后計時沙漏反正,水平放置停止計時,計時溢出蜂鳴報警,LED水滴效果等功能三.電路原理圖及PCB絲印圖系統(tǒng)概述:該系統(tǒng)由MCU電路(STC89C52RC),蜂鳴器電路,串口下載電路,復(fù)位電路,晶振電路,感應(yīng)開關(guān)電路,兩個數(shù)碼管電路,按鍵設(shè)置電路組成。細節(jié)描述:MCU電路:STC89C52RC芯片有40個引腳,其中VCC引腳接+5V,VSS引腳接地,EA/VPP引腳接+5V,并行I/O口中P0口的8個引腳分別接到數(shù)碼管A,B,C,D,E,F,G,DP端口,用來控制要顯示的數(shù)字。P2口的8個引腳接到DS1-DS88個發(fā)光二極管,而P1.5,P1.6,P1.7分別接DS9-DS113個發(fā)光二極管,用來控制發(fā)光二極管的亮滅。P1.0,P1.1,P3.6,P3.7分別通過4個三極管控制4個數(shù)碼管,當(dāng)其中某位為低電平時,那個位所控制的數(shù)碼管就會點亮。XTAL1和XTAL2分別接到復(fù)位電路的兩端。P3.2,P3.3引腳分別接到兩個水銀開關(guān),P3.0,P3.1分別接到串口下載電路的RX端和TX端。P1.2引腳接到按鍵電路的KEY1端,P3.5引腳接到蜂鳴器電路的BELL端,RST引腳接到復(fù)位電路的RST端。晶振電路:由兩個33pF的電容和一個12M的晶體振蕩器組成,為單片機提供時鐘號,單片機的工作速度為每秒12M。復(fù)位電路:+5V電壓通過10uf電解電容接到單片機的RST引腳,并下拉一個10K電阻。電容在上電瞬間給RST端提供一段時間(大于2個機器周期)的高電平,就能使單片機復(fù)位,等電容充電結(jié)束,RST變?yōu)榈碗娖剑?lt;=0.5v),又恢復(fù)正常工作。蜂鳴器電路:1K電阻接到三極管(PNP)的基極,集電極接+5V電壓,發(fā)射極接蜂鳴器的一端,另一端接地。1K電阻是限流電阻,防止電流過大燒壞單片機。當(dāng)P3.5口為低電平時,三極管導(dǎo)通,有源蜂鳴器接電導(dǎo)通,發(fā)出響聲。當(dāng)P3.5口為高電平時,三極管截止,有源蜂鳴器未接電,無響聲。串口下載電路:由STC-ISP四端接口和J2兩端接口組成,J2一端接5V電源,一端接STC-ISP的第1端口,TX和RX分別接到第2,3端口,第4端口接地。TX,RX端口作為程序下載端口。J2兩端口上有一個短路帽,當(dāng)短路帽接上則單片機上電,否則則斷電。感應(yīng)開關(guān)電路:+5V電壓接一個10K電阻再連接到水銀開關(guān)的一端,另一端口接地。當(dāng)水銀開關(guān)接通時,P3.2,P3.3口為低電平,否則為高電平??梢杂纱藖碛|發(fā)數(shù)碼的正反向倒計時。設(shè)置按鍵電路:+5V電壓接一個10K電阻再連接到按鍵開關(guān)的一端,另一端口接地。當(dāng)按鍵按下時,P1.2口為低電平,否則為高電平??梢杂纱藖碓O(shè)置數(shù)碼的長短按模式和加減模式等。LED燈電路:分別由DS0-DS1111個LED二極管(共陽極)一端共同接在+5V電壓,另一端分別接11個1K電阻然后接到單片機的11個端口。當(dāng)相應(yīng)的端口為低電平時,則點亮LED燈,否則燈滅。數(shù)碼管電路:每個數(shù)碼管分別由一個三極管(PNP)控制,數(shù)碼的一端接到三極管的發(fā)射極,然后三極管的基極通過一個1K電阻接到單片機的一個引腳上三極管的集電極接+5V電壓。當(dāng)單片機相應(yīng)的端口為低電平則點亮相應(yīng)的數(shù)碼管,否則數(shù)碼管滅。而數(shù)碼管的顯示數(shù)字是由P0口來控制。從而實現(xiàn)數(shù)碼管的動態(tài)顯示。四.軟件環(huán)境及調(diào)配下載工具、軟件流程圖及設(shè)計思想、軟件功能及模塊描述、主要程序及注釋。1.軟件環(huán)境:KeiluVision42.調(diào)配下載工具:STC-ISPv6.803.軟件流程圖:4.程序代碼:ORG0000HLJMPMAINORG0100HADD11:LJMPADD1TIME01:LJMPTIME0MAIN:SETBF0 ;主程序開始JNBP3.2,ADD11 ;根據(jù)水銀開關(guān)狀態(tài)判斷板的放置狀況。正立時,進入預(yù)設(shè)JNBP3.3,TIME01 ;倒立時,進入倒計時LJMPTIME ;平放時,分秒顯示ADD1:JNBF0,TIME01 ;用F0區(qū)別預(yù)設(shè)和倒計時MOVP2,#11000000B MOVR0,#00 ;預(yù)設(shè)初值為0 LJMPMAIN1LOOP: ;預(yù)設(shè)值顯示 MOVDPTR,#TAB ;A數(shù)碼管的正向顯示 MOVA,R0 MOVB,#10 DIVAB MOVCA,@A+DPTR MOVP0,A CLRP1.0 LCALLDELAY SETBP1.0 MOVA,B MOVCA,@A+DPTR MOVP0,A CLRP1.1 LCALLDELAY SETBP1.1 MOVA,#100 SUBBA,R0 MOVDPTR,#TAB1 ;B數(shù)碼管的反向顯示 MOVB,#10 DIVAB MOVCA,@A+DPTR MOVP0,A CLRP3.7 LCALLDELAY SETBP3.7 MOVA,B MOVCA,@A+DPTR MOVP0,A CLRP3.6 LCALLDELAY SETBP3.6MAIN1:JBP3.2,TIME02 ;判斷板依然正立,若水銀開關(guān)s1有變化,則退出預(yù)設(shè),開始倒計時 JBP1.2,LOOP ;按鍵加, LCALLDEL10ms ;放置按鍵抖動 JNBP1.2,LOOP ;按鍵彈起 MOVA,R0 ADDA,#1 MOVR0,A MOV65H,A;R0的內(nèi)容加1 CJNER0,#99,LOOP ;當(dāng)預(yù)設(shè)值為99時,則清零,重新從零開始加一 MOVR0,#00 LCALLLOOPTIME02:CPLF0TIME0:JBF0,LOOP ;倒計時MOVp2,#11110000b clrp1.5 clrp1.6 clrp1.7MOVA,#99SUBBA,R0 MOVR7,Aloop0:jbp3.2,loop1;---判斷水銀開關(guān)s1,為1則轉(zhuǎn)移loop4:jnbp3.3,loop1 ;倒計時,板正立時,A,B數(shù)碼管顯示 movdptr,#tab ;----顯示上面的數(shù)字mova,r0 movb,#10 divab movca,@a+dptr movp0,a clrp1.0 lcalldel setbp1.0 mova,b movca,@a+dptr movp0,a clrp1.1 lcalldel setbp1.1 movdptr,#tab1 ;----顯示下面的數(shù)字mova,r7 movb,#10 divab movca,@a+dptr movp0,a clrp3.7 lcalldel setbp3.7 mova,b movca,@a+dptr movp0,a clrp3.6 lcalldelsetbp3.6jbp3.2,loop4;-----沙漏平放停止計數(shù) djnzr4,A1;---穩(wěn)定數(shù)字顯示decr0 incr7 cplp2.7 ;燈沙漏動畫效果 cplp2.6 cplp2.3 cplp2.4 cjner0,#0,A1;---進行判斷 lcallloop2;------正向溢出報警loop1:jbp3.3,A1;----判斷水銀開關(guān)s2,為1則轉(zhuǎn)移loop5:JBF0,A1 ;倒計時,板倒立時,A,B數(shù)碼管顯示jnbp3.2,A1movdptr,#tab ;-----顯示上面數(shù)字mova,r7 movb,#10 divab movca,@a+dptr movp0,a clrp3.6 lcalldel setbp3.6 mova,b movca,@a+dptr movp0,a clrp3.7 lcalldel setbp3.7movdptr,#tab1 ;-----顯示下面數(shù)字mova,r0 movb,#10 divab movca,@a+dptr movp0,a clrp1.1 lcalldel setbp1.1 mova,b movca,@a+dptr movp0,a clrp1.0 lcalldel setbp1.0 jbp3.3,loop5;反方向放置沙漏平放時停止計數(shù) djnzr4,loop1 decr7 incr0 cplp2.7 ;燈沙漏動畫效果 cplp2.6 cplp2.3 cplp2.4 cjner7,#0,loop1;反向溢出時報警 ljmpbell2 loop2:ljmpbellloop7:jnbp3.3,loop1A1:LJMPloop0 del:movr5,#95;數(shù)碼管延時d1:movr6,#4 djnzr6,$djnzr5,d1 retbell:movr0,65h ;警報響起后,再次翻轉(zhuǎn),還可以從預(yù)設(shè)值起開始倒計時mova,#99 subba,r0 movr7,ajnbp3.3,loop7;判斷s2是否為0,0則轉(zhuǎn)移,跳出警報movdptr,#tab ;正向時溢出報警mova,r0 ;持續(xù)顯示溢出停止時的數(shù)字 movb,#10 divab movca,@a+dptr movp0,a clrp1.0 lcalldel setbp1.0 mova,b movca,@a+dptr movp0,a clrp1.1 lcalldel setbp1.1 movdptr,#tab1mova,r7 movb,#10 divab movca,@a+dptr movp0,a clrp3.7 lcalldel setbp3.7 mova,b movca,@a+dptr movp0,a clrp3.6 lcalldel setbp3.6jbf0,del3;報警鈴聲 mov50h,#200del2:cplp3.5 ;1kz響100mslcalldelay;延時500us djnz50h,del2 cplf0 sjmpbelldel3:mov51h,#200del4:lcalldel8cplp3.5 ;500kz響200mslcalldelay;延時1ms lcalldelay djnz51h,del4 cplf0 sjmpbella3:ljmploop7bell2:movr0,65h ;警報響起后,再次翻轉(zhuǎn),還可以從預(yù)設(shè)值起開始倒計時mova,#99 subba,r0 movr7,ajnbp3.2,a3;判斷s1是否為0,0則轉(zhuǎn)移movdptr,#tab1;正向時溢出報警mova,r1 ;持續(xù)顯示溢出停止時的數(shù)字 movb,#10 divab movca,@a+dptr movp0,a clrp1.1 lcalldel setbp1.1 mova,b movca,@a+dptr movp0,a clrp1.0 lcalldel setbp1.0 movdptr,#tabmova,r7 movb,#10 divab movca,@a+dptr movp0,a clrp3.6 lcalldel setbp3.6 mova,b movca,@a+dptr movp0,a clrp3.7 lcalldel setbp3.7jbf0,del6;報警鈴聲 mov53h,#200del5:cplp3.5 ;1kz響100mslcalldelay;延時500us djnz53h,del5 cplf0 sjmpbell2del6:mov54h,#200del7:lcalldel8cplp3.5 ;500kz響200mslcalldelay;延時1ms lcalldelay djnz54h,del7 cplf0 sjmpbell2delay:mov52h,#246;延時500usdjnz52h,$ retdel8:cplp2.0;報警溢出時LED燈閃爍cplp2.1cplp2.2 cplp2.3cplp2.4 cplp2.5 cplp2.6 cplp2.7 cplp1.5 cplp1.6 cplp1.7 retDEL10ms: ;按鍵時間 MOVR5,#10;20次;10.262ms=20*511+2*20+1DEL_1: MOVR6,#255;255次;511us=255*2+1 DJNZR6,$ DJNZR5,DEL_1 RETTIME:MOVR7,#00H ;平放時,分秒顯示MOVR6,#00H MOV63H,#00011111b SETBP1.5 SETBP1.6 SETBP1.7SEE:MOVR5,#2SEE1:MOVR4,#250SEE2:MOVDPTR,#TAB ;把數(shù)表的首地址賦給DPTR MOVA,R6 ;顯示秒 MOVB,#10 DIVAB MOVCA,@A+DPTR MOVP0,A CLRP1.0 LCALLDTIME SETBP1.0 MOVA,B MOVCA,@A+DPTR MOVP0,A CLRP1.1 LCALLDTIME SETBP1.1 MOVA,R7 ;顯示分 MOVDPTR,#TAB1 MOVB,#10 DIVAB MOVCA,@A+DPTR MOVP0,A CLRP3.7 LCALLDTIME SETBP3.7 MOVA,B MOVCA,@A+DPTR MOVP0,A CLRP3.6 LCALLDTIME SETBP3.6DJNZR4,SEE2 DJNZR5,SEE1 movA,63H ;每隔一秒,LED燈變化一次 RLA MOV63H,A MOVP2,A INCR6 CJNER6,#10,SEE MOVR6,#60 ;滿60秒,秒清零,分加一 INCR7 SJMPSEEDTIME:MOV60H,#250;數(shù)碼管動態(tài)顯示DJNZ60H,$RETTAB:DB11000000B,11111001B,10100100B,10110000B,10011001B,10010010B,10000010B,11111000B,10000000B,10010000B;-----數(shù)碼管正碼TAB1:DB11000000B,11001111B,10100100B,10000110B,10001011B,10010010B,10010000B,11000111B,1000000
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市行業(yè)營業(yè)員工作總結(jié)
- 粵語語言藝術(shù)課程設(shè)計
- 液壓泵站課課程設(shè)計
- 稅務(wù)工作總結(jié)稅收征管執(zhí)法標(biāo)準化
- 醫(yī)療器械行業(yè)人才管理
- 【八年級下冊地理中圖北京版】期中真題必刷卷A-【期中真題必刷卷】(北京專用)(解析版)
- 2024年設(shè)備監(jiān)理師考試題庫附答案(典型題)
- 咖啡館店員服務(wù)總結(jié)
- 2024年設(shè)備監(jiān)理師考試題庫【考點梳理】
- 2024年美術(shù)教案:太陽花
- 供應(yīng)商產(chǎn)品質(zhì)量監(jiān)督管理制度
- 單位工程、分部工程、分項工程及檢驗批劃分方案
- 器樂Ⅰ小提琴課程教學(xué)大綱
- 主債權(quán)合同及不動產(chǎn)抵押合同(簡化版本)
- 服裝廠安全生產(chǎn)責(zé)任書
- JGJ202-2010建筑施工工具式腳手架安全技術(shù)規(guī)范
- 液壓爬模系統(tǒng)作業(yè)指導(dǎo)書
- 2018-2019學(xué)年北京市西城區(qū)人教版六年級上冊期末測試數(shù)學(xué)試卷
- SFC15(發(fā)送)和SFC14(接收)組態(tài)步驟
- LX電動單梁懸掛說明書
- 旅行社公司章程53410
評論
0/150
提交評論