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

正文內(nèi)容

基于單片機(jī)的電動(dòng)轉(zhuǎn)向助力系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-08-05 13:05 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 的值的。 這里的電壓值通過(guò)數(shù)碼管顯示出來(lái)。 最新版本加入了軟據(jù)濾波功能,軟件濾波在實(shí)際工作中的AD采集是非常重要的。***********************************************************************/includeincludesbit AD_Out = P0^1。 //TLC549輸出端sbit CS = P0^0。 //TLC549片選信號(hào)sbit AD_In = P0^2。 //TLC549輸入端sbit AD_Out1 = P2^6。 //TLC549輸出端sbit CS1 = P2^7。 //TLC549片選信號(hào)sbit AD_In1 = P2^5。 //TLC549輸入端sbit m1=P1^0。sbit m2=P1^1。define uchar unsigned char define uint unsigned int uint times=0。/********************************************************************* 名稱 : delay()* 功能 : 延時(shí),延時(shí)時(shí)間大概為140US。* 輸入 : 無(wú)* 輸出 : 無(wú)***********************************************************************/void delay(){ int i,j。 for(i=0。 i=10。 i++) for(j=0。 j=2。 j++) 。}/********************************************************************* 名稱 : Delay()* 功能 : 延時(shí),延時(shí)時(shí)間為 1ms * del* 輸入 : del* 輸出 : 無(wú)***********************************************************************/void Delay(uint del){ uchar i, j。 for(i=0。 idel。 i++) for(j=0。 j=148。 j++) 。 }/********************************************************************* 名稱 : AD_Change(void)* 功能 : * 輸入 : 無(wú)* 輸出 : temp (電壓值)***********************************************************************/uchar AD_Change(void){ uchar i,temp = 0。 AD_In = 0。 _nop_()。 _nop_()。 CS = 0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 if(AD_Out == 1) temp += 1。 for(i=0。 i8。 i++) { AD_In = 1。 _nop_()。 _nop_()。 AD_In = 0。 _nop_()。 _nop_()。 if(i != 7) { temp = temp 1。 if(AD_Out == 1) temp += 1。 }}CS = 1。 return temp。 }/************************************************************************ 名 稱: Average()* 功 能: 中位值平均濾波法,取一共二十個(gè)數(shù)據(jù),最大和最小的五個(gè)數(shù)據(jù)不要 對(duì)中間的十個(gè)數(shù)據(jù)求平均值* 輸 入: 二十個(gè)待處理的值* 輸 出:得到一個(gè)中位的平均值***********************************************************************/uint Average(uint buffer[20]){ uchar i,j。 uint temp。 for(i=1。 i20。 i++) ////先對(duì)整個(gè)數(shù)組的二十個(gè)值進(jìn)行從小到大的排列 for(j=19。 j=i。 j) { if(buffer[j1] buffer[j]) { temp = buffer[j1]。 buffer[j1] = buffer[j]。 buffer[j] = temp。 } }////對(duì)數(shù)組進(jìn)行處理,去掉一個(gè)最大值和一個(gè)最小值,中間的十個(gè)值再來(lái)求平均值 temp = 0。 for(i=5。 i15。 i++) { temp += buffer[i]。} temp = (uint)(((float)temp) / 10 + )。 return(temp)。}/************************************************************************ 名 稱: AD_Filter()* 功 能: 進(jìn)行AD采集20次,并進(jìn)行濾波處理* 輸 入: 二十次AD采集值* 輸 出:經(jīng)過(guò)處理后的AD值***********************************************************************/uint AD_Filter(){ uint Date_Buffer[20] = {0}, temp。 uchar i。 for(i=0。 i20。 i++) { Date_Buffer[i] = AD_Change()。 Delay(1)。 //延時(shí)1毫秒采集一次。這里可以根據(jù)工作需要調(diào)整時(shí)間。 } temp = Average(Date_Buffer)。 return(temp)。}/********************************************************************* 名稱 : AD_Change(void)* 功能 : * 輸入 : 無(wú)* 輸出 : temp (電壓值)***********************************************************************/uchar AD_Change1(void){ uchar i,temp = 0。 AD_In1 = 0。 _nop_()。 _nop_()。 CS1 = 0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 if(AD_Out1 == 1) temp += 1。 for(i=0。 i8。 i++) { AD_In1 = 1。 _nop_()。 _nop_()。 AD_In1 = 0。 _nop_()。 _nop_()。 if(i != 7) { temp = temp 1。 if(AD_Out1 == 1) temp += 1。 }}CS1 = 1。return temp。 }/************************************************************************ 名 稱: Average()* 功 能: 中位值平均濾波法,取一共二十個(gè)數(shù)據(jù),最大和最小的五個(gè)數(shù)據(jù)不要 對(duì)中間的十個(gè)數(shù)據(jù)求平均值* 輸 入: 二十個(gè)待處理的值* 輸 出:得到一個(gè)中位的平均值***********************************************************************/uint Average1(uint buffer[20]){ uchar i,j。 uint temp。 for(i=1。 i20。 i++) ////先對(duì)整個(gè)數(shù)組的二十個(gè)值進(jìn)行從小到大的排列 for(j=19。 j=i。 j) { if(buffer[j1] buffer[j]) { temp = buffer[j1]。 buffer[j1] = buffer[j]。 buffer[j] = temp。 } } ////對(duì)數(shù)組進(jìn)行處理,去掉一個(gè)最大值和一個(gè)最小值,中間的十個(gè)值再來(lái)求平均值 temp = 0。 for(i=5。 i15。 i++) { temp += buffer[i]。 } temp = (uint)(((float)temp) / 10 + )。 return(temp)。}/************************************************************************ 名 稱: AD_Filter()* 功 能: 進(jìn)行AD采集20次,并進(jìn)行濾波處理* 輸 入: 二十次AD采集值* 輸 出:經(jīng)過(guò)處理后的AD值***********************************************************************/uint AD_Filter1(){ uint Date_Buffer[20] = {0}, temp。 uchar i。 for(i=0。 i20。 i++) { Date_Buffer[i] = AD_Change1()。 Delay(1)。 //延時(shí)1毫秒采集一次。這里可以根據(jù)工作需要調(diào)整時(shí)間。 } temp = Average(Date_Buffer)。 return(temp)。}void delay_ms(uchar t) //延時(shí)函數(shù),大概為t為1,則延時(shí)5到6ms{ uint i。 for( 。t0。t) for(i=0。i48。i++)。}void main(void) { uint a=30,temp=0,temp1=0。 uchar t=0,n=1。 m1=1。 m2=1。while(1) { temp = AD_Change()。 temp1 = AD_Change1()。 if(((temp115)amp。amp。(temp100))||((temp145)amp。amp。(temp160))) { n=1。 } if(((temp100)amp。amp。(temp75))||((temp160)amp。amp。(temp185))) { n=4。 } if(((temp75)amp。amp。(temp50))||((temp185)amp。amp。(temp210))) { n=7。 } if(((temp50)amp。amp。(temp25))||((temp210)amp。amp。(temp235))) { n=10。 } if(((temp25)amp。amp。(temp0))||((temp235)amp。amp。(temp255))) { n=15。 } if(temp115) { m1=1。 m2=0。 delay_ms((temp1*n/50))。 m1=0。 m2=0。 delay_ms(50)。 } if(temp145) { m1=0。 m2=1。 delay_ms((temp1*n/50))。 m1=0。 m2=0。 delay_ms(50)。 }// delay_ms(200)。} } 附錄BHistoryThe earliest known patent related to power steering was that by Frederick W. Lanchester in the UK,in February 1902. His invention was to cause the steering mechanism to be actuated by hydraulic power. The next design was filed as recorded by the US Patent Office on August 30, 1932, by Klara Gailis, from Belmont, Massachusetts. There is another inventor credited with the invention of power steering by the name of Charles F. Hammond an American, born in Detroit, who fil
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1