❶ 合泰單片機HT IDE3000打開一個工程,其中源文件、頭文件、外部文件分別是什麼關系
源文件也就相當於為實現你的應用而編寫的源代碼文件;頭文件:用於定義源文件中的一些預定義或一些基礎的定義,包括單片機的管腳等;外部文件:是指你需要引用的一些外部做好的功能模塊文件,比如你做好的串口文件、LED顯示文件等。最後工程編譯後生成目標文件,可以存在OBJ文件夾中
❷ 合泰單片機匯編語言的DC什麼意思
表格數據 定義 符號, 說白點就是 在單片機的ROM 里自己做一個數據表格.
一般這樣 用,
org 1F00h ; 表格開始的地址
dc 00Ah
dc 00Bh
dc 00Ch
dc 00Dh
dc 00Eh
dc 00Fh
dc 01Ah
dc 01Bh
讀取表格數據的匯編軟體:
讀取表格指針 低八位tblp 和高八位tbhp , 讀取表格命令 tabrd
看看下面的讀取表格的例子,就明白的了.
mov a,06h ;
mov tblp,a ; 表格指針低地址=06H
mov a,7fh ;
mov tbhp,a ; 表格指針高地址=7FH
tabrd tempreg1 ; 把表格地址 7F06H 的數字放到tempreg1
dec tblp ;
tabrd tempreg2 ; 把表格地址 7F05的數據放到tempreg2 里
表格讀取結果是 tempreg1 = 01AH , tempreg2 = 0FH
❸ 合泰單片機前景怎麼樣
合泰單片機的老型號非常穩定,新型號有一部分性價比很高的,例如:SOP8封裝的帶AD晶元HT46R005才賣0.85/片。
該單片機學習套件不但可以做流水燈、按鍵檢測(AD、IO均可)、蜂鳴器控制、繼電器控制、溫度檢測、24C02讀寫、紅外遙控解碼、數碼管顯示(74HC164、1628驅動)、液晶顯示(1621驅動)等實驗,還可以做電水壺、消毒櫃、電熱水器、抽油煙機等小家電項目實驗。配套ISP燒寫器+FLASH晶元,無需反復拔插IC及連接線,所有實驗,輕松搞定!
❹ 敬愛的合泰單片機高手!!!!!!!
1.怎樣用軟體設置:CMOSE輸出,帶或不帶上拉電阻的斯密特觸發輸入,A/D輸入????
輸出就是輸出,什麼"CMOS輸出"是Holtek官方術語,"斯密特觸發輸入"也是官方術語,帶不帶上拉電阻是在IDE掩膜選項中設置的
引腳是AD輸入還是數字IO靠ADCR中的控制位來定義
2.怎樣理解ADCR中的前六位設置???當設置好模義輸入通道,為什麼還要定義PB呢????
這是HT46R52的ADCR 參考(估計HT46R22是一樣的):
0 ACS0 選擇模擬輸入通道
1 ACS1 選擇模擬輸入通道
2 ACS2 選擇模擬輸入通道
3 PCR0 為0 則關閉,減小功耗
4 PCR1 為0 則關閉,減小功耗
5 PCR2 為0 則關閉,減小功耗
6 EOC A/D 轉換結束標志(0:A/D 轉換結束)
每次bit3-5 狀態的改變後都必須通過START 信號來初始化A/D 轉換器,
否則EOC可能會處於不確定狀態
7 START 0→1→0:開始; 0→1:A/D 轉換復位並且置EOC為「1」
「當設置好模義輸入通道,為什麼還要定義PB呢????」
前面0-2隻是個通道選擇(多選1模擬開關),並不能決定PB口是模擬口還是數字IO
就像有一塊內存空間,你選中了一個位元組來用,但裡面的內容到底什麼不知道,設置一下就知道了。
3.埠問題:
1.控制寄存器:設定IO口是輸入還是輸出,數據寄存器(埠寄存器)讀取/設置埠電平
2.設_pac=0b00000000;意思是pa口全部輸出;設_pa= 0b00000000;則pa全部輸出0
3.初始化埠的步驟示例:_pac=0x00; _pa=0x00;
4.其他問題:
#pragma vector isr_time @ 0x08 //中斷服務程序定義
#pragma vector isr_ad @ 0x0c //中斷服務程序定義
uchar sign0 @ 0x40; //在絕對地址定義變數
uchar sign1 @ 0x41; //在絕對地址定義變數
❺ 合泰編譯器查找功能不好用
和泰編譯器查找功能好用。
合泰的單片機網上資料並不多,可參考的源碼也不多,入門著實費了很大的勁。不過,好在是國產單片機,datasheet是中文的,看起來方便不少。
合泰半導體成立於2012年,隸屬台灣盛群半導體(HOLTEK SEMICONDUCTOR INC.)集團,合泰半導體總部位於中國廣東東莞松山湖,負責HOLTEK產品在中國之研發、生產、銷售及售後服務。
合泰的開發軟體HT-IDE3000對於C語言的支持不是很友好,可能還存在不少的問題,所以建議使用匯編。當然如果跟我一樣匯編學的不太好,那就只能使用C語言了,開發過程中踩了不少的坑。
❻ cubemx里有合泰單片機的晶元嗎
有。cubemx里有合泰單片機的晶元,是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU。cubemx是ST針對STM32的處理器推出的一款圖形化界面配置工程代碼的軟體。
❼ 合泰單片機內置eeprom只能讀不能寫,要怎麼解決
我也遇到這樣的問題。沒人給出答案,我來說一下吧。(主要是針對V3編譯C)
根據Holtek_C_Compiler_V3_FAQ(950).pdf的描述,V3不保證編譯後的指令符合EEPROM寫入順序。根據BS86的數據手冊,WREN 和 WR一定要符合順序。
我編譯後的指令出現的是LSET WREN以及LSET WR,這個就出問題了。晶元需要的是SET。
解決方法是根據官方FAQ的描述
"5.5 對於寫 EEPROM 有限制的 MCU ( 需連續 set wren, wr, flag),如何使用
V3 寫 EEPROM?"
下面是代碼
//RefertoHoltek_C_Compiler_V3_FAQ(950).pdf
typedefstruct{
unsignedcharbit0:1;
unsignedcharbit1:1;
unsignedcharbit2:1;
unsignedcharbit3:1;
unsignedcharbit4:1;
unsignedcharbit5:1;
unsignedcharbit6:1;
}iar_bits;
DEFINE_SFR(iar_bits,iar1,0x02);
#defineiar1_3 iar1.bit3
#defineiar1_2 iar1.bit2
#defineiar1_1 iar1.bit1
#defineiar1_0 iar1.bit0
...
uint8_tbkup;
_eea=u8Addr;
_eed=u8NewData;
_mp1l=0x40;
bkup=_mp1h;
_mp1h=0x01;
_emi=0;
iar1_3=1;
iar1_2=1;
_emi=1;
while(iar1_2)
{
}
_iar1=0;
_mp1h=bkup;
...
官方的解決方案產生的代碼跟數據手冊中的一直:
;129 iar1_3=1;
0D0D 3182 set__iar1[0].3《《以前這里是LSETWREN
;130 iar1_2=1;
0D0E 3102 set__iar1[0].2《《以前這里是LSETWR
❽ 合泰單片機的中斷優先順序如何設置
設置中斷優先順序的函數,CMISIS已經寫好,並嵌入到了編譯器中。
1. PWM的測量放到主程序循環中去做,在中斷程序中僅僅完成定時修正,把PWM設定為高優先順序,這樣可以提高中斷的響應速度,使得程序的實時性較高;2. 串口一般是屬於較慢的中斷,它的響應時間只要滿足能夠在接收一個位元組的時間內響應一次即可,因此可以設為低等級中斷,並且在串口程序中不要進行數據處理,只要完成接收數據轉移到接收緩存池中即可,在主程序中去完成數據的分析處理工作。
❾ 合泰單片機匯編問題
data .section 'data' ;數據段 這樣的寫法是比較標準的整齊的匯編寫法,就是告訴你這段就是定義變數 和REGISTER 等.現在好多人定義這些都是放在INC文件里就可以的了.
code .section at 0 'code' 這個就是告訴你下面這段就是單片機的程式了.
子程式里proc 是子程式開始,endp就是子程式的結束,其實現在好多人 直接寫子程式名就可以的了. 好像 sub: ret
sdz 是 register 自減1, 如果為0 就是跳過下一條指令,一般的用法是
SDZ R
JMP LOOP
$