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

正文內(nèi)容

基于51單片機的電子萬年歷畢業(yè)論文設(shè)計-資料下載頁

2025-06-19 13:09本頁面
  

【正文】 {unsigned int i,j。for(i=0。it。i++)for(j=0。j113。j++)。}///////////////////////////////////////////////////播放音樂void PlayMusic(){ uint16 i =0,j,k。while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){ for(j=0。jSONG_LONG[i]*20。j++){ BEEP = ~BEEP。for(k=0。kSONG_TONE[i]/3。k++)。}Delay_nms(10)。i++。}BEEP =1。//關(guān)閉蜂鳴器}//////////////////////////////////////////////////*DS18B20*/void delay_18B20(unsigned int i){while(i)。}/*DS18B20 的復(fù)位脈沖 主機通過拉低單總線至少 480us 以產(chǎn)生復(fù)位脈沖 然后主機釋放單總線并進入接收模式 此時單總線電平被拉高 DS18B20 檢測到上升沿后 延時 15~60us,拉低總線 60~240us 產(chǎn)生應(yīng)答脈沖 */void Init_DS18B20(void) { unsigned char x=0。 DQ = 1。 //DQ 復(fù)位 delay_18B20(8)。 //稍做延時 DQ = 0。 //單片機將 DQ 拉低 delay_18B20(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay_18B20(14)。 x=DQ。 //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay_18B20(20)。}/*寫時隙 主機在寫 1 時隙向 DS18B20 寫入 1,在寫 0 時隙向 DS18B20 寫入 0 所有寫時隙至少需要 60us,且在兩次寫時隙之間至少需要 1us 的恢復(fù)時間 兩種寫時隙均以主機拉低總線開始 產(chǎn)生寫 1 時隙:主機拉低總線后,必須在 15us 內(nèi)釋放總線,由上拉電阻拉回至高電平 產(chǎn)生寫 0 時隙:主機拉低總線后,必須整個時隙保持低電平 */void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay_18B20(5)。 DQ = 1。 dat=1。 }} /*所有讀時隙至少 60us 且兩次獨立的讀時隙之間至少需要 1us 的恢復(fù)時間 每次讀時隙由主機發(fā)起,拉低總線至少 1us。 若傳 1,則保持總線高電平;若發(fā)送 0,則拉低總線 傳 0 時 DS18B20 在該時隙結(jié)束時釋放總線,再拉回高電平狀態(tài),主機必須在讀時隙開始后的 15us內(nèi)釋放總線,并保持采樣總線狀態(tài) */unsigned char ReadOneChar(void){unsigned char i=0。unsigned char dat = 0。for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 delay_18B20(4)。 } return(dat)。} void read_18B20(void){Init_DS18B20()。WriteOneChar(0xCC)。 // 跳過讀序號列號的操作WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換delay_18B20(100)。 // this message is wery importantInit_DS18B20()。WriteOneChar(0xCC)。 //跳過讀序號列號的操作WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度delay_18B20(100)。L_18B20=ReadOneChar()。 //讀取低八位數(shù)據(jù)H_18B20=ReadOneChar()。 //讀取高八位數(shù)據(jù)zhengshu=L_18B20/16+H_18B20*16。 //整數(shù)部分xiaoshu_a=(L_18B20amp。0x0f)*10/16。 //小數(shù)第一位}//DS18B20//////////////////////////////////////////////////* * 按鍵掃描*/int8 scan_key(void){int8 val=1。if (KeyIn1 == 0){val = 1。while (KeyIn1 == 0)。}else if (KeyIn2 == 0){val = 2。while (KeyIn2 == 0)。}else if (KeyIn3 == 0){val = 3。while (KeyIn3 == 0)。}//if (val 0)//buzzer_sound()。return val。}/* * 主界面框架*/void main_frame(void){play32(80, 2, 10)。play32(32, 2, 10)。play8(16, 0, S_xie)。play8(40, 0, S_xie)。// play8(96, 0, RH)。// play8(120, 0, S_percent)。play8(120, 6, S_du)。}/* * 主界面*/void main_show(bit refresh){ uint8 lunar[2]。if (refresh)read_time((uint8 *)amp。time)。// 時間if (refresh || ( != )) // 秒更新{ = 。// 溫濕度 play8_num(104, 6,zhengshu)。 //溫度顯示play32_num(96, 2, )。}if (refresh)main_frame()。if (refresh || ( != )) // 分更新{if (!refresh)flag = 0。 = 。play32_num(48, 2, )。 }if (refresh || ( != )) // 時更新{if ((!refresh)amp。amp。(Clock_flag))alarm_sound()。 = 。play32_num(0, 2, )。}if (refresh || ( != )) // 日更新{ = 。play8_num(48, 0, )。// 農(nóng)歷turn_lunar_calendar(amp。time, lunar)。play_lunar_calendar(0, 6, lunar[0], lunar[1])。}if (refresh || ( != )) // 周更新{ = 。play_week(68, 0, )。}if (refresh || ( != )) // 月更新{ = 。play8_num(24, 0, )。// 農(nóng)歷turn_lunar_calendar(amp。time, lunar)。play_lunar_calendar(0, 6, lunar[0], lunar[1])。}if (refresh || ( != )) // 年更新{ = 。play8_num(0, 0, )。// 農(nóng)歷turn_lunar_calendar(amp。time, lunar)。play_lunar_calendar(0, 6, lunar[0], lunar[1])。}}/* * 主機界面設(shè)置 */void main_set(void){int8 key_val, state=1。play32_num(96, 2|0x80, )。while (1){key_val = scan_key()。if (key_val == 1) // 設(shè)置{if (state = 7)state = 0。elsestate++。set_time((uint8 *)amp。time)。main_show(1)。switch (state){case 0: set_time((uint8 *)amp。time)。 break。case 1: play32_num(96, 2|0x80, )。 break。case 2: play32_num(48, 2|0x80, )。 break。case 3: play32_num(0, 2|0x80, )。 break。case 4: play_week(68, 0|0x80, )。 break。case 5: play8_num(48, 0|0x80, )。 break。case 6: play8_num(24, 0|0x80, )。 break。case 7: play8_num(0, 0|0x80, )。 break。default: break。}}else if (key_val 1){if (state == 1){if (key_val == 3)++。else。if ( = 60) = 0。else if ( 0) = 59。play32_num(96, 2|0x80, )。}else if (state == 2){if (key_val == 3)++。else。if ( = 60) = 0。else if ( 0) = 59。play32_num(48, 2|0x80, )。}else if (state == 3){if (key_val == 3)++。else。if ( = 24) = 0。else if ( 0) = 23。play32_num(0, 2|0x80, )。}else if (state == 4){if (key_val == 3)++。else。if ( = 8) = 1。else if ( 1) = 7。play_week(68, 0|0x80, )。}else if (state == 5){if (key_val == 3)++。else。if ( = 32) = 1。else if ( 1) = 31。play8_num(48, 0|0x80, )。}else if (state == 6){if (key_val == 3)++。else。if ( = 13) = 1。else if ( 1) = 12。play8_num(24, 0|0x80, )。}else if (state == 7){if (key_val == 3)++。else。if ( = 100) = 0。else if ( 0) = 99。play8_num(0, 0|0x80, )。}else{break。}}if (state == 0)break。}}/* * 鬧鐘界面顯示*/void alarm_show(void){int8 key_val, state=1。uint32 t=0。play16(0, 0, nao)。play16(16, 0, zhong)。play16(32, 0, maohao)。if (Alarm_flag)play16(48, 0, kai)。elseplay16(48, 0, guan)。play32_num(32, 2, )。play32(64, 2, 10)。play32_num(80, 2, )。play16(0, 6, zheng)。play16(16, 6, dian)。play16(32, 6, bao)。play16(48, 6, shi)。play16(64, 6, maohao)。if (Clock_flag)play16(80, 6, kai)。elseplay16(80, 6, guan)。for (t=0。 t30000。 t++){key_val = scan_key()。if (key_val 1)break。else if (key_val == 1){if (Alarm_flag)play16(48, 0|0x80, kai)。elseplay16(48, 0|0x80, guan)。 while (1){key_val = scan_key()。if (key_val == 1) // 完成設(shè)置{if (state = 4)state = 0。elsestate++。i
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1