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

正文內(nèi)容

單片機的lcm1602液晶顯示溫度與萬年歷顯控制-資料下載頁

2025-07-14 15:21本頁面
  

【正文】 +。} return。 } /****************************************************************************函數(shù)功能:DS18B20 初始化子程序入口參數(shù):出口參數(shù):****************************************************************************/Init_DS18B20(void){unsigned char x=0。DQ=1。 //DQ 先置高Delay_DS18B20(8)。 //延時DQ=0。 //發(fā)送復(fù)位脈沖Delay_DS18B20(85)。 //延時(480us)檢測主機是否發(fā)出溫度采集信號DQ=1。 //拉高數(shù)據(jù)線Delay_DS18B20(14)。 //等待(15~60us) 響應(yīng)是否存在脈沖x=DQ。 //用 x 的值來判斷初始化有沒有成功,18B20 存在的話 x=0,否則 x=1 delay(20)。return (x)。 }/****************************************************************************函數(shù)功能:向 DS18B20 讀一字節(jié)數(shù)據(jù)入口參數(shù):出口參數(shù):dat****************************************************************************/ReadOneChar(void) 北華航天工業(yè)學(xué)院畢業(yè)論文28{unsigned char i=0。 unsigned char dat=0。for (i=0。i8。i++) {DQ=1。_nop_()。DQ=0。 _nop_()。DQ = 1。Delay_DS18B20(5)。dat=1。 if(DQ) dat|=0x80。 //如果讀到的數(shù)據(jù)是 1,則將 1 存入 datDelay_DS18B20(65)。}return(dat)。}/****************************************************************************函數(shù)功能:向 DS18B20 寫一字節(jié)數(shù)據(jù)入口參數(shù):dat出口參數(shù):****************************************************************************/WriteOneChar(unsigned char dat){ unsigned char i=0。 for(i=8。i0。i) {DQ=0。_nop_()。 DQ=datamp。0x01。Delay_DS18B20(14)。DQ=1。_nop_()。dat=1。}Delay_DS18B20(5)。}/****************************************************************************函數(shù)功能:向 DS18B20 讀溫度值入口參數(shù):出口參數(shù):temperature****************************************************************************/uint ReadTemperature(void)北華航天工業(yè)學(xué)院畢業(yè)論文29{ Init_DS18B20()。 //初始化WriteOneChar(0xcc)。 //跳過讀序列號的操作WriteOneChar(0x44)。 //啟動溫度轉(zhuǎn)換Delay_DS18B20(125)。 //轉(zhuǎn)換需要一點時間,延時Init_DS18B20()。 //初始化WriteOneChar(0xcc)。 //跳過讀序列號的操作WriteOneChar(0xbe)。 //讀溫度寄存器(頭兩個值分別為溫度的低位和高位)tempL=ReadOneChar()。 //讀出溫度的低位 LSBtempH=ReadOneChar()。 //讀出溫度的高位 MSB //溫度轉(zhuǎn)換,把高低位做相應(yīng)的運算轉(zhuǎn)化為實際溫度temperature=((tempH*256)+tempL)*。 Delay_DS18B20(200)。return(temperature)。}//========DS1302 時鐘芯片寫一個字節(jié)=========void write_byte(uchar dat){uchar i, dat_w。dat_w = dat。for(i=0。i8。i++){io = 0。if(dat_w amp。 0x01)io = 1。elseio = 0。dat_w = dat_w 1。sclk = 0。sclk = 1。}sclk = 0。}//========DS1302 時鐘芯片讀一個字節(jié)=========uchar read_byte(){uchar i, k。k = 0。for(i=0。i8。i++){k = k 1。if(io)k = k|0x80。sclk = 1。北華航天工業(yè)學(xué)院畢業(yè)論文30sclk = 0。}sclk = 0。return (k)。}//========DS1302 時鐘芯片把數(shù)據(jù)寫入地址=====void write_add(uchar add, uchar dat){rst = 0。sclk = 0。rst = 1。write_byte(add)。write_byte((dat / 10 4) | (dat % 10))。sclk = 0。rst = 0。}//========DS1302 時鐘芯片從地址讀出數(shù)據(jù)=====uchar read_add(uchar add){uchar temp, dat1, dat2。rst = 0。sclk = 0。rst = 1。write_byte(add)。temp = read_byte()。sclk = 0。rst = 0。dat1 = temp / 16。dat2 = temp % 16。temp = dat1 * 10 + dat2。return (temp)。}//=========DS1302 時鐘芯片時間初始化========void DS1302_init(){write_add(0x8e,0x00)。 //打開寫保護,寫入時間;write_add(0x80,12)。 //初始化秒 12;write_add(0x82,12)。 //初始化分 12;write_add(0x84,12)。 //初始化時 12;write_add(0x86,10)。 //初始化日 10;write_add(0x88,6)。 //初始化月 6;write_add(0x8c,11)。 //初始化年 2022;write_add(0x8e,0x80)。 //關(guān)閉寫保護,禁止寫入。}北華航天工業(yè)學(xué)院畢業(yè)論文31//=========DS1302 時鐘芯片讀出時間==========void DS1302(){write_add(0x8e,0x00)。 //打開寫保護,讀出時間;second = read_add(0x81)。 //從 1302 讀出時間秒;minute = read_add(0x83)。 //從 1302 讀出時間分;hour = read_add(0x85)。 //從 1302 讀出時間時;day = read_add(0x87)。 //從 1302 讀出時間日;month = read_add(0x89)。 //從 1302 讀出時間月;year = read_add(0x8d)。 //從 1302 讀出時間年;write_add(0x8e,0x80)。 //關(guān)閉寫保護,禁止讀出;}//寫命令函數(shù) ****************void write_(uchar ) {rs = 0。rw = 0。en = 0。delay(5)。P0 = 。delay(5)。en = 1。delay(5)。en = 0。}//寫數(shù)據(jù)函數(shù)*****************void write_data(uchar date){rs = 1。rw = 0。en = 0。delay(5)。P0 = date。delay(5)。en = 1。delay(5)。en = 0。}//LCM1602 顯示一個字符===========void DisplayOne(uchar *p){write_data(*p)。}//======時間重新賦值=========北華航天工業(yè)學(xué)院畢業(yè)論文32void time(){tab_time[0] = hour / 10。tab_time[1] = hour % 10。 tab_time[3] = minute /10。tab_time[4] = minute % 10。tab_time[6] = second / 10。tab_time[7] = second % 10。tab_date[2] = year / 10。tab_date[3] = year % 10。tab_date[5] = month / 10。tab_date[6] = month % 10。tab_date[8] = day / 10。tab_date[9] = day % 10。}//======LCM1602 初始化===========void init(){write_(0x38)。write_(0x0c)。write_(0x06)。write_(0x01)。}//=====時間顯示函數(shù)==========void DisplayTime(){uint n。DS1302()。time()。write_(0x80 + 6)。for(n=0。n10。n++){DisplayOne(tab_num + tab_date[n])。 //顯示日期}write_(0x80 + 0x40 + 6)。for(n=0。n8。n++){DisplayOne(tab_num + tab_time[n])。 //顯示時間}}//=========時鐘停止==========void stop(){北華航天工業(yè)學(xué)院畢業(yè)論文33write_add(0x8e, 00)。 //打開寫保護write_add(0x80,80)。 //時鐘停止write_add(0x8e, 80)。 //禁止寫保護write_(0x80+0x40+12)。//顯示秒write_data(tab_num[second/10])。write_data(tab_num[second%10])。}//==========時鐘開始=========void start(){write_add(0x8e, 00)。 //打開寫保護write_add(0x80,second)。 //讀入秒write_add(0x8e, 80)。 //禁止寫保護}//=====矩陣鍵盤掃描函數(shù)======void KeyScan() {P1 = 0xff。if(key1 == 0) {delay(10)。if(key1 == 0){key = 1。while(!key1)。}}if(key2 == 0) {delay(10)。if(key2 == 0){key = 2。while(!key2)。}}if(key3 == 0){delay(10)。if(key3 == 0){key = 3。while(!key3)。北華航天工業(yè)學(xué)院畢業(yè)論文34}}if(key4 == 0) {delay(10)。if(key4 == 0){key = 4。while(!key4)。}}}//======按鍵操作函數(shù)==========void KeyDo(){uint m = 15。 //用以修改日期(第一行)時,移動閃爍光標。uint n = 13。 //用以修改時間(第二行)時,移動閃爍光標。if(key == 1){key = 0。stop()。write_(0x80 + 0x40 + n)。 write_(0x0f)。while(1){KeyScan()。if(key == 3){n = n + 3。if(n 13)n = 7。write_(0x80 + 0x40 + n)。write_(0x0f)。key = 0。}switch(n){case 13 : if(key == 2){second++。if(second == 60)second = 0。time()。北華航天工業(yè)學(xué)院畢業(yè)論文35write_add(0x8e,0x00)。wr
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1