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

正文內(nèi)容

51單片機(jī)超聲波測(cè)距設(shè)計(jì)(參考版)

2025-07-02 17:45本頁面
  

【正文】 CX20106的DATA SHEET5 .6 7 . 西安電子科技大學(xué)出版社,2007年.8 . 2002. 9 百度資料搜索搜索10。DS18B20的DATA SHEET3 FalrChild公司。} 參考文獻(xiàn) 1 Atmel 公司。y0xff。 }/**************************************** 顯示延時(shí)函數(shù)*************************************/ void delay() { uchar y。j255。i2。 } /**************************************************** 延時(shí)1MS *******************************************************/ void delay1ms(void) { uchar i,j。 } while(us)。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。//左移} /*************************** 延時(shí)n*15US函數(shù) ****************************/ void delay15(uchar us) { do { _nop_()。//文字不動(dòng),光標(biāo)右移 Write_Comm(0x0c)。//光標(biāo)歸位 Write_Comm(0x38)。 //稍微延時(shí),等待LCD進(jìn)入工作狀態(tài) Write_Comm(0x01)。 //判斷是否忙狀態(tài) E = 1。 E = 0。 RS = 1。 E = 1。 E = 0。 RS = 0。 }while(Busy)。 delay()。 RW = 1。 } } }void Read_Busy(void)//讀忙信號(hào)判斷{ do{ Lcd_Data = 0xff。(b29)) { d=numcode[num[b]]。 if((b24)amp。b33。 } Write_Comm(0xc0)。 { d=0xdf。(a14)) //如果是結(jié)果位到num[]里面讀取 { d=numcode[num[a]]。 if((a11)amp。a16。//清顯示 Write_Comm(0x80)。 Init_LCD()。 temp+=1。 dat=1。 Delay(5)。 DQ = datamp。 i 0。}/*********************寫入一個(gè)字節(jié)****************************/void WriteOneChar(unsigned char dat){ unsigned char i = 0。 //拼裝 Delay(15)。 DQ = 1。 i) { DQ = 0。 for (i = 8。 }/*******************讀取一個(gè)字節(jié)******************************/uchar ReadOneChar(void) { uchar i = 0。 else flag=1。 //拉高總線 Delay(10)。 //單片機(jī)將DQ拉低 Delay(80)。 //DQ復(fù)位 Delay(10)。 return (t)。 t = 8。 //讀取字節(jié) b = ReadOneChar()。 //跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 Init_18B20()。 // 跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 } /************************************* 溫度轉(zhuǎn)換函數(shù)*************************************/ /**************啟動(dòng)溫度轉(zhuǎn)換*************************/ void testtemp(void) { Init_18B20()。 tmp%=10。 tmp%=100。 tmp%=1000。 tmp=distance。 if(fuhao) num[12]=num[12]|0x80。 tmp=tp。 fuhao=1。 else //溫度為負(fù)則求補(bǔ)碼的到原碼 { bm()。 fuhao=0。 //修正后的值 } /************************************** 數(shù)據(jù)轉(zhuǎn)換函數(shù) **************************************/ void hextobcd(void) { float tp。 s=。 //計(jì)算計(jì)數(shù)值 d=(c*t*)/2。 else c=*temp*。 uint t。 EA=1。 CNT=0。 TL0=0xA0。} TMOD=0x11。i29。 //延時(shí)避開直達(dá)信號(hào) } /**************************************************** 系統(tǒng)初始化 *******************************************************/ void sys_init(void) { uchar i。 TR1=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 CNT=1。 _nop_()。 _nop_()。 sta_flag=1。 TH1=0。} /***************************************************** 定時(shí)器0溢出中斷函數(shù),每60MS溢出 *****************************************************/ void timer0(void)interrupt 1 using 0 { TH0=0x15。 //轉(zhuǎn)換成BCD碼 sta_flag=0。 //刷新顯示 } puter()。 testtemp()。 if(15==count) //900MS到檢測(cè)溫度 { temp=wd()。 jsh=TH1。 //啟動(dòng)溫度轉(zhuǎn)換 while(1) { if(sta_flag) //10MS到了 { while(0==CSBIN)。 //啟動(dòng)定時(shí)器0 ET0=1。 while(i)。 BUZZER=1。 //蜂鳴器鳴音提升按鍵按下 i=100000。 if(START) goto waitforstarting。i20。 //標(biāo)準(zhǔn)復(fù)位 waitforstarting: //檢測(cè)按鍵 while(START)。 //初始化 display()。j++)。i++) for(j=0。 for(i=0。 //求補(bǔ)碼 void delay15(uchar us)。 //計(jì)算 void hextobcd(bit flag,uchar num)。 //系統(tǒng)初始化 void display(void)。 void delay1ms(void)。 //返回信號(hào) sbit BUZZER=P3^7。 //啟動(dòng)測(cè)距 sbit CNT =P2^5。 //10MS到標(biāo)準(zhǔn)位 sbit fuhao =flag^1。 //讀取溫度 void Delay(uint time)。//寫入一個(gè)字節(jié) void testtemp(void)。 //初始化18B20 uchar ReadOneChar(void)。 //寫入LCD數(shù)據(jù) void Read_Busy(void)。 //初始化LCD void Write_Comm(uchar)。 //溫度變量 void delay(void)。 //DS18B20存在標(biāo)準(zhǔn) sbit DQ =P2^7。 //LCD E sbit Busy = P0^7。 //LCD RS sbit RW=P2^1。 //10秒計(jì)次數(shù) uint distance。 uchar jsh,jsl。}。,39。,39。,39。,39。,39。,39。,39。,39。,39。 uchar numcode[10]={39。軟件仿真說明我們的軟件設(shè)計(jì)非常成功。C,通過調(diào)節(jié)DS18B20模型的溫度可以測(cè)試顯示溫度是否正確,從圖中可以看出顯示的溫度就是DS18B20的預(yù)設(shè)溫度值。首先在軟件中找到我們?cè)O(shè)計(jì)用的元件,然后連接好電路圖,設(shè)置好各個(gè)元件的參數(shù)值,特別注意液晶顯示屏的連接需要接上拉電阻。//左移}在程序中,我們將測(cè)量的各種結(jié)果存放到一個(gè)數(shù)組num[]中,然后通過這個(gè)數(shù)組的數(shù)據(jù)到預(yù)先存放字符的數(shù)組中去按num[]中的數(shù)據(jù)的順序去讀取出預(yù)存在numcode[]中的字符然后送到LCD中顯示,注意LCD的顯示必須做一系列的初始化和忙標(biāo)志的判讀操作。//文字不動(dòng),光標(biāo)右移 Write_Comm(0x0c)。//光標(biāo)歸位 Write_Comm(0x38)。 //稍微延時(shí),等待LCD進(jìn)入工作狀態(tài) Write_Comm(0x01)。 E = 1。 E = 0。 RS = 1。 E = 1。 E = 0。 RS = 0。 }while(Busy)。 delay()。 RW = 1。void Read_Busy(void)//讀忙信號(hào)判斷{ do{ Lcd_Data = 0xff。 } } } LCD是一個(gè)慢顯示器件,所以在寫入數(shù)據(jù)前必須確定LCD處在不忙的狀態(tài)。(b29)) { d=numcode[num[b]]。 if((b24)amp。b33。 //寫入要顯示的數(shù)據(jù) } Write_Comm(0xc0)。 //待顯示的結(jié)果 } if(14==a) { d=0xdf。amp。a++) { d=dispbuf[a]。//寫首地址 for(a=0。 Write_Comm(0x01)。液晶顯示程序如下:/************************************ LCD顯示函數(shù) **************************************/void display(void){ { u
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1