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

正文內(nèi)容

基于單片機的數(shù)字溫度計2-資料下載頁

2025-06-18 17:16本頁面
  

【正文】 nt unsigned intdefine uchar unsigned charuchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x58}。 /* 0 1 2 3 4 5 6 7 8 9 C 無*/sbit BUZ=P1^3。sbit LED_GREEN=P3^6。sbit LED_RED=P3^7。sbit set=P1^0。sbit down=P1^1。sbit up=P1^2。uchar disbuf[4]。uint mode,top=90,bottom=10。int temp1。bit flag,kset_flag,kup_flag,kdown_flag。sbit dq=P1^4。void delay(uint x)。 //延遲函數(shù),x=1大約延遲1msvoid delay(uint x){ uint i,j。 for(i=0。ix。i++) for(j=0。j20。j++)。} //延遲函數(shù),x=1大約延遲8usvoid delay_us(uint x){ while(x)。} //初始化函數(shù)void init1820(){ dq=1。 delay_us(1)。 //拉高一段時間 dq=0。 delay_us(60)。 //延時480us以上 dq=1。 while(dq)。 //等待存在脈沖 delay_us(10)。 //存在脈沖存活時間 dq=1。 //拉高總線} //寫指令函數(shù),每次寫入一個字節(jié)datvoid write(uchar dat){ uchar i。 for(i=0。i8。i++) { dq=0。 dq=datamp。0x01。 delay_us(2)。 dq=1。 dat=1。 }} //讀函數(shù),每次返回16位的溫度值uint read(){ uchar i。 uint dat。 for(i=0。i16。i++) { dq=0。 dq = 1。 if(dq) { dat=(dat1)|0x8000。 } else dat=1。 dq=1。 delay_us(1)。 } return(dat)。}//讀取溫度函數(shù),返回溫度的絕對值,并標(biāo)注flag,flag=1表示負(fù),flag=0表示正uint readtemperature(){ uint temp。 float m。 init1820()。 write(0xcc)。 //跳過讀ROM write(0x44)。 //啟動溫度轉(zhuǎn)換 init1820()。 write(0xcc)。 write(0xbe)。 //讀取溫度寄存器 temp=read()。 if(temp0xfff) { flag=1。 temp=(~temp)+1。 } else { flag=0。 } m=temp*。 temp=m*100+。 //放大10倍四舍五入輸出 return(temp)。}void deal(){ temp1=readtemperature()。 disbuf[0]=temp1/1000。 disbuf[1]=(temp1%1000)/100。 disbuf[2]=temp1%100/10。 disbuf[3]=temp1%10。}void dealset(){ mode++。 if(mode==3) mode=0。}void dealup(){ if(mode==1) { top=top+1。 if(top=120) top=120。 } if(mode==2) { bottom=bottom+1。 if(bottom=30) bottom=30。 } }void dealdown(){ if(mode==1) { top=top1。 if(top=70) top=70。 } if(mode==2) { bottom=bottom1。 if(bottom=5) bottom=5。 } }/****************調(diào)時鍵盤處理函數(shù)***************/void kdeal(){ if((set==0)amp。amp。(kset_flag==0)) //set為P2^0端口,kset_flag為標(biāo)志位 { delay(5)。 if(set==0) dealset()。 kset_flag=1。 } if(set)kset_flag=0。 if((up==0)amp。amp。(kup_flag==0)) { delay(5)。 if(up==0) dealup()。 kup_flag=1。 } if(up)kup_flag=0。 if((down==0)amp。amp。(kdown_flag==0)) { delay(5)。 if(down==0) dealdown()。 kdown_flag=1。 } if(down)kdown_flag=0。 }void init(){ TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 ET0=1。 TR0=0。 }void main(){ uchar i,a。 init()。 while(1) { P1=0X00。 P0=0XFF。 delay(500)。 kdeal()。 if(mode==0) { a=0xfe。 for(i=0。i4。i++) { if(i==1) P0=tab[disbuf[i]]+0x80。 else P0=tab[disbuf[i]]。 P1=a。 kdeal()。 deal()。 _nop_()。 a=_crol_(a,1)。 P1=0xff。 if((temp1(bottom*100))||(temp1(top*100))) { TR0=1。 LED_GREEN=1。 } else { TR0=0。 LED_GREEN=0。 LED_RED=1。 BUZ=1。 } } } if(mode==1) { if((top/100)=1) { P0=tab[top/100]。 P2=0xfd。 } else { P0=0X00。 P2=0xff。 } kdeal()。 P2=0xff。 P0=tab[(top%100)/10]。 P2=0xfb。 kdeal()。 P2=0xff。 P0=tab[top%10]。 P2=0xf7。 kdeal()。 P2=0xff。 } if(mode==2) { P0=tab[bottom/10]。 P2=0xfe。 kdeal()。 P2=0xff。 P0=tab[bottom%10]。 P2=0xfd。 kdeal()。 P2=0xff。 } }} void timer0() interrupt 1 using 1{ uchar count。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 count++。 if(count==10) { LED_RED=~LED_RED。 BUZ=~BUZ。 } if(count==20) { count=0。 LED_RED=~LED_RED。 BUZ=~BUZ。 }}
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1