/*
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 的電容 偽差...