導航:首頁 > 操作系統 > 合泰單片機入門

合泰單片機入門

發布時間:2023-01-23 13:07:15

❶ 敬愛的合泰單片機高手!!!!!!!

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; //在絕對地址定義變數

❷ 要做一名出色的單片機工程師應掌握好哪些知識

這是單片機初學者經常問的問題。對於這個問題,我想沒有人敢下定論。因為每一種單片機各有所長,都適用於其所能充分發揮作用的領域,不存在優差之分。學單片機應該先學51單片機,學會了51單片機再去學其他單片機,這是學習單片機過來人的同感,也是公認的學習方法。為什麼要先學51單片機?因為51單片發展最早,應用最廣泛,特別是I/O口的操作非常簡單,而且相關的學習資料最多、教材最成熟,學習起來得心應手,入門很快。有了這個基礎再去學習其他單片機那就是小菜一碟了,只是對著晶元數據手冊設置寄存器罷了,快則一兩個星期,多則一個月就能掌握另一種單片機了。如果一開始就選擇非51單片機學習,那將是「路漫漫其修遠兮,你將艱難而求索!」
那學51單片機用C語言還是匯編語言好?當然是C語言了。因為:1.C語言是高級語言,代碼移植性好,易於維護;2.編程靈活,隨心所欲;3.語言層次分明,思路清晰,可讀性強。4. C語言是目前最流行的單片機編程語言,常式代碼多,便於參考,單片機技術發展之快,應用之廣,學習群體日益龐大,這和keil C51開發環境的問世是分不開的。5.C語言是大眾編程語言,是其他編程語言的基礎,學會了C語言,對於進一步深造的選擇就很自由了。匯編語言是早期單片機學習使用的語言,優點是執行指令比C語言稍快外,其他方面筆者不敢恭維。但對於沒有接觸過單片機的初學者,筆者認為,應從匯編語言開始學起。
學會51單片機以後,就可以根據你從事的工作或者你的目標選擇以下一種或多種繼續深造。

1.AVR單片機-----速度快,一個時鍾周期執行一條指令,而普通的51單片機需要12個時鍾周期執行一條指令。當然,Atmel公司出品的AT89LP系列單片機也是一個時鍾執行一條指令,但目前還未普及。AVR單片機比51單片機多了USB通信模塊、SPI通信模塊、I 2C 通信模塊、PWM模塊、AD轉換模塊等,但在C語言編程方面對I/O的操作比51麻煩得多。

2.PIC單片機------品種齊全,應用領域廣泛,片內資源也很豐富,也是很受歡迎的單片機。比51單片機多SPI通信模塊、I 2C 通信模塊、PWM模塊、AD轉換模塊等片內資源。4個時鍾周期執行一條指令,速度看似比51單片機快,事實上並非如此,PIC單片機最高時鍾頻率一般為8MHZ,而51單片機最高時鍾頻率可達到33MHZ 。速度上PIC單片機並不佔優勢,而抗干擾能力則也比51單片機略強。C語言編程方面對I/O的操作要比51麻煩。

3.MSP430單片機-----16位單片機,速度快,一個時鍾周期執行一條指令,超低電壓低功耗,適合用於電池供電設備。

4.Motorola單片機-----抗干擾能力極強,適用於惡劣環境,這是以降低速度為代價的。

5.DSP技術------用於音頻、視頻、通信等快速數字處理領域,速度超快,編程演算法也比較復雜。

6.FPGA技術------難度和單片機差不多,應用領域逐漸廣泛。

7.嵌入式系統-----應用於非PC機控制以外的復雜的智能控制系統,以及智能通信設備、掌上電腦、學習設備、娛樂設備等,應用領域也很廣泛。學習難度也較大,需要有操作系統、硬體、驅動原理等方面的知識。山寨版的手機、掌上電腦等滿街泛濫都是嵌入式系統發展惹的禍。

8.其他單片機,如德州儀器單片機,合泰單片機, NEC 單片機等。
要說學哪一種單片機最有前途,筆者也不敢妄加斷言。不管選擇那一種,前途光明與否都由你的造詣深度來決定,精則興,不精則廢。

❸ 合泰單片機HT67F系列的使用問題

1,寄存器名與手冊對不上號是很正常的,不光合泰的單片機有這種情況,其它的單片機也有這種情況,出現這種情況程序編譯是通不過的。所以有時候要關心一下頭文件,以頭文件的器存器命名為准,或自己更改頭文件。
2,關於管腳復用問題。一般情況下不對管腳進行配置默認都是普通IO,但是如果要使用管腳的其它功能,在使用前就要先對相關寄存器進行配置,比如要使用AN1就要先配置好AD轉換相關的寄存器,如:ADR、ADRL、ADRH、ADCR、ACSR寄存器。

