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

正文內(nèi)容

基于51單片機的數(shù)字頻率計設計(編輯修改稿)

2025-02-14 14:45 本頁面
 

【文章內(nèi)容簡介】 *********************************************************//***********11微秒延時函數(shù)**********///void delayus(uint t){for(。t0。t)。}/***********18B20復位函數(shù)**********/void ow_reset(void){char presence=1。while(presence){while(presence){DS18B20 = 1。_nop_()。_nop_()。DS18B20 = 0。delayus(50)。 // 550usDS18B20 = 1。 delayus(6)。 // 66uspresence=DS18B20。 // presence=0繼續(xù)下一步 }delayus(45)。 //延時500uspresence = ~DS18B20。}DS18B20 = 1。} /**********18B20寫命令函數(shù)*********///向 1WIRE 總線上寫一個字節(jié)void write_byte(uchar val){uchar i。for (i=8。 i0。 i) //{DS18B20 = 1。_nop_()。_nop_()。 DS18B20 = 0。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。//5usDS18B20 = valamp。0x01。 //最低位移出delayus(6)。 //66usval=val/2。 //右移一位}DS18B20 = 1。delayus(1)。 }///*********18B20讀1個字節(jié)函數(shù)********///從總線上讀取一個字節(jié)uchar read_byte(void){uchar i。uchar value = 0。for (i=8。i0。i){DS18B20 = 1。_nop_()。_nop_()。value=1。DS18B20 = 0。 //_nop_()。_nop_()。_nop_()。_nop_()。 //4usDS18B20 = 1。_nop_()。_nop_()。_nop_()。_nop_()。 //4us if(DS18B20)value|=0x80。delayus(6)。 //66us}DS18B20 = 1。return(value)。}///***********讀出溫度函數(shù)**********///void Ds18b20_ReadEE(void){ow_reset()。write_byte(SkipROM)。 // Skip ROMwrite_byte(Convert)。 // 發(fā)轉(zhuǎn)換命令ow_reset()。 //總線復位write_byte(SkipROM)。 // 發(fā)Skip ROM命令write_byte(ReadScr)。 // 發(fā)讀命令collect_temperature[0]=read_byte()。 //溫度低8位collect_temperature[1]=read_byte()。 //溫度高8位}/********************************************************* ** DS1302時鐘芯片程序段 ** *********************************************************/void DS1302_InputByte(uchar byte) //往DS1302寫入1Byte數(shù)據(jù){ uchar i。uchar temp。temp = byte。 for(i=8。 i0。 i) { DS_IO = tempamp。0x01。 S_CLK。 C_CLK。 temp = temp 1。 } }uchar DS1302_OutputByte(void) //從DS1302讀取1Byte數(shù)據(jù){ uchar i。uchar temp=0。for(i=0。 i8。i++){ C_CLK。 if(DS_IO!=0) temp|=(1i)。 S_CLK。} return(temp)。 }void RW_DS1302(uchar reg, uchar byte)//向DS1302寄存器寫數(shù)據(jù){C_RST。C_CLK。S_RST。DS1302_InputByte(reg)。 DS1302_InputByte(byte)。S_CLK。C_RST。} uchar Read_DS1302(uchar reg)//從DS1302寄存器讀數(shù)據(jù){uchar byte。 C_RST。 C_CLK。 S_RST。DS1302_InputByte(reg)。byte = DS1302_OutputByte()。 S_CLK。 C_RST。return(byte)。}void GetTime_DS1302(uchar *ucCurtime) //讀取DS1302當前時間{ ucCurtime[0] = Read_DS1302(0x81)。//格式為: 秒 分 時ucCurtime[1] = Read_DS1302(0x83)。ucCurtime[2] = Read_DS1302(0x85)。}void Set_Time(uchar *receive) //寫時間{Write_Enable。 //控制命令,允許寫操作RW_DS1302(0x80,receive[0])。RW_DS1302(0x82,receive[1])。RW_DS1302(0x84,receive[2])。Write_Disable。 // 控制命令,寫保護 }/********************************************************* ** 數(shù)碼管顯示程序段 ** *********************************************************/void deal(void)//送顯前的數(shù)據(jù)處理{uint timer2。uint lstemp。timer2++。if(STA) {GetTime_DS1302(collect_time)。}if(flash)//用于閃動效果的控制的{display[0] = num[sg]。display[1] = num[sd]。display[2] = num[fg]。display[3] = num[fd]。display[4] = num[mg]。display[5] = num[md]。}else{switch(choose){case 1:display[0]=0。break。case 2:display[1]=0。break。case 3:display[2]=0。break。case 4:display[3]=0。break。case 5:display[4]=0。break。case 6:display[5]=0。break。}}if(timer2==3000)//間斷性獲取溫度{timer2=0。if(STA){TR0=0。Ds18b20_ReadEE()。TR0=1。}}if(collect_temperature[1]127){collect_temperature[0]=255collect_temperature[0]。 collect_temperature[1]=255collect_temperature[1]。} lstemp=((collect_temperature[0])4)|((collect_temperature[1])4)。display[6] = num[(uchar)((lstemp)/10)]。display[7] = num[(uchar)((lstemp)%10)]。 }/********************************************************* ** 按鍵控制程序段 ** *********************************************************/void Scan(void){if(SET==0amp。amp。keyboard==1) //檢測設置鍵有無按下,并進行相應操作{ if(SET==0amp。amp。keyboard==1) { RdefineT1。 //超時檢測初始化 choose++。 while(SET==0)。 if(choose==7) {TR0=0。 Set_Time(collect_time)。 TR0=1。 STA=1。 //設置完畢,重新開始采集時間 choose=0。 }160
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1