【CC2530授課筆記】⑩ ADC 數模轉換,訊號採集,光敏電阻
摘要
本篇文章介紹了模擬訊號與數字訊號的區別,以及模擬訊號轉換成數字訊號的方法,通過CC2530程式設計,採集光敏電阻的訊號,通過光強控制LED的亮滅。
下面的連線演示了Sigma-Delta 型ADC的工作原理,有興趣的同學可以看一下:
https://www.analog.com/en/design-center/interactive-design-tools/sigma-delta-adc-tutorial.html#
完整的原始碼
#include <ioCC2530.h>
#include <stdio.h>
//定義控制燈的埠
#define LED1 P1_0 //定義LED1為P1_0口控制
#define LED2 P1_5 //定義LED2為P1_5口控制
#define LED3 P1_3 //定義LED3為P1_3口控制
#define LED4 P1_4 //定義LED4為P1_4口控制
#define SW1 P1_2 //定義SW1為P1_2埠
#define SW2 P0_1 //定義SW2為P0_1埠
/****************************
//延時
*****************************/
char pause = 0;
void Delay_mS(unsigned int n)
{
unsigned int tt,i = 0;
for(i = 0; i < n; i ++)
for(tt = 0; tt<1040; tt++);
while(pause);
}
void Delay_uS(unsigned int n)
{
unsigned int i = 0;
for(;i < n; i++);
}
/****************************
//初始化函式
*****************************/
void Initial(void)
{
P1DIR = 0xFB;//將P12設為輸入,其他設為輸出 (0xFB = 11111011)
LED1 = 0;//關閉LED1
LED2 = 0;//關閉LED2
LED3 = 1;//關閉LED3
LED4 = 0;//關閉LED4
P0SEL = 0x0C; //大開P0.2,P0.3的外設功能
CLKCONCMD &= 0x80;
U0BAUD = 216; //設定波特率115200
U0GCR = 11;
U0CSR = 0xC0; //選擇UART功能,並使能接收功能
URX0IE = 1; //使能UART0 接收中斷
EA =1; // 使能總中斷
}
//重定向Printf函式
__near_func int putchar(int c)
{
UTX0IF = 0;
U0DBUF = (char)c;
while(UTX0IF == 0);
return(c);
}
void ADC_Init()
{
APCFG |= 0x01;
P0SEL |= 0x01;
P0DIR &= ~0x01;
}
short Get_Adc_Value()
{
short value = 0;
ADCIF = 0;
ADCCON3 = 0xB0; //參考電壓3.3V,512位抽取率
while(!ADCIF);
value = ADCH;
value = value << 8;
value += ADCL;
value /= 4;
return value;
}
void Uart_Send_Str(char * p)
{
while(*p != 0)
{
U0DBUF = *p;
p++;
while(UTX0IF == 0);
UTX0IF = 0;
}
}
/***************************
//主函式
***************************/
void main(void)
{
Initial(); //呼叫初始化函式
ADC_Init();
short adc_value = 0;
while(1)
{
adc_value = Get_Adc_Value();
printf("\r\nThe Adc Value is: %d\r\n", adc_value);
Delay_mS(1000);
}
}
相關文章
- STM32-ADC模數轉換
- stm32 ADC模數轉換 ADC多通道 ADC DMA
- STM32CubeMX系列|ADC模數轉換
- STM32F407-ADC(模數轉換)
- 程式訊號課堂筆記筆記
- 光敏電阻與光強之間什麼關係?
- AD模數轉換(ADC)在音訊處理中的詳細深度講解音訊
- AD模數轉換&DA數模轉換
- NTC直驅SAR ADC,分壓電阻、穩定電容選擇
- STM32 逐次逼近暫存器型(SAR)模擬數字轉換器(ADC)
- 模擬積體電路設計系列部落格——6.2.1 二進位制權重電阻轉換器
- Java中將電話號碼轉換為數字Java
- (三)WebRTC手記之本地視訊採集Web
- 學習筆記1——數字基帶訊號編碼筆記
- STM32ADC單通道轉換
- .NET 音訊採集音訊
- Linux下的音訊採集與回放(轉)Linux音訊
- Docker筆記(十三):容器日誌採集實踐Docker筆記
- 《Python網路資料採集》筆記一Python筆記
- 工業自動化控制系統中的PLC模擬量訊號資料採集如何實現?
- 《世界是數字的》書摘:模數轉換
- 【.NET 與樹莓派】數模轉換樹莓派
- 王德峰視訊哲學課筆記筆記
- 數字訊號處理c語言程式集C語言
- 能夠採集小紅書圖片、視訊的軟體,一鍵自動批量採集到電腦上
- Excel函式應用例項:計算授課天數(轉)Excel函式
- 淘寶商家電話採集,淘寶天貓商家號碼採集軟體
- IR35217MTRPBF專用型電源管理晶片、ADS122C04IPWR 24位模數轉換器 (ADC)概述、應用晶片
- 數論筆記:快速傅立葉變換筆記
- 模擬積體電路學習筆記筆記
- 配方投料電子秤採集
- uc/os-iii學習筆記-資源管理(中斷、訊號、訊號量、互斥訊號量)筆記
- MATLAB符號數學筆記(一)Matlab符號筆記
- 筆記:隱式轉換規則筆記
- 京東自營店企業店電話資訊採集軟體,京東賣家電話號碼採集器怎麼做
- 模擬積體電路設計系列部落格——6.1.3 多電阻串DAC
- 利用符號進行的型別轉換,轉換成數字型別 ~~符號型別
- SmartRoute之大規模訊息轉發叢集實現