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

正文內(nèi)容

基于單片機(jī)的多功能數(shù)字電子鐘設(shè)計(jì)畢業(yè)設(shè)計(jì)論文(文件)

2024-12-23 10:21 上一頁面

下一頁面
 

【正文】 8 19 20LCD12864GNDGNDVCC+510KR1VCC+5 BEEP1Q1VCC200R4GND 附錄 23 附錄二 程序清單 /* 黃歷電子智能時(shí)鐘程序 單 片 機(jī): STC89C52RC 晶 振: 12MHz 時(shí)鐘芯片: DS1302 液 晶 屏: LCM12864ST7920 功能描述 : 大數(shù)字顯示時(shí)間 。 //K2確認(rèn)、返回 sbit K3 = P1^6。 void Conver_week(bit c,uchar year,uchar month,uchar day)。 unsigned char clk_ala[2]={0x00,0x00}。//調(diào)用 1302 時(shí)鐘數(shù)據(jù)中的月數(shù)據(jù),從地址 0x89 中 dd = read_clock(0x87)。//顯示內(nèi)容字符 20 lcm_w_test(1,(yy/16)+0x30)。 lcm_w_test(1,mo%16+0x30)。//調(diào) 用字符顯示函數(shù),顯示文字 星期 附錄 25 lcm_w_test(1,mo%16+0x30)。//顯示字符 日 // if(read_clock(0x85) != hh){//如果程序中的小時(shí)與 1302 芯片中的不同, hh = read_clock(0x85)。//顯示個(gè)位 lcm_w_word(時(shí) )。//向液晶寫數(shù)據(jù),顯示分鐘的個(gè)位數(shù) lcm_w_word(分 )。//向液晶寫數(shù)據(jù),顯示分鐘的個(gè)位數(shù) lcm_w_word(秒 )。 lcm_w_word(鬧鐘 )。 // lcm_w_test(1,(minute/10)+0x30)。 item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16。//查看數(shù)值是否在有效范圍之內(nèi) if(itemmini) item=max。//寫保護(hù),禁止寫操作 } 附錄 27 /********************************************************************/ //===============鬧鐘時(shí)間的加減設(shè)置 ====================== void ds_w0(void) { item0=time。//查看數(shù)值是否在有效范圍之內(nèi) if(item0mini)item0=max。 write_(0x06)。address=0x8a。 ds_w()。 time=minute。//顯示調(diào)整前的內(nèi)容 ds_w0()。time=hour。 ds_w0()。address=0x80。 //調(diào)用日期、時(shí)間調(diào)整函數(shù) ds_w()。 max=59。 tiaozheng()。mini=0。 } //小時(shí) 4,按動 4 次顯示 調(diào)整小時(shí) //規(guī)定小時(shí)數(shù)據(jù)寫入 1302 芯片的位置是 0x84,小時(shí)數(shù)據(jù)最大值 23,最小值是0 if(sel==2) {lcm_w_word(日期 )。 moontemp2=mo%16。 moontemp2=yy%16。yy%4!=0){max=28。yy%4==0){max=29。}//31天的月份 if(mo==4||mo==6||mo==9||mo==11){max=30。 tiaozheng()。mini=1。 } //月 2,按動 2 次顯示 調(diào)整月份 //規(guī)定月份寫入 1302 的位置地址是 0x88,月份最大值 12,最小值 1 if(sel==0) {lcm_w_word(年份 )。 tiaozheng()。 write_(0x9c)。 write_data(TH/10+0x30)。 //允許 總中斷中斷 ,使能 INT0 外部中斷 TCON = 0x01。K2=1。 //時(shí)鐘芯片初始化 lcm_init()。DelayM(1000)。 //顯示日期 displaynl()。 //=================以下是鬧鐘的相關(guān)處理 =================== if(ala_flag==1){//鬧鐘標(biāo)志位 set1616pic(6,1,0,2)。 tmp = tmpamp。//取出 1302 分鐘 i = tmp/16。 if(clk_ala[1]==tmp)//與鬧鐘設(shè)定的分鐘值相同 { if(ala_flag==1)//鬧鐘打開 { alarmbeep()。//關(guān)閉蜂鳴器 } //==============鬧鐘處理結(jié)束 ======================= } else {} //========否則啟動調(diào)時(shí) ========================= /*按鍵及紅外遙控設(shè)置時(shí)間 。//控制鬧鐘響的間隔即頻率 } else BEEP=1。0x0f。 tmp = tmp + i*10。}//關(guān)閉 鬧鐘圖標(biāo) 顯示 // 附錄 32 tmp=read_clock(0x85)。 //顯示時(shí)間 displayxq()。 //清屏 Clean_12864_GDRAM()。 //調(diào)用歡迎信息 1 DelayM(2020)。K4=1。 //IO 口初始化 BEEP=1。 } /********************************************************************* ********************************************************************** ************** 主函數(shù) **************** 附錄 31 ********************************************************************** /********************************************************************/ void main() { unsigned char e=0,f=0,tmp,i。 write_data(RH%10+0x30)。 //被調(diào)數(shù)據(jù)加一或減一函數(shù) tiaozheng()。 max=99。 附錄 30 ds_w()。address=0x88。}//30 天的月份 tiaozheng()。}//閏年 2 月 29 天 if(mo==1||mo==3||mo==5||mo==7||mo==8||mo==10||mo==12){max=31。}//平年 2 月 28 天 if(mo==2amp。//轉(zhuǎn)換成 10 進(jìn)制年份數(shù)據(jù) if(mo==2amp。//轉(zhuǎn)換成 10 進(jìn)制月份數(shù)據(jù) yy = read_clock(0x8d)。 mo = read_clock(0x89)。 ds_w()。address=0x84。 tiaozheng()。 } //秒 6,按動 6 次顯示 調(diào)整秒鐘 //并指定秒鐘 數(shù)據(jù)寫入 1302 芯片的寫入地址是 0x80,秒鐘數(shù)據(jù)的最大值是 59,最小值是 0 if(sel==4) {lcm_w_word(分鐘 )。mini=0。//把更新后的小時(shí)數(shù)據(jù)重新保存 tiaozheng()。mini=0。//把更新后的分鐘數(shù)據(jù)重新保存 tiaozheng()。mini=0。 } 附錄 28 */ //================================================================ lcm_w_test(0,0x9c)。mini=1。//第一參數(shù) 0 表示本行寫入指令,指定下面行的 調(diào)整 顯示起始位置為 9AH lcm_w_word(調(diào)整 )。//調(diào)整后的時(shí)間重新賦值給 time(time 為 hour 或 minute),這步很重要 ,沒有將無法更新鬧鐘數(shù)據(jù) } /**********************************************************************************************************/ //調(diào)整時(shí)間子函數(shù),設(shè)置鍵、數(shù)據(jù)范圍、上調(diào)加一,下調(diào)減一功能。//數(shù)加 1 } if(K4 == 0||key_minish==1){//如果按動下調(diào)鍵 item0。//允許寫 1302 芯片操作 write_clock(address,(item/10)*16+item%10)。//數(shù)加 1 } if(K4 == 0||key_minish==1){//如果按動下調(diào)鍵 item。//顯示分鐘的個(gè)位 // lcm_w_word()。//顯示小時(shí)十位 lcm_w_test(1,(hour%10)+0x30)。 //取出上一次的鬧鐘小時(shí)值 minute=clk_ala[1]。//刷新程序中的秒鐘數(shù)據(jù) } lcm_w_test(1,(ss/16)+0x30)。//刷新程序中的分鐘數(shù)據(jù) } lcm_w_test(1,(mm/16)+0x30)。//第一個(gè)參數(shù) 0,表示本行寫入 LCM 的是指令,指定顯示位置88H(第三行左端) lcm_w_test(1,(hh/16)+0x30)。 lcm_w_test(1,dd%16+0x30)。//調(diào)用字符顯示函數(shù),顯示文字 月 // /* lcm_w_test(0,0x88)。//函數(shù) lcm_w_word(年 )。//從 1302 芯片中讀取星期 數(shù)據(jù),從地址 0x8b 中 // lcm_w_test(0,0x80)。//用于鬧鈴的設(shè)置 /*日期、時(shí)間設(shè)置函數(shù) */ void tiaozheng(void){ yy = read_clock(0x8d)。 //調(diào)時(shí)標(biāo)志位 unsigned char yy,mo,dd,xq,hh,mm,ss,month_moon,day_moon,week,tiangan,dizhi,moontemp1,moontemp2。 //K4減 //K5=P1^4,K5控制鬧鐘的打開與關(guān)閉 ,在 中定義 附錄 24 /*函數(shù)聲明 */ void ds_w0(void)。有整點(diǎn)報(bào)時(shí)功能 紅外遙控和按鍵都能設(shè)置時(shí)間和鬧鈴 說 明: LCD12864 使用并口連接方式 ,PSB、 RST 接高電平 修改日志: */ /*頭文件 */ include include include include include include include include include include define uint unsigned
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1