一直想DIY台小铣,主轴电机选用无刷电机,通过同步轮带无动力主轴,为了直观的显示电机的转速,准备做个电机转速控制板,板上有两个轻触按键,一个调高转速,一个调低转速,每按一次,转速按50转的步进值增加或减小,长按则连续递增或递减,显示使用黑白液晶显示屏。
项目的整体结构如图所示:
disp.jpg (106.21 KB, 下载次数: 0)
下载附件
2014-12-30 21:39 上传
成本估算:240 元
显示 25
打板 50
KL25小板+书 165
预计完成的时间: 2015/2/10
声明版权属于本人所有,作品授权发布在阿莫网站上,阿莫网站和飞思卡尔拥有资料的发布权和使用权。
主程序看起来应该 是这样的
- /**
- ******************************************************************
- * @File : main.c
- * @Purpose: Main process
- ******************************************************************
- */
- #include "includes.h" //包含总头文件
- volatile unsigned char timers[MAXTASKS];
- uint_8 Trg;
- uint_8 Cont;
- uint_8 CurrDuty = 11;
- uint_8 SpeedTable[] = { "2500","500","600","700","800","900","1000","1100","1200","1300","1400","1500","1600","1700","1800","1900","2000","2100","2200","2300","2400"};
- uint_8 DutyTable[] = {100,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96};
- /******************************************************************/
- int main(void)
- {
- // 声明主函数使用的变量
- uint_32 period=100;
- // 关总中断
- DISABLE_INTERRUPTS;
- //初始化外设模块
- light_init(RUN_LIGHT_BLUE,LIGHT_OFF); //初始化蓝灯
- systick_init(CORE_CLOCK_DIV_16, TICK); // 初始化SysTick周期为10ms,时钟源为外部时钟
- pwm_init(TPM0,TPMCH0,period,DutyTable[CurrDuty]); //初如化PWM
- //lcd_init()
- //开总中断
- ENABLE_INTERRUPTS;
- //进入主循环
- for(;;)
- {
- /* 键盘处理 */
- RunTask(key_done,Task0_ID);
- /*运行指示灯闪烁*/
- RunTask(blink,Task1_ID);
- /*显示处理*/
- //RunTask(Disp,Task2_ID);
- } //主循环end_for
- }
复制代码一周热门 更多>