合泰微控制器AD轉換Adc Init c

2021-10-13 12:21:36 字數 895 閱讀 9138

/*

a/d 轉換步驟

下面概述實現a/d 轉換過程的各個步驟。

● 步驟1

通過adcr1 暫存器中的adck2~adck0 位,選擇所需的a/d 轉換時鐘。

● 步驟2

清零adcr0 暫存器中的adoff 位使能a/d。

● 步驟3

通過adcr0 暫存器中的acs2~acs0 位和adcr1 暫存器中的acs4,選擇

連線至內部a/d 轉換器的通道。

● 步驟4

通過acerl 暫存器中的ace7~ace0 位,選擇哪些引腳規劃為a/d 輸入引腳。

● 步驟5

如果要使用中斷,則中斷控制暫存器需要正確地設定,以確保a/d 轉換功能

是啟用的。總中斷控制位emi 需要置位為「1」, 以及a/d 轉換器中斷位ade

也需要置位為「1」。

● 步驟6

現在可以通過設定adcr0 暫存器中的start 位從「0」到「1」再回到「0」,

開始模數轉換的過程。注意,該位需初始化為「0」。

● 步驟7

可以輪詢adcr0 暫存器中的eocb 位,檢查模數轉換過程是否完成。當此

位成為邏輯低時,表示轉換過程已經完成。轉換完成後,可讀取a/d 資料寄

存器adrl 和adrh 獲得轉換後的值。另一種方法是,若中斷使能且堆疊未

滿,則程式等待a/d 中斷發生。

*/#include "global.h"

#define u8 unsigned char

#define u16 unsigned int

void adc_init(void)

//獲取通道

u16 getadcvalue(u8 ch)

return sum>>3;

}

合泰微控制器做電壓表 合泰微控制器總結

1 合泰微控制器總結 測試環境c編譯器v21.debug2.3.陣列,支援一維 二維陣列 大小小於1 bank 4.使用const關鍵字,變數將儲存於程式儲存區,如,const uint8 t tab 1,2,3 5.中斷服務函式 pragma vector isr tmr0 0x0c 定義中斷入口...

合泰Holtek微控制器入門

晶元介紹 綜合由於專案需要,首次使用合泰holtek的一款微控制器ht66f018。合泰的微控制器網上資料並不多,可參考的原始碼也不多,入門著實費了很大的勁。不過,好在是國產微控制器,datasheet是中文的,看起來方便不少。holtek官網 合泰半導體成立於2012年,隸屬台灣盛群半導體 hol...

Holtek合泰微控制器《完》合泰杯競賽總結

今 2019.11.3日,合泰杯決賽結束的第二天。獲得訊息,喜提 等獎。在比賽決賽當天,可以說各個隊伍有著天馬行空的想法,並將它們一一實現,其中也有很多我想過的一些作品想法,比如 自動澆花系統,農場無人機系統,導盲拐杖,導盲鍵盤,懸空滑鼠等,這些在決賽當天都有見到。本小組的旁邊小組的作品是蜘蛛探測機...