查看: 12596|回复: 23

[原创] 【开战Kinetis , .分享有礼】—温度波形采集

  [复制链接]
  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-10-15 15:34:07 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 小鸟愤怒 于 2012-10-15 17:18 编辑

      最近一直宅寝室(你懂的),实验室没开,本想分享个简易数字示波器的,没示波器还真不好调,无奈暂时分享一个同样是画曲线的温度波形采集系统吧,其实和简易数字示波器没多大区别,但愿有盆友有精力把我的代码加以修改。。。。
       这次分享的心得其实也不难,贵在程序算法,我写的不够完善,bug肯定是有的,欢迎留言并拍砖,不胜感激。。。。新手一枚,我需要进步。。。


    晒图————————————————————————————————————

    开机显示LOGO。。。。QQ哥。。。







       
    下面是主要代码:
    float temp=0;
    void display_temp()
    {   
         char ptr[3];
         POINT_COLOR = RED;BACK_COLOR = BLUE;
         temp=DS18B20_Get_Temp();
         ptr[0] = (int)temp/100;             //数据分离
         ptr[1] = (int)temp/10%10;
         ptr[2] = (int)temp%10;
                
        SPILCD_ShowNum( 62,2,ptr[0],1,ASCII1608);   //三位数字显示
        SPILCD_ShowNum(70,2,ptr[1],1,ASCII1608);
        SPILCD_ShowChar(78,2,'.',ASCII1608,0);
        SPILCD_ShowNum(86,2,ptr[2],1,ASCII1608);
        ChineseChar(94,2,1,LIGHTGREEN,BLUE,1);       //℃
    }

    int main(void)
    {

    u8 x=30,y,h1,h2,point,num_t,t=90,s=0;
    DelayInit();  
    LED_Init();
    DS18B20_Init();
    SPILCD_Init();                             //初始化SPILCD


    BMP24Shutter(8);                           //显示QQ哥图片
    DelayMs(3000);
    SPILCD_Clear(BLUE);
    ChineseChar(10,2,1,LIGHTGREEN,BLUE,6);     //温
    ChineseChar(26,2,1,LIGHTGREEN,BLUE,7);     //度
    SPILCD_Fill(30,20,127,140,BLACK);          //初次刷新描线背景
    POINT_COLOR = YELLOW;
    for(h1=20;h1<=140;h1+=10)               //画纵轴温度刻度线
        {
           SPILCD_DrawLine(22,h1,29,h1);
         }
    for(h1=25;h1<140;h1+=10)
        {
           SPILCD_DrawLine(27,h1,29,h1);
         }
      for(h2=29;h2<128;h2+=10)               //画横轴时间刻度线
        {
           SPILCD_DrawLine(h2,141,h2,148);
         }
      for(h2=34;h2<128;h2+=10)
        {
           SPILCD_DrawLine(h2,141,h2,143);
         }  
    SPILCD_ShowNum(1,25,120,3,ASCII1206);  //画温度刻度值
      SPILCD_ShowNum(1,35,110,3,ASCII1206);
      SPILCD_ShowNum(1,45,100,3,ASCII1206);
      SPILCD_ShowNum(12,135,0,1,ASCII1206);  
      for(num_t=55;num_t<=130;num_t+=10)
    {
      t-=10;
       SPILCD_ShowNum(6,num_t,t,2,ASCII1206);
      }  
    for(num_t=27;num_t<=160;num_t+=10)      //画时间刻度值
    {
       SPILCD_ShowNum(num_t,148,s,1,ASCII1206);
      s+=1;
      }
    while(1)
      {

        DelayMs(1000);                        //此延时可控制描点速率
      LED0=!LED0;
      LED1=!LED1;
      display_temp();
      point=(int)temp;
        x=x+1;
      if(temp>750)                          //绘曲线算法,根据本液晶打点代码而写,
      {y=159-point*0.1-44-95;}              //有点奇怪为什么不是线性的
      if((temp<=750.0)&&(temp>700.0))
      {y=159-point*0.1-44-75;}
      if((temp<=700.0)&&(temp>650.0))
      {y=159-point*0.1-44-55;}
      if((temp<=650.0)&&(temp>510.0))
      {y=159-point*0.1-44-25;}
      if((temp<=510.0)&&(temp>255.0))
      {y=159-point*0.1-44;}  
      else
      {y=159-point*0.1-44+25;}              //纵轴打点规则公式  
      if(x>127)
         {
        x=30;
           SPILCD_Fill(30,20,127,140,BLACK);    //画完一个周期曲线需要再刷新下背景   
         }
      SPILCD_DrawPoint(x,y);                  //采集点完成后,开始描绘曲线
    }
    }
    代码分享:超核KinetisV2.2温度曲线显示--QQ哥.zip


    天气不好,阴沉沉地下了点小雨,背景音乐有点小悲

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-11-4 19:13
  • 签到天数: 281 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2012-10-15 17:19:02 | 显示全部楼层
    顶一个,QQ哥给力啊,我帮你吧视频调出来
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-10-15 17:28:55 | 显示全部楼层
    哈哈~QQ强势登场,加点你那磁性声音的讲解就完美啦~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-26 01:52
  • 签到天数: 120 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-10-15 18:46:22 | 显示全部楼层
    磁性的声音
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-10-15 19:52:25 | 显示全部楼层
    小鸟愤怒 发表于 2012-10-15 17:19
    顶一个,QQ哥给力啊,我帮你吧视频调出来

    是啊,我整了半天都调好。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-10-15 19:52:53 | 显示全部楼层
    xinxincaijq 发表于 2012-10-15 17:28
    哈哈~QQ强势登场,加点你那磁性声音的讲解就完美啦~

    咳咳。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-10-15 19:53:42 | 显示全部楼层
    Kite 发表于 2012-10-15 18:46
    磁性的声音

    xinxin瞎说的,我声音不磁性
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-1-1 01:21
  • 签到天数: 354 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2012-10-17 19:02:52 | 显示全部楼层
    顶一个!一直没有弄明白“开战Kinetis”什么意思!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-10-17 19:28:33 | 显示全部楼层
    屏幕好大
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-10-17 23:21:35 | 显示全部楼层
    shamowangzi 发表于 2012-10-17 19:02
    顶一个!一直没有弄明白“开战Kinetis”什么意思!

    因为这是这个超核电子赞助的一个申请开发板活动的第二期活动,拿到了板子就是开战啦~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 02:27 , Processed in 0.194708 second(s), 32 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.