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

正文內容

51單片機中做紅外遙控密碼鎖的課題論文畢業(yè)論文-資料下載頁

2025-06-19 13:55本頁面
  

【正文】 ak。 case 2:mand=4。break。 case 3:mand=7。break。 case 4:mand=14。break。 case 5:mand=2。break。 case 6:mand=5。break。 case 7:mand=8。break。 case 8:mand=16。break。//鍵值為零 case 9:mand=3。break。 case 10:mand=6。break。 case 11:mand=9。break。 case 12:mand=15。break。 case 13:mand=10。break。 case 14:mand=11。break。 case 15:mand=12。break。 case 16:mand=13。break。 default:break。 } } addr3 = 0。//鍵值讀取完成,使U4無效 delay(50)。 //延時50us } return mand。 }/*******************************主函數***********************/main(){ //uchar i。 //unsigned int temp。 temp=0。 for(i=0。i8。i++) dispbuf[i] = 0。 //P1= 0x00。 lck = 0。 lck = 1。//93C46片選無效,使其DO引腳不對外輸出電平 initial()。 dispbuf[4]=16。 while(1) { input=vLedKey_Scan()。 //顯示,讀鍵掃描 switch(input) { case 0:break。 case 1:temp=temp*10+1。keybuzz()。break。 case 2:temp=temp*10+2。keybuzz()。break。 case 3:temp=temp*10+3。keybuzz()。break。 case 4:temp=temp*10+4。keybuzz()。break。 case 5:temp=temp*10+5。keybuzz()。break。 case 6:temp=temp*10+6。keybuzz()。break。 case 7:temp=temp*10+7。keybuzz()。break。 case 8:temp=temp*10+8。keybuzz()。break。 case 9:temp=temp*10+9。keybuzz()。break。 case 10:temp=0。state=0。mode=0。keybuzz()。break。 case 11:if (state==1) mode=1。keybuzz()。break。 case 12:temp=temp/10。keybuzz()。break。 case 13:if (mode==0) {if(temp==password) {state=1。temp=0。okbuzz()。}else {state=0。temp=0。keybuzz()。} }//判斷開鎖密碼 else if (mode==1) {newpassword=temp。mode=2。temp=0。keybuzz()。} else {mode=0。if (newpassword==temp) {password=newpassword。okbuzz()。 buffer[0]=password/1000。buffer[1]=(password/100)%10。buffer[2]=(password/10)%10。buffer[3]=password%10。 delay(10)。 Start_I2c()。 SendB(0xa0)。 SendB(0x10)。 //數據存放初始地址為0x06 for(i=0。i4。i++) {SendB(buffer[i])。 //向24C02寫4個數據 delay(2)。 } Stop_I2c()。 } else keybuzz()。temp=0。} break。 case 14:break。 case 15:break。 case 16:temp=temp*10+0。keybuzz()。break。//鍵值為零 default:break。 } // temp=IR_data。 dispbuf[0]=temp/1000。 dispbuf[1]=(temp/100)%10。 dispbuf[2]=(temp/10)%10。 dispbuf[3]=temp%10。 dispbuf[5]=state。 }}/********************************結束************************//*****************************保存和串口發(fā)送**************************//*void vGet_Send(void){ uchar i。 Start_I2c()。 SendB(0xa0)。 SendB(0x10)。 //數據存放初始地址為0x06 for(i=0。i6。i++) {SendB(buffer[i])。 //向24C02寫6個數據 delay(2)。 } Stop_I2c()。 delay(1000)。 for(i=0。i8。i++) buffer[i] = 0xff。 //用0xff填充發(fā)送緩沖區(qū) for(i=0。i6。i++){ Start_I2c()。 SendB(0xa0)。 //從24C02讀取剛才寫入的數據 SendB(0x10+i)。 //數據存放地址為0x06+i Start_I2c()。 SendB(0xa1)。 buffer[i]=RcvB()。 //讀取的值送串口緩沖區(qū) Ack_I2c(1)。 Stop_I2c()。 } copyOK = 1。 //置準備好標志 send()。 //向串口發(fā)送}*//*******************************I2C開始*****************************/void Start_I2c(){ SDA=1。 delay(1)。 SCL=1。 delay(3)。 SDA=0。 delay(3)。 SCL=0。 delay(1)。}/*********************************I2C結束*****************************/void Stop_I2c(){ SDA=0。 delay(1)。 SCL=1。 delay(3)。 SDA=1。 delay(1)。}/*********************************I2C寫一個字節(jié)************************/void SendB(uchar c){ uchar BitCnt,ack。 for(BitCnt=0。BitCnt8。BitCnt++) { if((cBitCnt)amp。0x80)SDA=1。 else SDA=0。 delay(2)。 SCL=1。 delay(5)。 SCL=0。 delay(2)。 } delay(1)。 SDA=1。 delay(5)。 SCL=1。 delay(1)。 if(SDA==1)ack=0。 else ack=1。 SCL=0。 delay(1)。}/******************************I2C讀取一個字節(jié)****************************/ uchar RcvB(){ uchar retc。 uchar BitCnt。 retc=0。 SDA=1。 for(BitCnt=0。BitCnt8。BitCnt++) { delay(1)。 SCL=0。 delay(5)。 SCL=1。 delay(2)。 retc=retc1。 if(SDA==1)retc=retc+1。 delay(1)。 } SCL=0。 delay(1)。 return(retc)。}/*********************************I2C應答*********************************/ void Ack_I2c(bit a){ if(a==0)SDA=0。 else SDA=1。 delay(1)。 SCL=1。 delay(2)。 SCL=0。 delay(1)。 }/**********************************結束***********************************/第 65 頁 共 65 頁
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1