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

正文內(nèi)容

電子鐘溫度計課程設(shè)計--電子鐘溫度計的設(shè)計-資料下載頁

2025-01-17 02:59本頁面
  

【正文】 存器88H寫入調(diào)整后的月份數(shù)據(jù)BCD碼 write_1302(0x8e,0x80)。//打開寫保護 write_1602(yh+7)。//因為設(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動加一,所以需要光標回位 break。 case 7:nian。 if(nian==1) nian=99。 write_nyr(3,nian)。 temp=(nian)/10*16+(nian)%10。//十進制轉(zhuǎn)換成DS1302要求的DCB碼 write_1302(0x8e,0x00)。//允許寫,禁止寫保護 write_1302(0x8c,temp)。//向DS1302內(nèi)寫年份寄存器8cH寫入調(diào)整后的年份數(shù)據(jù)BCD碼 write_1302(0x8e,0x80)。//打開寫保護 write_1602(yh+4)。//因為設(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動加一,所以需要光標回位 break。 } } } }}void timer0() interrupt 1 //取得并顯示日歷和時間{ //Init_DS18B20()。//溫度傳感器DS18b2初始化子函數(shù),在頭文件中 flag=ReadTemperature()。//將18b2頭文件運行返回的函數(shù)結(jié)果送到變量FLAG中,用于顯示 //讀取秒時分周日月年七個數(shù)據(jù)(DS1302的讀寄存器與寫寄存器不一樣): miao = BCD_Decimal(read_1302(0x81))。 fen = BCD_Decimal(read_1302(0x83))。 shi = BCD_Decimal(read_1302(0x85))。 ri = BCD_Decimal(read_1302(0x87))。 yue = BCD_Decimal(read_1302(0x89))。 nian=BCD_Decimal(read_1302(0x8d))。 week=BCD_Decimal(read_1302(0x8b))。 //顯示溫度、秒、時、分數(shù)據(jù): write_temp(12,flag)。//顯示溫度,從第二行第12個字符后開始顯示 write_sfm(8,miao)。//秒,從第二行第8個字后開始顯示(調(diào)用時分秒顯示子函數(shù)) write_sfm(5,fen)。//分,從第二行第5個字符后開始顯示 write_sfm(2,shi)。//小時,從第二行第2個字符后開始顯示 //顯示日、月、年數(shù)據(jù): write_nyr(9,ri)。//日期,從第二行第9個字符后開始顯示 write_nyr(6,yue)。//月份,從第二行第6個字符后開始顯示 write_nyr(3,nian)。//年,從第二行第3個字符后開始顯示 write_week(week)。}//void init() //定時器、計數(shù)器設(shè)置函數(shù){ TMOD=0x11。 //指定定時/計數(shù)器的工作方式為3 TH0=0。 //定時器T0的高四位=0 TL0=0。 //定時器T0的低四位=0 EA=1。 //系統(tǒng)允許有開放的中斷 ET0=1。 //允許T0中斷 TR0=1。 //開啟中斷,啟動定時器}//*******************主函數(shù)**************************void main(){ lcd_init()。 //調(diào)用液晶屏初始化子函數(shù) ds1302_init()。 //調(diào)用DS1302時鐘的初始化子函數(shù) init()。 //調(diào)用定時計數(shù)器的設(shè)置子函數(shù) while(1) //無限循環(huán)下面的語句: { keyscan()。 //調(diào)用鍵盤掃描子函數(shù) }}附錄二:DS18B20部分程序sbit DQ = P2^3。 // /**** 延時函數(shù) *****/void DS18_delay(int useconds) {int s。for (s=0。 suseconds。s++)。}unsigned char ow_reset(void) { /*復(fù)位函數(shù)*/unsigned char presence。DQ = 0。 // 將 DQ 線拉低DS18_delay(29)。 // 保持 480μsDQ = 1。 // DQ返回高電平DS18_delay(3)。 // 等待存在脈沖presence = DQ。 // 獲得存在信號DS18_delay(25)。 // 等待時間隙結(jié)束return(presence)。 // 返回存在信號,0 = 器件存在, 1 = 無器件} /**** 位寫入函數(shù) ****/void write_bit(char bitval) {DQ = 0。 // 將DQ 拉低開始寫時間隙if(bitval==1) DQ =1。 // 如果寫1,DQ 返回高電平DS18_delay(5)。 // 在時間隙內(nèi)保持電平值,DQ = 1。 // DS18_delay函數(shù)每次循環(huán)延時16μs,因此DS18_delay(5) = 104μs} /**** 字節(jié)寫入函數(shù) *****/void ds18write_byte(char val) {unsigned char i。unsigned char temp。for (i=0。 i8。 i++) { // 寫入字節(jié), 每次寫入一位 temp = vali。 temp amp。= 0x01。 write_bit(temp)。 }DS18_delay(5)。} /****位讀取函數(shù) ****/unsigned char read_bit(void) {unsigned char i。DQ = 0。 //將DQ 拉低開始讀時間隙DQ = 1。 // then return highfor (i=0。 i3。 i++)。 // 延時15μsreturn(DQ)。 // 返回 DQ 線上的電平值} /**** 字節(jié)讀取函數(shù) ****/unsigned char DSread_byte(void) {unsigned char i。unsigned char value = 0。for (i=0。i8。i++) { // 讀取字節(jié),每次讀取一個字節(jié)if(read_bit()) value|=0x01i。 // 然后將其左移DS18_delay(6)。 }return(value)。} /***** 讀取溫度函數(shù) *****/unsigned int ReadTemperature(void) {unsigned char get[10]。unsigned char temp_lsb,temp_msb。unsigned int t。unsigned char k。ow_reset()。ds18write_byte(0xCC)。 // 跳過 ROMds18write_byte(0x44)。 // 啟動溫度轉(zhuǎn)換DS18_delay(5)。ow_reset()。ds18write_byte(0xCC)。 // 跳過 ROMds18write_byte(0xBE)。 // 讀暫存器for (k=0。k2。k++){get[k]=DSread_byte()。}temp_msb = get[1]。 // Sign byte + lsbittemp_lsb = get[0]。 // Temp data plus lsbt=temp_msb*256+temp_lsb。t=tamp。0x0ff0。if(t0xffamp。amp。t0xf0)t=(1)*t。return t4。//temp_f = (((int)temp_c)* 9)/5 + 32。 // 輸出華氏溫度值}
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1