查看: 4172|回复: 9

[原创] 基于LPC824breakout的参数设置与脉冲模拟

[复制链接]
  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
    发表于 2016-11-1 12:23:42 | 显示全部楼层 |阅读模式
    在激光标线器的设计中,涉及指令的设置与脉冲的输出。为此需要对LPC824breakout进行适当的扩展,如按键等,图1是使用原单片机开发板所制作的效果。
    由于先前已解决了OLED屏的显示问题,可参见如下网页的介绍:https://www.nxpic.org.cn/module/forum/thread-606762-1-1.html
    这里主要介绍一下参数设置和脉冲模拟的实现方法。
    图片1.png
        图1 扩展键入功能
        根据单片机开发板的线路连接,K4是与P0.23相连,K3是与P0.24相连,K2是与P0.25相连,K1是与P0.26相连。为此,将相关引脚的定义为:
        GPIOSetDir(LPC_GPIO_PORT->PIN0, 23, 0);//K4
        GPIOSetDir(LPC_GPIO_PORT->PIN0, 24, 0);//K3
        GPIOSetDir(LPC_GPIO_PORT->PIN0, 25, 0);//K2
    GPIOSetDir(LPC_GPIO_PORT->PIN0, 26, 0);//K1
    其中K4K3为数值选择键,K2为数值移位键,K1为确认键。
    实现参数设置的程序如下:
    1. num=0;
    2.           if(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 23)==0)  //K4 +
    3.           {       
    4.         while(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 23)==0);                       
    5.                 num++;
    6.                 OLED_ShowNum(88,4,num,2,16);   
    7.           }
    8.                   
    9.           if(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 24)==0) //K3 -
    10.           {       
    11.          while(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 24)==0);                               
    12.                  num--;
    13.                  OLED_ShowNum(88,4,num,2,16);
    14.           }
    15.        
    16.                  if(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 25)==0) //K2 *10
    17.             {
    18.                   while(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 25)==0);               
    19.                   num=num*10;
    20.                   OLED_ShowNum(88,4,num,2,16);   
    21.                 }
    22.                
    23.            if(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 26)==0)
    24.            {
    25.                   while(GPIOGetPinValue(LPC_GPIO_PORT->PIN0, 26)==0);
    26.           //  转入脉冲输出程序               
    27.        }
    复制代码
    脉冲是驱动步进电机运动的基础,为此在实际扩展步进电机前需对脉冲的输出功能进行模拟验证,其方法就是以输出的脉冲来控制红色的指示灯闪亮,其执行效果如图2所示。
    实现脉冲模拟的程序如下:
    1. OLED_ShowCHinese(54,6,22);  //显示:运行状态
    2.             OLED_ShowCHinese(72,6,23);  
    3.         for(i=0;i<num;i++)        //  脉冲输出
    4.         {
    5.                 if(j==1) GPIOSetBitValue(LPC_GPIO_PORT->PIN0, 15, 0 );  // 脉冲指示
    6.                 else GPIOSetBitValue(LPC_GPIO_PORT->PIN0, 16, 0 );
    7.                 Delay_1ms(5000);
    8.         Delay_1ms(5000);                       
    9.                 if(j==1) GPIOSetBitValue(LPC_GPIO_PORT->PIN0, 15, 1 );       
    10.                 else GPIOSetBitValue(LPC_GPIO_PORT->PIN0, 16, 0 );
    11.                 Delay_1ms(5000);
    12.         Delay_1ms(5000);                       
    13.             }
    14.                 OLED_ShowCHinese(54,6,24);  //显示:完成状态
    15.             OLED_ShowCHinese(72,6,25);         
    16.     s=s+num;              //  更新当前位置       
    17.         OLED_ShowNum(88,2,s,2,16);   
    18.                 OLED_ShowString(72,4,": 0  ",16);
    19.                 }
    复制代码
         当然这只是激光标线器的基本功能,要真正达到设计目标还需解决正反向移动、回原点、到边界、自动回零等处理。
    图片2.png
         图2 模拟脉冲输出

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-11-1 13:13:01 | 显示全部楼层
    这个项目不错不错
    签到 签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
     楼主| 发表于 2016-11-1 13:25:03 | 显示全部楼层
    肖久 发表于 2016-11-1 13:13
    这个项目不错不错

    感谢给与的鼓励!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-24 08:47
  • 签到天数: 49 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    主题

    524

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2017-4-19
    发表于 2016-11-1 13:55:53 | 显示全部楼层
    厉害                          
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
     楼主| 发表于 2016-11-1 13:57:19 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2016-11-1 16:46:50 | 显示全部楼层
    谢谢楼主分享
    nxp.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-11 21:48
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    主题

    162

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    376
    最后登录
    2016-11-12
    发表于 2016-11-1 19:06:57 | 显示全部楼层

    谢谢楼主分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-25 11:05
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    7

    主题

    151

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    393
    最后登录
    2022-7-25
    发表于 2016-11-1 19:24:28 | 显示全部楼层
    谢谢分享,学习一下!
    最近调代码都一遍过,得意中~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-21 22:51
  • 签到天数: 369 天

    连续签到: 1 天

    [LV.9]以坛为家II

    7

    主题

    2716

    帖子

    7

    金牌会员

    Rank: 6Rank: 6

    积分
    1824
    最后登录
    2019-3-21
    发表于 2016-11-2 00:11:01 | 显示全部楼层
    楼主继续加油~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
     楼主| 发表于 2016-11-2 12:45:52 | 显示全部楼层

    哈哈,努力!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 03:29 , Processed in 0.101224 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表