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

正文內(nèi)容

基于單片機(jī)的可調(diào)時(shí)數(shù)字鬧鈴畢業(yè)設(shè)計(jì)-資料下載頁

2025-06-30 19:53本頁面

【導(dǎo)讀】隨著社會的發(fā)展、科技的進(jìn)步,各種方便于生活的電子產(chǎn)品開始進(jìn)入了人們的生活,電子時(shí)鐘就是其中之一。他已經(jīng)成為了人們?nèi)粘I钪械谋匦杵罚瑥V泛用于家庭、車站、碼頭、劇院、辦公室等場所,給人們的生活、學(xué)校、工作、娛樂帶來了極大的方便。本設(shè)計(jì)采用STC89C52為微處理器,通過LCD1602液晶顯示當(dāng)前日期、時(shí)間。統(tǒng)還具有對日期、星期、時(shí)間及鬧鈴的設(shè)置功能。經(jīng)測試,本設(shè)計(jì)能實(shí)現(xiàn)基本的數(shù)字時(shí)鐘功能。具有外圍電路簡單、成本低、易操作??紤]到成本,計(jì)時(shí)及數(shù)據(jù)處理均由單片機(jī)處理。性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。個(gè)定時(shí)控制器,驅(qū)動(dòng)負(fù)載或顯示信息,同時(shí)可以根據(jù)需要擴(kuò)展其功能。正常情況下,系統(tǒng)顯示當(dāng)前日期、時(shí)。按下按鍵停止報(bào)警。鈴時(shí)間可調(diào)小時(shí)和分鐘。在進(jìn)行設(shè)置時(shí),光標(biāo)停留在相應(yīng)位,按下Num_up. 鍵、Num_down鍵對數(shù)值進(jìn)行加、減調(diào)整。模塊和單片機(jī)模塊,考慮成本時(shí)鐘模塊可由單片機(jī)內(nèi)部計(jì)數(shù)器模擬實(shí)現(xiàn)。

  

【正文】 if(Num_down==0) { while(!Num_down)。 switch (Next_num) { case 0: day。 if(day==1) day=31。 //當(dāng)一開始便對 day 位進(jìn)行減操作時(shí),調(diào)節(jié)顯示信息 if(day==0) day=31。 write_nyr(9,day)。 break。 case 1: month。 if(month==1) month=12。 if(month==0) month=12。 write_nyr(6,month)。 break。 case 2: year_L。 if(year_L==1) year_L=99。 write_nyr(3,year_L)。 break。 case 3: year_H。 if(year_H==1) year_H=99。 write_nyr(1,year_H)。 } } } } } /*********************總的按鍵檢測程序 *************************************/ void keyscan() { uchar Set_num。 if(Set==0) { 第 22 頁 共 25 頁 delay(5)。 if(Set==0) while(!Set)。 //松手檢測 TR0=0。 //關(guān)閉計(jì)數(shù)器中斷 Set_num++。 switch (Set_num) { case 1: write_(0x80+9)。 write_(0x0f)。 keyscan_set_nyr()。 //修改年、月、日 break。 case 2: write_(0x80+12)。 //修改星期 keyscan_set_week()。 break。 case 3: write_(0x80+0x40+10)。 //進(jìn)入修改時(shí)分秒模式 keyscan_set_sfm(0)。 break。 case 4: write_(0x80+0x40)。 //設(shè)置鬧鈴模式 write_data(39。A39。)。 write_data(39。R39。)。 write_(0x80+0x40+10)。 write_data(39。 39。)。 write_data(39。 39。)。 write_(0x80+0x40+4)。 keyscan_set_sfm(1)。 break。 case 5: write_(0x80+0x40)。 //推出修改,繼續(xù)時(shí)鐘走時(shí) write_data(39。 39。)。 write_data(39。 39。)。 write_(0x80+0x40+7)。 write_(0x0c)。 Set_num=0。 TR0=1。 break。 } } } /*************初始化, 包括 LCD 和寄存器 *********************/ void init() { uchar num。 第 23 頁 共 25 頁 Rw=0。 lcd_en=0。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。 write_(0x80)。 for(num=0。num16。num++) { write_data(table0[num])。 delay(2)。 } write_(0x80+0x40)。 for(num=0。num14。num++) { write_data(table1[num])。 delay(2)。 } TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 ET0=1。 TR0=1。 } void alarm_bell() { uchar flag=1。 while(flag) { bell=0。 delay(200)。 bell=1。 delay(200)。 if(Num_up==0) { delay(5)。 //按鍵消抖 if(Num_up==0)。 while(!Num_up)。 //松手檢測 flag=0。 bell=1。 } if(Num_down==0) 第 24 頁 共 25 頁 { delay(5)。 if(Num_down==0)。 while(!Num_down)。 flag=0。 bell=1。 } if(Next==0) { delay(5)。 if(Next==0)。 while(!Next)。 flag=0。 bell=1。 } } } /**************主函數(shù) ************************/ void main() { init()。 bell=1。 while(1) { keyscan()。 if((Alarm_time[0]==fen)amp。amp。(Alarm_time[1]==shi)) { alarm_bell()。 Alarm_time[0]=61。 //鬧鈴后,為防止沖突,給鬧鈴時(shí)間賦值超出 Alarm_time[1]=25。 //實(shí)際可表示范圍。 } } } /****************中斷程序 ********************/ void timer0() interrupt 1 { TH0=(6553650000)/256。 TL0=(6553650000)%256。 count++。 if(count==18) //模擬時(shí)鐘走時(shí) { count=0。 miao++。 第 25 頁 共 25 頁 if(miao==60) { miao=0。 fen++。 if(fen==60) { fen=0。 shi++。 if(shi==24) { shi=0。 } write_sfm(4,shi)。 } write_sfm(7,fen)。 } write_sfm(10,miao)。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1