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

正文內(nèi)容

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

2025-06-27 18:34本頁面
  

【正文】 //發(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) // 溫度值正負判斷 { tem=65536tem。 n=1。 } // 負溫度求補碼,標志位置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。 //負溫度時最高位顯示}_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)。 //光標無 WriteCommandLcd(0x06)。 //顯示光標移動設(shè)置 WriteCommandLcd(0x01)。 //顯示清屏 WriteCommandLcd(0x90)。 //顯示開及光標移動設(shè)置}/**************************************************** 函數(shù)名稱: display_xy** 入口參數(shù):x(unsigned char型),y(unsigned char型)** 出口參數(shù):無** 功能描述: 設(shè)置光標位置, x是列號,y是行號****************************************************/void display_xy(unsigned char x,unsigned char y){ if(y==1) x+=0x40。 x+=0x80。 WriteCommandLcd(x)。}/********************************************************************** 函數(shù)名稱: display_char** 入口參數(shù):x(unsigned char型),y(unsigned char型),dat(unsigned char型)** 出口參數(shù):無** 功能描述: 在具體位置顯示單個字符,x是列號,y是行號/*********************************************************************/void display_char(unsigned char x,unsigned char y,unsigned char dat){ display_xy(x,y)。 WriteDataLcd(dat)。}/*********************************************************************** 函數(shù)名稱: display_string** 入口參數(shù):x(unsigned char型),y(unsigned char型),s(指針型)** 出口參數(shù):無** 功能描述: 在具體位置顯示字符串,以/0結(jié)束,x是列號,y是行號**********************************************************************/void display_string(unsigned char x,unsigned char y,unsigned char *s){ display_xy(x,y)。 while(*s) { WriteDataLcd(*s)。 s++。 }} define DS1302_SECOND 0x80 //時鐘芯片的寄存器位置,存放時間define DS1302_MINUTE 0x82define DS1302_HOUR 0x84 define DS1302_WEEK 0x8Adefine DS1302_DAY 0x86define DS1302_MONTH 0x88define DS1302_YEAR 0x8C define DS1302_YEARH 0xC0 define DS1302_WRITE 0x8Edefine BCD2DEC(X) (((Xamp。0x70)4)*10 + (Xamp。0x0F)) //用于將BCD碼轉(zhuǎn)成十進制的宏define DEC2BCD(X) ((X/10)4 | (X%10)) //用于將十進制轉(zhuǎn)成BCD碼的宏define BD(t) (t = t%16+t/16*10) //BCD碼轉(zhuǎn)十進制define DB(t) (t = t%10+t/10*16) //十進制轉(zhuǎn)BCD碼sbit ACC0 = ACC^0。sbit ACC7 = ACC^7。 sbit DS1302_CLK = P1^6。 //實時時鐘時鐘線引腳sbit DS1302_IO = P1^7。 //實時時鐘數(shù)據(jù)線引腳sbit DS1302_RST = P1^5。 //實時時鐘復(fù)位線引腳 sbit Up = P3^4。 //加法按鈕 !sbit Down= P3^5。 //減法按鈕sbit Set = P3^1。 //模式切換鍵sbit out = P3^3。 //立刻跳出調(diào)整模式按鈕char done,count,temp,up_flag,down_flag,hideflag=10,week_value[2]。 //done:1:進入調(diào)整模式,0:正常模式//count 切換閃爍位(位置變量)//temp: 閃爍位變量值//up,downflag: 按鍵加減標志位。//hideflag,控制閃爍頻率 char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year。 //秒,分,時到日,月,年位閃的計數(shù)typedef struct SYSTEMTIME{ unsigned char Second。 unsigned char Minute。 unsigned char Hour。 unsigned char Week。 unsigned char Day。 unsigned char Month。 unsigned char Year。 unsigned char YearH。 unsigned char YearL
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1