AD轉換之外部輸入AD值

2021-10-07 01:45:42 字數 2231 閱讀 8896

/*

1,微控制器-->ad/dac模組 管腳釋義

p34-->di din 序列資料輸入端,當cs為低電平時,資料在 dclk上公升沿鎖存進來

p35-->cs cs 片選訊號,控制轉換時序和使能序列輸入輸出暫存器,高電平時adc掉電

p36-->cl dclk 時鐘,外部時鐘訊號輸入

p37-->do dout 序列資料輸出埠。資料在dclk的下降沿移出,當cs為高電平時為高阻態。

busy 忙時訊號,當cs為高電平時為高阻態

lovdd 數字電源輸入端

aux adc輔助輸入通道

2,微控制器-->動態數碼管模組

j22-->j6

p22-->j9(a)

p23-->j9(b)

p24-->j9(c)

*/#include "reg52.h" // 此檔案中定義了微控制器的一些特殊功能暫存器

#include "xpt2046.h"

typedef unsigned int u16;

typedef unsigned char u8; // 資料型別的定義

sbit lsa = p2^2; //這三個埠共同控制數碼管的位選

sbit lsb = p2^3;

sbit lsc = p2^4;

u8 disp[4]; // 字元型陣列用來,儲存點亮數碼管前四位的資料

u8 code smgduan[10]=; // 0~9的數字顯示

/*延時函式

i=1時,大約延時10us

*/void delay(u16 i)

/*資料處理模組*/

void datapros()

i++;

disp[0] = smgduan[temp/1000]; // 千位

disp[1] = smgduan[temp%1000/100]; // 百位

disp[2] = smgduan[temp%1000%100/10]; //十位

disp[3] = smgduan[temp%1000%100%10]; // 個位

}/*數碼管顯示模組*/

void digdisplay()

p0=disp[i]; // 傳送資料

delay(100); // 延時一段時間

p0 =0x00; // 消影}}

/* 主函式*/

void main()

}

#ifndef	  __xpt2046_h_

#define __xpt2046_h_

//---包含標頭檔案---//

#ifndef uchar

#define uchar unsigned char

#endif

#ifndef uint

#define uint unsigned int

#endif

#ifndef ulong

#define ulong unsigned long

#endif

//---定義使用的io口---//

sbit dout = p3^7; //輸出

sbit clk = p3^6; //時鐘

sbit din = p3^4; //輸入

sbit cs = p3^5; //片選

uint read_ad_data(uchar cmd);

uint spi_read(void);

void spi_write(uchar dat);

#endif

#include"xpt2046.h"

// 初始化觸控函式

void spi_start(void)

/*寫資料 模組

clk外部時鐘 上公升沿時 由din埠輸入資料並鎖存

*/ void spi_write(uchar dat)

} /*讀資料 模組

clk 時鐘訊號輸入埠 下降沿時(clk=1 變為 clk=0) 資料移出

*/uint spi_read(void)

return dat;}/*

資料轉換模組

cmd:讀取的x或y

*/ uint read_ad_data(uchar cmd)

模數轉換AD 實驗

一 實驗目的 1 了解 io口的結構 2 熟悉 a d的特性 3 掌握 a d的使用。二 實驗儀器 mega16 實驗板一塊pc機 一台三 實驗原理 四 實驗步驟及內容 include include define vref 4.950 unsignedint v 0 float vin 0 uns...

AD8361 真有效值轉換

校準rms響應 出色的溫度穩定性 2.5 ghz時輸入範圍最高可達30 db 700 mv rms,10 dbm,最大50 輸入 高達2.5 ghz的線性響應為 0.25 db 單電源供電 2.7 v至5.5 v 低功耗 3 v電源時3.3 mw 快速關斷至少於1 a ad8361是一款平均響應功率...

AD 轉換晶元使用需知

ad 晶元的常用濾波處理 全差分 ain1 ain1 全差分方式工作時,adc 轉換的是 ain1 與 ain1 引腳的差值,在增益為 1 時,測量的值等於 ain1 ain1 範圍 vref vref,當增益增加時,輸入的範圍要相應減少。差分輸入時,差分線之間最好放置乙個 100nf 的電容 偽差...