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