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

正文內(nèi)容

多功能萬(wàn)年歷設(shè)計(jì)畢業(yè)論文-預(yù)覽頁(yè)

 

【正文】 必須是1。(2)數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始,如下圖14所示。表4 DS1302的日歷、時(shí)鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作76543210秒寄存器80H81H0059CH10SECSEC分鐘寄存器82H83H0059010MINMIN小時(shí)寄存器84H85H112或002312/24010APHRHR日期寄存器86H87H0128,29,30,310010DATEDATE月份寄存器88H89H0112000IOMMONTH周日寄存器8AH8BH010700000DAY年份寄存器8CH8DH009910YEARYEAR時(shí)間處理子程序流程圖如圖16所示,程序見附錄一。一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,本設(shè)計(jì)中利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。計(jì)算公歷日對(duì)應(yīng)的農(nóng)歷日期的方法:先計(jì)算出公歷日離當(dāng)年元旦的天數(shù),然后查表取得當(dāng)年的春節(jié)日期計(jì)算出春節(jié)離元旦的天數(shù),二者相減即可算出公歷日離春節(jié)的天數(shù),以后只要根據(jù)大小月和閏月信息,減一月天數(shù)調(diào)整一月農(nóng)歷月份,即可推算出公歷日所對(duì)應(yīng)的農(nóng)歷日期。本設(shè)計(jì)硬件系統(tǒng)相對(duì)簡(jiǎn)單,使用方便。 [9] [M].北京:電子工業(yè)出版社,.[10] 張齊,—基于C51的protues仿真(第2版)[M].北京:電子工業(yè)出版社,.附錄 附錄A 程序1/************使用LCD160DS1302時(shí)鐘芯片、DS18B20溫度傳感器完成該萬(wàn)年歷**************/include include includeincludeincludeincludeincludeincludeincludedefine uint unsigned int //宏定義 define uchar unsigned charvoid open()。 //調(diào)日期void SetYear_Week_Mode()。 //音樂初始化void Guangbiao_Flash()。 Read_RTC()。 //時(shí)間處理 KeyScan()。amp。 if(alarm==1) alarm=0。i15。 continue。 //顯示溫度 deal()。 EA=0。menu[select/2][i]!=39。menu[3][i]!=39。 } if(select==2||select==3) //調(diào)日期模式 { SetDate_Mode()。 } } } }/***************END***********END******************************///////////////********************LCD相關(guān)程序***************************/sbit rs=P2^4。 //定義輸出管腳 void delay(uchar z)。 //LCD寫數(shù)據(jù) void init() //LCD初始化函數(shù) { rw=0。//開顯示,光標(biāo)顯示 delay(1)。 //清顯示 delay(1)。 P0=。 e=0。 delay(1)。 }void delay(uchar z) //延時(shí)函數(shù) { uchar x,y。y110。 // 時(shí)鐘信號(hào) sbit io=P3^4。 //讀取時(shí)間 void Read_RTC(void)。 //顯示時(shí)間 void display2(uchar *lp,uchar *lc)。//寫入時(shí)鐘芯片的地址,順序同上 code uchar read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}。i8。 //每次傳輸?shù)妥止?jié) temp=1。 sck=0。 //啟動(dòng) Write_Ds1302_Byte(address)。 rst=0。 rst=1。i8。 //右移一位 sck=0。 sck=0。 io=0。 return (time)。i8。 Write_Ds1302(0x8E,0X00)。i++) //8次寫入 年月日時(shí)分秒星期 { Write_Ds1302(*p,P1302[i])。 l_tmpdisplay[0]=l_tmpdate[2]/16。 //加入: l_tmpdisplay[3]=l_tmpdate[1]/16。 l_tmpdisplay[6]=l_tmpdate[0]/16。 //顯示2010的2 l_tmpdisplay[9]=0。 l_tmpdisplay[12]=10。 l_tmpdisplay[15]=10。 }void display1(uchar *lp,uchar lc) //顯示時(shí)間 { unsigned char i。i++) { write_date(table0[lp[i]])。 write_date(table1[1])。 write_date(table1[4])。 write_date(table1[7])。 write_date(table1[10])。 write_date(table1[13])。 write_date(table1[16])。 write_date(table1[19])。 write_date(table1[1])。 write_date(table0[alarm])。i++) { write_date(table0[lp[i]])。 for(i=8。 } write_(0x80+0x0c)。 break。 break。 break。 break。 break。 break。 break。 break。 write_(0x80+0x47)。 delay(1)。 //整型溫度值 float f_temp。 //DS18B20復(fù)位bit tempreadbit(void)。 //溫度處理函數(shù) void Temp_Display()。 ds=0。 i=4。 ds=0。i++。 return(dat)。i=8。}void tempwritebyte(uchar dat){ //寫一個(gè)字節(jié)數(shù)據(jù)函數(shù) uint i。j=8。 if(testb) //寫1 { ds=0。 i=8。while(i0)i。 } } }void tempchange(void) //DS18B20開始獲取溫度并轉(zhuǎn)換 { dsreset()。 //寫溫度轉(zhuǎn)換指令 }uint get_temp() //讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù) { uchar a,b。 //跳過(guò)RAM,適用于一個(gè)從機(jī)工作 tempwritebyte(0xbe)。 temp=8。 //temperature為1表示溫度為負(fù) temp=~temp+1。 //乘以10表示小數(shù)點(diǎn)后面只取1位, return temp。 write_date(table[get_temp()%1000/100])。)。 //若溫度的百位為0且正則不顯示 write_(0x80+0x40+0x0b)。 //個(gè)位 write_(0x80+0x40+0x0d)。 //十分之一位 write_(0x80+0x40+0x0f)。 ET2 = 1。 EA=0。 RCAP2H = 0xfe。 BeepIO = !BeepIO。sbit key4=P3^3。 //模式間的轉(zhuǎn)換 if(flag=3) { flag=0。amp。 write_(0x01)。 for(j=0。y2=SetTime[6]amp。 y1++。 y2=0。 case 1: y1=SetTime[5]。 //寫入數(shù)組 Set_RTC(SetTime)。0x0f。 } if(y1=1amp。 } SetTime[4]=16*y1+y2。y2=SetTime[3]amp。 y1++。 y2=0。 case 4: y1=SetTime[2]4。 if(y29) { y2=0。y2=4) { y1=0。 break。 y2++。} SetTime[1]=y1*16+y2。 y2=ring_time[2]amp。 y1++。 y2=0。 y2=ring_time[1]amp。 y1++。 case 8: alarm++。 if(limit1270) limit=0。 } /////////分加/溫度減一鍵被按下///////////if(key4==0) { if(flag==2) { uchar j。 for(j=0。y2=SetTime[6]amp。 y1。 y2=9。 case 1: y1=SetTime[5]。 //寫入數(shù)組 Set_RTC(SetTime)。0x0f。 } if(y1=0amp。 } SetTime[4]=16*y1+y2。y2=SetTime[3]amp。 y1。 y2=1。 case 4: y1=SetTime[2]4。 if(y2=0) { y2=9。y2=0) { y1=2。 break。 y2。amp。 //寫入數(shù)組 Set_RTC(SetTime)。 y2=ring_time[2]amp。 y1。 y2=3。 //允許進(jìn)入鬧鐘模式 y1=ring_time[1]4。 if(y2=0) { y2=9。y2=0) { y1=5。 case 8:alarm=0。 break。uchar code ringtable[15]= Time To Get Up。i
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1