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

正文內(nèi)容

基于51單片機智能窗簾的研究與設計-閱讀頁

2024-11-30 16:10本頁面
  

【正文】 12OUT413OUT314OUT215OUT1161234V C C5V0V C CU3C R Y S T A L _ V I R T U A LC13 0 p FC23 0 p FC31 0 u FR110kΩV C C5V0V C C5VV C CV C C00675U4S O N A L E R T2 0 0 H z Q1B C 1 0 9 B PV C C5VV C C8R2100Ω90R31kΩ1011 s t e pm o t o rR410kΩK e y = A50%R510kΩK e y = A50%V C C5VV C C5VR6200kΩK e y = A50%A I N 0A I N 1A I N 2A I N 3A0A1A2VSSV D DA O U TV R E FA G N DE X TO S CS C LS D AP C F 8 5 9 1P 3 . 0P 3 . 115V C C140D S 1 8 B 2 0G N D I / OV C C5VP 3 . 3V C CG N DI R DP 3 . 2V C C5V 附錄 2 :部分子程序 unsigned int LowTime,HighTime。 for(i=0。i++) for(j=0。j++) 。 for(i=0。i++) delay1ms()。 } void delay11(unsigned char x) //x* { unsigned char i。 i13。 BEEP=1。i100。 //BEEP 取反 } BEEP=0。 //延時 } void motor_ffw(unsigned char ii) //unsigned char num, { unsigned char i。 //while(num) //{ for (j=0。 j++) //轉(zhuǎn) 1*n 圈 { for (i=0。 i++) //一個周期轉(zhuǎn) 30 度 { if(ii==1) P1 = ~FFF[i]。 delay(1)。 SCL = 1。 // 延時 5us SDA = 0。 SCL = 0。 //時鐘保持高,數(shù)據(jù)線從低到高一次跳變, I2C 通信停止 SCL = 1。 SDA = 1。 SCL = 0。 iic_stop()。 SCL = 1。 SCL = 0。 SCL = 1。 SDA = 0。 } void check_ACK(void) { SDA = 1。 askflag = 0。 if(SDA == 1) // 若 SDA=1 表明非應答, 置位非應答標志 askflag askflag = 1。 } void IICSendByte(unsigned char ch) { unsigned char idata n=8。0x80) == 0x80) // 若要發(fā)送的數(shù)據(jù)最高位為 1 則發(fā)送位 1 { SDA = 1。 delayNOP()。 SCL = 0。 // 否則傳送位 0 SCL = 1。 SCL = 0。 // 數(shù)據(jù)左移一位 } } uchar IICreceiveByte(void) { uchar idata n=8。 while(n) { SDA = 1。 tdata =tdata1。 // 若接收到的位為 1,則數(shù)據(jù)的最后一位置 1 else tdata = tdataamp。 // 否則數(shù)據(jù)的最后一位置 0 SCL = 0。 } void ADC_PCF8591(uchar controlbyte) { uchar i=0。 IICSendByte(PCF8591_WRITE)。 if(askflag == 1) { SystemError = 1。 } IICSendByte(controlbyte)。 if(askflag == 1) { SystemError = 1。 } iic_start()。 //控制字 check_ACK()。 return。 //空讀一次,調(diào)整讀順序 slave_ACK()。 receivebuf[i++]=receive_da。 //收到一個字節(jié)后發(fā)送一個應答位 } */ //讀一次寫法 receivebuf=IICreceiveByte()。 //收到最后一個字節(jié)后發(fā)送一個非應答位 iic_stop()。 RS=0。 E=1。 //空操作 _nop_()。 _nop_()。 //將忙碌標志電平賦給 result E=0。 } void WriteInstruction (unsigned char dictate) { while(BusyTest()==1)。 //根據(jù)規(guī)定, RS 和 R/W 同時為低電平時,可以寫入指令 RW=0。 //E 置低電平 (根據(jù)表 86,寫指令時, E 為高脈沖, // 就是讓 E 從 0 到 1 發(fā)生正跳變,所以應先置0 _nop_()。 //空操作兩個機器周期,給硬件反應時間 P0=dictate。 _nop_()。 _nop_()。 //E 置高電平 _nop_()。 _nop_()。 //空操作四個機器周期,給硬件反應時間 E=0。 //顯示位置的確定方法規(guī)定為 80H+地址碼x } void WriteData(unsigned char y) { while(BusyTest()==1)。 //RS 為高電平, RW 為低電平時,可以寫入數(shù)據(jù) RW=0。 //E 置低電平 (根據(jù)表 86,寫指令時, E 為高脈沖, // 就是讓 E 從 0 到 1 發(fā)生正跳變,所以應先置 0 P0=y。 _nop_()。 _nop_()。 //E 置高電平 _nop_()。 _nop_()。 //空操作四個機器周期,給硬件反應時間 E=0。 //延時 15ms,首次寫指令時應給 LCD 一段較長的反應時間 WriteInstruction(0x38)。 //延時 5ms WriteInstruction(0x38)。 WriteInstruction(0x38)。 WriteInstruction(0x0c)。 WriteInstruction(0x06)。 WriteInstruction(0x01)。 } Init_DS18B20(void) { DQ = 1 。 DQ = 0 。 DQ = 1 。 presence = DQ 。 DQ = 1 。 //返回信號, 0=presence,1= no presence } Disp_Temperature() { display[4]=temp_data[0]amp。 display[0]=ditab[display[4]]+0x30 。0xf0)4)|((temp_data[1]amp。 display[3]=display[4]/100+0x30 。 display[2]=display[1]/10+0x30 。 if(display[3]==0x30) //高位為 0,不顯示 { display[3]=0x20 。 } WriteAddress(0x48) 。 //百位數(shù)顯示 WriteAddress(0x49) 。 //十位數(shù)顯示 WriteAddress(0x4a) 。 //個位數(shù)顯示 WriteAddress(0x4c) 。 //小數(shù)位數(shù)顯示 } void Compare() { // bit tempflag1。 uint temp=0。0x0f 。//查表得小數(shù)位的值 display[4]=((temp_data[0]amp。0x0f)4) 。 display[1]=display[4]%100 。 display[1]=display[1]%10 。 if(settemptemp) { // tempflag1=1。 } //if((settemptemp)amp。(tempflag=1)) // { // tempflag2=1。 //// tempflag1=0。 EX0 = 0。 if (IR==1) { EX0 =1。 } while (!IR) {delay11(1)。j4。k8。} while (!IR) {delay11(1)。 N++。 return。 if (N=8) {a[j] = a[j] | 0x80。 } } if (a[2]!=~a[3]) { EX0=1。 } beep()。 EX0
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1