亮度自動(dòng)調(diào)節(jié)臺(tái)燈電路的設(shè)計(jì)_第1頁
亮度自動(dòng)調(diào)節(jié)臺(tái)燈電路的設(shè)計(jì)_第2頁
亮度自動(dòng)調(diào)節(jié)臺(tái)燈電路的設(shè)計(jì)_第3頁
亮度自動(dòng)調(diào)節(jié)臺(tái)燈電路的設(shè)計(jì)_第4頁
亮度自動(dòng)調(diào)節(jié)臺(tái)燈電路的設(shè)計(jì)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

#{case1:miao++;//設(shè)置鍵按動(dòng)1次,調(diào)秒if(miao==60)miao=0;write_sfm(0x08,miao);temp=(miao)/10*16+(miao)%10;write_1302(0x8e,0x00);write_1302(0x80,temp);write_1302(0x8e,0x80);write_1602com(er+0x09);//write_1602com(0x0b);break;case2:fen++;if(fen==60)fen=0;write_sfm(0x05,fen);temp=(fen)/10*16+(fen)%10;write_1302(0x8e,0x00);write_1302(0x82,temp);write_1302(0x8e,0x80);write_1602com(er+6);break;case3:shi++;if(shi==24)shi=0;write_sfm(2,shi);temp=(shi)/10*16+(shi)%10;write_1302(0x8e,0x00);write_1302(0x84,temp);write_1302(0x8e,0x80);write_1602com(er+3);break;case4:week++;if(week==8)week=1;write_1602com(yh+0x0C);write_week(week);temp=(week)/10*16+(week)%10;write_1302(0x8e,0x00);write_1302(0x8a,temp);write_1302(0x8e,0x80);write_1602com(yh+0x0e);break;case5:ri++;if(ri==32)ri=1;write_nyr(9,ri);temp=(ri)/10*16+(ri)%10;write_1302(0x8e,0x00);write_1302(0x86,temp);write_1302(0x8e,0x80);write_1602com(yh+10);break;case6:yue++;if(yue==13)yue=1;write_nyr(6,yue);temp=(yue)/10*16+(yue)%10;write_1302(0x8e,0x00);write_1302(0x88,temp);write_1302(0x8e,0x80);write_1602com(yh+7);break;case7:nian++;if(nian==100)nian=0;write_nyr(3,nian);temp=(nian)/10*16+(nian)%10;write_1302(0x8e,0x00);write_1302(0x8c,temp);write_1302(0x8e,0x80);write_1602com(yh+4);break;}}}//減鍵key3,各句功能參照'加鍵'注釋//if(key3==0){delay(10);//調(diào)延時(shí),消抖動(dòng)if(key3==0){buzzer=0;//蜂鳴器短響一次delay(20);buzzer=1;while(!key3);switch(key1n){casel:miao--;if(miao==-1)miao=59;write_sfm(0x08,miao);temp=(miao)/l0*l6+(miao)%l0;write_l302(0x8e,0x00);write_l302(0x80,temp);write_l302(0x8e,0x80);write_l602com(er+0x09);//write_l602com(0x0b);break;case2:fen--;if(fen==-l)fen=59;write_sfm(5,fen);temp=(fen)/l0*l6+(fen)%l0;write_l302(0x8e,0x00);write_l302(0x82,temp);write_l302(0x8e,0x80);write_l602com(er+6);break;case3:shi--;if(shi==-l)shi=23;write_sfm(2,shi);temp=(shi)/l0*l6+(shi)%l0;write_1302(0x8e,0x00);write_1302(0x84,temp);write_1302(0x8e,0x80);write_1602com(er+3);break;case4:week--;if(week==0)week=7;write_1602com(yh+0x0C);write_week(week);temp=(week)/10*16+(week)%10;write_1302(0x8e,0x00);write_1302(0x8a,temp);write_1302(0x8e,0x80);write_1602com(yh+0x0e);break;case5:ri--;if(ri==0)ri=31;write_nyr(9,ri);temp=(ri)/10*16+(ri)%10;〃十進(jìn)制轉(zhuǎn)換成DS1302要求的DCB碼write_1302(0x8e,0x00);//允許寫,禁止寫保護(hù)write_1302(0x86,temp);〃向DS1302內(nèi)寫日期寄存器86H寫入調(diào)整后的日期數(shù)據(jù)BCD碼write_1302(0x8e,0x80);//打開寫保護(hù)write_1602com(yh+10);//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動(dòng)加一,所以需要光標(biāo)回位break;case6:yue--;if(yue==0)yue=12;write_nyr(6,yue);temp=(yue)/10*16+(yue)%10;//十進(jìn)制轉(zhuǎn)換成DS1302要求的DCB碼write_1302(0x8e,0x00);//允許寫,禁止寫保護(hù)write_1302(0x88,temp);〃向DS1302內(nèi)寫月份寄存器88H寫入調(diào)整后的月份數(shù)據(jù)BCD碼write_1302(0x8e,0x80);//打開寫保護(hù)write_1602com(yh+7);//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針

