holts2的KL25开源项目进行中 --- 电机转速显示控制板

2020-02-19 20:52发布



一直想DIY台小铣,主轴电机选用无刷电机,通过同步轮带无动力主轴,为了直观的显示电机的转速,准备做个电机转速控制板,板上有两个轻触按键,一个调高转速,一个调低转速,每按一次,转速按50转的步进值增加或减小,长按则连续递增或递减,显示使用黑白液晶显示屏。

项目的整体结构如图所示:


disp.jpg (106.21 KB, 下载次数: 0) 下载附件 2014-12-30 21:39 上传


成本估算:240 元

显示 25
打板 50
KL25小板+书  165


预计完成的时间: 2015/2/10


声明版权属于本人所有,作品授权发布在阿莫网站上,阿莫网站和飞思卡尔拥有资料的发布权和使用权。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
93条回答
holts2
2020-02-25 21:30

主程序看起来应该 是这样的



  1. /**
  2.   ******************************************************************
  3.   * @File :    main.c
  4.   * @Purpose:  Main process
  5.   ******************************************************************
  6.   */
  7. #include "includes.h"   //包含总头文件

  8. volatile unsigned char timers[MAXTASKS];

  9. uint_8 Trg;
  10. uint_8 Cont;

  11. uint_8 CurrDuty = 11;

  12. uint_8 SpeedTable[] = { "2500","500","600","700","800","900","1000","1100","1200","1300","1400","1500","1600","1700","1800","1900","2000","2100","2200","2300","2400"};

  13. uint_8  DutyTable[] = {100,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96};

  14. /******************************************************************/
  15. int main(void)
  16. {
  17.         // 声明主函数使用的变量
  18.         uint_32  period=100;
  19.         // 关总中断
  20.         DISABLE_INTERRUPTS;
  21.         //初始化外设模块
  22.         light_init(RUN_LIGHT_BLUE,LIGHT_OFF);     //初始化蓝灯
  23.         systick_init(CORE_CLOCK_DIV_16, TICK);    // 初始化SysTick周期为10ms,时钟源为外部时钟
  24.         pwm_init(TPM0,TPMCH0,period,DutyTable[CurrDuty]);  //初如化PWM
  25.         //lcd_init()

  26.         //开总中断
  27.         ENABLE_INTERRUPTS;

  28.         //进入主循环
  29.         for(;;)
  30.         {

  31.             /* 键盘处理 */
  32.             RunTask(key_done,Task0_ID);

  33.             /*运行指示灯闪烁*/
  34.             RunTask(blink,Task1_ID);

  35.             /*显示处理*/
  36.             //RunTask(Disp,Task2_ID);

  37.         }  //主循环end_for
  38. }


复制代码

一周热门 更多>