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

正文內(nèi)容

基于陀螺儀的遙控小車的設計畢業(yè)論文-資料下載頁

2024-11-29 14:31本頁面

【導讀】遙控板以STC12C5A60S2單片機為控。制核心,MMA7361模塊來采集遙控板的傾斜角度,NRF905模塊進行無線傳輸。電機驅(qū)動來帶動電機從而使四驅(qū)小車行駛。斜角度采集,具有角度測量精度高、安全、性能可靠等特點。模塊,并且通過軟件加密進行傳輸,使用起來更安全,并且抗干擾能力強。說單個驅(qū)動數(shù)量多,并且驅(qū)動能力足夠。實驗結果表明,該設計具有成本低、可靠性高、角度精度高、安裝調(diào)試方便等特征,非常適用于四驅(qū)車制造廠商,提高市場競爭力,具有較好的應用前景。

  

【正文】 ff = value。 sendsbuf[0] = valuebuff / 1000 + 39。039。 valuebuff = valuebuff % 1000。 sendsbuf[1] = valuebuff / 100 + 39。039。 valuebuff = valuebuff % 100。 sendsbuf[2] = valuebuff / 10 + 39。039。 sendsbuf[3] = valuebuff % 10 + 39。039。 sendsbuf[4] = 39。\n39。 sendsbuf[5] = 39。\039。 } /* ADC interrupt service routine */ void adc_isr() interrupt 5 using 1 { ADC_CONTR amp。= !ADC_FLAG。 //Clear ADC interrupt flag //if you want show 10bit result, unment next line // SendData(ADC_LOW2)。 //Show ADC low 2bit result ADC_Buff[ADCFlag][adum] = ADC_RES。 ADC_Buff[ADCFlag][adum] = ADC_Buff[ADCFlag][adum] 2。 ADC_Buff[ADCFlag][adum] = ADC_Buff[ADCFlag][adum] + ADC_RESL。 ADCFlag ++。 if(ADCFlag 3) { adum++。 ADCFlag = 0。 } if(adum 19) { adum = 0。 adceoc = 1。 常州大學本科生畢業(yè)設計(論文) 第 28 頁 共 47 頁 } else { ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ADCFlag。 } } /* Initial ADC sfr */ void InitADC() { P1ASF = 0x0F。 //Set all as analog input port ADC_RES = 0。 //Clear previous result ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | 0x00。 Delay2ms()。 //ADC poweron delay and Start A/D conversion IE = 0xA0。 } void Speed_CountNum(unsigned char type) { switch(type) { case 0x01: countnum = 9。 break。 case 0x02: countnum = 4。 break。 case 0x03: countnum = 1。 break。 default:break。 } } void main() { unsigned char i,j。 adum = 0。 常州大學本科生畢業(yè)設計(論文) 第 29 頁 共 47 頁 adceoc = 0。 runflag = 0。 Init_Nrf905()。 Init_Port()。 InitADC()。 StartTime0()。 Init_UART1()。 while(1) { if((mainflag amp。 0x01) == 0x01) { if(adceoc == 1) { for(j= 0。 j 4。 j++) { ADC_Data[j] = 0。 for(i = 0。 i 20 。 i++) { ADC_Data[j] = ADC_Data[j] + ADC_Buff[j][i]。 } ADC_Data[j] = ADC_Data[j] / 20。 } if(ADC_Data[2] 250) { LEDLEFT = 0。 LEDRIGHT = 1。 TxBuff[0] = 1。 TxBuff[1] = 0。 } else if(ADC_Data[2] 430) { LEDLEFT = 1。 LEDRIGHT = 0。 TxBuff[0] = 0。 TxBuff[1] = 1。 } else { 常州大學本科生畢業(yè)設計(論文) 第 30 頁 共 47 頁 TxBuff[0] = 0。 TxBuff[1] = 0。 if(ADC_Data[3] 300) { runflag = 1。 speedlevel = (300 ADC_Data[3]) / 50 + 1。 Speed_CountNum(speedlevel)。 TxBuff[2] = 1。 TxBuff[3] = 0。 TxBuff[4] = speedlevel。 } else if(ADC_Data[3] 360) { runflag = 2。 speedlevel = (ADC_Data[3] 330) / 50 + 1。 Speed_CountNum(speedlevel)。 TxBuff[2] = 0。 TxBuff[3] = 1。 TxBuff[4] = speedlevel。 } else { runflag = 0。 speedlevel = 0。 TxBuff[2] = 0。 TxBuff[3] = 0。 TxBuff[4] = speedlevel。 } LEDLEFT = 1。 LEDRIGHT = 1。 } // Int_to_Str(speedlevel)。 // Print_Str(sendsbuf)。 TxPacket()。 ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | 0x00。 } mainflag amp。= 0xFE。 } 常州大學本科生畢業(yè)設計(論文) 第 31 頁 共 47 頁 if((mainflag amp。 0x02) == 0x02) { TEST = ~TEST。 if(runflag == 1) { LEDAGO = ~LEDAGO。 LEDAFTER = 1。 } else if(runflag == 2) { LEDAFTER = ~LEDAFTER。 LEDAGO = 1。 } else { LEDAGO = 1。 LEDAFTER = 1。 } mainflag amp。= 0xFD。 } } } 定時器函數(shù) include extern unsigned char mainflag,countnum。 unsigned int time0reg。 /************************************************************** 函數(shù)功能:設置定時器 0 ***************************************************************/ void StartTime0(void) { time0reg = 65536 (unsigned int)(T50MS*(FOSC/))。 //單位 us AUXR amp。= 0x7F。 //定時器時鐘 12T 模式 TMOD amp。= 0xF0。 //設置定時器模式 TMOD |= 0x01。 //設置定時器模式 TL0 = time0reg。 //定時器 T0 的高 8 位賦初值 TH0 = time0reg 8。 //定時器 T0 的高 8 位賦初值 TF0 = 0。 //清除 TF0 標志 常州大學本科生畢業(yè)設計(論文) 第 32 頁 共 47 頁 TR0 = 1。 //定時器 0 開始計時 ET0=1。 //定時器 T0 中斷允許 EA = 1。 } /************************************************************** 函數(shù)功能:定時器 T0 的中斷服務程序,主要實現(xiàn)測量進程 **************************************************************/ void Time0(void) interrupt 1 using 0 //interrupt聲明函數(shù)為中斷服務函數(shù) //其后的 1 為定時器 T0 的中斷編號; 0 表示使用第 0 組工作寄存器 { static unsigned char count,count1。 TL0 = time0reg。 //定時器 T0 的高 8 位重新賦初值 TH0 = time0reg 8。 //定時器 T0 的高 8 位重新賦初值 if(count1 countnum) { mainflag |= 0x02。 count1 = 0。 } else { count1 ++。 } if(count 4) { mainflag |= 0x01。 count = 0。 } else { count ++。 } } 串口函數(shù) include bit Uart_busy。 /*********************************************************** 函數(shù)名稱: Ini_UART 常州大學本科生畢業(yè)設計(論文) 第 33 頁 共 47 頁 函數(shù)功能:串口初始化、定時器初始化 入口參數(shù) :無 出口參數(shù):無 ***********************************************************/ void Init_UART1(void)//串口初始化、定時器初始化 { PCON |= 0x80。 //波特率倍速 SCON = 0x50。 //8 位數(shù)據(jù) ,可變波特率 AUXR |= 0x40。 //定時器 1 時鐘為 Fosc,即 1T AUXR amp。= 0xFE。 //串口 1 選擇定時器 1 為波特率發(fā)生器 TMOD amp。= 0x0F。 //清除定時器 1 模式位 TMOD |= 0x20。 //設定定時器 1 為 8 位自動重裝方式 TL1 = 256 (char)(FOSC/+ )。 //設定定時初值 TH1 = 256 (char)(FOSC/+ )。 //設定定時器重裝值 ET1 = 0。 //禁止定時器 1 中斷 TR1 = 1。 //啟動定時器 1 TI = 0。 ES = 1。 EA = 1。 //開總中斷 Uart_busy = 0。 } /*********************************************************************** 串口發(fā)
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1