freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的自動(dòng)打鈴器的設(shè)計(jì)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-22 01:50本頁(yè)面
  

【正文】 /*最低位置零*/ for (i = 0。 i 8。 i ++) { if (addr amp。 0x01) { IO_SET。 } else { IO_CLR。 } SCK_SET。 SCK_CLR。 addr = addr 1。 } /*寫入數(shù)據(jù):d*/ for (i = 0。 i 8。 i ++) { if (d amp。 0x01) { IO_SET。 } else { IO_CLR。 } SCK_SET。 SCK_CLR。 d = d 1。 } RST_CLR。 /*停止DS1302總線*/}/*從DS1302讀出一字節(jié)數(shù)據(jù)*/unsigned char ds1302_read_byte(unsigned char addr) { unsigned char i。 unsigned char temp。 RST_SET。 /*啟動(dòng)DS1302總線*/ /*寫入目標(biāo)地址:addr*/ addr = addr | 0x01。 //*最低位置高*/ for (i = 0。 i 8。 i ++) { if (addr amp。 0x01) { IO_SET。 } else { IO_CLR。 } SCK_SET。 SCK_CLR。 addr = addr 1。 } /*輸出數(shù)據(jù):temp*/ for (i = 0。 i 8。 i ++) { temp = temp 1。 if (IO_R) { temp |= 0x80。 } else { temp amp。= 0x7F。 } SCK_SET。 SCK_CLR。 } RST_CLR。 /*停止DS1302總線*/ return temp。}/*向DS302寫入時(shí)鐘數(shù)據(jù)*/void ds1302_write_time(void) { unsigned char i,tmp。 for(i=0。i8。i++){ //BCD處理 tmp=time_buf1[i]/10。 time_buf[i]=time_buf1[i]%10。 time_buf[i]=time_buf[i]+tmp*16。 } ds1302_write_byte(ds1302_control_add,0x00)。 //關(guān)閉寫保護(hù) ds1302_write_byte(ds1302_sec_add,0x80)。 //暫停 ds1302_write_byte(ds1302_charger_add,0xa9)。 //涓流充電 ds1302_write_byte(ds1302_year_add,time_buf[1])。 //年 ds1302_write_byte(ds1302_month_add,time_buf[2])。 //月 ds1302_write_byte(ds1302_date_add,time_buf[3])。 //日 ds1302_write_byte(ds1302_day_add,time_buf[7])。 //周 ds1302_write_byte(ds1302_hr_add,time_buf[4])。 //時(shí) ds1302_write_byte(ds1302_min_add,time_buf[5])。 //分 ds1302_write_byte(ds1302_sec_add,time_buf[6])。 //秒 ds1302_write_byte(ds1302_day_add,time_buf[7])。 //周 ds1302_write_byte(ds1302_control_add,0x80)。 //打開(kāi)寫保護(hù) }/*從DS302讀出時(shí)鐘數(shù)據(jù)*/void ds1302_read_time(void) { unsigned char i,tmp。 time_buf[1]=ds1302_read_byte(ds1302_year_add)。 //年 time_buf[2]=ds1302_read_byte(ds1302_month_add)。 //月 time_buf[3]=ds1302_read_byte(ds1302_date_add)。 //日 time_buf[4]=ds1302_read_byte(ds1302_hr_add)。 //時(shí) time_buf[5]=ds1302_read_byte(ds1302_min_add)。 //分 time_buf[6]=(ds1302_read_byte(ds1302_sec_add))amp。0x7F。 //秒 time_buf[7]=ds1302_read_byte(ds1302_day_add)。 //周 for(i=0。i8。i++){ //BCD處理 tmp=time_buf[i]/16。 time_buf1[i]=time_buf[i]%16。 time_buf1[i]=time_buf1[i]+tmp*10。 }}/*DS302初始化函數(shù)*/void ds1302_init(void) { RST_CLR。 /*RST腳置低*/ SCK_CLR。 /*SCK腳置低*/}/********************************//按鍵處理//****************************/sbit key1=P3^1。 //定義按鍵位置sbit key2=P3^2。sbit key3=P3^3。sbit key4=P3^4。 unsigned char ring_open。void keyscan(){ if(key1==0) { DelayMs(5)。 if(key1==0) //檢測(cè)到按鍵 { while(!key1)。 //松手檢測(cè) DelayMs(2)。 while(!key1)。 //松手檢測(cè) flag++。 flag%=3。 } } if(key2==0) { DelayMs(5)。 if(key2==0) { if(key3==0) //3一起按下 { DelayMs(5)。 if(key3==0) { ring_open++。 //不為0則開(kāi)啟,默認(rèn)關(guān)閉 ring_open%=6。 //數(shù)值決定鬧鈴點(diǎn)數(shù),共可設(shè)5點(diǎn)鬧鈴 } } while(!key2)。 //松手檢測(cè) DelayMs(2)。 while(!key2)。 if(flag==1)//調(diào)時(shí) { ++ring[n1][0]。 ring[n1][0]%=24。 disp()。 ShowString(1,SecondLine1)。 } if(flag==2) //調(diào)分 { ++ring[n1][1]。 ring[n1][1]%=60。 disp()。 ShowString(1,SecondLine1)。 } } } if(key3==0) { DelayMs(5)。 if(key3==0) { while(!key3)。 //松手檢測(cè) DelayMs(2)。 while(!key3)。 if(flag==1) //調(diào)時(shí) { if(ring[n1][0]0) ring[n1][0]。 else ring[n1][0]=23。 disp()。 ShowString(1,SecondLine1)。 } if(flag==2) //調(diào)分 { if( ring[n1][1]0) ring[n1][1]。 else ring[n1][1]=59。 disp()。 ShowString(1,SecondLine1)。 } } } if(key4==0) { DelayMs(5)。 if(key4==0) { while(!key4)。 //松手檢測(cè) DelayMs(2)。 while(!key4)。 if(flag!=0) //設(shè)置鬧鈴情況下更改 { n++。 if(n==6) //最大可設(shè)鬧鈴組數(shù)5 {n=1。} disp()。 ShowString(1,SecondLine1)。 } } } }/********************************//蜂鳴器//****************************/extern unsigned char TempData[8],ring[5][2]。extern bit BP。void beep(){ BP=0。 //蜂鳴器響! DelayMs(200)。 DelayMs(200)。 BP=1。 DelayMs(200)。 DelayMs(200)。// DelayMs(200)。// DelayMs(200)。 BP=0。 //蜂鳴器響! DelayMs(200)。 DelayMs(200)。 BP=1。}void ring_on_off(){ if(ring_open!=0) //鬧鈴已開(kāi) { switch(ring_open) //鬧鈴點(diǎn)數(shù)判斷 { case 1: if((TempData[4]==ring[0][0])amp。amp。(TempData[5]==ring[0][1])) {beep()。} break。 case 2: if(((TempData[4]==ring[0][0])amp。amp。(TempData[5]==ring[0][1]))||((TempData[4]==ring[1][0])amp。amp。(TempData[5]==ring[1][1]))) {beep()。} break。 case 3: if(((TempData[4]==ring[0][0])amp。amp。(TempData[5]==ring[0][1]))||((TempData[4]==ring[1][0])amp。amp。(TempData[5]==ring[1][1]))||((TempData[4]==ring[2][0])amp。amp。(TempData[5]==ring[2][1]))) {beep()。} break。 case 4: if(((TempData[4]==ring[0][0])amp。amp。(TempData[5]==ring[0][1]))||((TempData[4]==ring[1][0])amp。amp。(TempData[5]==ring[1][1]))||((Te
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1