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

正文內(nèi)容

[工學]單片機課程設計_電子萬年歷-資料下載頁

2025-01-16 06:23本頁面
  

【正文】 // 函數(shù)功能: 讀溫度Read_Temperature(char xx,char yy){ unsigned char i,tl_temp。 unsigned int x。 unsigned char ct[8]。 union{byte c[2]。 int x。}temp。 ow_reset()。 write_byte(0xCC)。 // Skip ROM write_byte(0x44)。 // 轉(zhuǎn)換溫度 ow_reset()。 write_byte(0xCC)。 //Skip ROM write_byte(0xbe)。 // 讀取寄存器 [1]=read_byte()。//讀出溫度低8位 [0]=read_byte()。//讀出溫度高8位 // 零下溫度判斷 sflag=0。 //溫度零下標志 0:零上,1:零下 if(([0]amp。0xf8)!=0x00) { sflag=1。 //零下標志位置1 [1]=~[1]。 //低8位取反 [0]=~[0]。 //高8位取反 tl_temp=[1]+1。 //低8位加1 [1]=tl_temp。 //計算后重新存入數(shù)組 if(tl_temp255) [0]++。 //如果低8位大于255,向高8位進1 } x=(([0]amp。0x07)*256+[1])*.625。 for(i=0。i8。i++) { ct[i]=0。 } i=0。 while(x/10) { ct[i]=x%10。 x=x/10。 i++。 } ct[i]=x。 if(sflag==1) DisplayOneChar(xx1,yy,0x2d)。 else DisplayOneChar(xx1,yy,0x20)。 DisplayOneChar(xx, yy,ct[2]+0x30)。//顯示溫度十位數(shù) DisplayOneChar(xx+1,yy,ct[1]+0x30)。//顯示溫度個位數(shù) DisplayOneChar(xx+2,yy,0x2e)。//顯示小數(shù)點 DisplayOneChar(xx+3,yy,ct[0]+0x30)。//顯示溫度小數(shù)位 DisplayOneChar(xx+4,yy,0x01)。//顯示自定義字符 DisplayOneChar(xx+5,yy,0x43)。//顯示字符“C//主程序,初始化及初值設定void main(){ lcd_init()。 //初始化LCD lcd_sef_chr()。 //寫入自定義字符號 hour=0。min=0。sec=0。 //開機時的時,分,秒顯示 armhour=0。armmin=0。armsec=0。 //開機時的時,分,秒報警初值 year= 12。 month=5。date=27。 //開機時的年,月,日,星期顯示 week_proc()。 alarm=1。 IE = 0x8f。 IP = 0x04。 //設置INT0為中斷最高優(yōu)先級 IT0=0。IT1=0。 TMOD = 0x11。 TH0 = 0xdc。TL0 = 0x00。 //Timer0置10ms定時初值 TH1 = 0xff。TL1 = 0x00。 //Timer1置初值 TR0 = 1。 //Timer0啟動 TR1 = 0。 while(1)。}//設置按鍵處理程序void pro_key(){ switch (flag) { case 0:alarm=!alarm。 //啟用或關閉鬧鐘(alarm=1:啟用,alarm=0:關閉) update_disbuf(0x50,alarm:,armhour,armmin,armsec)。 //更新顯示數(shù)據(jù) pro_display()。 //調(diào)用顯示處理 lcd_pos(0x47)。break。 //光標回到原調(diào)整位置 case 1:armhour++。 if (armhour23) armhour=0。 update_disbuf(0x50,alarm:,armhour,armmin,armsec)。 //更新顯示數(shù)據(jù) pro_display()。 //調(diào)用顯示處理 lcd_pos(0x49)。break。 //光標回到原調(diào)整位置 case 2:armmin++。 if (armmin59) armmin=0。 update_disbuf(0x50,alarm:,armhour,armmin,armsec)。 pro_display()。 lcd_pos(0x4c)。break。 case 3:armsec++。 if (armsec59) armsec=0。 update_disbuf(0x50,alarm:,armhour,armmin,armsec)。 pro_display()。 lcd_pos(0x4f)。break。 case 4:year++。 if (year 99) year= 0。 week_proc()。 //星期自動運算 update_disbuf(0x50,time: ,hour,min,sec)。 pro_display()。 lcd_pos(0x05)。break。 case 5:month++。 if (month12) month=1。 week_proc()。 //星期自動運算 update_disbuf(0x50,time: ,hour,min,sec)。 pro_display()。 lcd_pos(0x08)。break。 case 6:date++。 if (month==1||month==3||month==5||month==7||month==8||month==10||month==12) if (date31) date=1。 //大月31天 if (month==4||month==6||month==9||month==11) if (date30) date=1。 //小月30天 if (month==2) {if(leap_year()) //閏年的條件 {if (date29) date=1。} //閏年2月為29天 else {if (date28) date=1。}} //平年2月為28天 week_proc()。 //星期自動運算 update_disbuf(0x50,time: ,hour,min,sec)。 pro_display()。 lcd_pos(0x0b)。break。 case 7:hour++。 if (hour23) hour=0。 update_disbuf(0x50,time: ,hour,min,sec)。 pro_display()。 lcd_pos(0x49)。break。 case 8:min++。 if (min59) min=0。 update_disbuf(0x50,time: ,hour,min,sec)。 pro_display()。 lcd_pos(0x4c)。break。 case 9:sec++。 if (sec59) sec=0。 update_disbuf(0x50,time: ,hour,min,sec)。 pro_display()。 lcd_pos(0x4f)。break。 default: break 。 }}//Timer1中斷處理程序,產(chǎn)生報警的聲音void timer1() interrupt 3{ TH1=0xf0。 TL1=0x00。 SPK=~SPK。} //外部中斷INT1中斷處理程序,停止報警聲音void int1() interrupt 2{ if(TR1) TR1=0。}心得這次課程設計,我們組三個人分工合作。經(jīng)過這次設計,我們?nèi)齻€人都有了很大的收獲,對單片機編程控制有了進一步的了解。該設計涉及到了單片機的時序控制,數(shù)據(jù)接口包括并行數(shù)據(jù)接口以及串行通信接口,同時用到了控制按鍵、環(huán)境信息檢測、數(shù)據(jù)顯示處理等。這次設計,基本上涉及到了所有的單片機控制功能模塊。因此,通過這次設計,能完全掌握單片機的所有基本控制,這也是我們組選擇該題目的一個重要原因。通過這次課程設計讓我們對所學內(nèi)容有了進一步的理解
點擊復制文檔內(nèi)容
電大資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1