基于單片機(jī)的電子鬧鐘設(shè)計(jì)課程設(shè)計(jì)_第1頁
基于單片機(jī)的電子鬧鐘設(shè)計(jì)課程設(shè)計(jì)_第2頁
基于單片機(jī)的電子鬧鐘設(shè)計(jì)課程設(shè)計(jì)_第3頁
基于單片機(jī)的電子鬧鐘設(shè)計(jì)課程設(shè)計(jì)_第4頁
基于單片機(jī)的電子鬧鐘設(shè)計(jì)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告PAGE -PAGE19-單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)評語:考勤(10)守紀(jì)(10)過程(40)設(shè)計(jì)報(bào)告(30)答辯(10)總成績(100)專業(yè):電氣工程及其自動(dòng)化班級:姓名:學(xué)號(hào):指導(dǎo)教師:蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院20年3月7日基于單片機(jī)的電子鬧鐘設(shè)計(jì)摘要本設(shè)計(jì)以AT89C51芯片為核心,輔以必要的外圍電路,設(shè)計(jì)了一個(gè)結(jié)構(gòu)簡單,功能齊全的電子時(shí)鐘,它由5V直流電源供電。關(guān)鍵詞:單片機(jī);led;鬧鐘;定時(shí)器AbstractThisdesign,adoptingAT89C51chipasthecorepartwithsomenecessaryperipheralcircuits,isasimpleelectronicclockwhichuses5VDCasthepowersupply.Keywords:singlechipmachine,infixedtimemachine,alarmclock,LED1引言1.1設(shè)計(jì)目的此次課程設(shè)計(jì)是在學(xué)習(xí)先修課程《單片機(jī)原理與系統(tǒng)設(shè)計(jì)》之后,為加強(qiáng)對學(xué)生系統(tǒng)設(shè)計(jì)和應(yīng)用能力的培養(yǎng)而開設(shè)的綜合設(shè)計(jì)訓(xùn)練環(huán)節(jié)。本課程設(shè)計(jì)應(yīng)結(jié)合《單片機(jī)原理與系統(tǒng)設(shè)計(jì)》課程的基礎(chǔ)理論,重點(diǎn)強(qiáng)調(diào)實(shí)際應(yīng)用技能訓(xùn)練,包括單片機(jī)系統(tǒng)設(shè)計(jì)的軟件和硬件兩部分。其課程設(shè)計(jì)任務(wù)是使學(xué)生通過應(yīng)用單片機(jī)系統(tǒng)設(shè)計(jì)的基本理論,基本知識(shí)與基本技能,掌握單片機(jī)應(yīng)用系統(tǒng)各主要環(huán)節(jié)的設(shè)計(jì)、調(diào)試方法,初步掌握并具備應(yīng)用單片機(jī)進(jìn)行設(shè)備技術(shù)改造和產(chǎn)品開發(fā)的能力,培養(yǎng)學(xué)生的創(chuàng)新意識(shí),提高學(xué)生的動(dòng)手能力和分析問題、解決問題的能力。1.2設(shè)計(jì)要求結(jié)合單片機(jī)知識(shí),以AT89C51單片機(jī)為核心,利用七段LED數(shù)碼管實(shí)現(xiàn)計(jì)時(shí)、校時(shí)及鬧鐘功能。1.3設(shè)計(jì)方法以AT89C51單片機(jī)為核心,外加晶振電路,使用8個(gè)七段數(shù)碼管顯示,LED采用動(dòng)態(tài)掃描,用74ls245芯片作為驅(qū)動(dòng)電路。通過四個(gè)獨(dú)立按鍵對時(shí)間進(jìn)行定時(shí)、校時(shí),從而實(shí)現(xiàn)鬧鐘提醒功能。2設(shè)計(jì)方案及原理2.1設(shè)計(jì)方案選AT89C51單片機(jī)作為系統(tǒng)核心,輔助外部產(chǎn)生時(shí)鐘信號(hào)的晶振電路,再加上四個(gè)獨(dú)立按鍵作為輸入信號(hào),使用8個(gè)七段數(shù)碼管顯示時(shí)間,芯片74ls245為數(shù)碼管段選線的驅(qū)動(dòng),最后用蜂鳴器實(shí)現(xiàn)鬧鈴功能。使用單片機(jī)的定時(shí)器T0計(jì)時(shí)時(shí)間為50ms,計(jì)時(shí)20次作為1s的時(shí)間基準(zhǔn)。第一部分,12MHz的晶振連接至單片機(jī)的時(shí)鐘信號(hào)輸入端;第二部分,四個(gè)獨(dú)立按鍵加上四個(gè)上拉電阻連接至單片機(jī)的P1口的低四位;第三部分,單片機(jī)的P0口通過由芯片74ls245構(gòu)成的驅(qū)動(dòng)電路連接至數(shù)碼管的段選線,單片機(jī)的P3口連接至數(shù)碼管的位選線;第四部分,單片機(jī)的P2.1通過一個(gè)NPN型三極管連接至蜂鳴器。8個(gè)七段數(shù)碼管使用動(dòng)態(tài)掃描顯示時(shí)間,獨(dú)立按鍵用軟件編程實(shí)現(xiàn)對時(shí)間和鬧鐘時(shí)、分、秒的設(shè)置,再通過比較所設(shè)置的鬧鐘與時(shí)間是否相等,達(dá)到鬧鈴發(fā)出聲響的效果。2.2設(shè)計(jì)原理系統(tǒng)原理圖如圖2.1所示。ATAT89C51晶振按鍵段碼驅(qū)動(dòng)位碼驅(qū)動(dòng)蜂鳴器8位數(shù)碼管圖2.1系統(tǒng)原理圖3硬件設(shè)計(jì)硬件電路分四個(gè)模塊:晶振電路、鍵盤電路、數(shù)碼管顯示電路、蜂鳴器驅(qū)動(dòng)電路。晶振電路使用12MHz晶體振蕩器,經(jīng)分頻后供單片機(jī)工作。鍵盤采用4個(gè)獨(dú)立按鍵配以4個(gè)上拉電阻實(shí)現(xiàn)對時(shí)鐘和鬧鐘的設(shè)定及修改。由于通過數(shù)碼管公共及的電流較大且避免過多地使用分立元件,采用了一片74ls245來驅(qū)動(dòng)段碼,用P3口作位碼驅(qū)動(dòng)。發(fā)音部分是通過三極管放大驅(qū)動(dòng)蜂鳴器工作,再通過軟件這時(shí)產(chǎn)生等時(shí)時(shí)間方波驅(qū)動(dòng)蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。系統(tǒng)硬件電路圖如圖3.1所示。圖3.1系統(tǒng)硬件圖4軟件設(shè)計(jì)源程序清單見附錄。主程序流程圖如圖4.1所示。圖4.1主程序流程圖5系統(tǒng)仿真及調(diào)試硬件部分設(shè)置了的三個(gè)按鍵K1、K2、K3、K4。當(dāng)按鍵K1第一次按下時(shí),停止計(jì)時(shí)進(jìn)入鬧鐘1的秒設(shè)置,當(dāng)按鍵K1第二、第三次按下時(shí),分別進(jìn)入鬧鐘1的分設(shè)置和時(shí)設(shè)置,當(dāng)按K1第四、第五、第六次按下時(shí)分別進(jìn)入鬧鐘2的秒、分、時(shí)設(shè)置,當(dāng)按K1第七、第八、第九次按下時(shí)分別進(jìn)入鬧鐘3的秒、分、時(shí)設(shè)置,當(dāng)按K1第十、第二一、第十二次按下時(shí)分別進(jìn)入時(shí)間的秒、分、時(shí)設(shè)置,在K1按下的各階段,可用按鍵K2、K3進(jìn)行時(shí)間和鬧鈴時(shí)間的時(shí)、分、秒進(jìn)行加減設(shè)置;當(dāng)按鍵K1第十三次按下時(shí)恢復(fù)到時(shí)間顯示功能。當(dāng)顯示的時(shí)間和定時(shí)設(shè)置的時(shí)間一致時(shí),蜂鳴器發(fā)出等時(shí)間斷蜂鳴聲,鬧鈴時(shí)間設(shè)置為60秒。在各個(gè)鬧鐘設(shè)置階段,如果有K4按下,則相應(yīng)鬧鐘功能關(guān)閉或開啟;如在鬧鈴時(shí)有K4按下則提前停止鬧鈴。系統(tǒng)仿真圖如圖5.1所示。圖5.1系統(tǒng)仿真圖6總結(jié)通過兩周的努力,完成了電子鬧鐘的設(shè)計(jì)目的,實(shí)現(xiàn)了時(shí)間的顯示、校時(shí)、設(shè)置鬧鐘、鬧鈴等功能。這期間,我復(fù)習(xí)了單片機(jī)的相關(guān)知識(shí),并結(jié)合查閱相關(guān)資料,設(shè)計(jì)了整體電路以及各模塊的電路,對照硬件電路編寫對應(yīng)模塊的子程序,最后將各個(gè)子程序整合到一個(gè)主程序中,完成了設(shè)計(jì)所需功能。在設(shè)計(jì)中,我發(fā)現(xiàn)選擇合適的元器件很重要,比如數(shù)碼管有共陽極和共陰極兩種,不同的選擇會(huì)導(dǎo)致程序的不同,經(jīng)過多次調(diào)試最終選擇了共陽極數(shù)碼管。另外,我覺得軟件的設(shè)計(jì)比硬件設(shè)計(jì)更重要,而且難度更大。比如寫一個(gè)程序看其功能很少認(rèn)為編寫程序簡單,但到編程的時(shí)候才發(fā)現(xiàn)一些細(xì)微的知識(shí)或低級錯(cuò)誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。我在這次設(shè)計(jì)中收獲頗多。我對所學(xué)的理論知識(shí)在實(shí)踐中加深了認(rèn)識(shí),同時(shí)更加熟練掌握了Proteus、Keil等軟件的使用。做任何事都需要耐心和細(xì)心,一點(diǎn)小的疏忽和懈怠可能導(dǎo)致整個(gè)設(shè)計(jì)失敗。還有一點(diǎn),自己的設(shè)計(jì)思路不可能憑空產(chǎn)生,只有借鑒別人已有的設(shè)計(jì)并充分消化吸收成為自己的東西,才能做出更好的設(shè)計(jì)作品。參考文獻(xiàn)[1]王思明.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:科學(xué)出版社,2021.[2]陳明熒.89C51單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材[M].北京:清華大學(xué)出版社[3]劉瑞新.單片機(jī)原理及應(yīng)用教程[M].北京:機(jī)械工業(yè)出版社,2021.[4]楊文龍.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2021.附錄源程序清單://****************************頭文件********************************#include<reg51.h>#include<intrins.h>//****************************宏定義********************************#defineucharunsignedchar#defineuintunsignedint//****************************位聲明********************************sbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;sbitfmq=P2^1; //************************數(shù)碼管顯示的數(shù)值**************************ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,//0 1234 50x82,0xf8,0x80,0x90,0xbf,0x0ff};// 67 89-滅 voidjia();//定義時(shí)間加函數(shù)voidjian();//定義時(shí)間減函數(shù)//********************數(shù)組定義,數(shù)組內(nèi)含有8個(gè)數(shù)值******************uchartable1[8],table2[8],table3[8],table4[8];//**************************時(shí)間顯示初始值**************************ucharshi=12,fen=0,miao=0;//**************************定義全局變量****************************ucharshi1,fen1,miao1,shi2,fen2,miao2,shi3,fen3,miao3;ucharshi4,fen4,miao4;ucharflag,flag1,wss,cnt,cnt1,alm1,alm2,alm3;//1秒等時(shí)位閃次數(shù)校時(shí)鬧1鬧2鬧3uintflag2;//蜂鳴//*********************延時(shí)函數(shù),用于動(dòng)態(tài)掃描數(shù)碼管*****************voiddelay(uchari){ucharx,y;for(x=i;x>0;x--)for(y=120;y>0;y--);}//*******************************初始化函數(shù)*************************voidinit(){TMOD=0x01;//工作方式1 TH0=0x3c;//定時(shí)時(shí)間為:50ms (65536-50000)/256TL0=0x0b0;//(65536-50000)%256ET0=1;//打開定時(shí)器EA=1;//開總中斷TR0=1;//啟動(dòng)定時(shí)器}//********************顯示子函數(shù),用于顯示時(shí)間數(shù)值*****************voiddisplay(){uchari,j;if(cnt!=10||wss==0){table1[0]=miao%10;//分離秒的個(gè)位與十位table1[1]=miao/10; } else {table1[0]=table1[1]=11;} if(cnt!=11||wss==0) {table1[3]=fen%10;//分離分的個(gè)位與十位table1[4]=fen/10; } else {table1[3]=table1[4]=11;} if(cnt!=12||wss==0) {table1[6]=shi%10;//分離時(shí)的個(gè)位與十位table1[7]=shi/10; } else {table1[6]=table1[7]=11;}table1[2]=table1[5]=10;j=0x7f;for(i=0;i<=7;i++)//從秒到時(shí)的掃描{P3=j; //選通點(diǎn)亮八個(gè)數(shù)碼管P0=table[table1[i]];//顯示數(shù)值delay(10); //調(diào)用延時(shí)程序j=_cror_(j,1);//循環(huán)右移}}//*******************顯示子函數(shù),用于顯示定時(shí)1時(shí)間*****************voiddisplay1(){uchari,j;if(alm1==0){if(cnt!=1||wss==0) {table2[0]=miao1%10;//分離秒的個(gè)位與十位table2[1]=miao1/10; } else {table2[0]=table2[1]=11;} if(cnt!=2||wss==0) {table2[3]=fen1%10; //分離分的個(gè)位與十位table2[4]=fen1/10; } else {table2[3]=table2[4]=11;} if(cnt!=3||wss==0) {table2[6]=shi1%10; //分離時(shí)的個(gè)位與十位table2[7]=shi1/10; } else {table2[6]=table2[7]=11;} } else table2[0]=table2[1]=table2[3]=table2[4]=table2[6]=table2[7]=10;table2[2]=table2[5]=10;j=0x7f;for(i=0;i<=7;i++) //從秒到時(shí)的掃描{P3=j; //選通點(diǎn)亮八個(gè)數(shù)碼管P0=table[table2[i]]; //顯示數(shù)值 delay(10); //調(diào)用延時(shí)程序j=_cror_(j,1); //循環(huán)右移}}//********************顯示子函數(shù),用于顯示定時(shí)2時(shí)間******************voiddisplay2(){uchari,j;if(alm2==0){if(cnt!=4||wss==0) {table3[0]=miao2%10;//分離秒的個(gè)位與十位table3[1]=miao2/10; } else {table3[0]=table3[1]=11;} if(cnt!=5||wss==0) {table3[3]=fen2%10;//分離分的個(gè)位與十位table3[4]=fen2/10; } else {table3[3]=table3[4]=11;} if(cnt!=6||wss==0) {table3[6]=shi2%10;//分離時(shí)的個(gè)位與十位table3[7]=shi2/10; } else {table3[6]=table3[7]=11;} } else table3[0]=table3[1]=table3[3]=table3[4]=table3[6]=table3[7]=10;table3[2]=table3[5]=10;j=0x7f;for(i=0;i<=7;i++)//從秒到時(shí)的掃描{P3=j;//選通點(diǎn)亮八個(gè)數(shù)碼管P0=table[table3[i]];/顯示數(shù)值 delay(10);//調(diào)用延時(shí)程序j=_cror_(j,1);//循環(huán)右移}}//***************顯示子函數(shù),用于顯示定時(shí)3時(shí)間數(shù)值****************//voiddisplay3(){uchari,j;if(alm3==0){if(cnt!=7||wss==0) {table4[0]=miao3%10;//分離秒的個(gè)位與十位table4[1]=miao3/10;} else {table4[0]=table4[1]=11;} if(cnt!=8||wss==0) {table4[3]=fen3%10;//分離分的個(gè)位與十位table4[4]=fen3/10; } else { table4[3]=table4[4]=11;} if(cnt!=9||wss==0) {table4[6]=shi3%10;//分離時(shí)的個(gè)位與十位table4[7]=shi3/10; } else { table4[6]=table4[7]=11;}}else table4[0]=table4[1]=table4[3]=table4[4]=table4[6]=table4[7]=10;table4[2]=table4[5]=10;j=0x7f;for(i=0;i<=7;i++)//從秒到時(shí)的掃描{P3=j;//選通點(diǎn)亮八個(gè)數(shù)碼管P0=table[table4[i]];//顯示數(shù)值 delay(10);//調(diào)用延時(shí)程序j=_cror_(j,1);//循環(huán)右移}}//***********************時(shí)間子函數(shù)*****************************//voidshijian(){if(flag>=20)//判斷是否到一秒{wss=~wss; flag=0; //到了,則標(biāo)志位清零 if(cnt1!=0) {miao4++;//秒加1if(miao4>59)//判斷秒是否到60s{miao4=0;//到了,則清零fen4++;//分加1if(fen4>59)//判斷分是否到1min{fen4=0;//到了,則清零shi4++;//時(shí)加1if(shi4>23)//判斷時(shí)是否到24hshi4=0; //到了,則清零 } }} else{miao++;//秒加1if(miao>59)//判斷秒是否到60s{miao=0;//到了,則清零fen++;//分加1if(fen>59)//判斷分是否到1min{fen=0;//到了,則清零shi++;//時(shí)加1if(shi>23)//判斷時(shí)是否到24hshi=0; //到了,則清零 } }}}}//**************************鍵盤掃描子函數(shù)************************//voidkey_scan(){if(key1==0){while(!key1)//防止掉顯{if(cnt==1||cnt==2||cnt==3){display1();}//key1按了1、2、3次,調(diào)用鬧鐘1子程序 if(cnt==4||cnt==5||cnt==6){display2();}//key1按了4、5、6次,調(diào)用鬧鐘2子程序 if(cnt==7||cnt==8||cnt==9){display3();}//key1按了7、8、9次,調(diào)用鬧鐘3子程序 if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13){display();}//key1按了10、11、12、13次,調(diào)用計(jì)時(shí)子程序}cnt++;//記下按鍵key1按下的次數(shù) if(cnt==10&&cnt1==0) {miao4=miao; fen4=fen; shi4=shi; cnt1++; } if(cnt==13) {cnt=0; if(cnt1==1) {miao=miao4; fen=fen4; shi=shi4; } cnt1=0; }}if(key2==0)//判斷key2是否按下{while(!key2)//防止掉顯{if(cnt==1||cnt==2||cnt==3){display1();} if(cnt==4||cnt==5||cnt==6){display2();} if(cnt==7||cnt==8||cnt==9){display3();} if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13){display();}}jia();//調(diào)用加1子函數(shù)}if(key3==0)//判斷key3是否按下{while(!key3)//防止掉顯{if(cnt==1||cnt==2||cnt==3){display1();} if(cnt==4||cnt==5||cnt==6){display2();} if(cnt==7||cnt==8||cnt==9){display3();} if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13){display();}}jian(); //調(diào)用減1子函數(shù)} if(key4==0) //判斷key4是否按下 {while(!key4) //防止掉顯 {if(cnt==1||cnt==2||cnt==3) {alm1=~alm1; display1(); } if(cnt==4||cnt==5||cnt==6) {alm2=~alm2; display2(); } if(cnt==7||cnt==8||cnt==9) {alm3=~alm3; display3(); } if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13) display(); } }}//****************************加1子函數(shù)***************************voidjia(){if(cnt==1) //判斷key1按下的次數(shù)是否為1{miao1++; //是,則秒加1if(miao1>59) //判斷秒是否大于60,是,則秒清零miao1=0;}if(cnt==2) //判斷key1按下的次數(shù)是否為2{fen1++; //是,則分加1if(fen1>59)//判斷分是否大于60fen1=0;//是,則分清零}if(cnt==3)//判斷key1按下的次數(shù)是否為3{shi1++;//是,則時(shí)加1if(shi1>23)//判斷時(shí)是否大于23shi1=0;//是,則時(shí)清零}if(cnt==4)//判斷key1按下的次數(shù)是否為4{miao2++;//是,則秒加1if(miao2>59)//判斷秒是否大于60,是,則秒清零miao2=0;}if(cnt==5)//判斷key1按下的次數(shù)是否為5{fen2++;//是,則分加1if(fen2>59)//判斷分是否大于60fen2=0;//是,則分清零}if(cnt==6)//判斷key1按下的次數(shù)是否為6{shi2++;//是,則時(shí)加1if(shi2>23)//判斷時(shí)是否大于23shi2=0;//是,則時(shí)清零}if(cnt==7)//判斷key1按下的次數(shù)是否為7{miao3++;//是,則秒加1if(miao3>59)//判斷秒是否大于60,是,則秒清零miao3=0;}if(cnt==8)//判斷key1按下的次數(shù)是否為8{fen3++;//是,則分加1if(fen3>59)//判斷分是否大于60fen3=0;//是,則分清零}if(cnt==9)//判斷key1按下的次數(shù)是否為9{shi3++;//是,則時(shí)加1if(shi3>23)//判斷時(shí)是否大于23shi3=0;//是,則時(shí)清零}if(cnt==10)//判斷key1按下的次數(shù)是否為10{miao++;//是,則秒加1if(miao>59)//判斷秒是否大于60,是,則秒清零miao=0; cnt1++;}if(cnt==11)//判斷key1按下的次數(shù)是否為11{fen++;//是,則分加1if(fen>59)//判斷分是否大于60fen=0;//是,則分清零 cnt1++;}if(cnt==12)//判斷key1按下的次數(shù)是否為12{shi++;//是,則時(shí)加1if(shi>23)//判斷時(shí)是否大于23shi=0;//是,則時(shí)清零 cnt1++;}}//***************************減1子函數(shù)**************************//voidjian(){if(cnt==1) //判斷key1按下的次數(shù)是否為1,是則秒減1{miao1--;if(miao1==255) //判斷秒是否減到255,是,則秒置59miao1=59;}if(cnt==2) //判斷key1按下的次數(shù)是否為2,是則分減1{fen1--;if(fen1==255)//判斷分是否減到255,是,則分置59fen1=59;}if(cnt==3)//判斷key1按下的次數(shù)是否為3,是則時(shí)減1{shi1--;if(shi1==255)//判斷時(shí)是否減到255,是,則時(shí)置23shi1=23;}if(cnt==4)//判斷key1按下的次數(shù)是否為4,是則秒減1{miao2--;if(miao2==255)//判斷秒是否減到255,是,則秒置59miao2=59;}if(cnt==5)//判斷key1按下的次數(shù)是否為5,是則分減1{fen2--;if(fen2==255)//判斷分是否減到255,是,則分置59fen2=59;}if(cnt==6)//判斷key1按下的次數(shù)是否為6,是則時(shí)減1{shi2--;if(shi2==255)//判斷時(shí)是否減到255,是,則時(shí)置23shi2=23;} if(cnt==7)//判斷key1按下的次數(shù)是否為7,是則秒減1{miao3--;if(miao3==255)//判斷秒是否減到255,是,則秒置59miao3=59;}if(cnt==8)//判斷key1按下的次數(shù)是否為8,是則分減1{fen3--;if(fen3==255)//判斷分是否減到255,是,則分置59fen3=59;}if(cnt==9)//判斷key1按下的次數(shù)是否為9,是則時(shí)減1{shi3--;if(shi3==255)//判斷時(shí)是否減到255,是,則時(shí)置23shi3=23;}if(cnt==10)//判斷key1按下的次數(shù)是否為10,是則秒減1{miao--;if(miao==255)//判斷秒是否減到255,是,則秒置59miao=59; cnt1++;}if(cnt==11)//判斷key1按下的次數(shù)是否為11,是則分減1{fen--;if(fen==255)//判斷分是否減到255,是,則分置59fen=59; cnt1++;}if(cnt==12)//判斷key1按下的次數(shù)是否為12,是則時(shí)減1{shi--;if(shi==255)//判斷時(shí)是否減到255,是,則時(shí)置23shi=23; cnt1++;}}//***************************鬧鈴子函數(shù)***************************//voidclock()//判斷秒的數(shù)值是否相等{if(miao==miao1&&alm1==0||miao==miao2&&alm2==0||miao==miao3&&alm3==0)//是,在判斷分是否相等if(fen==fen1&&alm1==0||fen==fen2&&alm2==0||fen==fen3&&alm3==0)//是,再判斷時(shí)是否相等 if(shi==shi1&&alm1==0||shi==shi2&&alm2==0||shi==shi3&&alm3==0){flag2=0;//是,則標(biāo)志位,flag2清零while(!(flag2==1200)&&(cnt==0))//判斷flag2是否到1200且不 //為調(diào)時(shí)狀態(tài){if(key4==0) //沒有,則繼續(xù)驅(qū)動(dòng)蜂鳴器響 {while(!key4) flag2=1200; } if(flag1>1) //等時(shí)方波驅(qū)動(dòng)蜂鳴器 {fmq=~fmq; flag1=0; }shijian();//調(diào)用時(shí)間子函數(shù)display();//調(diào)用顯示子函數(shù)}fmq=1;//關(guān)閉蜂鳴器 }}//**************************主函數(shù)********************************//voidmain(){init();//調(diào)用初始化子函數(shù)while(1){clock();//鬧鐘子函數(shù) if(cnt==1||cnt==2||cnt==3)//顯示子函數(shù){display1();} if(cnt==4||cnt==5||cnt==6){display2();} if(cnt==7||cnt==8||cnt==9){display3();} if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13){display();} shijian(); //調(diào)用時(shí)間子函數(shù) key_scan(); //調(diào)用鍵盤掃描子函數(shù)}}//**************************定時(shí)中斷******************************//voidtime0()interrupt1{TH0=0x3c;//初值50ms(65536-50000)/256TL0=0x0b0; //(65536-50000)%256flag++;//標(biāo)志位flag1++; flag2++; }

