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

正文內(nèi)容

溫度顯示的數(shù)字時鐘設(shè)計(jì)課程設(shè)計(jì)報(bào)告-文庫吧資料

2024-09-03 10:32本頁面
  

【正文】 usic()。 //讀取分?jǐn)?shù) temp=temp+1。 break。 //數(shù)據(jù)調(diào)整后更新標(biāo)志 if((tempamp。 //讀取秒數(shù) temp=temp+1。 if(Up==0||wireless_2==1) { mdelay(8)。 while(wireless_1==1)。 //禁止寫入 key=0。0x7f)。 Write1302(0x8e,0x00)。 hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0。 if(out==0||wireless_1==1) { mdelay(8)。 while(wireless_1==1)。 //禁止寫入 done=0。0x7f)。 Write1302(0x8e,0x00)。 hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0。 if(out==0||wireless_1==1) { mdelay(8)。i++) //1ms 延時 . {。delay) {for(i=0。 for(。j++)。i++) for(j=0。 for(i=0。\039。 39。 39。039。039。:39。 39。 39。039。039。:39。 39。 39。039。039。\039。C39。 //個位 TempBuffer[2]=0xdf。 //十位 TempBuffer[1]=temp_value%10+39。 } void temp_to_str() //溫度數(shù)據(jù)轉(zhuǎn)換成液晶字符顯示 { TempBuffer[0]=temp_value/10+39。 temp_value+=(aamp。 //讀取溫度值低位 b=ReadOneChar()。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度 delay_18B20(100)。 WriteOneChar(0xCC)。 // 啟動溫度轉(zhuǎn)換 delay_18B20(100)。 WriteOneChar(0xCC)。 unsigned char t=0。 } } /**************讀取 ds18b20 當(dāng)前溫度 ************/ void ReadTemp(void) { unsigned char a=0。 DQ = 1。0x01。 i) { DQ = 0。 for (i=8。 } return(dat)。 // 給脈沖信號 if(DQ) dat|=0x80。 // 給脈沖信號 dat=1。i0。 uchar dat = 0。 //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay_18B20(20)。 //拉高總線 delay_18B20(14)。 //單片機(jī)將 DQ 拉低 delay_18B20(80)。 //DQ 復(fù)位 delay_18B20(8)。 } /**********ds18b20 初始化函數(shù) **********************/ void Init_DS18B20(void) { unsigned char x=0。 Write1302(0x8e,0x80)。 Write1302(0x82,0x59)。 Write1302(0x8a,0x07)。 //以下寫入初始化時間 日期 :07/07/ : 3. 時間 : 23:59:55 Write1302(0x88,0x07)。0x80) //判斷時鐘芯片是否關(guān)閉 { Write1302(0x8e,0x00)。 } void Initial_DS1302(void) //時鐘芯片初始化 { unsigned char Second=Read1302(DS1302_SECOND)。amp。amp。amp。amp。amp。TimeSecond%10==0) music()。TimeSecond/10==0amp。TimeMinute%10==0amp。TimeMinute/10==0amp。TimeHour8amp。 } void baoshi(SYSTEMTIME *Time) { if(TimeHour22amp。 } TimeDateString[9] = 39。 TimeTimeString[8] = 39。 TimeTimeString[7] = 39。 } else { TimeTimeString[6] = 39。 TimeTimeString[8] = 39。 TimeTimeString[7] = TimeSecond%10 + 39。 if(hide_sec2) { TimeTimeString[6] = TimeSecond/10 + 39。 } TimeTimeString[5] = 39。 TimeTimeString[4] = 39。 } else { TimeTimeString[3] = 39。 TimeTimeString[4] = TimeMinute%10 + 39。 if(hide_min2) { TimeTimeString[3] = TimeMinute/10 + 39。 } TimeTimeString[2] = 39。 TimeTimeString[1] = 39。 } else { TimeTimeString[0] = 39。 TimeTimeString[1] = TimeHour%10 + 39。 { if(hide_hour2) { TimeTimeString[0] = TimeHour/10 + 39。\039。\039。\039。 39。039。 39。 39。 39。 39。 39。 39。039。039。/39。 39。 39。039。039。/39。 39。 39。 39。 39。039。039。039。239。0x0F)。 TimeYear = ((ReadValueamp。0x0F)。 TimeMonth = ((ReadValueamp。0x0F)。 TimeWeek = ((ReadValueamp。0x0F)。 TimeDay = ((ReadValueamp。0x0F)。 TimeHour = ((ReadValueamp。0x0F)。 TimeMinute = ((ReadValueamp。0x0F)。 TimeSecond = ((ReadValueamp。 } void DS1302_GetTime(SYSTEMTIME *Time) //獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組 { unsigned char ReadValue。 DS1302_RST = 0。 // 地址,命令 ucData = DS1302OutputByte()。 DS1302_RST = 1。 DS1302_RST = 0。 DS1302_RST = 0。 // 地址,命令 DS1302InputByte(ucDa)。 DS1302_RST = 1。 } void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302 地址 , ucData: 要寫的數(shù)據(jù) { DS1302_RST = 0。 DS1302_CLK = 0。 //相當(dāng)于匯編中的 RRC ACC7 = DS1302_IO。 i0。 } } unsigned char DS1302OutputByte(void) //實(shí)時時鐘讀取一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 DS1302_CLK = 0。 i) { DS1302_IO = ACC0。 for(i=8。 define AM(X) X define PM(X) (X+12) // 轉(zhuǎn)成 24 小時制 define DS1302_SECOND 0x80 //時鐘芯片的寄存器 位置 ,存放時間 define DS1302_MINUTE 0x82 define DS1302_HOUR 0x84 define DS1302_WEEK 0x8A define DS1302_DAY 0x86 define DS1302_MONTH 0x88 define DS1302_YEAR 0x8C void DS1302InputByte(unsigned char d) //實(shí)時時鐘寫入一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 //AC 遞增 , 畫面不動 } }SYSTEMTIME。 //開啟顯示 , 無光標(biāo) LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 //8 位數(shù)據(jù)端口 ,2 行顯示 ,5*7 點(diǎn)陣 LCD_Write(LCD_COMMAND,0x38)。 //液晶顯示程序 //初始化 LCD************************************************************ void LCD_Initial() { LcdEn=0。 k++。j++)。 for(j=0。ilon[k]*20。m26。 } void music() { uint i,j,k=0,m。y0。x0。 void delay(uint z) { uint x,y。 uchar code tone[]={212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0}。 uchar TempBuffer[5],week_value[2],nao[8]。 uchar temp_value。 //溫度傳送數(shù)據(jù) IO 口 sbit dd=P3^7。 //減法按鈕 sbit out = P2^3。 //模式切換鍵 sbit Up = P2^1。 char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year,hide_m,hide_f,hide_h。 sbit ACC0 = ACC^0。 sbit wireless_4 = P3^3。 sbit wireless_2 = P3^1。 //實(shí)時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P1^5。 總 原理圖 仿真圖 PCB 圖 實(shí)物圖 四 、 軟件部分設(shè)計(jì) 初 始 化 L C D 1 6 0 2 、 D S 1 3 0 2 、D S 1 8 B 2 0 、 定 時 器鍵 盤 掃 描開 始結(jié) 束讀 D S 1 8 B 2 0 的 溫 度 值 和D S 1 3 0 2 寄 存 器 的 值將 讀 出 的 值 顯 示 到L C D 1 6 0 2 上 系統(tǒng)運(yùn)行流程圖 主函數(shù)流程圖 開 始初 始 化 D S 1 8 B 2 0跳 過 讀 序 列 號啟 動 溫 度 轉(zhuǎn) 換延 時初 始 化 D S 1 8 B 2 0跳 過 讀 序 列 號讀 取 溫 度 值結(jié) 束 18B20 溫度計(jì)流程 圖 程序設(shè)計(jì) (節(jié)選) : include include //include //include define uint unsigned int define uchar
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1