❹ 學什麼單片機好學單片機怎麼樣能賺錢嗎有前途嗎

先學51單片機,可以看看學習視頻,對於每個人來說,多學習一種技能 可以拓寬 就業渠道,

單片機學習可以先學習一些模擬示例,如

#include<reg51.h>

#define uchar unsigned char

uchar temp;

int key1,key,disbuf;// 此表為 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f

unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

unsigned char ledx[8];

uchar t,j,i;

bit s0,s1;

void scan() //要是按鍵了,掃描鍵盤編碼值

{

P1=0xF0;

for(j=0;j<250;j++);

temp=P1;

switch(temp)

{

case 0xe0: key1=0; //

break;

case 0xd0: key1=1; //

break;

case 0xb0: key1=2; //

break;

case 0x70: key1=3; //

break;

}

P1=0x0f;

for(j=0;j<250;j++)

temp=P1;

switch(temp)

{

case 0x0E: key=key1+0;

break;

case 0x0D: key=key1+4;

break;

case 0x0B: key=key1+8;

break;

case 0x07: key=key1+12;

break;

default : key=-1;

}

if((key1+1)&&(key+1)) disbuf=key;

}

void ejjc() //判斷是否按鍵

{

P1=0xF0;

if(P1!=0xF0) { scan();s0=1;}

else { s0=0; s1=1;}

}

void main()

{

TMOD=0x51; // T1 外部計數

TH0=(65535-2000)/256;

TL0=(65535-2000)%256;

EA=1;

ET0=1; //開定時器0中斷

ET1=1; //開定時器1中斷

TR0=1; //啟動定時器0

TR1=1; //啟動定時器1

while(1)

{

ejjc();

if(s0==1 && s1==1)

{

s0=0;s1=0;

for(i=0;i<8;i++)

{ ledx[i]=ledx[i+1]; ledx[8]=disbuf; }

}

}

}

void timer0() interrupt 1

{

TH0=(65535-2000)/256;

TL0=(65535-2000)%256;

P0=0xff;

switch(t)

{

case 0: P2=LED7Code[ledx[0]]; P0=0xfe;break;

case 1: P2=LED7Code[ledx[1]]; P0=0xfd;break;

case 2: P2=LED7Code[ledx[2]]; P0=0xfb;break;

case 3: P2=LED7Code[ledx[3]]; P0=0xf7;break;

case 4: P2=LED7Code[ledx[4]]; P0=0xef;break;

case 5: P2=LED7Code[ledx[5]]; P0=0xdf;break;

case 6: P2=LED7Code[ledx[6]]; P0=0xbf;break;

case 7: P2=LED7Code[ledx[7]]; P0=0x7f;break;

}

t++;

if(t==8) t=0;

}

❺ hs2怎麼初始化

HS26Fxx-C_Demo_Code-GPIO初始化函數

功能:GPIO初始化函數

void GPIO_Init(void)

函數聲明

//.h文件聲明***************************************************************************
void GPIO_Init(void); //IO初始化
1
2
1
2
函數定義