本科生學(xué)位論文論多媒體技術(shù)在教學(xué)中的應(yīng)用姓名:指導(dǎo)教師:專業(yè):教育管理專業(yè)年級:完成時(shí)間:

論多媒體技術(shù)在教學(xué)中的應(yīng)用[摘要]多媒體不再是傳統(tǒng)的輔助教學(xué)工具,而是為構(gòu)造一種新的網(wǎng)絡(luò)教學(xué)環(huán)境創(chuàng)造了條件,特別是對于教育社會(huì)化來說,多媒體網(wǎng)絡(luò)是一種更理想的傳播工具。多媒體本身具有:融合性、非線性化,無結(jié)構(gòu)性、相互交涉性、可編輯性、實(shí)時(shí)性等特點(diǎn);同時(shí)運(yùn)用在教育教學(xué)上又有其特長:利于信息的存儲(chǔ)利用、是培養(yǎng)發(fā)散性思維的工具、促使學(xué)習(xí)個(gè)別化的實(shí)現(xiàn)。多媒體在教學(xué)中的應(yīng)用有著多種的形式,它在提高學(xué)生學(xué)習(xí)興趣上有著積極的作用,同時(shí)它還能促進(jìn)學(xué)生知識(shí)的獲取與保持、對教學(xué)

溫馨提示

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

最新文檔

評論

0/150

提交評論