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

正文內(nèi)容

基于pwm調(diào)光的智能多功能臺燈設(shè)計-資料下載頁

2025-06-27 22:57本頁面
  

【正文】 //ms=0 則跳出 for(x = 1000。x。x)。} include //_nop_()。延時函數(shù)用//*****************////以下是DS18B20驅(qū)動程序//*****************// /**************************************************** 功能描述: DS18B20驅(qū)動程序,使用12M晶體** DQ占用引腳資源P1^7 ****************************************************/sbit DQ=P3^0。 //溫度輸入口unsigned char data temper_data[2]={0x00,0x00}。 //讀出溫度暫放unsigned char data _1820display[9]={0x00}。 //顯示單元數(shù)據(jù),共4個數(shù)據(jù)和一個運算暫用unsigned int temper。//**************溫度小數(shù)部分用查表法***********//unsigned char code ditab[16]={ 0x00,0x01,0x01,0x02, 0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07, 0x08,0x08,0x09,0x09}。/*****************11us延時函數(shù)*************************///void _18B20_delay(unsigned int t){ for (。t0。t)。}/****************DS18B20復(fù)位函數(shù)************************/_18B20_reset(void){ char presence=1。 while(presence) { while(presence){ DQ=1。 _nop_()。_nop_()。//從高拉倒低 DQ=0。 _18B20_delay(50)。 //550 us DQ=1。 _18B20_delay(6)。 //66 us presence=DQ。 //presence=0 復(fù)位成功,繼續(xù)下一步 } _18B20_delay(45)。 //延時500 us presence=~DQ。 } DQ=1。 //拉高電平}/****************DS18B20寫命令函數(shù)************************///向1WIRE 總線上寫1個字節(jié)void _18B20_write(unsigned char val){ unsigned char i。 for(i=8。i0。i) { DQ=1。 _nop_()。_nop_()。 //從高拉倒低 DQ=0。 _nop_()。_nop_()。_nop_()。_nop_()。 //5 us DQ=valamp。0x01。 //最低位移出 _18B20_delay(6)。 //66 us val=val/2。 //右移1位 } DQ=1。 _18B20_delay(1)。}/****************DS18B20讀1字節(jié)函數(shù)************************///從總線上取1個字節(jié)unsigned char _18B20read_byte(void){ unsigned char i。 unsigned char value=0。 for(i=8。i0。i) { DQ=1。 _nop_()。_nop_()。 //從高拉倒低 value=1。 DQ=0。 _nop_()。_nop_()。_nop_()。_nop_()。 //4 us DQ=1。 _nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 _18B20_delay(6)。 //66 us } DQ=1。 return(value)。}_18B20_read() //讀出溫度函數(shù){ _18B20_reset()。 //總線復(fù)位 _18B20_delay(200)。 _18B20_write(0xcc)。 //發(fā)命令 _18B20_write(0x44)。 //發(fā)轉(zhuǎn)換命令 _18B20_reset()。 _18B20_delay(1)。 _18B20_write(0xcc)。 //發(fā)命令 _18B20_write(0xbe)。 temper_data[0]=_18B20read_byte()。 //讀溫度值的低字節(jié) temper_data[1]=_18B20read_byte()。 //讀溫度值的高字節(jié) temper=temper_data[1]。 temper=8。 temper=temper|temper_data[0]。 // 兩字節(jié)合成一個整型變量。 return temper。 //返回溫度值}/****************溫度數(shù)據(jù)處理函數(shù)************************///二進制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個//字節(jié)的二進制轉(zhuǎn)換為十進制后,就是溫度值的百、十、個位值,而剩//下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進制后,就是溫度值的小數(shù)部分/********************************************************/_18B20_work(unsigned int tem){ unsigned char n=0。 if(tem6348) // 溫度值正負(fù)判斷 { tem=65536tem。 n=1。 } // 負(fù)溫度求補碼,標(biāo)志位置1 _1820display[4]=temamp。0x0f。 // 取小數(shù)部分的值 _1820display[0]=ditab[_1820display[4]]。 // 存入小數(shù)部分顯示值 _1820display[4]=tem4。 // 取中間八位,即整數(shù)部分的值 _1820display[3]=_1820display[4]/100。 // 取百位數(shù)據(jù)暫存 _1820display[1]=_1820display[4]%100。 // 取后兩位數(shù)據(jù)暫存 _1820display[2]=_1820display[1]/10。 // 取十位數(shù)據(jù)暫存基于PWM的智能多功能臺燈設(shè)計 _1820display[1]=_1820display[1]%10。 /******************數(shù)碼管符號位顯示判斷**************************/ if(!_1820display[3]) { _1820display[3]=39。 39。39。039。 //最高位為0時不顯示 if(!_1820display[2]) _1820display[2]=39。 39。39。039。 //次高位為0時不顯示 } if(n) _1820display[3]=39。39。39。039。 //負(fù)溫度時最高位顯示}_18B20_init()//18B20初始化{ _18B20_reset()。 //開機先轉(zhuǎn)換一次 _18B20_write(0xcc)。 //Skip ROM _18B20_write(0x44)。 //發(fā)轉(zhuǎn)換命令}//*****************////以下是LCM1602驅(qū)動程序//*****************///**************************************************** 功能描述: 1602驅(qū)動程序,使用12M晶體** 占用引腳資源數(shù)據(jù)口八位,命令控制兩位 ****************************************************/sbit LCD_RS = P2^7。 sbit LCD_E = P2^6。define LCD_DATA P0 /**************************************************** 函數(shù)名稱: delay** 入口參數(shù):h(unsigned int型)** 出口參數(shù):無** 功能描述: 短暫延時,****************************************************/void delay(unsigned int z)//1毫秒延時子函數(shù){ unsigned int x,y。 for(x=z。x0。x) for(y=110。y0。y)。}/**************************************************** 函數(shù)名稱: WriteDataLcd** 入口參數(shù):wdata(unsigned char型)** 出口參數(shù):無** 功能描述: 寫數(shù)據(jù)到LCD****************************************************/void WriteDataLcd(unsigned char wdata){ LCD_RS=1。 LCD_DATA=wdata。 delay(1)。 //短暫延時,代替檢測忙狀態(tài) LCD_E=1。 delay(1)。 //短暫延時,代替檢測忙狀態(tài) LCD_E=0。}/**************************************************** 函數(shù)名稱: WriteCommandLcd** 入口參數(shù):wdata(unsigned char型)** 出口參數(shù):無** 功能描述: 寫命令到LCD****************************************************/void WriteCommandLcd(unsigned char wdata){ LCD_RS=0。 LCD_DATA=wdata。 delay(1)。 //短暫延時,代替檢測忙狀態(tài) LCD_E=1。 delay(1)。 //短暫延時,代替檢測忙狀態(tài) LCD_E=0。}uchar code hanzi[4][8]= //中文漢字庫{0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00, //日0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00, //月0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02, //年}。void writeCG() //允許寫入中文漢字{ uchar x,y。 WriteCommandLcd(0x40)。 for(y=0。y3。y++) { for(x=0。x8。x++) { WriteDataLcd(hanzi[y][x])。 } } }//LCD初始化void lcd_init(void){ LCD_E=0。 writeCG()。 //允許寫入中文漢字 WriteCommandLcd(0x38)。 WriteCommandLcd(0x38)。 //顯示模式設(shè)置 WriteCommandLcd(0x0c)。 //光標(biāo)無 WriteCommandLcd(0x06)。 //顯示光標(biāo)移動設(shè)置 WriteCommandLcd(0x01)。 //顯示清屏 WriteCommandLcd(0x90)。 //顯示開及光標(biāo)移動設(shè)置}/*********************************************
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1