找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14336|回復(fù): 19
打印 上一主題 下一主題
收起左側(cè)

STM32驅(qū)動16位高精度AD TM7705/AD7705源程序,帶2.8寸TFT顯示界面

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:187624 發(fā)表于 2019-4-9 09:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在搞一個往屆的電子設(shè)計大賽題目,用到AD7705就將它的程序移植到了原子的STM32F103ZET6上,供大家參考使用

制作出來的實物圖如下:
2.8寸LCD顯示屏界面:


硬件接線,直插原子NRF無線模塊上就可以了:


單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"
  7. #include "TM7705.h"
  8. #include <stdio.h>
  9. #include <string.h>
  10. #include "INITUI.h"

  11. //TM7705/AD7705直插正點原子NRF無線模塊端口,具體引腳自己查找

  12. int main(void)
  13. {         
  14.         int16_t x = 0,y = 0;   //定義點坐標   (-75<x<75)&(-50<y<50)
  15.         uint16_t adc1, adc2;  //定義ADC的采樣值
  16.         delay_init();                     //延時函數(shù)初始化         
  17.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  18.         uart_init(115200);                 //串口初始化為115200
  19.          LED_Init();                             //LED端口初始化
  20.         LCD_Init();          //LCD初始化
  21.         UIINIT();   //界面初始化函數(shù)
  22. /*以上為LCD初始化*/
  23.   InitTM7705();   //初始化TM7705
  24.         
  25.         TM7705_CalibSelf(1);                /* 自校準。執(zhí)行時間較長,約180ms */               
  26.         adc1 = TM7705_ReadAdc(1);                                
  27.         
  28.         TM7705_CalibSelf(2);                /* 自校準。執(zhí)行時間較長,約180ms */
  29.         adc2 = TM7705_ReadAdc(2);        
  30.         
  31.         while(1)
  32.         {
  33.                 /*空閑時執(zhí)行的函數(shù)*/
  34.                
  35.                 #if 1        
  36.                         /* 雙通道切換采樣,執(zhí)行一輪實際那約 160ms */                        
  37.                         adc1 = TM7705_ReadAdc(1);        /* 執(zhí)行時間 80ms */               
  38.                         adc2 = TM7705_ReadAdc(2);        /* 執(zhí)行時間 80ms */
  39.                 #else
  40.                         /* 如果只采集1個通道,則刷新速率 50Hz (缺省設(shè)置的,最大可以設(shè)置為500Hz) */
  41.                         adc1 = TM7705_ReadAdc(1);        /* 執(zhí)行時間 20ms (50Hz速率刷新時) */               
  42.                         adc2 = 0;
  43.                 #endif
  44.                
  45.                                 /* 打印采集數(shù)據(jù) */
  46.                 {
  47.                         int volt1, volt2;
  48.                         
  49.                         /* 計算實際電壓值(近似估算的),如需準確,請進行校準 */
  50.                         volt1 = (adc1 * 5000) / 65535;
  51.                         volt2 = (adc2 * 5000) / 65535;
  52.                         
  53.                         /* 對采樣的電壓值進行數(shù)學(xué)分析并定位xy的值 */
  54.                         x = locatedx(adc1,adc2,volt1,volt2);
  55.                         y = locatedy(adc1,adc2,volt1,volt2);
  56.                         
  57.                         /* 打印ADC采樣結(jié)果 */        
  58.                         printAD(adc1,adc2,volt1,volt2,x,y);
  59.                 }
  60.                
  61.         }
  62. }
復(fù)制代碼

所有資料51hei提供下載:
TFTLCD-TM7705.7z (226.65 KB, 下載次數(shù): 414)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏15 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報

來自 2#
ID:807108 發(fā)表于 2020-7-23 11:07 | 只看該作者
為什么我燒錄程序后,LCD屏直接是黑的,必須要復(fù)位后才顯示呢?
回復(fù)

使用道具 舉報

板凳
ID:146170 發(fā)表于 2019-5-8 11:55 | 只看該作者
這個干什么用的
  

