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

正文內(nèi)容

光電平衡小車設(shè)計_單片機課程設(shè)計-資料下載頁

2025-08-22 20:03本頁面

【導讀】智能車是在車模結(jié)構(gòu)的框架上,搭上硬件結(jié)構(gòu),通過MC9S12XS128單片機的處理能力,比四輪著地狀態(tài),車??刂迫蝿?wù)更為復雜。為了能夠方便找到解決問題的辦法,首先將復雜的問題分解成簡單的問題進行討論。為了分析方便,根據(jù)比賽規(guī)則,

  

【正文】 換 入口參數(shù) : unsigned char result 出口參數(shù) : unsigned char result 啟動單次裝換 本科生單片機課程設(shè)計報告 37 ******************************************************/ unsigned char ATD_uchar_convert(void) { while(!ATD0STAT2L_CCF0)。 //等待轉(zhuǎn)換結(jié)束 return (ATD0DR0)。 //返回轉(zhuǎn)換結(jié)果 } /*********************************************************** 函數(shù)功能 :在系統(tǒng)頻率為 64MHz 下 ,延時約 1us 入口參數(shù) :無 出口參數(shù) :無 ************************************************************/ void delay_1us(void) { int j。 for(j=0。j6。j++) _asm(nop)。 } /****************************************************** 函數(shù)功能 :數(shù)碼管顯示 入口參數(shù) :數(shù)值 出口參數(shù) :無 ******************************************************/ void Disp(unsigned char i) { unsigned char ShuMa[]={0x3f,0x06,0x5b,0x4F,0x66,0x6d,0x7d,0x07, 0x7F,0x6f}。 //數(shù)碼管的表 PTM = ShuMa[i]。 if(ShuMa[i] amp。 0x40) PTJ_PTJ6 =1。 else PTJ_PTJ6 =0。 } //*********中斷代碼執(zhí)行選擇標志 unsigned char state_flag=0。 unsigned char uchr_ad_data[133]。 //采樣數(shù)據(jù)保存的數(shù)組 unsigned char uchr_ad_data2[133]。 float angleZero。 //靜態(tài)采集點 int icount。 //計數(shù)器 本科生單片機課程設(shè)計報告 38 unsigned char Sendflag。 //CCD 數(shù)據(jù)采集完成發(fā)送標志 unsigned char Sendflag2。 extern int DirControlPeriod。 extern unsigned char runflag。 unsigned char PWMflag =0。 //停車保護標志 //****************硬件初始化部分 void hardinit(void) //ok { SystemCLK_64M()。 //時鐘初始化 ok SCI0_init()。 //SCI0 初始化 ok ATD_init()。 // 改變了采樣頻率 PWM_init()。 //電機驅(qū)動初始化 2KHz Time_init_CCD()。 //CCD初始化 IC0 上升沿撲捉 ,IC1 下降沿撲捉 ok PAC_Init()。 //PAC 初始化 PIT_Init()。 //1ms 中斷初始化 ok uchr_ad_data[0] = 0xff。 //發(fā)送數(shù)據(jù)起始標志位 uchr_ad_data2[0] = 0xff。 } //******************速度參數(shù)宏定義 ********************* define CAR_SPEED_CONSTANT //此系數(shù)擴大了 100 倍 //單位轉(zhuǎn)換比例值 Motorspeed =MotorPulse/(N*100ms) (N 為小車轉(zhuǎn)一圈的脈沖輸出 N=781) define SPEED_CONTROL_PERIOD 20 //將速度控制周期分成 20 份 ,即 100/5=20 define SPEED_CONTROL_P //速度控制中的比例控制 ,用于反饋比例反饋速度差信號 define SPEED_CONTROL_D 53 //速度控制中用于避免震動 微分控制 define Speed_Motor_Max 100 define Speed_Motor_Min 100 define Leftcounter_S0 PORTE_PE2 //計數(shù)器芯片端口定義 ok() define Leftcounter_S1 PORTE_PE3 define Rightcounter_S0 PORTE_PE5 define Rightcounter_S1 PORTE_PE6 //float SPEED_CONTROL_P =。 //速度控制中的比例控制 ,用于反饋比例反饋速度差信號 //float SPEED_CONTROL_D =53。 char g_chrleftPulse = 0。 //得到脈沖數(shù) char g_chrRightPulse = 0。 int g_chrleftPulsesum = 0。 int g_chrRightPulsesum = 0。 float g_inCarSpeed=0。 //測定速度 float CAR_SPEED_SET = 0。 //設(shè)定速度 float g_inSpeedIntegral=0。 //比例積分項 本科生單片機課程設(shè)計報告 39 float g_inSpeedOutNew=0。 //根據(jù)最新得到的速度計算的速度控制量 float g_inSpeedOutOld=0。 //上次的速度控制量 float g_inSpeedperiod=0。 //控制次數(shù)計數(shù) float g_inSpeedOut。 /*************************************************************** ok____5 月 4 日 函數(shù)功能 :獲取電機脈沖數(shù) 入口參數(shù) :無 讀取計數(shù)器的值 出口參數(shù) :無 g_inMotorPulse 正反計數(shù)脈沖總數(shù)小于 128 說明 : ********************************************************************/ void GetMotorPulse(void) //1ms { g_chrleftPulse = (char)PORTA。 //左電機計數(shù)從 PORTA g_chrleftPulse = g_chrleftPulse。 Leftcounter_S0=0。 Leftcounter_S1=0。 //左計數(shù)器清零 g_chrRightPulse = (char)PORTB。 //右電 機計數(shù)從 PORTB Rightcounter_S0=0。 Rightcounter_S1=0。 //右計數(shù)器清零 Leftcounter_S0=1。 Leftcounter_S1=1。 //左計數(shù)器使能 Rightcounter_S0=1。 Rightcounter_S1=1。 //右計數(shù)器使能 g_chrleftPulsesum = g_chrleftPulsesum + (int)g_chrleftPulse。 g_chrRightPulsesum= g_chrRightPulsesum + (int)g_chrRightPulse。 //ok } //end of GetMotorPulse /****************************************************************** 函數(shù)功能 :通過全局變量 g_inMotorPulse 得到電機脈沖數(shù) 入口參數(shù) :無 全局變量 g_inMotorPulse 出口參數(shù) :無 全局變量 g_inSpeedControlOutNew ,g_inSpeedControlOutOld *******************************************************************/ void SpeedControlUpdate(void) //(ok) 100ms { float inDelta。 //速度差 float P, D。 本科生單片機課程設(shè)計報告 40 g_inCarSpeed = (g_chrleftPulsesum + g_chrRightPulsesum)/2。 g_chrleftPulsesum=0。 g_chrRightPulsesum=0。 //g_inCarSpeed = g_inCarSpeed * CAR_SPEED_CONSTANT。 // g_inCarSpeed 擴大了 10 倍 //if(icount 4000) //速度設(shè)定 //{ if(CAR_SPEED_SET =300) CAR_SPEED_SET = CAR_SPEED_SET + 10。 // 加速,加速 //} inDelta = (CAR_SPEED_SET g_inCarSpeed)。 //計算給定速度與測量值的偏差 D =(inDelta * SPEED_CONTROL_D)。 //偏差值乘以比例參數(shù) P =(inDelta * SPEED_CONTROL_P)。 //偏差值乘以微分參數(shù)來穩(wěn)定輸出 g_inSpeedIntegral =(P + g_inSpeedIntegral)。 //積分環(huán)節(jié) 比例控制 if(g_inSpeedIntegral =Speed_Motor_Max) //積分限幅 g_inSpeedIntegral = Speed_Motor_Max。 if(g_inSpeedIntegral =Speed_Motor_Min) g_inSpeedIntegral = Speed_Motor_Min。 g_inSpeedOutOld = g_inSpeedOutNew。 //保存上一次速度控制量 g_inSpeedOutNew = ( D + g_inSpeedIntegral)。 //測量值每 100ms 更新一次 } /*************************************************************************** 函數(shù)功能 :將每次更新的控制量按比例輸出控制 每 5ms 調(diào)用一次 速度差最大時 ,取控制量的 1/20,然后依次增加 11/20,2/20,3/20...20/20 入口參數(shù) :無 全局變量 g_inSpeedControlOutOld, g_inSpeedControlOutNew 出口參數(shù) :無 全局變量 g_inSpeedControlOut速度控制的 PWM 輸出 ****************************************************************************/ vo
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1