版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE1-《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)報(bào)告專業(yè):班級(jí):姓名:指導(dǎo)教師:二0一*年**月**日
課程設(shè)計(jì)任務(wù)書(shū)一、設(shè)計(jì)題目LED數(shù)字顯示電子時(shí)鐘二、設(shè)計(jì)要求1、方案論證,確定總體電路原理圖。2、元器件選擇,設(shè)計(jì)PCB圖(或用萬(wàn)能電路實(shí)驗(yàn)板搭線)。3、繪制程序流程圖,編寫C語(yǔ)言源程序。4、安裝調(diào)試,實(shí)現(xiàn)數(shù)字時(shí)鐘的基本功能,即能正確顯示時(shí)、分、秒;可調(diào)整時(shí)間;秒閃功能。三、設(shè)計(jì)報(bào)告內(nèi)容1、寫出設(shè)計(jì)方案(包括方案對(duì)比,方案確定),給出完整的電路原理圖和設(shè)計(jì)程序流程圖。2、對(duì)所設(shè)計(jì)方案的實(shí)現(xiàn)進(jìn)行全面分析。3、編程調(diào)試方法和程序清單。4、安裝調(diào)試過(guò)程,出現(xiàn)的各種現(xiàn)象,總結(jié)經(jīng)驗(yàn)和體會(huì)。*5、進(jìn)一步完善的設(shè)想。目錄TOC\o"1-3"\u一.課程設(shè)計(jì)目的 -1-二.課程設(shè)計(jì)題目描述和要求 -1-三.課程設(shè)計(jì)報(bào)告內(nèi)容 -1-3.1、設(shè)計(jì)思路 -1-3.2、方案設(shè)計(jì)與論證 -2-3.2.1數(shù)碼管顯示選擇方案 -2-3.2.2數(shù)碼管驅(qū)動(dòng)選擇方案 -3-3.3、設(shè)計(jì)原理、程序及流程圖 -3-3.3.1流程圖 -3-3.3.2電路原理圖 -4-3.3.3C語(yǔ)言程序及說(shuō)明 -4-3.4、protues仿真圖,及作品成型圖 -12-3.4.1protues仿真圖 -12-3.4.2實(shí)踐電路板照片 -13-3.5安裝與調(diào)試結(jié)果 -14-3.5.1電路安裝 -14-3.5.2電路調(diào)試 -15-3.5.3軟件調(diào)試 -15-3.5.4性能測(cè)試 -15-四.總結(jié) -15-參考書(shū)目 -16-LED數(shù)字顯示電子時(shí)鐘一.課程設(shè)計(jì)目的:1、鞏固和加深對(duì)單片機(jī)原理知識(shí)的理解和運(yùn)用;2、進(jìn)一步提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)的能力;3、培養(yǎng)學(xué)生綜合分析問(wèn)題、發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力。二.課程設(shè)計(jì)題目描述和要求:1、方案論證,確定總體電路原理圖。2、元器件選擇,設(shè)計(jì)PCB圖(或用萬(wàn)能電路實(shí)驗(yàn)板搭線)。3、繪制程序流程圖,編寫C語(yǔ)言源程序。4、安裝調(diào)試,實(shí)現(xiàn)數(shù)字時(shí)鐘的基本功能,即能正確顯示時(shí)、分、秒;可調(diào)整時(shí)間;秒閃功能。三.課程設(shè)計(jì)報(bào)告內(nèi)容:3.1、設(shè)計(jì)思路:3.1.1根據(jù)所需實(shí)現(xiàn)的功能畫出程序流程圖,如3.5所示。3.1.3.1.3用軟件延時(shí)對(duì)K1,K2,K3進(jìn)行兩級(jí)防抖。啟動(dòng)系統(tǒng),中斷初始化,定時(shí)器0只用來(lái)做計(jì)時(shí),定時(shí)器1根據(jù)需要可選擇進(jìn)入定時(shí)模式或者計(jì)數(shù)模式。3.1.4當(dāng)先按下K1時(shí),進(jìn)入外部中斷0,主函數(shù)調(diào)用時(shí)間顯示函數(shù),定時(shí)器1處于計(jì)數(shù)工作模式,num=num+1,num為1時(shí)按K2,K3對(duì)小時(shí)進(jìn)行加減來(lái)調(diào)整小時(shí)位,num=2按K2,K3對(duì)分進(jìn)行調(diào)整,當(dāng)num=3按K2,K3對(duì)秒進(jìn)行調(diào)整,當(dāng)num=4時(shí)就對(duì)num進(jìn)行清零,跳出時(shí)間調(diào)節(jié)。3.1.5當(dāng)先按下K2時(shí),進(jìn)入外部中斷1,cmd=cmd+1,主函數(shù)調(diào)用秒表顯示函數(shù),進(jìn)入秒表狀態(tài),此時(shí)將定時(shí)器1的工作模式改為計(jì)時(shí),使其每10ms進(jìn)行一次中斷,并設(shè)定當(dāng)cmd位偶數(shù)時(shí)進(jìn)行秒表計(jì)時(shí),當(dāng)cmd為奇數(shù)時(shí)停止秒表計(jì)時(shí)。K1用來(lái)對(duì)秒表進(jìn)行清零,在秒表處于00-00-00狀態(tài)時(shí),按K1退出秒表,進(jìn)入時(shí)間顯示狀態(tài)。3.2、方案設(shè)計(jì)與論證:?jiǎn)纹瑱C(jī)模塊驅(qū)動(dòng)模塊按鍵模塊LED顯示模塊電源模塊 圖1系統(tǒng)整體框圖整個(gè)系統(tǒng)用單片機(jī)作為中央控制器,由單片機(jī)執(zhí)行采集芯片內(nèi)部時(shí)鐘信號(hào),時(shí)鐘信號(hào)通過(guò)單片機(jī)I/O口傳給單片機(jī),單片機(jī)模塊控制驅(qū)動(dòng)模塊驅(qū)動(dòng)顯示模塊,通過(guò)顯示模塊來(lái)實(shí)現(xiàn)信號(hào)的輸出、LED的顯示及相關(guān)的控制功能。系統(tǒng)設(shè)有按鍵模塊用于對(duì)時(shí)間進(jìn)行調(diào)整及擴(kuò)展多個(gè)小鍵盤。3.2.1數(shù)碼管顯示選擇方案方案一:靜態(tài)顯示。靜態(tài)顯示,即當(dāng)顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或截止。該方式每一位都需要一個(gè)8位輸出口控制。靜態(tài)顯示時(shí)較小電流能獲得較高的亮度,且字符不閃爍。但因當(dāng)所需顯示的位數(shù)較多時(shí),靜態(tài)顯示所需的I/O口數(shù)較大,造成資源的浪費(fèi)。方案二:動(dòng)態(tài)顯示。動(dòng)態(tài)顯示,即各位數(shù)碼管輪流點(diǎn)亮,對(duì)于顯示器各位數(shù)碼管,每隔一段延時(shí)時(shí)間循環(huán)點(diǎn)亮一次。利用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但須保證掃描速度足夠快,人的視覺(jué)暫留功能才可察覺(jué)不到字符閃爍。顯示器的亮度與導(dǎo)通電流、點(diǎn)亮?xí)r間及間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。動(dòng)態(tài)顯示節(jié)省了I/O口,降低了能耗。從節(jié)省單片機(jī)芯片I/O口和降低能耗角度出發(fā),本數(shù)字電子鐘數(shù)碼管顯示選擇設(shè)計(jì)采用方案二。3.2.2數(shù)碼管驅(qū)動(dòng)選擇方案方案一:上拉電阻驅(qū)動(dòng)方式。數(shù)碼管段碼與接有上拉電阻的單片機(jī)芯片I/O口相連,通過(guò)編程,單片機(jī)芯片即控制段碼電平的高低。該方式經(jīng)費(fèi)低,但實(shí)物制作較復(fù)雜。方案二:7407芯片驅(qū)動(dòng)方式。數(shù)碼管段碼與7407芯片B口相連,7407芯片A口與單片機(jī)芯片I/O口,通過(guò)編程,單片機(jī)芯片即可控制段碼電平的高低。該方式實(shí)物制作簡(jiǎn)單,增強(qiáng)驅(qū)動(dòng)數(shù)碼管段碼能力。從實(shí)物制作簡(jiǎn)易程度與驅(qū)動(dòng)數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘數(shù)碼管驅(qū)動(dòng)選擇設(shè)計(jì)采用方案二。3.3、設(shè)計(jì)原理、程序及流程圖:3.3.1流程圖啟動(dòng)啟動(dòng)是否進(jìn)入秒表顯示對(duì)中斷初始化選擇秒表顯示功能選擇時(shí)間顯示功能是否是否啟動(dòng)秒表是否進(jìn)入調(diào)時(shí)各時(shí)間調(diào)整是運(yùn)行秒表是否否3.3.2電路原理圖3.3.3C語(yǔ)言程序及說(shuō)明#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcount=0,num=0,temp=0,cmd=0;sbitLED=P1^0;sbitH=P3^2;sbitM=P3^3;uchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharsec=11,min=11,hour=11,a=0,b=0,c=0; //定義時(shí)鐘的時(shí)分秒以及秒表的分秒10ms;voiddelay(uinti) //延時(shí)2ims;{uintj;for(;i>0;i--)for(j=124;j>0;j--);} voidinit() //中斷初始化{ET0=1;TMOD=0x51;TH0=(65536-25000)/256;TL0=(65536-25000)%256;ET1=1;TH1=0xff;TL1=0xff;IT0=1;IT1=1;TR0=1;TR1=1;EA=1;}voidBss() //兩級(jí)防抖{H=1;M=1; //調(diào)時(shí)按鈕防抖if(H==0){delay(20); H=1; if(H==0) { delay(20); H=1; if(H==0) { EX0=1; } } }if(M==0) //調(diào)分按鈕防抖{delay(20); M=1; if(M==0) { delay(20); M=1; if(M==0) { EX1=1; } } }}voiddisplay() //時(shí)鐘顯示{ P0=tab[hour/10%10]; if(num==1&&temp==1) P2=0xff; else P2=0xfe; delay(1); P0=tab[hour%10]; if(num==1&&temp==1) P2=0xff; else P2=0xfd; delay(1); P0=tab[min/10%10]; if(num==2&&temp==1) P2=0xff; else P2=0xfb; delay(1); P0=tab[min%10]; if(num==2&&temp==1) P2=0xff; else P2=0xf7; delay(1); P0=tab[sec/10%10]; if(num==3&&temp==1) P2=0xff; else P2=0xef; delay(1); P0=tab[sec%10]; if(num==3&&temp==1) P2=0xff; else P2=0xdf; delay(1);}voiddisplaym() //秒表顯示{P0=tab[a/10%10]; P2=0xfe; delay(1); P0=tab[a%10]; P2=0xfd; delay(1); P0=tab[b/10%10]; P2=0xfb; delay(1); P0=tab[b%10]; P2=0xf7; delay(1); P0=tab[c/10%10]; P2=0xef; delay(1); P0=tab[c%10]; P2=0xdf; delay(1);}voidT0_int()interrupt1using1 //中斷T0用于計(jì)時(shí){TH0=(65536-25000)/256;TL0=(65536-25000)%256;count++;if((num!=0)&&(count%10==0)) //用于調(diào)時(shí)數(shù)字閃爍temp=~temp;if(count%10==0)LED=~LED;if(count==20){count=0; sec=sec+1; if(sec==60) { sec=0; min=min+1; if(min==60) { min=0; hour=hour+1; if(hour==24) hour=0; } } }}voidT1_int()interrupt3using2 //中斷T1用于可在時(shí)間校準(zhǔn)的減與計(jì)時(shí)之間進(jìn)行切換{if(cmd!=0) //滿足條件T1進(jìn)入計(jì)時(shí)功能{TH1=(65536-5000)/256; TL1=(65536-5000)%256; if(cmd%2==0) { c=c+1; if(c==100) { c=0; b=b+1; if(b==60) { b=0; a=a+1; } } } }else //不滿足秒表?xiàng)l件,進(jìn)入計(jì)數(shù)功能{TH1=0xff;TL1=0xff;switch(num){case1:hour=hour-1;if(hour<=0)hour=23;break; case2:min=min-1;if(min<=0)min=59;break; case3:sec=sec-1;if(sec<=0)sec=59;break; default:break; } }}voidI1_int()interrupt2using3 //外部中斷1用于調(diào)時(shí)的加跟秒表的控制{EX1=0;switch(num){case0:TMOD=0x11;cmd=cmd+1;break; //當(dāng)外部中斷未被啟用時(shí)進(jìn)入秒表case1:hour=hour+1;if(hour>=24)hour=0;break; case2:min=min+1;if(min>=60)min=0;break; case3:sec=sec+1;if(sec>=60)sec=0;break; default:break; }}voidI0_int()interrupt0using3 //外部中斷0用于校準(zhǔn)時(shí)間在時(shí)、分、秒之間進(jìn)行切換{EX0=0;if(cmd!=0&&(a!=0||b!=0||c!=0)) //對(duì)秒表進(jìn)行清零{a=0;b=0;c=0; }else if(cmd!=0&&(a*b*c==0)) //清零后退出秒表{cmd=0; TMOD=0x51; TH1=0xff; TL1=0xff; }elseif(cmd==0) //調(diào)時(shí)切換{temp=1; //啟動(dòng)數(shù)字閃爍num=num+1;if(num==4){temp=0; //關(guān)閉字符閃爍num=0; //推出調(diào)時(shí)功能 } }}voidmain() //主函數(shù){ init(); LED=0; while(1) { if(cmd==0) //如不滿足秒表?xiàng)l件就進(jìn)入時(shí)間顯示 display(); else displaym(); Bss(); } }3.4、protues仿真圖,及作品成型圖3.4.1protues仿真圖3.4.2實(shí)踐電路板照片LED數(shù)字顯示電子時(shí)鐘正面(關(guān)閉)LED數(shù)字顯示電子時(shí)鐘正面(開(kāi)啟)LED數(shù)字顯示秒表狀態(tài)3.5安裝與調(diào)試結(jié)果:3.5.1電路安裝安照電路原理圖把元器件安裝到已打好的銅板對(duì)應(yīng)的位置,把個(gè)元器件固定在銅板后,用導(dǎo)線把對(duì)應(yīng)的元器件的引腳相連接,再用焊錫焊接好即可。注意事項(xiàng):(1)元器件的布局應(yīng)盡量集中,且各個(gè)元器件間引腳的連線應(yīng)盡量短、不彎曲,跳線盡量少。(2)各個(gè)元器件引腳的焊接不要虛焊。3.5.2電路調(diào)試把相應(yīng)編譯好的目標(biāo)程序代碼加載到單片機(jī)芯片AT89S51,可接上5V電壓源即開(kāi)始進(jìn)行硬件電路的調(diào)試工作。如果顯示結(jié)果不符合設(shè)計(jì)要求,即檢查電路各連接點(diǎn)是否正確連接,再次進(jìn)行硬件電路的調(diào)試工作,或是檢查代碼程序是否符合硬件電路的設(shè)計(jì),若有錯(cuò)即進(jìn)行相應(yīng)的修改,編譯后,再進(jìn)行硬件電路的調(diào)試工作。如此反復(fù)操作,直到調(diào)試出正確結(jié)果。3.5.3軟件調(diào)試(1)在計(jì)算機(jī)上運(yùn)行程序調(diào)試軟件Keil,進(jìn)行程序調(diào)試。(2)利用Proteus軟件進(jìn)行仿真模擬。(3)加載程序代碼到單片機(jī)芯片AT89S51中,進(jìn)行模擬仿真。若出現(xiàn)錯(cuò)誤,查看錯(cuò)誤后進(jìn)行相應(yīng)修改再進(jìn)行調(diào)試與模擬仿真,直到調(diào)試出正確結(jié)果。3.5.4性能測(cè)試系統(tǒng)上電后進(jìn)行功能的測(cè)試,通過(guò)測(cè)試觀察到,系統(tǒng)上電后數(shù)碼管上顯示時(shí)間:11-11-11。通過(guò)測(cè)試,本作品設(shè)計(jì)實(shí)現(xiàn)了數(shù)字電子鐘的基本功能,且系統(tǒng)工作穩(wěn)定。經(jīng)過(guò)全組組員一起調(diào)試及驗(yàn)證,計(jì)時(shí)誤差為1.0秒。四.總結(jié):本次課程設(shè)計(jì)的題目是LED數(shù)字顯示電子時(shí)鐘。經(jīng)過(guò)本組同學(xué)的共同努力,終于調(diào)試成功,并經(jīng)過(guò)測(cè)試數(shù)據(jù)顯示,系統(tǒng)的可靠性已經(jīng)基本能夠達(dá)到實(shí)際電子鐘的設(shè)計(jì)要求,同時(shí)本單片機(jī)數(shù)字電子鐘系統(tǒng)具有擴(kuò)展性。本設(shè)計(jì)從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用美國(guó)Atmel公司的單片機(jī)AT89S51與顯示驅(qū)動(dòng)芯片7407作為主控芯片與數(shù)據(jù)存儲(chǔ)器單元,結(jié)合外圍的鍵盤輸入、顯示、電源輸入等電路并用C語(yǔ)言編寫主控芯片的控制程序,研制了一款可以調(diào)時(shí)并帶有秒表功能的電子時(shí)鐘。使用單片機(jī)制作的電子時(shí)鐘具有軟硬件設(shè)計(jì)簡(jiǎn)單,易于開(kāi)發(fā),成本較低,安全可靠,操作方便等特點(diǎn),可應(yīng)用于體育賽事和車站、辦公室及家庭等場(chǎng)所,有一定的實(shí)用性。此電子時(shí)鐘嚴(yán)格按照要求設(shè)計(jì),基本達(dá)到了預(yù)期效果,能夠正確的顯示時(shí)分秒的計(jì)時(shí),算上是一次比較成功的設(shè)計(jì)了。實(shí)驗(yàn)中遇到了不少問(wèn)題,但我們一起改進(jìn)和綜合了如下。1.按鍵問(wèn)題。此設(shè)計(jì)中,很多功能選擇是通過(guò)按鍵開(kāi)關(guān)實(shí)現(xiàn)的。在仿真中發(fā)現(xiàn),調(diào)整數(shù)值時(shí),有時(shí)按鍵反應(yīng)太快,按一次,跳了幾下,使設(shè)置時(shí)間
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年音樂(lè)學(xué)校鋼琴教師合同
- 2024年財(cái)產(chǎn)共有轉(zhuǎn)為個(gè)人協(xié)議
- 2024年轎車買賣標(biāo)準(zhǔn)協(xié)議模板一
- 2024苗木采購(gòu)合同范本
- 2025年度編劇與導(dǎo)演聯(lián)合創(chuàng)作合同終止及后續(xù)作品開(kāi)發(fā)協(xié)議3篇
- 2024年網(wǎng)絡(luò)安全防護(hù)與技術(shù)支持合同
- 2024年高精度導(dǎo)航定位技術(shù)研發(fā)合同
- 2024年跨國(guó)服務(wù)提供協(xié)議
- 2024版旅行社轉(zhuǎn)讓合同
- 2024年租賃物業(yè)保險(xiǎn)協(xié)議3篇
- 管束干燥機(jī)使用說(shuō)明書(shū)
- 三軸試驗(yàn)報(bào)告(共12頁(yè))
- 生活垃圾填埋場(chǎng)污染控制標(biāo)準(zhǔn)
- 空氣能機(jī)組安裝使用說(shuō)明
- 監(jiān)控系統(tǒng)自檢報(bào)告
- 工業(yè)機(jī)器人論文
- 代理商授權(quán)書(shū)
- 中南財(cái)經(jīng)政法大學(xué)工商管理碩士(MBA)
- 白云國(guó)際機(jī)場(chǎng)航站樓1027火災(zāi)事故
- 正常胃鏡檢查診療報(bào)告單
- 外協(xié)管理制度
評(píng)論
0/150
提交評(píng)論