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

正文內(nèi)容

用at89c51實(shí)現(xiàn)電話遠(yuǎn)程控制家用電器-資料下載頁

2025-07-07 16:46本頁面
  

【正文】 P2^0。 //當(dāng)?shù)夭僮靼存I1sbit KEY2 = P2^1。 //當(dāng)?shù)夭僮靼存I2sbit KEY3 = P2^2。 //當(dāng)?shù)夭僮靼存I3sbit ISDEOM = P2^7。 //錄放音結(jié)束信號(hào)輸出sbit ISDCE = P0^6。 //芯片片選sbit VoiceEn = P3^6。 //監(jiān)聽控制端/**********************************************全局變量************************************************/uchar GRingCount。 //振鈴次數(shù)計(jì)數(shù)uchar allow。uchar dat。uchar dat1。uchar open。uchar close。uchar a。uint dlycount。uint dlyGRingCount。uint openGRingCount。uint opencount2。uint closeGRingCount。uint closecount2。 //延時(shí)計(jì)數(shù)值uchar ucGPassward[6]={0x00,0x00,0x00,0x00,0x00,0x00}。 //初始密碼為123456,存儲(chǔ)在24C02中uchar data1[6]={0x00,0x00,0x00,0x00,0x00,0x00}。 //輸入密碼暫存uchar code ucGISDAddr[9] = { //代碼,存儲(chǔ)于FLASH中,語音芯片錄音段其始地址 0x40, //錄音第一段(0x40):請(qǐng)輸入密碼; 0x49, //錄音第二段(0x49):密碼錯(cuò)誤,請(qǐng)重新輸入; 0x50, //錄音第三段(0x50):1開; 0x54, //錄音第四段(0x54):1關(guān); 0x58, //錄音第五段(0x58):2開; 0x5c, //錄音第六段(0x5c):開電器1請(qǐng)按1,關(guān)電器1請(qǐng)按2,開電器2請(qǐng)按3,關(guān)電器2請(qǐng)按4,延時(shí)開請(qǐng)按5,延時(shí)關(guān)請(qǐng)按6,開監(jiān)聽請(qǐng)按7,關(guān)監(jiān)聽請(qǐng)按8,修改密碼請(qǐng)按9,狀態(tài)查詢請(qǐng)按0,掛機(jī)請(qǐng)按*鍵; 0x61, //錄音第七段(0x61):密碼修改成功; 0x68, //錄音第八段(0x68):2關(guān)。 0x6d }。 //錄音第九段(0x6d):設(shè)置成功。 /********************************************************************** Function name: 延時(shí)函數(shù),共三個(gè)** Descriptions : 延時(shí)函數(shù),定時(shí)不準(zhǔn)** Input : 延時(shí)時(shí)間長度** Output : 無 ********************************************************************/void Delay1ms() /* 1ms 定時(shí)*/{ uint i = 0。 for (i = 150。 i 0。 i)。}void Delay20ms() /* 延時(shí)20ms */{ uchar i = 0。 uchar j = 0。 for (i = 50。 i 0。 i) { for (j = 200。 j 0。 j) 。 }}void DelayNs(uchar ucdly) /* 延時(shí)1s */{ uchar i = 0。 uchar j = 0。 uchar k = 0。 for ( 。 ucdly 0。 ucdly) { for (i = 10。 i 0。 i) { for (j = 200。 j 0。 j) { for (k = k 0。 k) 。 } } }}/********************************************************************** Function name: I2C讀寫子程序** Descriptions : ** Input : ** Output : 無 ********************************************************************/void I2CStart(void) /*******************I2C起********************/{ I2CSDA = 1。//SCK為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù) I2CSCK = 1。 _nop_()。 //時(shí)序要求600ns,保證正確起始 _nop_()。 I2CSDA = 0。 I2CSCK = 0。}void I2CStop(void) /*******************I2C停止********************/{ I2CSCK = 0。//SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù) I2CSDA = 0。 I2CSCK = 1。 I2CSDA = 1。}/*******************從24C02讀數(shù)據(jù)********************/uchar I2CRead(void){ uchar i = 0。 uchar ucReadDat = 0。 for (i = 8。 i 0。 i) { //8位,先讀最高位 I2CSCK = 1。 //獲得總線操作 ucReadDat = ucReadDat 1。 //數(shù)據(jù)左移,空出最低位,用于接收數(shù)據(jù) ucReadDat = ucReadDat | (uchar)I2CSDA。 //保存低位數(shù)據(jù),采用按位或的方式 I2CSCK = 0。 //釋放總線 } return(ucReadDat)。 //返回獲得的數(shù)據(jù)}/*******************寫數(shù)據(jù)到24C02********************/bit I2CWrite(uchar ucWriteDat){ uchar i。 bit bACK。 //應(yīng)答 for (i = 8。 i 0。 i) { //8位,先讀最高位 if (ucWriteDat amp。 0x80) { //發(fā)送數(shù)據(jù)到數(shù)據(jù)總線上 I2CSDA=1。 } else { I2CSDA=0。 } I2CSCK = 1。 //獲得總線操作 _nop_()。 //適當(dāng)延時(shí),等待對(duì)方接收完畢 _nop_()。 I2CSCK = 0。 //釋放總線 ucWriteDat = ucWriteDat 1。 //數(shù)據(jù)左移,繼續(xù)傳送下一位 } I2CSDA = 1。 //接收應(yīng)答信號(hào) _nop_()。 _nop_()。 I2CSCK = 1。 //獲得總線操作,等待從器件將數(shù)據(jù)線信號(hào)拉低 _nop_()。 _nop_()。 bACK = I2CSDA。 //讀取應(yīng)答信號(hào) I2CSCK = 0。 return (bACK)。 //返回}/**************在指定地址addr處寫入數(shù)據(jù)write_data********/void I2CByteWrite(uchar ucAdr,uchar ucData){ I2CStart()。 //發(fā)送開始信號(hào) I2CWrite(I2CWriteAdr)。 //發(fā)送器件寫地址 I2CWrite(ucAdr)。 //發(fā)送(指定)片內(nèi)字節(jié)地址 I2CWrite(ucData)。 //發(fā)送數(shù)據(jù) I2CStop()。 //結(jié)束}/***************在指定地址讀取************/uchar I2CByteRead(uchar ucAdr){ uchar ucData。 I2CStart()。 //發(fā)送開始信號(hào) I2CWrite(I2CWriteAdr)。 //發(fā)送器件寫地址 I2CWrite(ucAdr)。 //發(fā)送(指定)片內(nèi)字節(jié)地址 I2CStart()。 //重新發(fā)送開始信號(hào),進(jìn)行數(shù)據(jù)傳送 I2CWrite(I2CReadAdr)。 //發(fā)送器件讀地址 ucData = I2CRead()。 //接收數(shù)據(jù) I2CStop()。 //結(jié)束 return(ucData)。 //返回接收到的數(shù)據(jù)}/************放音程序**************/void ISDPlay(uchar ucAdr){ P0=ucGISDAddr[ucAdr]。 VoiceEn=0。 DelayNs(1)。 ISDCE=0。 DelayNs(1)。 while (ISDEOM == 0) 。 ISDPD=1。 VoiceEn=1。 ISDCE=1。}/************各鍵功能*************/void function(){ uchar i,fun,delayopen,delayclose,laws,flag。 if (dat == 10) { dat1 = 0。 } else { dat1 = dat。 } if (delayopen) { i++。 if (i == 1) { if (dat == 1) { open = 1。 } else { if(dat==2) { open = 2。 } else { delayopen = 0。 } } } if((i 1) amp。amp。 (i 4)) { dlycount = dlycount * 10 + dat1。 } else { if (i == 4) { dlycount = dlycount * 10 + dat1。//輸入三位數(shù)后延時(shí)開計(jì)時(shí) if (open == 1) { openGRingCount = dlycount。 dlycount = 0。 } else { opencount2 = dlycount。 dlycount = 0。 } TR0 = 1。 i = 0。 delayopen = 0。 open = 0。 ISDPlay(8)。 } } } if (delayclose) { i++。 if (i == 1) { if (dat == 1) { close = 1。 } else { if (dat == 2) { close = 2。 } else { delayclose = 0。 } } } if ((i 1) amp。amp。 (i 4)) { dlycount = dlycount * 10 + dat1。 } else { if (i == 4) { dlycount = dlycount * 10 + dat1 //輸入三位數(shù)后延時(shí)關(guān)計(jì)時(shí) if (close == 1) { closeGRingCount = dlycount。 dlycount = 0。 } else { closecount2 = dlycount。 dlycount = 0。 } TR0 = 1。 i = 0。 delayclose = 0。 close = 0。 ISDPlay(8)。 } } } if (laws) { i++。 if (i 7) { data1[i1] = dat1。 } else { if (dat == 0x0c) { EX0 = 0。 TR0 = 0。 for (a = 0。 a 6。 a++) { I2CStart()。 I2CWrite(I2CWriteAdr)。 I2CWrite(a)。 I2CWrite(data1[a])。 I2CStop()。 Delay1ms()。 } TR0 = 1。 EX0 = 1。 ISDPlay(6)。 i = 0。 laws = 0。 } else
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1