還有人要它
回復(fù)

使用道具 舉報

地板
ID:376705 發(fā)表于 2019-8-2 09:29 | 只看該作者
kEviN.H 發(fā)表于 2019-5-8 11:55
這個干什么用的
  

學(xué)習(xí)技術(shù)用的啊
回復(fù)

使用道具 舉報

5#
ID:32596 發(fā)表于 2019-12-30 15:54 | 只看該作者
這個程序測量精英版上的3.3v,怎么讀出來是4.2v,有沒有完整顯示的整個流程。
回復(fù)

使用道具 舉報

6#
ID:32596 發(fā)表于 2019-12-30 15:57 | 只看該作者
這個程序測量精英版上的3.3v,讀出來是4.2v,用的是TM7705模塊(安富萊版本),請問有沒有完整的測量電壓的圖片,我想看下怎么接線的。
回復(fù)

使用道具 舉報

7#
ID:408363 發(fā)表于 2020-2-7 12:49 | 只看該作者
請問這個坐標軸怎么顯示吶
回復(fù)

使用道具 舉報

8#
ID:709948 發(fā)表于 2020-4-8 11:03 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

9#
ID:252601 發(fā)表于 2020-4-12 12:19 | 只看該作者
mark ,thanks
回復(fù)

使用道具 舉報

10#
ID:556520 發(fā)表于 2020-7-16 15:56 | 只看該作者
tm7705和ad7705程序有差別嗎?
回復(fù)

使用道具 舉報

11#
ID:228467 發(fā)表于 2020-7-24 12:05 | 只看該作者
練習(xí)生 發(fā)表于 2020-7-23 11:07
為什么我燒錄程序后,LCD屏直接是黑的,必須要復(fù)位后才顯示呢?

在keil的設(shè)置里看下是不是沒在 下載完程序就運行 的前面打√
回復(fù)

使用道具 舉報

12#
ID:238878 發(fā)表于 2020-12-2 14:17 | 只看該作者
我的顯示和你一樣,但是讀數(shù)一直不變化,一直是一個數(shù)
回復(fù)

使用道具 舉報

13#
ID:238878 發(fā)表于 2020-12-2 14:21 | 只看該作者
我的顯示和你一樣,但是一直是一個度數(shù),沒怎么變化
回復(fù)

使用道具 舉報

14#
ID:574708 發(fā)表于 2021-2-28 19:21 | 只看該作者
讀數(shù)有問題啊 這個程序 3.3v 讀出來是4.17v
回復(fù)

使用道具 舉報

15#
ID:1021208 發(fā)表于 2022-4-24 14:05 | 只看該作者
上善若水001 發(fā)表于 2020-7-24 12:05
在keil的設(shè)置里看下是不是沒在 下載完程序就運行 的前面打√

你好,請問STM32f103c8t6用AD7705的16位adc可以用這個代碼嗎
回復(fù)

使用道具 舉報

16#
ID:250090 發(fā)表于 2022-10-24 08:58 | 只看該作者

這個程序測量精英版上的3.3v,怎么讀出來是4.2v,有沒有完整顯示的整個流程。
回復(fù)

使用道具 舉報

17#
ID:250090 發(fā)表于 2022-10-24 08:59 | 只看該作者

這個程序測量精英版上的3.3v,怎么讀出來是4.2v,有沒有完整顯示的整個流程。你好,請問STM32f103c8t6用AD7705的16位adc可以用這個代碼嗎
回復(fù)

使用道具 舉報

18#
ID:648186 發(fā)表于 2023-4-30 03:35 來自手機 | 只看該作者
Thanks for your share!
回復(fù)

使用道具 舉報

19#
ID:970519 發(fā)表于 2024-12-10 13:16 | 只看該作者
Thanks for your share!
回復(fù)

使用道具 舉報

20#
ID:66862 發(fā)表于 2025-4-8 23:43 | 只看該作者
有電路原理圖嗎?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表