自動(dòng)加一,所以需要光標(biāo)回位break;case7:nian--;if(nian==-1)nian=99;write_nyr(3,nian);temp=(nian)/10*16+(nian)%10;〃十進(jìn)制轉(zhuǎn)換成DS1302要求的DCB碼write_1302(0x8e,0x00);write_1302(0x8c,temp);后的年份數(shù)據(jù)write_1302(0x8e,0x00);write_1302(0x8c,temp);后的年份數(shù)據(jù)BCD碼write_1302(0x8e,0x80);write_1602com(yh+4);自動(dòng)加一,所以需要光標(biāo)回位break;}}}}}voidinit(){TMOD=0x11;TH0=0;TL0=0;EA=1;ET0=1;TR0=1;//允許寫,禁止寫保護(hù)〃向DS1302內(nèi)寫年份寄存器8cH寫入調(diào)整//打開寫保護(hù)//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針//定時(shí)器、計(jì)數(shù)器設(shè)置函數(shù)//指定定時(shí)/計(jì)數(shù)器的工作方式為3//定時(shí)器T0的高四位=0//定時(shí)器T0的低四位=0//系統(tǒng)允許有開放的中斷//允許T0中斷//開啟中斷,啟動(dòng)定時(shí)器voidtimer0()interrupt1換初始化voidtimer0()interrupt1換初始化{TH0=(65536-500)/256;TL0=(65536-500)%256;InitADC();//取得并顯示日歷和時(shí)間,同時(shí)對(duì)A/D轉(zhuǎn)//高八位//低八位//讀取秒時(shí)分周日月年七個(gè)數(shù)據(jù)miao=BCD_Decimal(read_1302(0x81));fen=BCD_Decimal(read_1302(0x83));shi=BCD_Decimal(read_1302(0x85));ri=BCD_Decimal(read_1302(0x87));yue=BCD_Decimal(read_1302(0x89));nian=BCD_Decimal(read_1302(0x8d));week=BCD_Decimal(read_1302(0x8b));//顯示溫度、秒、時(shí)、分?jǐn)?shù)據(jù):write_sfm(8,miao);時(shí)分秒顯示子函數(shù))write_sfm(5,fen);write_sfm(2,shi);//秒,從第二行第8個(gè)字后開始顯示(調(diào)用//分,從第二行第5個(gè)字符后開始顯示//小時(shí),從第二行第2個(gè)字符后開始顯示//顯示日、月、年數(shù)據(jù):write_nyr(9,ri);write_nyr(6,yue);write_nyr(3,nian);write_week(week);//日期,從第二行第9個(gè)字符后開始顯示//月份,從第二行第6個(gè)字符后開始顯示//年,從第二行第3個(gè)字符后開始顯示/*ADC函數(shù)*/voidInitADC()〃初始AD寄存器{PlASF=OXdO;//Oxff設(shè)置Pl口全部為ADC通道,0X20:二進(jìn)制:1100,0000設(shè)置P1.6,P1.7口為ADC通道ADC_RES=0X00;//清除高8位緩沖數(shù)據(jù)if(ADC_Chanul_Turn%3==0)〃夕卜部基準(zhǔn)電壓{ADC_CONTR=0xF6;//AD轉(zhuǎn)換控制寄存器,1110,0110,(110:P16口)_nop_();_nop_();_nop_();_nop_();

ADC_CONTR=Oxee;〃1110,1110(清零Flag,置位Start)}if(ADC_Chanul_Turn%3==1){ADC_CONTR=OxF7;//AD轉(zhuǎn)換控制寄存器,1110,0111,(111:P17口)_nop_();_nop_();_nop_();_nop_();ADC_CONTR=0xef;//1110,1111(清零Flag,置位Start)}if(ADC_Chanul_Turn%3==2){ADC_CONTR=0xF4;//AD轉(zhuǎn)換控制寄存器,1110,0100,(100:P14口)//1110,1111(清零//1110,1111(清零Flag,置位Start)〃tt用來保存當(dāng)前時(shí)間在一秒中的比例位置//每250微秒增加1//2.5毫秒的時(shí)鐘周期〃使tt=0,開始新的PWM周期//使LED燈亮//按照當(dāng)前占空比切換輸出為高電平//使LED燈滅_nop_();_nop_();_nop_();_nop_();ADC_CONTR=0xec;}voidtimer1()interrupt3{staticunsignedinthh;scale=8;hh++;if(hh==10){hh=0;led=1;}if(scale==hh)led=0;voidtimer1()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(buzzer==1){count++;if(count>=3600){led=0;}}else{led=1;count=0;}}voidadc_isr()interrupt5先級(jí),但是同優(yōu)先級(jí)下定時(shí)器0更高{if(ADC_Chanul_Turn%3==0){da1=ADC_RES;Data=((double)da1/256)*5;c=Data;c=Data*100;}if(ADC_Chanul_Turn%3==1){da2=ADC_RES;Data=((double)da2/256)*5;c=Data;c=Data*100;}if(ADC_Chanul_Turn%3==2){da3=ADC_RES;Data=((double)da3/256)*5;c=Data*100;}

//開定時(shí)器0//FLAG標(biāo)志位置位觸發(fā)中斷,沒有設(shè)優(yōu)//外部基準(zhǔn)電壓//獲取轉(zhuǎn)換結(jié)果//取八位計(jì)算基準(zhǔn)電壓Data,//將轉(zhuǎn)換后的值擴(kuò)大100倍//獲取轉(zhuǎn)換結(jié)果//取八位計(jì)算實(shí)際值Data,//將轉(zhuǎn)換后的值擴(kuò)大100倍//獲取轉(zhuǎn)換結(jié)果//取八位計(jì)算實(shí)際值Data,//將轉(zhuǎn)換后的值擴(kuò)大100倍ADC_CONTR&=0xEF;

//標(biāo)志位清零ADC_Chanul_Turn++;f(ADC_Chanul_Turn==252)ADC_Chanul_Turn=0;}voidmain(){du=0;//調(diào)用液晶屏初始化子函數(shù)//調(diào)用液晶屏初始化子函數(shù)//調(diào)用DS1302時(shí)鐘的初始化子函數(shù)//調(diào)用定時(shí)計(jì)數(shù)器的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論