久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
k60直立車源程序 省賽保底程序
[打印本頁(yè)]
作者:
xxooxx
時(shí)間:
2018-4-28 19:40
標(biāo)題:
k60直立車源程序 省賽保底程序
k60直立
0.jpg
(41.34 KB, 下載次數(shù): 56)
下載附件
2018-4-28 23:30 上傳
單片機(jī)源程序如下:
/*************************************************
第九屆電磁組ARM底層 by
**************************************************/
#include "All_Headers.h"
/****************************************************************
功能:電機(jī)PWM初始化
形參:void
返回值:void
*****************************************************************/
void Motor_Init(void)//用FTM0
{
GPIO_SetPinMod(PORTD,4,4);//PORTD,4,6,特殊功能號(hào)4對(duì)應(yīng)FTM0的CH4與CH6 PWM輸出功能
GPIO_SetPinMod(PORTD,6,4);
GPIO_SetPinMod(PORTC,1,4);//PORTC,1,3,特殊功能號(hào)4對(duì)應(yīng)FTM0的CH4與CH6 PWM輸出功能
GPIO_SetPinMod(PORTC,3,4);
SIM_SCGC6 |= SIM_SCGC6_FTM0_MASK;//開(kāi)啟對(duì)應(yīng)FTM模塊時(shí)鐘門(mén)
FTM0_MODE |= FTM_MODE_WPDIS_MASK;//關(guān)閉寫(xiě)保護(hù)
FTM0_C4SC |= FTM_CnSC_MSB_MASK + FTM_CnSC_ELSB_MASK;//邊沿PWM,起始高電平
FTM0_C6SC |= FTM_CnSC_MSB_MASK + FTM_CnSC_ELSB_MASK;//邊沿PWM,起始高電平
FTM0_SC &= ~FTM_SC_TOIE_MASK;//關(guān)閉溢出中斷
FTM0_SC |= FTM_SC_CLKS(1) + FTM_SC_PS(2);//選擇50MHZ總線時(shí)鐘 且4分頻 即FTM0計(jì)數(shù)頻率 為 12.5MHZ(f_ftm = f_busclk / prescaler)
FTM0_OUTMASK = 0xAF;//打開(kāi)對(duì)應(yīng)PWM輸出通道CH0與CH2
FTM0_CNTIN = 0;//FTMCNT的初始值寄存器,設(shè)置為0
FTM0_MOD = 750;//FTMCNT的終了值寄存器,這里即周期數(shù)寄存器,這里折合成16.6KHZ 60us周期(f_motor = f_ftm / (FTMMOD - FTMCNTIN))
FTM0_C1V = 0;//FTMCNT的輸出比較值寄存器,這里即占空比寄存器,初始化為0,即空PWM輸出 !!!C0V與C1V分別控制正反轉(zhuǎn),絕對(duì)不允許同時(shí)輸出PWM
FTM0_C3V = 0;//FTMCNT的輸出比較值寄存器,這里即占空比寄存器,初始化為0,即空PWM輸出
FTM0_MODE &= ~FTM_MODE_FTMEN_MASK;//啟動(dòng)FTM0
FTM0_CNT = 0;//初始化FTM0計(jì)數(shù)器
FTM_enablePWMCh(FTM0, 0, 0, 750, 0);//電機(jī)L1
FTM_enablePWMCh(FTM0, 2, 0, 750, 0);//電機(jī)R1
FTM_enablePWMCh(FTM0, 4, 0, 750, 0);//電機(jī)R2
FTM_enablePWMCh(FTM0, 6, 0, 750, 0);//電機(jī)L2
}
/*******************************************************************************
* 函數(shù)名稱: QUAD_Init
* 描 述:設(shè)置正交解碼模塊
*******************************************************************************/
void QUAD_Init(void)
{
GPIO_SetPinMod(PORTA, 12, 7); // 配置相應(yīng)引腳的功能號(hào),FTM1_QD_PHA
GPIO_SetPinMod(PORTA, 13, 7); // 配置相應(yīng)引腳的功能號(hào),FTM1_QD_PHB
GPIO_SetPinMod(PORTB, 18, 6); // 配置相應(yīng)引腳的功能號(hào),FTM2_QD_PHA
GPIO_SetPinMod(PORTB, 19, 6); // 配置相應(yīng)引腳的功能號(hào),FTM2_QD_PHB
FTM_initQUAD(FTM1, 0, 0, 65535); // 配置正交解碼模塊參數(shù)
FTM_initQUAD(FTM2, 0, 0, 65535);
FTM_enableQUAD(FTM1); // 使能正交解碼
FTM_enableQUAD(FTM2);
}
/****************************************************************
功能:ADC初始化
形參:void
返回值:void
*****************************************************************/
void ADC_Init(void)
{
GPIO_SetPinMod(PORTE,18,0);//PORTE,0,1,2,3特殊功能號(hào)0對(duì)應(yīng)AD采集功能
GPIO_SetPinMod(PORTE,19,0);
GPIO_SetPinMod(PORTE,24,0);
GPIO_SetPinMod(PORTE,25,0);
SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;//ADC0時(shí)鐘門(mén)開(kāi)啟
ADC0_CFG1 |= ADC_CFG1_ADIV(2) + ADC_CFG1_MODE(2)+ ADC_CFG1_ADICLK(0); //ADC時(shí)鐘2分頻f_adcclk = f_bus / 2 = 25Mhz,單端輸入,十位精度
ADC0_CFG2 &= ~(ADC_CFG2_MUXSEL_MASK);//選中A組
ADC0_SC3 |= ADC_SC3_AVGE_MASK + ADC_SC3_AVGS(2);//16次采樣硬件求平均
ADC0_SC1A &= ~(ADC_SC1_AIEN_MASK);//中斷使能關(guān)閉
ADC0_SC1A &= ~(ADC_SC1_DIFF_MASK);//采用單端采樣方式
ADC_CFG2_REG(ADC0) &= ~ADC_CFG2_MUXSEL_MASK;
}
/****************************************************************
功能:PIT初始化
形參:void
返回值:void
*****************************************************************/
void PIT_Init(void)
{
SIM_SCGC6 |= SIM_SCGC6_PIT_MASK;//開(kāi)啟PIT時(shí)鐘門(mén) ,PIT時(shí)鐘源為BUSCLK,50MHZ
PIT_TCTRL0 &= ~PIT_TCTRL_TEN_MASK;//先關(guān)閉時(shí)鐘
PIT_MCR &= ~(PIT_MCR_MDIS_MASK);//打開(kāi)PIT
PIT_LDVAL0 = 50000;//PIT計(jì)數(shù)器裝載值寄存器,這里即1ms間隔中斷,f_pit_interrupt = f_pitclk / ldval
PIT_TCTRL0 |= PIT_TCTRL_TIE_MASK ;//打開(kāi)PIT溢出中斷
EnableInt_Kinetis(68);//開(kāi)啟對(duì)應(yīng)的中斷
SetIntPri_Kinetis(68,0);//置中斷優(yōu)先級(jí)0
PIT_TCTRL0 |= PIT_TCTRL_TEN_MASK;//打開(kāi)PIT時(shí)鐘
}
/****************************************************************
功能:撥碼盤(pán)初始化
形參:void
返回值:void
*****************************************************************/
void Dial_Init(void)
{
GPIO_SetPinMod(PORTC, 14, 1);//撥碼左1
GPIO_SetPinMod(PORTC, 15, 1);//撥碼左2
GPIO_SetPinMod(PORTC, 16, 1);//撥碼右2
GPIO_SetPinMod(PORTC, 17, 1);//撥碼右1
GPIO_SetPinDir(PORTC, 14, 0);
GPIO_SetPinDir(PORTC, 15, 0);
GPIO_SetPinDir(PORTC, 16, 0);
GPIO_SetPinDir(PORTC, 17, 0);
}
/****************************************************************
功能:管腳初始化
形參:void
返回值:void
*****************************************************************/
void GPIO_Port_Init(void)
{
//配置為GPIO功能的示例
SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK;//打開(kāi)GPIO對(duì)應(yīng)時(shí)鐘門(mén),各模塊時(shí)鐘門(mén)沖突不用考慮,其他時(shí)鐘門(mén)優(yōu)先于GPIO時(shí)鐘門(mén)
PORTD_PCR0 |= PORT_PCR_MUX(1);
}
/****************************************************************
功能:系統(tǒng)初始化
形參:void
返回值:void
*****************************************************************/
void System_Init(void)
{
GPIO_Port_Init();
I2C_Driver_Init();
L3G4200D_Driver_Init();
MMA7455_Driver_Init();
Motor_Init();
QUAD_Init();
ADC_Init();
PIT_Init();
Dial_Init();
}
/**********************************************************************************
功能: AD讀通道,存入目標(biāo)地址
形參:adc ADC模塊,如ADC0,ADC1;channel ADC通道;result 返回值指針
返回值:void
**********************************************************************************/
void ADC_ReadChannel(ADC_MemMapPtr adc,int8u_t channel, int16u_t * result)
{
int32u_t readReg = 0;
readReg = ADC_SC1_REG(adc,0);
readReg &= ~ADC_SC1_ADCH_MASK;
readReg |= ADC_SC1_ADCH(channel);
ADC_SC1_REG(adc,0) = readReg;//設(shè)置ADC采樣通道
while(!(ADC_SC1_REG(adc,0)&ADC_SC1_COCO_MASK));//等待ADC轉(zhuǎn)換結(jié)束
*result = ADC_R_REG(adc,0);//讀取ADC結(jié)果寄存器
}
/*************************************主函數(shù)***********************************/
void main(void)
{
System_Init();//系統(tǒng)初始化
EnableInterrupts();//開(kāi)總中斷
//GPIO_SetPinMod(PORTB,2,1);//PORTB,2,3特殊功能號(hào)2對(duì)應(yīng)I2C功能
//GPIO_SetPinMod(PORTB,3,1);
//GPIO_SetPinDir(PORTB,2,1);
//GPIO_SetPinDir(PORTB,3,1);
while (1)
{
Zeroth_bit = GPIO_get(PORTC, 17);//讀取撥碼盤(pán)狀態(tài)
First_bit = GPIO_get(PORTC, 16);
Second_bit = GPIO_get(PORTC, 15);
Third_bit = GPIO_get(PORTC, 14);
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
10屆省賽直立電磁程序-K10.zip
(6.09 MB, 下載次數(shù): 112)
2018-4-28 19:40 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
awdrgzscfb0
時(shí)間:
2018-5-6 16:24
666感謝樓主分享
作者:
awdrgzscfb000
時(shí)間:
2018-5-21 17:43
感謝分享 好東西!!!
作者:
z7534163
時(shí)間:
2018-10-13 10:56
新手,學(xué)習(xí)學(xué)習(xí)啊~~~~~~~~~~~··
作者:
qq646926493
時(shí)間:
2019-1-1 18:19
謝謝樓主分享~
作者:
蘋(píng)果謝謝
時(shí)間:
2019-3-3 08:28
好東西,謝謝分享
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久国产小视频
|
黄色综合
|
五月婷综合
|
国产农村妇女精品一二区
|
九九在线免费视频
|
av超碰在线
|
国产精品嫩草影院桃色
|
日本www色
|
国产欧美日韩在线观看
|
日本中文字幕在线播放
|
免费一级黄色片
|
日本黄色a级片
|
久久久久久网
|
国产美女视频
|
国产精品一区二区三区四区五区
|
激情网站在线观看
|
成人激情av
|
欧美综合在线观看
|
伊人精品在线
|
天天干天天操天天
|
亚洲精品福利
|
中文字幕在线日韩
|
五月天婷婷网站
|
美女操操操
|
欧美a一级
|
午夜看看
|
国产精品欧美日韩
|
日韩一区二区三
|
国产高清免费视频
|
亚洲天天干
|
成人在线视频播放
|
懂色av
|
国产精品免费av
|
亚洲精品大片
|
日韩在线小视频
|
福利一区福利二区
|
午夜精品久久久久久久久久蜜桃
|
日韩精品片
|
在线一区视频
|
久久精品av
|
成年人免费在线观看
|