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

正文內容

基于can總線技術的汽車車燈電動車窗雨刮的控制系統(tǒng)-資料下載頁

2025-06-24 18:57本頁面
  

【正文】 斷0高優(yōu)先級 IT0 = 1。 //下降沿觸發(fā) EX0 = 1。 //允許外部中斷 EA = 1。 //允許總中斷}/*CAN發(fā)送函數*/void Can_Sja_Send(){ unsigned char sr,i 。 EA = 0 。 //發(fā)送期間不接受新的請求 do { sr = *(SJA_CS_Point+REG_CAN_SR)。 //讀狀態(tài)寄存器 }while((sramp。0x0c)!= 0x0c)。 //等待接收完、上一次發(fā)送完 、緩沖器開鎖 for(i=0。i5。i++) { *(SJA_CS_Point+16+i)=Send_CAN_Data[i]。 //寫標識碼,第16個地址為幀頭標識碼開始地址 } for(i=0。i8。i++) { *(SJA_CS_Point+21+i)=Send_CAN_Data[i]。 //寫數據,第21個地址為發(fā)送緩沖開始地址 } *(SJA_CS_Point+REG_CAN_CMR) = 0x01。 //使能發(fā)送請求 EA = 1。 //發(fā)送完可以接收新的請求}/*中斷CAN接收函數*/void Receive_Int1() interrupt 2 //接收中斷采用外部中斷1{ unsigned char ir,i。 EA = 0。 //接收期間關中斷 do { ir = *(SJA_CS_Point+REG_CAN_IR)。 //讀中斷寄存器 }while((iramp。0x01)!=0x01)。 for(i=0。i5。i++) { Rec_CAN_Data[i] = *(SJA_CS_Point+16+i)。 //接收標識碼 } for(i=0。i8。i++) { Rec_CAN_Data[i] = *(SJA_CS_Point+21+i)。 //接收數據 } *(SJA_CS_Point+REG_CAN_CMR) = 0x04。 //釋放接收緩沖區(qū) *(SJA_CS_Point+REG_CAN_IR) = *(SJA_CS_Point+REG_CAN_ALC)。 //釋放仲裁隨時捕捉寄存器,讀出即可清除 *(SJA_CS_Point+REG_CAN_IR) = *(SJA_CS_Point+REG_CAN_ECC)。 //釋放錯誤代碼捕捉寄存器,讀出即可清除 *(SJA_CS_Point+REG_CAN_IER) = 0X01。 //接收中斷使能 EA = 1。 //恢復中斷}/*雨刮停止工作函數*/void Stop(){ MC_front = 1。 MC_front = 0。}/*雨刮間歇工作函數*/void Jianxie(){ while(!KEY_Jianxie) { MC_choose = 0。 //低速運轉 MC_front = 0。 //正轉200ms MC_back = 0。 Delayms(200)。 MC_front = 0。 //反轉 MC_back = 0。 Delayms(100)。 //100ms后機械歸位 MC_front = 1。 //停止1000ms MC_back = 0。 Delayms(1000)。 } }/*雨刮高速工作函數*/void High(){ while(!KEY_High) { MC_choose = 1。 //高速運轉 MC_front = 0。 //正轉100ms MC_back = 0。 Delayms(100)。 MC_front = 0。 //反轉100ms MC_back = 0。 Delayms(100)。 }}/*雨刮低速工作函數*/void Low(){ while(!KEY_High) { MC_choose = 0。 //低速運轉 MC_front = 0。 //正轉200ms MC_back = 0。 Delayms(200)。 MC_front = 0。 //反轉200ms MC_back = 0。 Delayms(200)。 }}/*雨刮點動工作函數*/void Diandong(){ MC_choose = 0。 //低速運轉 MC_front = 0。 //正轉200ms MC_back = 0。 Delayms(200)。 MC_front = 0。 //反轉100ms后機械歸位 MC_back = 0。 Delayms(100)。 Stop()。 //停止}/*雨刮自動工作函數*/void Zidong(){ TMOD = 0X62 。 //定時器0模式2,計數器1模式2 TH0 = 0XF4 。 //定時器0定時76Khz(產生38khz脈沖信號) TL0 = 0XF4 。 TH1 = 0xE8 。 //計數頻率為38Khz TL1 = 0XE8 。 ET0 =1。 //開定時器0中斷 TR0 =1。 //啟動定時器0 while(!KEY_Zidong) { if(flag_zidong == 0) {Stop()。} else if (flag_zidong ==1) {Low()。} else if(flag_zidong == 2) {High()。} Delayms(1000)。 //每隔1S執(zhí)行一次 } TR0 = 0。 TR1 = 0。 }/*定時器0中斷函數*/void T0_time() interrupt 1{ StartRain= !StartRain 。 //38k hz脈沖信號啟動雨量檢測 num++。 }/*計數器1中斷函數*//***************************************檢測到38k個脈沖時進入中斷,在此期間:**無雨時,num小于80000**小雨時,num介于兩者**大雨時,num大于152000**************************************/void T1_time() interrupt 3{ if(num 80000) //無雨 {flag_zidong = 0。} else if(num 152000) //小雨 {flag_zidong = 1。} else {flag_zidong = 2。} //大雨 num = 0。 }/*數據準備函數*/void Data() { unsigned char senddata,i。 senddata = (P1amp。0xfc)。 //取控制位的信息。0xfc= 1111 1100 for(i=0。i8。i++) { Send_CAN_Data[i] = senddata。}}/*主函數*/void main(){ Init_Cpu()。 Can_Sja_Init()。 while(1) { if(!KEY_Stop) { Stop()。 //停止 } else if (!KEY_Zidong) { Zidong()。 //自動 } else if (!KEY_Jianxie) { Jianxie()。 //間歇 } else if (!KEY_High) { High()。 //高速 } else if (!KEY_Low) { Low()。 //低速 } else if (!KEY_Diandong) { Diandong()。 //點動 } Data()。 //準備數據 Can_Sja_Send()。 //發(fā)送數據 } }結語學習是一個漫長的過程,除了51單片機之外很多芯片我們都沒接觸過,每天就是在那里摸索,上網找資料,寫程序,仿真調試。得不到預期的結果又不知道是哪里出問題了!在這個過程中要耐得住寂寞,堅守自己的信念,盡管是費枕忘食,決戰(zhàn)凌晨,但我都從未放棄,堅持到底。好在天道酬勤,一個個的難關被我攻破。在這兩周里我都倍受煎熬,但無論計劃的安排,問題的處理,還是在個人思想的長進,自學能力的提高,都有一個全新的飛躍!課程設計即將結束,但是我們對汽車電子設計的愛好卻不會停止,我們依舊會邁著堅定的步伐,繼續(xù)追尋我們的夢想。
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1