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

正文內(nèi)容

基于16f887單片機數(shù)字鐘課設設計報告word格式(文件)

2025-04-29 22:39 上一頁面

下一頁面
 

【正文】 [6]=AAAA[6]+0x10。//將經(jīng)過修改的數(shù)組元素寫入 if(c==1) { LCD_WRITE_interrupt(LINE1+4,COM)。0x0F)9) { AAAA[5]=AAAA[5]amp。0x00。 DISP_HEX_interrupt(AAAA[5])。0xF0。 AAAA[4]=AAAA[4]+0x01。 } }//星期部分校正if(a==4){ AAAA[3]+=1。 DISP_HEX_interrupt(AAAA[3])。0xF0。//如果數(shù)組[2]元素值大于0x24,則整個數(shù)都清零 } if(c==0) WRITE_DS1307_interrupt(0x02,AAAA[2])。 if((AAAA[1]amp。//數(shù)組[1]元素的低四位大于9時,則低四位清零而高四位進1位 } if(AAAA[1]0x59) AAAA[1]=AAAA[1]amp。 DISP_HEX_interrupt(AAAA[1])。0xF0。 //如果數(shù)組[0]元素值大于0x59,則整個數(shù)都清零 if(c==0) WRITE_DS1307_interrupt(0x00,AAAA[0])。 //如果a==0,則數(shù)組[6]自動減1 if((AAAA[6]amp。//數(shù)組[6]元素的低四位大于9時,則低四位清零且改為0x09,而高四位則自動減1 } if(((AAAA[6]amp。//如果數(shù)組[6]元素高四位大于9時,則整個數(shù)值清零再改為0x99 } if(c==0) WRITE_DS1307_interrupt(0x06,AAAA[6])。 if((AAAA[5]amp。 //數(shù)組[5]元素的低四位大于9時,則低四位清零且改為0x09,而高四位則自動減1 } if(AAAA[5]==0x00) AAAA[5]=AAAA[5]+0x12。 } }//日部分校正if(a==5){ AAAA[4]=1。 AAAA[4]=AAAA[4]+0x09。 DISP_HEX_interrupt(AAAA[4])。//將經(jīng)過修改的數(shù)組元素寫入 else if(c==1) { LCD_WRITE_interrupt(LINE1+13,COM)。0x0F)9) { AAAA[2]=AAAA[2]amp。0xF0)4)9) { AAAA[2]=AAAA[2]amp。//將經(jīng)過修改的數(shù)組元素寫入 else if(c==1) { LCD_WRITE_interrupt(LINE2+2,COM)。0x0F)9) { AAAA[1]=AAAA[1]amp。0xF0)4)9) { AAAA[1]=AAAA[1]amp。//將經(jīng)過修改的數(shù)組元素寫入 else if(c==1) { LCD_WRITE_interrupt(LINE2+5,COM)。0x0F)9) { AAAA[0]=AAAA[0]amp。0xF0)4)9) { AAAA[0]=AAAA[0]amp。//將經(jīng)過修改的數(shù)組元素寫入 else if(c==1) { LCD_WRITE_interrupt(LINE2+8,COM)。 //端口C中RC3和RC4為輸入,其余為輸出 ANSELH=0b00000000。 //B口若上拉 TRISA4=1。 //允許全局中斷,B口電平變化中斷 FMQ=0。 //延時20ms LCD_WRITE_4(0b0011,COM)。 //延時100us LCD_WRITE_4(0b0011,COM)。 //LCD忙檢測 LCD_WRITE(0b00101000,COM)。 //延時2ms LCD_WRITE(0b00000110,COM)。 //在主動模式下,判斷發(fā)送是否完成 while (SSPIF==0)。}//發(fā)送數(shù)R并等待發(fā)送完成,收到從機的應答信號,中斷用void IIC_SEND_interrupt(char R) { SSPBUF=R。 //等待發(fā)送完成 while (ACKSTAT==1)。 //SDA,SCL設置為輸入! SSPCON=0b00101000。 SEN=1。 //寫RTR命令(寫) RSEN=1。 //接收使能 while (RCEN==1)。 return(R2)。}void DISP_T(char R1) //溫度在R1{ BCD(R1)。,DAT)。 //176。}//顯示日期與時間void DISP_TIME(char *b){ DELAY(10)。 //顯示年的低2位 LCD_WRITE(39。 LCD_WRITE(39。 LCD_WRITE(39。*/ //顯示星期,周日為0 LCD_WRITE(HOUR_P,COM)。,DAT)。,DAT)。 IIC_SEND(ADDRESS)。 IIC_SEND_interrupt(ADDR)。} //讀ds1307,讀出的結果在AAAA[],初始地址為start_addr,要讀的數(shù)字節(jié)數(shù)為n//當start_addr=0,n=7時為時間void READ_DS1307(char START_ADDR,char n){ char i。 //設定寄存器初始地址 STOP_BIT。 //最低位為1表示讀 for (i=0。 //讀1字節(jié) if(in1) {ACK_BIT。 r=R14。 LCD_WRITE(r+0x30,DAT)。 r=(R1amp。 LCD_RS=0。NOP()。 //讀數(shù)據(jù)的高4位給R1 LCD_E=0。 //使能 R1 |= (PORTD amp。 //讀數(shù)據(jù)結束 LCD_RW=0。 //忙檢測 R2=R1 amp。 //先寫高4位 R2=R1 amp。 //延時100us}//中斷用void LCD_WRITE_interrupt(char R1,char FLAG){ char R2。 //低4位清0 R2=R24。 //高4位清0,取低4位 LCD_WRITE_4(R2,FLAG)。 //寫模式 LCD_RS=FLAG。NOP()。NOP()。NOP()。 while(1) { R1=LCD_READ()。 }//在line行顯示整行,共16個字符,字符在數(shù)組DD中,注意顯示字符直接將字符放入DD數(shù)組//而顯示數(shù)字時則要將數(shù)值轉(zhuǎn)換成顯示的ASC碼void DISP_C(char line){char i。i++) LCD_WRITE(DD[i],DAT)。i++) { for (j=0。 //因為未尾還有結束字符 DISP_C(LINE[i])。jn。}//延時(n10)us程序void DELAY_US(char n){ char j。NOP()。jn。} 附錄2:Proteus完整仿真圖。k0。 char k。jn。k0。 char k。j++) DD[j]=*A++。 for (i=0。 //寫行命令 for (i=0。 0x80)==0x00) //最高位為忙標志位 break。= 0x0F。NOP()。NOP()。 //寄存器選擇 PORTD amp。 //延時100us}//寫R1的低4位,FLAG為寄存器選擇,1為命令,0為數(shù)據(jù)void LCD_WRITE_4(char R1,char FLAG){ LCD_RW=0。 //先寫高4位 R2=R1 amp。 R2=R1 amp。 //高4位清0,取低4位 LCD_WRITE_4(R2,FLAG)。 //低4位清0 R2=R24。 //返回數(shù)值}//寫一字節(jié)數(shù)R1,FLAG為寫命令或數(shù)據(jù)選擇,0為寫命令,1為寫數(shù)據(jù)//寫之前先檢查是否忙,寫完后延時100us,分二次寫4位數(shù)據(jù)/命令void LCD_WRITE(char R1,char FLAG){ char R2。 //讀PORTD的低4位,R1的高4位不變! LCD_E=0。 //讀數(shù)據(jù)結束 LCD_E=1。 //短延時 R1=(PORTD4) amp。NOP()。 LCD_WRITE(r+0x30,DAT)。 r=R14。 r=(R1amp。} //最后一節(jié)不應答 } STOP_BIT。i++) //共7個數(shù),從先到后分別為秒、分、時、星期、日、月、年 { RECEIVE_ENABLE_BIT。 RE_START_BIT。 IIC_SEND(ADDR)。 IIC_SEND_interrupt(da)。 STOP_BIT。 //顯示秒}//寫ds1307,地址為address,數(shù)為datavoid WRITE_DS1307(char ADDRESS,char da){ START_BIT。 //顯示分 LCD_WRITE(39。 //顯示時 LCD_WRITE(39。,DAT)。,DAT)。,DAT)。 //第一行,年顯示定位 DISP_HEX(0x20)。C39。 //顯示十位 LCD_WRITE(GW+0x30,DAT)。 //DDRAM地址,第2行的第12個字符 LCD_WRITE(39。 SW=R1/10。 //接收數(shù)據(jù)存入R1 PEN=1。 //等待重新開始條件結束 IIC_SEND((TC74_ADD1)+1)。 //檢測開始條件是否完成? IIC_SEND(TC74_ADD1)。 //使能高速模式(400 kHz) 的壓擺率控制 SSPADD=9。 NOP()。 while (RW==1)。 //等待從機發(fā)送應答信號 NOP()。 //發(fā)送 SSPIF=0。 //D(d2)=1:打開顯示,C(d1)=1:光標打開,B(d0)=1:光標閃爍 LCD_WRITE(0b00000001,COM)。 //延時100us LCD_WRITE_4(0b0010,COM)。 //延時1ms LCD_WRITE_4(0b0011,COM)。 //LCD初始化 IIC_CSH()。 //控制LCD1604,全為輸出 IOCB=0b00001111。 //選擇I/O口 OPTION=0b00000000。 } } }//初始化端口void CSH(void){ TRISB=0b11111111。 AAAA[0]=AAAA[0]+0x59。 AAAA[0]=AAAA[0]+0x09。 } }//秒部分校正if(a==1){ AAAA[0]=1。 AAAA[1]=AAAA[1]+0x59。 AAAA[1]=AAAA[1]+0x09。 } }//分部分校正if(a==2){ AAAA[1]=1。 AAAA[2]=AAAA[2]+0x23。 AAAA[2]=AAAA[2]+0x09。 } }//時部分校正if(a==3){ AAAA[2]=1。 if(AAAA[3]1) AAAA[3]=7。//如果數(shù)組[4]元素等于0時,則整個數(shù)值改為0x31 if(c==0) WRITE_DS1307_interrupt(0x04,AAAA[4])。0x0F)9) { AAAA[4]=AAAA[4]amp。//將經(jīng)過修改的數(shù)
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1