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

正文內(nèi)容

多功能萬(wàn)年歷畢業(yè)設(shè)計(jì)word格式-資料下載頁(yè)

2024-11-29 11:00本頁(yè)面

【導(dǎo)讀】路、溫度采集電路和供電電路。本方案設(shè)計(jì)出的萬(wàn)年歷可以顯示日期、時(shí)間、溫度、農(nóng)歷,并且設(shè)。置了音樂(lè)鬧鈴功能。該萬(wàn)年歷可以應(yīng)用于一般的生活和工作中,也可以通過(guò)改裝,提高性能,增添。新功能,從而給人們的生活和工作帶來(lái)方便。

  

【正文】 0x0f。 } void display1(uchar *lp,uchar lc) //顯示時(shí)間 { unsigned char i。 //定義變量 23 write_(0x81)。 // 液晶第一行顯示時(shí)間和星期 for(i=0。ilc。i++) { write_date(table0[lp[i]])。 delay(1)。 } write_(0x80+0x0b)。 switch(l_tmpdate[5]1) //用英文縮寫(xiě)顯示星期 { case 0: write_date(table1[0])。 write_date(table1[1])。 write_date(table1[2])。 break。 case 1: write_date(table1[3])。 write_date(table1[4])。 write_date(table1[5])。 break。 case 2: write_date(table1[6])。 write_date(table1[7])。 write_date(table1[8])。 break。 case 3: write_date(table1[9])。 write_date(table1[10])。 write_date(table1[11])。 break。 case 4: write_date(table1[12])。 write_date(table1[13])。 write_date(table1[14])。 break。 case 5: write_date(table1[15])。 write_date(table1[16])。 write_date(table1[17])。 break。 case 6: write_date(table1[18])。 write_date(table1[19])。 write_date(table1[20])。 break。 default:write_date(table1[0])。 write_date(table1[1])。 write_date(table1[2])。 break。 } write_(0x80+0x0f)。 write_date(table0[alarm])。 write_(0x80+0x40)。 //第二行顯示年 for(i=8。ilc+10。i++) { write_date(table0[lp[i]])。 delay(1)。 } } void display2(uchar *lp,uchar *lc) { unsigned char i。 write_(0x81)。 for(i=8。i18。i++) { write_date(table0[lp[i]])。 delay(1)。 } write_(0x80+0x0c)。 switch(l_tmpdate[5]1) //用英文縮寫(xiě)顯示星期 { case 0: write_date(table1[0])。 write_date(table1[1])。 write_date(table1[2])。 break。 case 1: write_date(table1[3])。 write_date(table1[4])。 write_date(table1[5])。 break。 case 2: write_date(table1[6])。 write_date(table1[7])。 write_date(table1[8])。 break。 case 3: write_date(table1[9])。 write_date(table1[10])。 write_date(table1[11])。 break。 case 4: write_date(table1[12])。 write_date(table1[13])。 write_date(table1[14])。 break。 24 case 5: write_date(table1[15])。 write_date(table1[16])。 write_date(table1[17])。 break。 case 6: write_date(table1[18])。 write_date(table1[19])。 write_date(table1[20])。 break。 default:write_date(table1[0])。 write_date(table1[1])。 write_date(table1[2])。 break。 } write_(0x80+0x44)。 write_date(table1[2])。 write_date(table1[21])。 write_(0x80+0x47)。 for(i=0。i5。i++) { write_date(table0[lc[i]])。 delay(1)。 } } /***************END***********END******************************/ ////////////*************** 溫度傳感器相關(guān)程序******************/ include sbit ds=P1^3。 //溫度傳感器信號(hào)線 uchar temperature。 uint temp,limit=400。 //整型溫度值 float f_temp。 //浮點(diǎn)型溫度值 uint get_temp()。 //獲得溫度 void tempchange(void)。 //轉(zhuǎn)換溫度 void dsreset(void)。 //DS18B20 復(fù)位 bit tempreadbit(void)。 //讀 DS118B20 一位 uchar tempreadbyte(void)。 //讀 DS18B20一個(gè)字節(jié) void tempwritebyte(uchar dat)。 //寫(xiě)入 DS18B20 一個(gè)字節(jié) void deal()。 //溫度處理函數(shù) void Temp_Display()。 //溫度顯示 void Warn_Ling_init()。 uchar code table[]= 。 void dsreset(void) //DS18B20 復(fù)位,初始化函數(shù) { uint i。 ds=0。 i=103。 while(i0)i。 ds=1。 i=4。 while(i0)i。 } bit tempreadbit(void) //讀一位數(shù)據(jù)函數(shù) { uint i。 bit dat。 ds=0。i++。 //i++起延時(shí)的作用 ds=1。i++。i++。 dat=ds。 i=8。while(i0)i。 return(dat)。 } uchar tempreadbyte(void) //讀一個(gè)字節(jié)數(shù)據(jù)函數(shù) { uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tempreadbit()。 dat=(j7)|(dat1)。 //讀出的數(shù)據(jù)最低位在最前面 } return(dat)。 } void tempwritebyte(uchar dat) { //寫(xiě)一個(gè)字節(jié)數(shù)據(jù)函數(shù) uint i。 char j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。 dat=dat1。 if(testb) //寫(xiě) 1 25 { ds=0。 i++。i++。 ds=1。 i=8。while(i0)i。 } else //寫(xiě) 0 { ds=0。 i=8。while(i0)i。 ds=1。 i++。i++。 } } } void tempchange(void) //DS18B20 開(kāi)始獲取溫度并轉(zhuǎn)換 { dsreset()。 delay(1)。 tempwritebyte(0xcc)。 //寫(xiě)跳過(guò)讀 ROM 指令 tempwritebyte(0x44)。 //寫(xiě)溫度轉(zhuǎn)換指令 } uint get_temp() //讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù) { uchar a,b。 dsreset()。 delay(1)。 tempwritebyte(0xcc)。 //跳過(guò) RAM,適用于一個(gè)從機(jī)工作 tempwritebyte(0xbe)。 //讀 RAM內(nèi)部 9字節(jié)的溫度數(shù)據(jù) a=tempreadbyte()。 //讀低 8 位 b=tempreadbyte()。 //讀高 8 位 temp=b。 temp=8。 temp=temp|a。 //兩個(gè)字節(jié)組合為一個(gè)字 if((bamp。0x80)!=0) //判斷溫度是否為負(fù) { temperature=1。 //temperature 為 1 表示溫度為負(fù) temp=~temp+1。 //若溫度為負(fù),則取其補(bǔ) } else temperature=0。 f_temp=temp*。 // 溫度在寄存器中為 12位,分辨率為 temp=f_temp*10+。 //乘以 10表示小數(shù)點(diǎn)后面只取 1 位,加 是四舍五入 return temp。 } void Temp_Display() //溫度顯示函數(shù) { if(get_temp()/1000==1) //溫度上百時(shí) { write_(0x80+0x40+0x0a)。 //溫度的百位 write_date(table[get_temp()/1000])。 write_(0x80+0x40+0x0b)。 write_date(table[get_temp()%1000/100])。 // 十位 } if(get_temp()/1000==0) //溫度未上百 { write_(0x80+0x40+0x0a)。 if(temperature==1) write_date(39。39。)。 //若溫度為負(fù)則前面顯示“ ” else write_date(39。 39。)。 //若溫度的百位為 0且正則不顯示 write_(0x80+0x40+0x0b)。 write_date(table[get_temp()/100])。 //十位 } write_(0x80+0x40+0x0c)。 write_date(table[get_temp()%100/10])。 //個(gè)位 write_(0x80+0x40+0x0d)。 write_date(table[10])。 write_(0x80+0x40+0x0e)。 write_date(table[get_temp()%10])。 // 十分之一位 write_(0x80+0x40+0x0f)。 write_date(table[11])。 } void deal() //溫度處理函數(shù) { if(get_temp()limit) //當(dāng)溫度超過(guò)設(shè) 定的上限值時(shí) { EA =1。 26 TR2 = 1。 ET2 = 1
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1