//.c文件函數定義****************************************************
/*System initial sub function<<===================================*/
//******************************************************************
void GPIO_Init(void)
{
//P0_IO_init
P0 =0x00u; //-000 0000 ;
P0M =0xFFu; //-111 1111 ;InOut ;0=in / 1=out
P0UR=0x00u; //-000 0000 ;UP_pull ;0=dis / 1=en
P0PD=0x00u; //-000 0000 ;DOWN_pull ;0=dis / 1=en
P0W =0x00u; //0000 0000 ;Wakeup ;0=dis / 1=en

//P1_IO_init
P1 =0x00u; //---- -000 ;
P1M =0xFFu; //---- -111 ;InOut ;0=in / 1=out
P1UR=0x00u; //---- -000 ;UP_pull ;0=dis / 1=en
P1PD=0x00u; //---- -000 ;DOWN_pull ;0=dis / 1=en
P1W =0x00u; //0000 0000 ;Wakeup ;0=dis / 1=en

//P2_IO_init
P4 =0x00u; //0000 0000
P4M =0xFFu; //1111 1111 ;InOut ;0=in / 1=out
P4UR=0x00u; //0000 0100 ;UP_pull ;0=dis / 1=en
P4PD=0x00u; //0000 0000 ;DOWN_pull ;0=dis / 1=en
P4W =0x00u; //0000 0000 ;wakeup ;0=dis / 1=en

//******************************************************
FGIE=0; /* 總中斷使能位 <<======================*/
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
函數調用

GPIO_Init(); //埠初始化
1
1
打開CSDN,閱讀體驗更佳

s3c2440硬體學習筆記----GPIO介面
一、GPIO介紹 GPIO(General Purpose Input Output)意為通用輸入輸出埠,簡單說就是一些引腳,通過它們輸出高低電平或者通過它們讀取引腳高低電平狀態 S3C2440有130個I/O埠,分為A-J共9組:GPA、GPB、、、、GPJ,可以通過設置寄存器來確定某個引腳用於輸入、輸出還是特殊功能。 比如:可以設置GPH6作為輸入、輸出、或者用於串口。 1、通過寄...
繼續訪問
MTK Android7.0 gpio口控制demo
MTK6737平台,暴露底層給上層的設備節點控制介面。簡單的gpio口控制demo。
ioremap_gpio_demo.c
ioremap demo對應博客介紹 https://xuesong.blog.csdn.net/article/details/114156170
用C控制GPIO
http://forum.cubietech.com/forum.php?mod=viewthread&tid=405&reltid=876&pre_thread_id=0&pre_pos=6&ext=CB 用C控制GPIO的代碼[可以直接看CPU佔用率了] http://forum.cubietech.com/forum.php?mod=viewthread&tid=405 #in
繼續訪問
HS26Fxx-C_Demo_Code-延時函數
HS26Fxx-Dome_Code void Delay_Us(unsigned char Delay_Cnt) //{xx.h}文件中聲明延時函數************************************************ void Delay_Us(unsigned char Delay_Cnt); //延時函數 //{.c}定義延時函數*********************************************************************** /
繼續訪問
HS26Fxx-C_Demo_Code-ADC相關函數的定義與使用
HS26Fxx-C_Demo_Code-ADC相關函數的定義與使用 功能:測試AD采樣功能 void ADC_Init(void) unsigned long ADC_Data_Collect(unsigned char ADC_Input_Pin,unsigned char ADC_AIN) 1.AD相關函數聲明 //.h文件聲明*************************************************************************** void ADC_Init
繼續訪問
HS26Fxx-C_Demo_Code-中斷函數、中斷子函數的定義與使用
HS26Fxx-C_Demo_Code-中斷函數、中斷子函數的定義與使用 功能:定時器TC0中斷程序參考 void __interrupt[0x08] Interrupt(void)//無需聲明 void __interrupt Interrupt_Demo(void) 中斷子函數 函數聲明 //中斷子函數函數聲明*********************************************************************** void __interrupt Interrupt
繼續訪問
HS26Fxx-C_Demo_Code-測試函數RF格式,UART格式的定義與使用
HS26Fxx-C_Demo_Code-測試函數RF格式,UART格式的定義與使用 功能:利用示波器或者UART串口工具測試 void Send_Dat_For_Test(unsigned char Test_Dat) 1.測試函數函數聲明 //.h文件聲明*************************************************************************** void Send_Dat_For_Test(unsigned char Test_Dat);
繼續訪問
HT66FXX.zip_HT-IDE3000_HT66Fxx_ht_ht-46_ht66f
HT單片機HT66F系列最基本的實用教程中文資料完全版
最新發布 C8051FXX-boot-loader-.zip_boot loader
主要描述了C8051F0XX系列單片機的引導裝入程序考慮及舉例
stc8_demo程序.rar_DEMO_STC8 PCA_stc8_stc8 pwm_stc8a8
stc8,DEMO程序: uart stc8aid delay IO timer adc pwm pca
cape-fxx.rar_1c60deac5d48_dcfxx_fxxee_out_tof_cape beagle
FXX_DRV_VER 0.1 AM335 interface functions: int ioctrl_init(void) int ioctrl_cleanup(void) uint32_t *ioctrl_remap(uint32_t *addr_ptr, size_t block_len) int ioctrl_unmap(uint32_t *addr_ptr, size_...
fxx.zip_c 語言微分_telephonew1j_產品代碼fxx
常微分代碼,主要是C語言方面的,大家可以下載看看的
HT66FXX-EEPROM.rar_單片機開發_Asm_
HT66FXX-EEPROM的讀寫及應用說明文檔
FXX_PR3_NV.rar
FXX_PR3_NV.rar,FXX_PR3_NV.xml
合泰單片機常式資料,HT66FXX FLASH常式,源碼學習.rar_DEMO_ht66f50 _newsz3i_合泰 學習_合
合泰單片機HT66F50常式工程源程序,合泰各種常式demo都在裡面
HC89F3xx1_Touch_Demo_Code V1.0.5.0_fourt1r_HC89F3XXX_芯聖_DEMO_芯聖程
芯聖HC89FXX系列觸摸程序,調好的。官方下載。
STM32F103ZET6 - USB_DFU 升級
STM32F103ZET6 - USB_DFU 升級 前言: 記錄下碰到的坑!! 模擬時發現讀按鍵狀態函數HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin),無論是判斷等於1還是0,模擬都能進入; 糾結很久,然後查看GPIOx_IDR寄存器, 發現沒問題,按鍵按下時該位為0,不按為1; 經查找發現是IDE優化等級問題,STM32CubeMX生成的代碼默認優化等級為...
繼續訪問
單片機
編程語言
寫評論

評論

收藏

點贊

❻ 合泰單片機匯編問題

  1. data .section 'data' ;數據段 這樣的寫法是比較標準的整齊的匯編寫法,就是告訴你這段就是定義變數 和REGISTER 等.現在好多人定義這些都是放在INC文件里就可以的了.

  2. code .section at 0 'code' 這個就是告訴你下面這段就是單片機的程式了.

  3. 子程式里proc 是子程式開始,endp就是子程式的結束,其實現在好多人 直接寫子程式名就可以的了. 好像 sub: ret

  4. sdz 是 register 自減1, 如果為0 就是跳過下一條指令,一般的用法是

    SDZ R

    JMP LOOP

    $

❼ 合泰單片機C語言 宏 #define PB_SWC _1b_0 #define PB_SWPU _19_0什麼意思

#define PB_SWC _1b_0
這個就是用PB_SWC來替代_1b_0,_1b_0的值為多少你還得繼續去追蹤
#define PB_SWPU _19_0
這個意思也一樣,就是用PB_SWPU 來替代_1b_0,_19_0
如果#define _19_0 10 那麼PB_SWPU 就等於 10

❽ 合泰單片機視頻教程

合泰單片機大部分是51內核,合泰單片機陳本低但是資料少是目前產品設計使用較多教學用膠少,可以先學習其他有視頻教程的51內核單片機再學合泰

❾ 在自學合泰單片機,有沒有入門討論QQ群 幫助

合泰單片機討論群基本沒有,是要是單片機基礎或者入門的都能寫合泰的,大家基本都是從89c51入門學出來的,單片機只要會一種,別的基本都差不多了,不同單片機編譯環境不一樣,配置寄存器不同,底層配置是死的,應用邏輯層是活的,例如你51單片機入門了,換合泰單片機,你需要寫一個時鍾,你大腦第一反應就是配置定時器,去查手冊查寄存器,如果不查直接找官方demo移植,定時器配置好剩下就和51單片機沒有區別了,你就可以寫邏輯層代碼了。

❿ 合泰單片機前景怎麼樣

合泰單片機的老型號非常穩定,新型號有一部分性價比很高的,例如:SOP8封裝的帶AD晶元HT46R005才賣0.85/片。

該單片機學習套件不但可以做流水燈、按鍵檢測(AD、IO均可)、蜂鳴器控制、繼電器控制、溫度檢測、24C02讀寫、紅外遙控解碼、數碼管顯示(74HC164、1628驅動)、液晶顯示(1621驅動)等實驗,還可以做電水壺、消毒櫃、電熱水器、抽油煙機等小家電項目實驗。配套ISP燒寫器+FLASH晶元,無需反復拔插IC及連接線,所有實驗,輕松搞定!

閱讀全文

與合泰單片機入門相關的資料

熱點內容
反詐騙app怎麼找回密碼 瀏覽:631
java方法和函數 瀏覽:420
程序員衣服穿反 瀏覽:959
java多類繼承 瀏覽:159
怎麼用多玩我的世界連接伺服器地址 瀏覽:483
為什麼華為手機比安卓流暢 瀏覽:177
javamap多線程 瀏覽:228
卡西歐app怎麼改時間 瀏覽:843
jquery壓縮圖片 瀏覽:970
用紙筒做解壓東西 瀏覽:238
神奇寶貝伺服器如何tp 瀏覽:242
雲伺服器支持退貨嗎 瀏覽:277
貸款等額本息演算法 瀏覽:190
根伺服器地址配置 瀏覽:501
單片機是軟體還是硬體 瀏覽:624
vivo手機怎麼看編譯編號 瀏覽:320
塑鋼扣條演算法 瀏覽:301
linux應用程序安裝 瀏覽:414
linux怎麼查找命令 瀏覽:431
安卓12原生和非原生是什麼意思 瀏覽:277