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

正文內容

100917024、基于單片機at89c52的多功能液晶電子日歷的畢業(yè)設計-資料下載頁

2025-06-28 07:12本頁面
  

【正文】 }void main(){ init1302()。 lcd_init()。 init_ds18b20()。 display(1,2,16,start,0)。/*顯示 井岡山大學 電子信息工程學院 */ display(1,2,32,start,1)。 display(1,2,48,start,2)。 display(2,2,0,start,3)。 display(2,2,16,start,4)。 display(2,2,32,start,5)。 display(1,4,0,start,6)。 display(1,4,16,start,7)。 display(1,4,32,start,8)。 display(1,4,48,start,9)。 display(2,4,0,start,10)。 display(2,4,16,start,11)。 display(2,4,32,start,12)。 display(2,4,48,start,13)。 delayms(10000)。 //延時10s display(1,2,16,start,14)。/*顯示清空 */ display(1,2,32,start,14)。 display(1,2,48,start,14)。 display(2,2,0,start,14)。 display(2,2,16,start,14)。 display(2,2,32,start,14)。 display(1,4,0,start,14)。 display(1,4,16,start,14)。 display(1,4,32,start,14)。 display(1,4,48,start,14)。 display(2,4,0,start,14)。 display(2,4,16,start,14)。 display(2,4,32,start,14)。 display(2,4,48,start,14)。 while(1) { scankey()。 //先掃描鍵盤,避免液晶屏出現數字跳變 s=read1302(read_second)。//讀1302時間 mi=read1302(read_minute)。 h=read1302(read_hour)。 y=read1302(read_year)。 mo=read1302(read_mouth)。 d=read1302(read_day)。 /*if(((y+2000)%400==0||((y+2000)%4==0amp。amp。(y+2000)%100!=0))amp。amp。(mo==2)) { if(dday[0]) d=1。 } else if(dday[mo]) d=1。*/ w=weekday()。 displaynumber(1,0,8,number,2)。//2 年份只有一個寄存器 只可以存八位 所以只能存年份的 displaynumber(1,0,16,number,0)。//0 個位和十位 百位和千位固定為0 2 display(1,0,40,hanzi,0)。 //年 display(2,0,8,hanzi,1)。 //月 display(2,0,40,hanzi,2)。 //日 display(1,2,16*1,hanzi,3)。 //星 display(1,2,16*3,hanzi,4)。 //期 display(1,4,16*2,hanzi,5)。 //時 display(2,4,0,hanzi,6)。 //分 display(2,4,16*2,hanzi,7)。 //秒 displaynumber(1,0,24,number,y/10)。 displaynumber(1,0,32,number,y%10)。 //年份顯示 displaynumber(1,0,56,number,mo/10)。 displaynumber(2,0,0,number,mo%10)。 //月份顯示 displaynumber(2,0,24,number,d/10)。 displaynumber(2,0,32,number,d%10)。 //日期顯示 display(2,2,16,week,w)。 //星期顯示 if(flag2==1) { displaynumber(1,4,16,number,ach/10)。 displaynumber(1,4,24,number,ach%10)。 displaynumber(1,4,48,number,acm/10)。 displaynumber(1,4,56,number,acm%10)。 displaynumber(2,4,16,number,acs/10)。 displaynumber(2,4,24,number,acs%10)。 } else { displaynumber(1,4,16,number,h/10)。 displaynumber(1,4,24,number,h%10)。 //小時顯示 displaynumber(1,4,48,number,mi/10)。 displaynumber(1,4,56,number,mi%10)。 //分鐘顯示 displaynumber(2,4,16,number,s/10)。 displaynumber(2,4,24,number,s%10)。 //秒顯示 } if(num1==1) //是否顯示鬧鐘標志 { displaynumber(2,2,48,number,14)。 if(ach==hamp。amp。acm==mi) //鬧鐘時間判斷 sounder=~sounder。 } else displaynumber(2,2,48,number,13)。 if(ach==hamp。amp。acm==mi) //鬧鐘時間判斷 sounder=~sounder。 else sounder=0。 if(read_temperature()) //溫度十六進制轉化十進制 { date1=temp_value1。 date1=date1amp。0xf0。 if(date1==0xf0) { flag1=1。 //負溫度標志位 if(temp_value0==0) { temp_value0=~temp_value0+1。 temp_value1=~temp_value1+1。 } else { temp_value0=~temp_value0+1。 temp_value1=~temp_value1。 } } else flag1=0。 date1=temp_value14。 date2=temp_value04。 date1=date1|date2。 temp0=date1/100。 //溫度百位 temp1=date1%100/10。 //溫度十位 temp2=date1%100%10。 //溫度個位 temp_value0=temp_value0amp。0x0f。 tempdec=temp_value0*625。 temp3=tempdec/1000。 //溫度十分位 temp4=tempdec%1000/100。 //溫度百分位 temp5=tempdec%1000%100/10。 //溫度千分位 temp6=tempdec%1000%100%10。 //溫度萬分位 temp=temp0*100+temp1*10+temp2。//溫度整數值 if(temp33) flag=1。 if(temp=14amp。amp。temp=33) flag=2。 if(temp14) flag=3。 if(temp0==0) { temp0=11。 if(temp1==0) temp1=11。 } displaynumber(1,6,8,number,temp0)。 //顯示溫度百位 displaynumber(1,6,16,number,temp1)。 //顯示溫度十位 displaynumber(1,6,24,number,temp2)。 //顯示溫度個位 displaynumber(1,6,32,number,10)。 //顯示小數點 displaynumber(1,6,40,number,temp3)。 //顯示溫度十分位 displaynumber(1,6,48,number,temp4)。 //顯示溫度百分位 displaynumber(1,6,56,number,temp5)。 //顯示溫度千分位 displaynumber(2,6,0,number,temp6)。 //顯示溫度萬分位 display(2,6,8,wendu,6)。 //顯示攝氏度 if(flag1==0) { displaynumber(1,6,0,number,11)。 switch(flag) { case 0:break。 case 1:display(2,6,32,wendu,0)。display(2,6,48,wendu,1)。break。 //高溫 case 2:display(2,6,32,wendu,2)。display(2,6,48,wendu,3)。break。 //常溫 case 3:display(2,6,32,wendu,4)。display(2,6,48,wendu,5)。break。 //低溫 } } else { displaynumber(1,6,0,number,12)。 // display(2,6,32,wendu,7)。 display(2,6,48,wendu,8)。 //寒冷 } } delayms(5)。 //做短暫的延時 以免lcd溫度顯示部分抖動 }}uchar read_temperature() //從ds18b20讀取溫度十六進制值{ if(init_ds18b20()==1) return 0。 else { writeonebyte(0xcc)。 writeonebyte(0x44)。 init_ds18b20()。 writeonebyte(0xcc)。 writeonebyte(0xbe)。 temp_value0=readonebyte()。 temp_value1=readonebyte()。 return 1。 }} 附件(二)《》include include define uchar unsigned chardefine uint unsigned intsbit DQ=P2^5。void delayx(uint x){ while(x)。}void delayms(uint xms) //ms級延時函數{ uint i,j。 for(i=xms。i0。i) for(j=110。j0。j)。}uchar init_ds18b20() //ds18b20初始化{ uchar status。 DQ=1。 delayx(8)。 DQ=0。 delayx(90)。 DQ=1。 delayx(5)。 status=DQ。 delayx(90)。 return status。}uchar readonebyte() //ds18b20讀取一個字節(jié){ uchar i,dat=0x00。 for(i=0x01。i!=0x00。i=1) { DQ=0。 _nop_()。 DQ=1。 _nop_()。 if(DQ) dat|=i。 delayx(8)。 } return dat。}void writeonebyte(uchar dat) //ds18b20寫入一個字節(jié){ uchar i。 for(i=0。i8。i++) { DQ=0。 dat=1。 DQ=CY。 delayx(8)。 DQ=1。 }} 附件(三)《》include define uchar unsigned chardefine uint unsigned intdefine write_protect 0x8esbit ACC_7=ACC^7。sbit IO=P1^0。sbit sclk=P1^1。sbit ce=P1^2。void write1302(uchar addr,date) //ds1302寫數據{ uchar i,temp。 ce=0。 sclk=0。 ce=1。 for(i=8。i0。i) { sclk=0。 temp=addr。 I
點擊復制文檔內容
外語相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1