最近在搞一個往屆的電子設(shè)計大賽題目,用到AD7705就將它的程序移植到了原子的STM32F103ZET6上,供大家參考使用
制作出來的實物圖如下:
2.8寸LCD顯示屏界面:
1.jpg (397.36 KB, 下載次數(shù): 104)
下載附件
2.8寸LCD顯示屏界面
2019-4-9 15:57 上傳
硬件接線,直插原子NRF無線模塊上就可以了:
2.jpg (512.41 KB, 下載次數(shù): 124)
下載附件
硬件接線,直插原子NRF無線模塊上就可以了
2019-4-9 15:56 上傳
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "lcd.h"
- #include "usart.h"
- #include "TM7705.h"
- #include <stdio.h>
- #include <string.h>
- #include "INITUI.h"
- //TM7705/AD7705直插正點原子NRF無線模塊端口,具體引腳自己查找
- int main(void)
- {
- int16_t x = 0,y = 0; //定義點坐標 (-75<x<75)&(-50<y<50)
- uint16_t adc1, adc2; //定義ADC的采樣值
- delay_init(); //延時函數(shù)初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
- uart_init(115200); //串口初始化為115200
- LED_Init(); //LED端口初始化
- LCD_Init(); //LCD初始化
- UIINIT(); //界面初始化函數(shù)
- /*以上為LCD初始化*/
- InitTM7705(); //初始化TM7705
-
- TM7705_CalibSelf(1); /* 自校準。執(zhí)行時間較長,約180ms */
- adc1 = TM7705_ReadAdc(1);
-
- TM7705_CalibSelf(2); /* 自校準。執(zhí)行時間較長,約180ms */
- adc2 = TM7705_ReadAdc(2);
-
- while(1)
- {
- /*空閑時執(zhí)行的函數(shù)*/
-
- #if 1
- /* 雙通道切換采樣,執(zhí)行一輪實際那約 160ms */
- adc1 = TM7705_ReadAdc(1); /* 執(zhí)行時間 80ms */
- adc2 = TM7705_ReadAdc(2); /* 執(zhí)行時間 80ms */
- #else
- /* 如果只采集1個通道,則刷新速率 50Hz (缺省設(shè)置的,最大可以設(shè)置為500Hz) */
- adc1 = TM7705_ReadAdc(1); /* 執(zhí)行時間 20ms (50Hz速率刷新時) */
- adc2 = 0;
- #endif
-
- /* 打印采集數(shù)據(jù) */
- {
- int volt1, volt2;
-
- /* 計算實際電壓值(近似估算的),如需準確,請進行校準 */
- volt1 = (adc1 * 5000) / 65535;
- volt2 = (adc2 * 5000) / 65535;
-
- /* 對采樣的電壓值進行數(shù)學(xué)分析并定位xy的值 */
- x = locatedx(adc1,adc2,volt1,volt2);
- y = locatedy(adc1,adc2,volt1,volt2);
-
- /* 打印ADC采樣結(jié)果 */
- printAD(adc1,adc2,volt1,volt2,x,y);
- }
-
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
TFTLCD-TM7705.7z
(226.65 KB, 下載次數(shù): 414)
2019-4-9 15:44 上傳
點擊文件名下載附件
程序源碼 下載積分: 黑幣 -5
|