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

正文內(nèi)容

基于單片機實時鐘設計畢業(yè)設計-閱讀頁

2025-07-04 12:46本頁面
  

【正文】 /*發(fā)送器件子地址*/ if(ack==0)return(0)。 SendByte(sla+1)。 for(i=0。i++) { *s=RcvByte()。 /*發(fā)送就答位*/ s++。 Ack_I2c(1)。 /*結(jié)束總線*/ return(1)。SPI 總線系統(tǒng)是一種同步串行外設接口,該接口一般使用 4 條線:串行時鐘線(SCK) 、主機輸入/ 從機輸出數(shù)據(jù)線 MISO、主機輸出/從機輸入數(shù)據(jù)線 MOSI 和低電平有效的從機選擇線 SS(有的 SPI 接口芯片帶有中斷信號線 INT、有的 SPI 接口芯片沒有主機輸出/從機輸入數(shù)據(jù)線MOSI) 。發(fā)送數(shù)據(jù):void SPISendData(unchar uiData){unchar i。 DelayUS(50)。i8。 DelayUS(50)。 0x80)SI=1。DelayUS(50)。uiData =1。}}讀取數(shù)據(jù):unchar SPIRcvByte(){unchar i。CS=0。i9。 if(SO==1)dat = dat | 0x01。 0xFE。SCK=1。 SCK=0。 SCK=0。25}讀寄存器子程序:unchar Read(unchar addr) { unchar M。 DelayUS(50)。//向 spi 總線寫入讀命令使其進入讀狀態(tài) ,spi 的讀指令為 0x03 SPISendData(addr)。 CS=1。} 寫寄存器子程序:void Write(unchar addr, unchar numb,unchar *buf){ unchar i,M。 DelayUS(50)。//向 spi 總線寫入寫命令使其進入寫狀態(tài) ,spi 的讀指令為 0x02 SPISendData(addr)。inumb。 SPISendData(M)。 } DelayUS(50)。 }27四、系統(tǒng)調(diào)試 硬件測試電子實時鐘的電路系統(tǒng)較大,對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破導線,則會對電路造成短路現(xiàn)象。回想這些問題只要認真多思考都是可以避免的,以下為主要的問題:(1) 、LED 數(shù)碼管的斷碼錯亂,原因出于沒有認真看清 a、b 、c 等引腳信息。即可解決出現(xiàn)的斷碼或亂碼。解決:根據(jù)測試,發(fā)現(xiàn)電路的驅(qū)動能力不足,最后在 DS1302 時鐘芯片的/CS、SCLK 、 RET 端接入 的上拉電阻后,電路的驅(qū)動能力才能滿足,即可解決不亮現(xiàn)象。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。解決:對調(diào)用的延時進行逐漸修改,可以解決顯示閃動問題。(2) 、LED 數(shù)碼管顯示不正常,還有亮度不夠,首先使用萬用表對電路進行測試,觀察電路是否存在短路現(xiàn)象。再進行查看數(shù)碼管的位選段選是否正確。較好的完成了作品。相互學習、相互討論、研究。在電路焊接時雖然沒什么大問題,但從中也知道了焊接在整個作品中的重要性,電路工程量大,不能心急,一個個慢慢來不能急于求成。對電路的設計、布局要先有一個好的構思,才顯得電路板美觀、大方。在此次設計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。30六、致謝詞感謝論文評閱組和答辯組的老師們,多謝你們這段時間的辛勤工作以及對本論文的批評指導。 //ZLG7290 中斷引腳sbit ZLG7290_RST=P2^5。 //蜂鳴器sbit k1=P1^0。sbit k3=P1^2。uchar inittime[7] = {0,5,15,21,5,5,9}。 //顯示緩沖區(qū)uchar curr_buf[6] = {0,0,0,0,0,0}。 //鬧鐘時間顯示緩沖區(qū)uchar TEST[3]= {12,13,14}。 //正常時間顯示 時分秒uchar alarm_min。 //鬧鐘時分秒uchar alarm_sec。 //鬧鐘開關標志uchar key1=0,key2=0,key3=0,key4=0。 //模式轉(zhuǎn)換unsigned char display(unsigned char *sd){ disp_buf[0] = (disp_buf[0]amp。 disp_buf[1] = (disp_buf[1]amp。 disp_buf[2] = 0x31。0xf0)|(sd[1]%10)。0xf0)|(sd[1]/10)。 disp_buf[6] = (disp_buf[6]amp。 disp_buf[7] = (disp_buf[7]amp。 ZLG7290_SendBuf(disp_buf,8)。}unsigned char DelayNS(unsigned char no){ unsigned char i,j。 no0。 i100。 j100。 } return 0。 for(l=0。l++) for(k=0。k++)。35}void ZLG7290_Rest(void) //產(chǎn)生 ZLG7290 復位信號{ ZLG7290_RST=1。 ZLG7290_RST=0。 ZLG7290_RST=1。 sec_s=(sec/10)*16+sec%10。 hou_s=hou/10*16+hou%10。 //控制寫入 WP=0 允許寫入 W1302(0x80,sec_s)。 W1302(0x84,hou_s)。 /控制寫入 WP=1 禁止寫入}/*名稱: doime功能: 時間處理*/void doime(void){ uchar d。36 d=R1302(0x81)。 //秒的十位 time[0]=d%16。 //讀 分 time[3]=d/16。 //分的個位 d=R1302(0x85)。 //時的十位 time[4]=d%16。 min=(time[3])*10+time[2]。} /*名稱: donecurr功能: 時間處理*/void donecurr(void){ curr_buf[1]=sec/16。 //秒的個位 curr_buf[3]=min/16。 //分的個位 curr_buf[5]=hou/16。 //時的個位} /*名稱: donealarm功能: 時間處理*/void donealarm(void){37 alarm_buf[1]=alarm_sec/16。 //分的個位 alarm_buf[3]=alarm_min/16。 //分的個位 alarm_buf[5]=alarm_hou/16。 //時的個位} //獨立鍵盤程序void key_scan() { if(k1==0) { DelayNS(100)。 } while(!k1)。 while(!k1)。 if(k2==0) { key2=1。 DelayNS(200)。 } if(k3==0) { DelayNS(100)。 } while(!k3)。 while(!k3)。 if(k4==0) { key4=1。 DelayNS(200)。 } } //按鍵處理 void key_chuli() { key_scan()。 if(k1_d==5) k1_d=0。} if(k1_d==0) //時間顯示 { doime()。 display(curr_buf)。 if(key2==1) { sec++。 key2=0。 display(curr_buf)。 if(min59|min0)min=0。 donecurr()。 } 40 if(key4==1) { hou++。 key4=0。 display(curr_buf)。 display(alarm_buf)。 if(alarm_min59|alarm_min0)alarm_min=0。 donealarm()。 } if(key3==1) { alarm_hou++。 key3=0。 display(alarm_buf)。 key2=0。 key3=0。 for(i=0。i++) { Speaker=1。 Speaker=0。 }}void beep2(void){ unsigned char i。i4。 DelayNS(500)。 DelayNS(500)。 // 復位 ZLG7289 DelayNS(100)。 while(1) { key_chuli() 。amp。amp。 if((hou=0amp。hou=23)amp。min==0amp。sec==0 amp。alarm_flag) beep2()。ISendStr(zlg7290,SubAdd,amp。delayMS(10)。}/*函數(shù)名稱: ZLG7290_SendCmd功能描述: 發(fā)送命令*/unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2){unsigned char Data[2]。Data[1]=Data2。delayMS(10)。} /*函數(shù)名稱: ZLG7290_SendBuf功能描述: 向顯示緩沖區(qū)發(fā)送數(shù)據(jù)*/void ZLG7290_SendBuf(unsigned char * disp_buf,unsigned char num){unsigned char i。inum。disp_buf++。rece=0。rece,1)。return rece。 ACC = d。 i0。 /*相當于匯編中的 RRC */ T_CLK = 1。 ACC = ACC 1。 for(i=8。 i) { ACC = ACC 1。 T_CLK = 1。45 } return(ACC)。 T_CLK = 0。 RTInputByte(ucAddr)。 /* 寫1Byte 數(shù)據(jù)*/ T_CLK = 1。}/*函 數(shù) 名:R1302()功 能:讀取DS1302某地址的數(shù)據(jù)*/uchar R1302(uchar ucAddr){ uchar ucData。 T_CLK = 0。 RTInputByte(ucAddr)。 /* 讀1Byte 數(shù)據(jù) */ T_CLK = 1。 return(ucData)。 uchar ucAddr = 0x80。 /* 控制命令,WP=0,寫操作*/ for(i =7。 i) { W1302(ucAddr,*pClock)。 ucAddr +=2。 /* 控制命令,WP=1,寫保護*/}/*函 數(shù) 名:Get1302()功 能:設置初始時間*/void Get1302(uchar Curtime[]) { uchar i,j。 uchar sec。 i7。 /* 秒 分 時 日 月 星期 年 */ sec=Curtime[i] 。j=j*10。0x0f。47Curtime[i]=sec。 }
點擊復制文檔內(nèi)容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1