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

正文內(nèi)容

畢業(yè)設(shè)計基于proteus的溫濕度測量系統(tǒng)設(shè)計-資料下載頁

2025-06-20 13:10本頁面
  

【正文】 // 轉(zhuǎn)成24小時制 define DS1302_SECOND 0x80 define DS1302_MINUTE 0x82 define DS1302_HOUR 0x84 define DS1302_DAY 0x86 define DS1302_MONTH 0x88 define DS1302_YEAR 0x8C define DS1302_RAM(X) (0xC0+(X)*2) //用于計算 DS1302_RAM 地址的宏 void DS1302InputByte(unsigned char d) //實時時鐘寫入一字節(jié)(內(nèi)部函數(shù)) { unsigned char i。 ACC = d。 for(i=8。 i0。 i) { DS1302_IO = ACC0。 //相當(dāng)于匯編中的 RRC DS1302_CLK = 1。 DS1302_CLK = 0。 ACC = ACC 1。 } } unsigned char DS1302OutputByte(void) //實時時鐘讀取一字節(jié)(內(nèi)部函數(shù)) { unsigned char i。 for(i=8。 i0。 i) { ACC = ACC 1。 //相當(dāng)于匯編中的 RRC ACC7 = DS1302_IO。 DS1302_CLK = 1。 DS1302_CLK = 0。 } return(ACC)。 } void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302地, ucData: { DS1302_RST = 0。 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(ucAddr)。 // 地址,命令 DS1302InputByte(ucDa)。 // 寫1Byte數(shù)據(jù) DS1302_CLK = 1。 DS1302_RST = 0。 } unsigned char Read1302(unsigned char ucAddr) //讀取DS1302某地址的數(shù)據(jù) { unsigned char ucData。 DS1302_RST = 0。 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(ucAddr|0x01)。 // 地址,命令 ucData = DS1302OutputByte()。 // 讀1Byte數(shù)據(jù) DS1302_CLK = 1。 DS1302_RST = 0。 return(ucData)。 } void DS1302_SetProtect(bit flag) //是否寫保護(hù) { if(flag) Write1302(0x8E,0x10)。 else Write1302(0x8E,0x00)。 } void DS1302_SetTime(unsigned char Address, unsigned char Value) // 設(shè)置時間函數(shù){ DS1302_SetProtect(0)。 Write1302(Address, ((Value/10)4 | (Value%10)))。 void DateToStr(SYSTEMTIME *Time) { TimeDateString[0] = TimeYear/10 + 39。039。 TimeDateString[1] = TimeYear%10 + 39。039。 TimeDateString[2] = 39。39。 TimeDateString[3] = TimeMonth/10 + 39。039。 TimeDateString[4] = TimeMonth%10 + 39。039。 TimeDateString[5] = 39。39。 TimeDateString[6] = TimeDay/10 + 39。039。 TimeDateString[7] = TimeDay%10 + 39。039。 TimeDateString[8] = 39。\039。 } void TimeToStr(SYSTEMTIME *Time) { TimeTimeString[0] = TimeHour/10 + 39。039。 TimeTimeString[1] = TimeHour%10 + 39。039。 TimeTimeString[2] = 39。:39。 TimeTimeString[3] = TimeMinute/10 + 39。039。 TimeTimeString[4] = TimeMinute%10 + 39。039。 TimeTimeString[5] = 39。:39。 TimeTimeString[6] = TimeSecond/10 + 39。039。 TimeTimeString[7] = TimeSecond%10 + 39。039。 TimeDateString[8] = 39。\039。 } void DS1302_GetTime(SYSTEMTIME *Time) { unsigned char ReadValue。 ReadValue = Read1302(DS1302_SECOND)。 TimeSecond = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_MINUTE)。 TimeMinute = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_HOUR)。 TimeHour = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_DAY)。 TimeDay = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_MONTH)。 TimeMonth = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_YEAR)。 TimeYear = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 } void Initial_DS1302(void) { unsigned char Second=Read1302(DS1302_SECOND)。 if(Secondamp。0x80) DS1302_SetTime(DS1302_SECOND,0)。 } /*******************************************************************void BurstWrite1302(unsigned char *pWClock) //往DS1302寫入時鐘數(shù)據(jù)(多字節(jié)方式) { unsigned char i。 Write1302(0x8e,0x00)。 // 控制命令,WP=0,寫操作? DS1302_RST = 0。 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(0xbe)。 // 0xbe:時鐘多字節(jié)寫命令 for (i = 8。 i0。 i) //8Byte = 7Byte 時鐘數(shù)據(jù) + 1Byte 控制 { DS1302InputByte(*pWClock)。 // 寫1Byte數(shù)據(jù) pWClock++。 } DS1302_CLK = 1。 DS1302_RST = 0。 } void BurstRead1302(unsigned char *pRClock) //讀取DS1302時鐘數(shù)據(jù)(時鐘多字節(jié)方式){ unsigned char i。 DS1302_RST = 0。 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(0xbf)。 // 0xbf:時鐘多字節(jié)讀命令 for (i=8。 i0。 i) { *pRClock = DS1302OutputByte()。 // 讀1Byte數(shù)據(jù) pRClock++。 } DS1302_CLK = 1。 DS1302_RST = 0。 } void DS1302_TimeStop(bit flag) // 是否將時鐘停止 { unsigned char Data。 Data=Read1302(DS1302_SECOND)。 DS1302_SetProtect(0)。 if(flag) Write1302(DS1302_SECOND, Data|0x80)。 else Write1302(DS1302_SECOND, Dataamp。0x7F)。 } /******************************************************************/ endif ifndef LCD_CHAR_1604 define LCD_CHAR_1604 include //Port Definition***************************************************sbit LcdRs = P3^5。sbit LcdRw = P3^6。 sbit LcdEn = P3^7。 sfr DBPort = 0x80。 //P0=0x80,P1=0x90,P2=0xA0,P3= //內(nèi)部等待函數(shù)**************************************************unsigned char LCD_Wait(void) { LcdRs=0。 LcdRw=1。 _nop_()。 LcdEn=1。 _nop_()。 //while(DBPortamp。0x80)。// LcdEn=0。 return DBPort。 } //向LCD寫入命令或數(shù)據(jù)*************************************** define LCD_COMMAND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標(biāo)返回原點 void LCD_Write(bit style, unsigned char input) { LcdEn=0。 LcdRs=style。 LcdRw=0。 _nop_()。 DBPort=input。 _nop_()。//注意順序 LcdEn=1。 _nop_()。//注意順序 LcdEn=0。 _nop_()。 LCD_Wait()。 } //設(shè)置顯示模式************************************************ define LCD_SHOW 0x04 //顯示開 define LCD_HIDE 0x00 //顯示關(guān) define LCD_CURSOR 0x02 //顯示光標(biāo) define LCD_NO_CURSOR 0x00 //無光標(biāo) define LCD_FLASH 0x01 //光標(biāo)閃動 define LCD_NO_FLASH 0x00 //光標(biāo)不閃動 void LCD_SetDisplay(unsigned char DisplayMode) { LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 } //設(shè)置輸入模式*********************************************
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1