野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10902|回复: 8

stm32 触摸屏 AD 转换

[复制链接]
发表于 2015-4-11 15:51:10 | 显示全部楼层 |阅读模式
    我要做个东西,发这个帖子的目的,一是请教,二来也想求点资料。    想在触摸屏上输入数值发送给stm32,然后通过DA转换,将控制信号发送给变频器。一共四台变频器,也就是有四路控制信号,stm32f103vet6,AD通道数不够,还要外接AD模块。
32输出的是0-3.3V的电压,我需要0-10V的电压(或者0-20ma的电流),这个转换电路又怎么搞?
   做这个东西需要触摸屏、DA转换的资料,我对这个芯片了解的并不是很多,还希望有经验的前辈、大神们指点,或者提供一些相关例程。
   感谢。
回复

使用道具 举报

发表于 2015-4-11 17:27:53 | 显示全部楼层
在触摸屏输入数值,可用九宫格键盘实现,程序也不是很难
DA输出是0-3.3v要变成0-10V的话可以用放大器实现,芯片选型就不在行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-11 18:06:54 | 显示全部楼层
亽亼 发表于 2015-4-11 17:27
在触摸屏输入数值,可用九宫格键盘实现,程序也不是很难
DA输出是0-3.3v要变成0-10V的话可以用放大器实现 ...

谢谢。
九格宫键盘,有例程不?
回复 支持 反对

使用道具 举报

发表于 2015-4-11 22:03:01 | 显示全部楼层
本帖最后由 11kxmx 于 2015-4-11 23:56 编辑
陆地行走者 发表于 2015-4-11 18:06
谢谢。
九格宫键盘,有例程不?


我倒是剛根據觸摸屏控制LED程序改了個鍵盤輸入的程序:基本成功
從網上截取一個計算器圖片並修改至所需界面和大小,然後仿照LED圖片顯示將該圖片顯示在LCD上,
將原來的枚舉EVEN改成下面的樣子,就是多加幾個事件即0-9和其它幾個鍵值
typedef enum{E_NULL,E_BUTTON0, E_BUTTONdp,E_BUTTON1,E_BUTTON2,E_BUTTON3,E_BUTTON4,E_BUTTON5,E_BUTTON6,E_BUTTON7,E_BUTTON8,E_BUTTON9,E_BUTTONdel,E_BUTTONclr,E_BUTTONenter,E_GETCHAR}EVEN;
然後將even_process.c中even_process()函數中相應地多加几个事件的處理過程, touch_process()也要多加幾個按鍵位置的判斷
switch(even)
{
  case E_BUTTON0:             if(n <10000 )
    {
     n=n*10;//輸入一個0,原值增加10倍
      LCD_Clear(10, 40, 100, 32, BLACK);
       LCD_DisNum3216(10,40, n, BLUE);//顯示新值
    }
    else        
    {     
     LCD_DispEnCh(10, 75,"too big !", RED);               //超過上限提示
    }      
    even = E_NULL;   
      break;
case E_BUTTON1:             if(n <10000 )
    {
     n=n*10+1;//輸入一個1,原值增加10倍並加1
      LCD_Clear(10, 40, 100, 32, BLACK);
       LCD_DisNum3216(10,40, n, BLUE);//顯示新值
    }
    else        
    {     
     LCD_DispEnCh(10, 75,"too big !", RED);               //超過上限提示
    }      
    even = E_NULL;   
      break;
........

123.jpg
回复 支持 反对

使用道具 举报

发表于 2015-4-12 10:49:19 | 显示全部楼层
这个就是九宫格了,思路就是这样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-12 13:16:28 | 显示全部楼层
11kxmx 发表于 2015-4-11 22:03
我倒是剛根據觸摸屏控制LED程序改了個鍵盤輸入的程序:基本成功
從網上截取一個計算器圖片並修改至所需 ...

谢谢,我先理解一下,有不明白的再请教。
回复 支持 反对

使用道具 举报

发表于 2015-4-12 16:35:20 | 显示全部楼层
陆地行走者 发表于 2015-4-12 13:16
谢谢,我先理解一下,有不明白的再请教。

我的程序是自動采集,該功能原來我在51單片機就編得比較完整了,現在換成野火板,因沒矩陣鍵盤,於是想用觸屏輸入采集周期和數據個數,前面的程序完全和例程觸屏控制LED中一樣
下面是主程序中獲取觸屏數據的方法:
Lcd_GramScan(1);//因顯示BMP時是橫屏,所以要轉過來
    LCD_DispStrCH(10, 10, "請輸入采集周期", RED);
  while(finish_flag!=1)//按確認鍵後讓finish_flag=1
  {
   even_process();
  }
  finish_flag=0;
  zhouqi=n;//將收到的n值轉存一下,下面還要用這個變量
  n=0;
  LCD_Clear(10, 40, 100, 32, BLACK);
  LCD_DispStrCH(10, 10, "請輸入數據個數", RED);
  while(finish_flag!=1)
  {
   even_process();
  }
  finish_flag=0;
ciji_number=n;//將收到的n值轉存一下
其它工作.......

回复 支持 反对

使用道具 举报

发表于 2019-3-4 23:52:34 | 显示全部楼层
11kxmx 发表于 2015-4-11 22:03
我倒是剛根據觸摸屏控制LED程序改了個鍵盤輸入的程序:基本成功
從網上截取一個計算器圖片並修改至所需 ...

能分享一下你的程序吗?谢谢
回复 支持 反对

使用道具 举报

发表于 2019-3-4 23:53:58 | 显示全部楼层
能分享一下触摸屏输入控制参数的程序吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 11:37 , Processed in 0.036523 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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