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

正文內(nèi)容

基于單片機的萬年歷設計畢業(yè)設計論文-資料下載頁

2025-07-27 05:26本頁面
  

【正文】 id check_busy(unsigned char right) //right=1讀左狀態(tài);right=0讀右狀態(tài){ unsigned char temp=0xff。 do { if(right) temp=LLCD_CMD_RD。 else temp=RLCD_CMD_RD。 } while ((temp|0x7f)==0xff)。 //檢測D7 是否為1,1 表示LCD 忙,如果忙,繼續(xù)檢測,直到空閑}/*寫命令*/void lcd_cmd_wr(unsigned char cmdcode, unsigned char right){ check_busy(right)。 if(right) LLCD_CMD_WR = cmdcode。 else RLCD_CMD_WR = cmdcode。}/*LCD 初始化*/void lcd_init(void){ lcd_cmd_wr(DISPON,1)。 //開顯示,1 參數(shù)表示左屏 lcd_cmd_wr(FIRSTROW,0)。 //設定顯示首列 lcd_cmd_wr(SETX,0)。 //設定X 坐標 lcd_cmd_wr(SETY,0)。 //設定Y 坐標 lcd_cmd_wr(DISPON,0)。 //0 參數(shù)表示右屏 lcd_cmd_wr(FIRSTROW,1)。 lcd_cmd_wr(SETX,1)。 lcd_cmd_wr(SETY,1)。}/*寫數(shù)據(jù)*/void lcd_data_wr(unsigned char dispdata, unsigned char right){ check_busy(right)。 if(right) LLCD_DAT_WR = dispdata。 else RLCD_DAT_WR = dispdata。}/*數(shù)據(jù)清屏*/void lcd_clr(void){ unsigned char i,j。 for(i=0。i8。i++)//共8 頁 { lcd_cmd_wr(SETX+i,0)。 lcd_cmd_wr(SETY,0)。 lcd_cmd_wr(SETX+i,1)。 lcd_cmd_wr(SETY,1)。 for(j=0。j64。j++)//每頁64 列 { lcd_data_wr(0,0)。 lcd_data_wr(0,1)。 } }}void lcd_hzdian_wr(unsigned char h,unsigned char l,unsigned char *hzdian){ unsigned char i,j。 for(i=2*h。i=2*h+1。i++) for(j=0。j16。j++) { if(l*16+i64) { lcd_cmd_wr(SETX+i,0)。 lcd_cmd_wr(SETY+l*16+j,0)。 lcd_data_wr(hzdian[j+16*(i2*h)],0)。//左半屏 } else { lcd_cmd_wr(SETX+i,1)。 lcd_cmd_wr(SETY+l*1664+j,1)。 lcd_data_wr(hzdian[j+16*(i2*h)],1)。//右半屏 } }}/*將傳來的對應數(shù)字(1個字)點陣式在 某行(h)并以某列(l)為開始列 的位置 (16行*8列)*/void lcd_shuzi_wr(unsigned char h,unsigned char l,unsigned char *shuzi){ unsigned char i,j。 for(i=2*h。i=2*h+1。i++) for(j=0。j8。j++) { if(l*8+i64) { lcd_cmd_wr(SETX+i,0)。 lcd_cmd_wr(SETY+l*8+j,0)。 lcd_data_wr(shuzi[j+8*(i2*h)],0)。//左半屏 } else { lcd_cmd_wr(SETX+i,1)。 lcd_cmd_wr(SETY+l*864+j,1)。 lcd_data_wr(shuzi[j+8*(i2*h)],1)。//右半屏 } }}/*顯示時間*/void lcd_disptime(SYSTEMTIME *Time){ lcd_shuzi_wr(2,0,number[TimeHour/10])。 lcd_shuzi_wr(2,1,number[TimeHour%10])。 lcd_shuzi_wr(2,2,number[11])。 lcd_shuzi_wr(2,3,number[TimeMinute/10])。 lcd_shuzi_wr(2,4,number[TimeMinute%10])。 lcd_shuzi_wr(2,5,number[11])。 lcd_shuzi_wr(2,6,number[TimeSecond/10])。 lcd_shuzi_wr(2,7,number[TimeSecond%10])。}/*顯示日期*/void lcd_dispdate(SYSTEMTIME *Time){ lcd_shuzi_wr(1,0,number[TimeYearH/10])。 lcd_shuzi_wr(1,1,number[TimeYearH%10])。 lcd_shuzi_wr(1,2,number[TimeYear/10])。 lcd_shuzi_wr(1,3,number[TimeYear%10])。 lcd_hzdian_wr(1,2,logo[0])。 //年 lcd_shuzi_wr(1,6,number[TimeMonth/10])。 lcd_shuzi_wr(1,7,number[TimeMonth%10])。 lcd_hzdian_wr(1,4,logo[1])。 //月 lcd_shuzi_wr(1,10,number[TimeDay/10])。 lcd_shuzi_wr(1,11,number[TimeDay%10])。 lcd_hzdian_wr(1,6,logo[2])。 //日}/*顯示日期*/void lcd_dispwendu(){ lcd_shuzi_wr(2,10,number[ReadTemp()/100000%10])。 lcd_shuzi_wr(2,11,number[ReadTemp()/10000%10])。 lcd_shuzi_wr(2,12,number[13])。 lcd_shuzi_wr(2,13,number[ReadTemp()/1000%10])。 lcd_hzdian_wr(2,7,logo[20])。 }endififndef _DS18B20_H_define _DS18B20_H_sbit DQ = P1^0。unsigned char TempBuffer[10]={0}。/***********ds18b20延遲子函數(shù)(晶振12MHz )*******/ void delay_18B20(unsigned int i){ while(i)。}/**********ds18b20初始化函數(shù)**********************/Init_DS18B20(void) { unsigned char x=0。 DQ = 1。 //DQ復位 delay_18B20(8)。 //稍做延時 DQ = 0。 //單片機將DQ拉低 delay_18B20(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay_18B20(14)。 x=DQ。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay_18B20(20)。 return x。 }/***********ds18b20讀一個字節(jié)**************/ unsigned char ReadOneChar(void){ unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 //數(shù)據(jù)右移一位 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 //按位或,取最高位 delay_18B20(4)。 } return(dat)。}/*************ds18b20寫一個字節(jié)****************/ void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 //取最低位 delay_18B20(5)。 DQ = 1。 //上升沿將數(shù)據(jù)送入 dat=1。 }}/**************讀取ds18b20當前溫度************/long ReadTemp(void){ unsigned char a,b。 long temp_value=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 delay_18B20(100)。 // It is quite important ?。? Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度 delay_18B20(100)。 a=ReadOneChar()。 //讀取溫度值低位 b=ReadOneChar()。 //讀取溫度值高位 temp_value=b。 temp_value=8。 temp_value|=a。 temp_value=4。 temp_value*=10000。 return(temp_value)。}endififndef _REAL_TIMER_DS1302_define _REAL_TIMER_DS1302_sbit DS1302_CLK = P3^2。 //實時時鐘時鐘線引腳 sbit DS1302_RST = P3^1。 //實時時鐘復位線引腳sbit DS1302_IO = P3^3。 //實時時鐘數(shù)據(jù)線引腳 sbit ACC0 = ACC^0。sbit ACC7 = ACC^7。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。 }SYSTEMTIME。 //定義的時間類型define DS1302_SECOND 0x80define DS1302_MINUTE 0x82define DS1302_HOUR 0x84
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1