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

正文內容

基于單片機的多功能數字電子鐘設計畢業(yè)設計論文-資料下載頁

2024-11-29 10:21本頁面

【導讀】1)顯示年、月、日、星期等日歷相關信息。通過按鍵設置年月日和星期,以及定時鬧鐘。2)掉電后時鐘芯片正常運行,重新上電后不用校正時鐘。3)定時時間到達時,蜂鳴器報警。4)實時溫濕度顯示。[2]51單片機學習論壇[DB].2.此任務書夾于論文扉頁與論文一并裝訂,作為論文評分依據之。電子鐘是當今社會中最主要的計時工具,它廣泛的被應用在電腦,手機,和其他社會生活的各個方面,和所有要求時間的場所。在當今社會,人們越來越重視時間,生活節(jié)奏越來越快,時間就是金錢。時間如果不準確,會對那些需要精確時間的人帶來極大的麻煩。本設計實現了萬年歷的基本功能,顯示年、月、日、時、分、秒、星期,整個設計具有操作簡單,性價。比高,環(huán)保無噪音,低功耗等優(yōu)點。

  

【正文】 //數加 1 } if(K4 == 0||key_minish==1){//如果按動下調鍵 item。//數減 1 } if(itemmax) item=mini。//查看數值是否在有效范圍之內 if(itemmini) item=max。//如果數值小于最小值,則自動等于最大值 write_clock(0x8e,0x00)。//允許寫 1302 芯片操作 write_clock(address,(item/10)*16+item%10)。//轉換成 16 進制寫入 1302 write_clock(0x8e,0x80)。//寫保護,禁止寫操作 } 附錄 27 /********************************************************************/ //===============鬧鐘時間的加減設置 ====================== void ds_w0(void) { item0=time。 if(K3 == 0||key_add==1){//如果按動上調鍵 item0++。//數加 1 } if(K4 == 0||key_minish==1){//如果按動下調鍵 item0。//數減 1 } if(item0max) item0=mini。//查看數值是否在有效范圍之內 if(item0mini)item0=max。//如果數值小于最小值,則自動等于最大值 time=item0。//調整后的時間重新賦值給 time(time 為 hour 或 minute),這步很重要 ,沒有將無法更新鬧鐘數據 } /**********************************************************************************************************/ //調整時間子函數,設置鍵、數據范圍、上調加一,下調減一功能。 void Set_time(unsigned char sel){ //根據選擇調整的相應項目加 1 并寫入 DS1302,函數參數是按動設置鍵的次數 write_(0x30)。 write_(0x06)。 lcm_w_test(0,0x98)。//第一參數 0 表示本行寫入指令,指定下面行的 調整 顯示起始位置為 9AH lcm_w_word(調整 )。//調用字符顯示函數,顯示 調整字樣 /* if(sel==8) {lcm_w_word(星期 )。address=0x8a。 max=7。mini=1。 tiaozheng()。 ds_w()。 tiaozheng()。 } 附錄 28 */ //================================================================ lcm_w_test(0,0x9c)。 if(sel==7) {lcm_w_word(鬧鐘分 )。 time=minute。max=59。mini=0。 tiaozheng()。//顯示調整前的內容 ds_w0()。//設置鬧鐘 clk_ala[1]=time。//把更新后的分鐘數據重新保存 tiaozheng()。//顯示調整后的內容 }//按動 8 次顯示 調整鬧鐘的分鐘部分 if(sel==6) {lcm_w_word(鬧鐘時 )。time=hour。 max=23。mini=0。 tiaozheng()。 ds_w0()。 clk_ala[0]=time。//把更新后的小時數據重新保存 tiaozheng()。 }//按動 7 次 顯示 調整鬧鐘的小時部分 //================================================================ if(sel==5) {lcm_w_word(秒鐘 )。address=0x80。 max=59。mini=0。 tiaozheng()。 //調用日期、時間調整函數 ds_w()。 //被調數據加一或減一函數 tiaozheng()。 } //秒 6,按動 6 次顯示 調整秒鐘 //并指定秒鐘 數據寫入 1302 芯片的寫入地址是 0x80,秒鐘數據的最大值是 59,最小值是 0 if(sel==4) {lcm_w_word(分鐘 )。address=0x82。 max=59。mini=0。 tiaozheng()。 ds_w()。 tiaozheng()。 } //分鐘 5,按動 5 次顯示 調整分鐘 //并指定分鐘數據寫入 1302 芯片的地址是 0x82,分鐘數據的最大值是 59,最小值是 0 if(sel==3) {lcm_w_word(小時 )。address=0x84。 max=23。mini=0。 附錄 29 tiaozheng()。 ds_w()。 tiaozheng()。 } //小時 4,按動 4 次顯示 調整小時 //規(guī)定小時數據寫入 1302 芯片的位置是 0x84,小時數據最大值 23,最小值是0 if(sel==2) {lcm_w_word(日期 )。address=0x86。 mo = read_clock(0x89)。//讀月數據 moontemp1=mo/16。 moontemp2=mo%16。 mo=moontemp1*10+moontemp2。//轉換成 10 進制月份數據 yy = read_clock(0x8d)。//讀年數據 moontemp1=yy/16。 moontemp2=yy%16。 yy=moontemp1*10+moontemp2。//轉換成 10 進制年份數據 if(mo==2amp。amp。yy%4!=0){max=28。mini=1。}//平年 2 月 28 天 if(mo==2amp。amp。yy%4==0){max=29。mini=1。}//閏年 2 月 29 天 if(mo==1||mo==3||mo==5||mo==7||mo==8||mo==10||mo==12){max=31。mini=1。}//31天的月份 if(mo==4||mo==6||mo==9||mo==11){max=30。mini=1。}//30 天的月份 tiaozheng()。 ds_w()。 tiaozheng()。 //調用日期、時間調整函數 } //日 3,按動 3 次顯示 調整日期 //規(guī)定日期數據寫入 1302 的位置地址是 0x86,日期最大值 31,最小 值是 1 if(sel==1) {lcm_w_word(月份 )。address=0x88。 max=12。mini=1。 tiaozheng()。 附錄 30 ds_w()。 tiaozheng()。 } //月 2,按動 2 次顯示 調整月份 //規(guī)定月份寫入 1302 的位置地址是 0x88,月份最大值 12,最小值 1 if(sel==0) {lcm_w_word(年份 )。address=0x8c。 max=99。 mini=0。 tiaozheng()。 ds_w()。 //被調數據加一或減一函數 tiaozheng()。 //調用日期、時間調整函數 } //年 1,按動 1 次顯示 調整年份, //規(guī)定年份寫入 1302 的地址是 0x8c,年份的最大值 99,最小值 0 } void displayDHT11() { receive()。 write_(0x9c)。 write_data(RH/10+0x30)。 write_data(RH%10+0x30)。 write_(0x9e)。 write_data(TH/10+0x30)。 write_data(TH%10+0x30)。 } /********************************************************************* ********************************************************************** ************** 主函數 **************** 附錄 31 ********************************************************************** /********************************************************************/ void main() { unsigned char e=0,f=0,tmp,i。 IE = 0x81。 //允許 總中斷中斷 ,使能 INT0 外部中斷 TCON = 0x01。 //觸發(fā)方式為脈沖負邊沿觸發(fā) IRIN=1。 //IO 口初始化 BEEP=1。 K1=1。K2=1。K3=1。K4=1。 Init_1302()。 //時鐘芯片初始化 lcm_init()。 //液晶初始化 wele0()。 //調用歡迎信息 1 DelayM(2020)。//延時 //wele()。DelayM(1000)。 //調用歡迎信息 2 lcm_clr()。 //清屏 Clean_12864_GDRAM()。 //清屏 while(1) { if (w == 0) //正常走時 { displaydate()。 //顯示日期 displaynl()。 //顯示農歷 displaytime()。 //顯示時間 displayxq()。 //顯示星期 displayDHT11()。 //=================以下是鬧鐘的相關處理 =================== if(ala_flag==1){//鬧鐘標志位 set1616pic(6,1,0,2)。} //顯示 鬧鐘圖標 else{ set1616pic(6,1,0,3)。}//關閉 鬧鐘圖標 顯示 // 附錄 32 tmp=read_clock(0x85)。//取出 1302 小時 i = tmp/16。 tmp = tmpamp。0x0f。 tmp = tmp + i*10。 if(clk_ala[0]==tmp)//與鬧鐘設定的小時值相同 { tmp=read_clock(0x83)。//取出 1302 分鐘 i = tmp/16。 tmp = tmpamp。0x0f。 tmp = tmp + i*10。 if(clk_ala[1]==tmp)//與鬧鐘設定的分鐘值相同 { if(ala_flag==1)//鬧鐘打開 { alarmbeep()。//鬧鈴聲響 1 分鐘后自動關閉 , DelayM(200)。//控制鬧鐘響的間隔即頻率 } else BEEP=1。//關閉蜂鳴器 } else BEEP=1。//關閉蜂鳴器 } //==============鬧鐘處理結束 ======================= } else {} //========否則啟動調時 ========================= /*按鍵及紅外遙控設置時間
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1