2024年3月9日发(作者:尔安顺)
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
HT9200A/B雙音多頻(DTMF)信號發生器使用說明
文件編碼:HA0037T
簡介
→
→
該軟體示範如何使用HT9200A/B。
Driver使用說明
Driver的使用
•
軟體提供HT9200A/B的初始化函數和串並行模式發送函數,分別存放於、。
•
如果使用晶片HT9200A只需將中的資料定義部分,INIT_SENDER_SERIAL_9200A、SEND_DATA_SERIAL_9200副程式放入用戶程式相應地方,注意,資料定義部分用戶應根據自己的硬體電路做相應的修改。
•
如果使用晶片HT9200B串列模式,需將中的資料定義部分,INIT_SENDER_SERIAL_9200B、SEND_DATA_SERIAL_9200副程式放入用戶程式相應地方,並行模式需將注意,中的資料定義部分,INIT_SENDER_PARALLEL_9200B,SEND_DATA_PARALLEL_9200B副程式放入用戶程式相應地方,同樣,資料定義部分用戶應根據自己的硬體電路做相應的修改。
各個Driver的詳細說明
•
HT9200A串列模式包括2個副程式: INIT_SENDER_SERIAL_9200A、SEND_DATA_serial_9200
INIT_SENDER_SERIAL_9200A:
實現功能:串列模式初始化程式
入口參數:無
出口參數:無
ROM佔用:6
RAM佔用:無
STACK佔用:無
SEND_DATA_serial_9200:
實現功能:HT9200B串列模式資料發送程式
入口參數:SEND_DATA
1
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
出口參數:無
ROM佔用:13
RAM佔用:2
STACK佔用:無
、SEND_DATA_serial_9200
•
HT9200B串列模式包括2個副程式: INIT_SENDER_SERIAL_9200BINIT_SENDER_SERIAL_9200B:
實現功能:串列模式初始化程式
入口參數:無
出口參數:無
ROM佔用:8
RAM佔用:無
STACK佔用:無
SEND_DATA_serial_9200:
實現功能:HT9200B串列模式資料發送程式
入口參數:SEND_DATA
出口參數:無
ROM佔用:13
RAM佔用:2
STACK佔用:無
•
HT9200B並行模式包括2個副程式: INIT_SENDER_PARALLEL_9200B、SEND_DATA_PARALLEL _9200
INIT_SENDER_PARALLEL _9200B:
實現功能:串列模式初始化程式
入口參數:SEND_DATA
出口參數:無
ROM佔用:9
RAM佔用:無
STACK佔用:無
SEND_DATA_PARALLEL _9200:
實現功能:HT9200B串列模式資料發送程式
入口參數:SEND_DATA
出口參數:無
ROM佔用:13
RAM佔用:1
STACK佔用:無
程式清單及注釋說明見、
2
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
應用範例
應用電路
•
串列模式
並行模式
•
應用範例程式說明
在本應用中,我們採用HT48R10A-1來控制HT9200A/B的DTMF發生。由於DTMF的産生有兩種方式,串列模式和並行模式,所以我們定義了三個巨集_SERIAL_MODE_9200A、_SERIAL_MODE_9200B和_PARALLEL_MODE,分別用於串列模式(SERIAL)和並行模式(PARALLEL)下産生DTMF信號。對於HT9200A來說,只有串列模式,而對於HT9200B而言則有兩種模式,所以定義了一個巨集TYPE_MODE,可以根據晶片型號和工作模式進行條件彙編。詳細說明見
3
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
流程圖
•
串列模式
各埠初始化
呼叫延時副程式
初始化計數器count暫存器和碼值buffer暫存器
呼叫發送資料副程式發送DTMF碼
呼叫延時副程式
呼叫發送資料副程式發送停止碼0FFH
呼叫延時副程式
buffer=buffer+1
count=count-1
Count=0?
No
Yes
呼叫延時副程式
4
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
•
並行模式
各埠初始化
初始化count和buffer暫存器並
SET CE
寫DTMF碼到
Data口,並CLR
呼叫延時副程式
SET CE, 終止DTMF信號的發送
呼叫延時副程式
buffer=buffer+1
count=count-1
Count=0?
No
Yes
呼叫延時副程式
5
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
晶片簡介
HT9200A/B雙音多頻信號發生器是被設計成帶μС介面的。它們可由指令控制産生16種雙頻信號和8種單頻信號,並由DTMF引腳輸出。HT9200A提供一種串列模式,而HT9200B可以選擇爲串列或並行模式,該晶片可以有多種應用,如安全系統、家庭自動化、通過電話線進行遠端控制、通訊系統等。
HT9200A的封裝形式爲8DIP/SOP。
HT9200B的封裝形式爲14SOP。
串列模式(HT9200A/HT9200B)
在串列模式下,HT9200A/B通過DATA引腳輸入的一個5bit的代碼來控制不同的DTMF信號輸出,這5位元代碼按照D0到D4的順序來傳,並且資料要在CLK引腳下降緣到來之前放到輸出閂鎖中。
控制代碼與頻率輸出對應關係(串列模式):
Digit
1
2
3
4
5
6
7
8
9
0
*
#
A
B
D4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
D3
0
0
0
0
0
0
0
1
1
1
1
1
1
1
6
D2
0
0
0
1
1
1
1
0
0
0
0
1
1
1
D1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
D0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
頻率輸出(Hz)
697+1209
697+1336
697+1477
770+1209
770+1336
770+1477
852+1209
852+1336
852+1477
941+1336
941+1209
941+1477
697+1633
770+1633
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
Digit
C
D
—
—
—
—
—
—
—
—
DTMF
OFF
D4
0
0
1
1
1
1
1
1
1
1
1
D3
1
0
0
0
0
0
0
0
0
0
1
時序圖:
D2
1
0
0
0
0
0
1
1
1
1
1
D1
1
0
0
0
1
1
0
0
1
1
1
D0
1
0
0
1
0
1
0
1
0
1
1
頻率輸出(Hz)
852+1633
941+1633
697
770
852
941
1209
1336
1477
1633
—
7
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
並行模式(只適用於HT9200B)
HT9200B除了能用於串列模式,還能用於並行模式。當S/P引腳爲高準位時,HT9200B工作於並行模式。在並行模式下,HT9200B通過D0~D3引腳輸入的代碼來控制不同的DTMF。在CE下降緣和DTMF信號輸出。HT9200B是在CE信號由高準位變爲低準位時接收資料的産生信號輸出之間會有一個延時(大約爲6ms)。
控制代碼與頻率輸出對應關係(並行模式):
Digit
1
2
3
4
5
6
7
8
9
0
*
#
A
B
C
D
時序圖:
D3
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
D2
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
D1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
D0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
頻率輸出(Hz)
697+1209
697+1336
697+1477
770+1209
770+1336
770+1477
852+1209
852+1336
852+1477
941+1336
941+1209
941+1477
697+1633
770+1633
852+1633
941+1633
8
2024年3月9日发(作者:尔安顺)
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
HT9200A/B雙音多頻(DTMF)信號發生器使用說明
文件編碼:HA0037T
簡介
→
→
該軟體示範如何使用HT9200A/B。
Driver使用說明
Driver的使用
•
軟體提供HT9200A/B的初始化函數和串並行模式發送函數,分別存放於、。
•
如果使用晶片HT9200A只需將中的資料定義部分,INIT_SENDER_SERIAL_9200A、SEND_DATA_SERIAL_9200副程式放入用戶程式相應地方,注意,資料定義部分用戶應根據自己的硬體電路做相應的修改。
•
如果使用晶片HT9200B串列模式,需將中的資料定義部分,INIT_SENDER_SERIAL_9200B、SEND_DATA_SERIAL_9200副程式放入用戶程式相應地方,並行模式需將注意,中的資料定義部分,INIT_SENDER_PARALLEL_9200B,SEND_DATA_PARALLEL_9200B副程式放入用戶程式相應地方,同樣,資料定義部分用戶應根據自己的硬體電路做相應的修改。
各個Driver的詳細說明
•
HT9200A串列模式包括2個副程式: INIT_SENDER_SERIAL_9200A、SEND_DATA_serial_9200
INIT_SENDER_SERIAL_9200A:
實現功能:串列模式初始化程式
入口參數:無
出口參數:無
ROM佔用:6
RAM佔用:無
STACK佔用:無
SEND_DATA_serial_9200:
實現功能:HT9200B串列模式資料發送程式
入口參數:SEND_DATA
1
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
出口參數:無
ROM佔用:13
RAM佔用:2
STACK佔用:無
、SEND_DATA_serial_9200
•
HT9200B串列模式包括2個副程式: INIT_SENDER_SERIAL_9200BINIT_SENDER_SERIAL_9200B:
實現功能:串列模式初始化程式
入口參數:無
出口參數:無
ROM佔用:8
RAM佔用:無
STACK佔用:無
SEND_DATA_serial_9200:
實現功能:HT9200B串列模式資料發送程式
入口參數:SEND_DATA
出口參數:無
ROM佔用:13
RAM佔用:2
STACK佔用:無
•
HT9200B並行模式包括2個副程式: INIT_SENDER_PARALLEL_9200B、SEND_DATA_PARALLEL _9200
INIT_SENDER_PARALLEL _9200B:
實現功能:串列模式初始化程式
入口參數:SEND_DATA
出口參數:無
ROM佔用:9
RAM佔用:無
STACK佔用:無
SEND_DATA_PARALLEL _9200:
實現功能:HT9200B串列模式資料發送程式
入口參數:SEND_DATA
出口參數:無
ROM佔用:13
RAM佔用:1
STACK佔用:無
程式清單及注釋說明見、
2
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
應用範例
應用電路
•
串列模式
並行模式
•
應用範例程式說明
在本應用中,我們採用HT48R10A-1來控制HT9200A/B的DTMF發生。由於DTMF的産生有兩種方式,串列模式和並行模式,所以我們定義了三個巨集_SERIAL_MODE_9200A、_SERIAL_MODE_9200B和_PARALLEL_MODE,分別用於串列模式(SERIAL)和並行模式(PARALLEL)下産生DTMF信號。對於HT9200A來說,只有串列模式,而對於HT9200B而言則有兩種模式,所以定義了一個巨集TYPE_MODE,可以根據晶片型號和工作模式進行條件彙編。詳細說明見
3
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
流程圖
•
串列模式
各埠初始化
呼叫延時副程式
初始化計數器count暫存器和碼值buffer暫存器
呼叫發送資料副程式發送DTMF碼
呼叫延時副程式
呼叫發送資料副程式發送停止碼0FFH
呼叫延時副程式
buffer=buffer+1
count=count-1
Count=0?
No
Yes
呼叫延時副程式
4
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
•
並行模式
各埠初始化
初始化count和buffer暫存器並
SET CE
寫DTMF碼到
Data口,並CLR
呼叫延時副程式
SET CE, 終止DTMF信號的發送
呼叫延時副程式
buffer=buffer+1
count=count-1
Count=0?
No
Yes
呼叫延時副程式
5
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
晶片簡介
HT9200A/B雙音多頻信號發生器是被設計成帶μС介面的。它們可由指令控制産生16種雙頻信號和8種單頻信號,並由DTMF引腳輸出。HT9200A提供一種串列模式,而HT9200B可以選擇爲串列或並行模式,該晶片可以有多種應用,如安全系統、家庭自動化、通過電話線進行遠端控制、通訊系統等。
HT9200A的封裝形式爲8DIP/SOP。
HT9200B的封裝形式爲14SOP。
串列模式(HT9200A/HT9200B)
在串列模式下,HT9200A/B通過DATA引腳輸入的一個5bit的代碼來控制不同的DTMF信號輸出,這5位元代碼按照D0到D4的順序來傳,並且資料要在CLK引腳下降緣到來之前放到輸出閂鎖中。
控制代碼與頻率輸出對應關係(串列模式):
Digit
1
2
3
4
5
6
7
8
9
0
*
#
A
B
D4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
D3
0
0
0
0
0
0
0
1
1
1
1
1
1
1
6
D2
0
0
0
1
1
1
1
0
0
0
0
1
1
1
D1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
D0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
頻率輸出(Hz)
697+1209
697+1336
697+1477
770+1209
770+1336
770+1477
852+1209
852+1336
852+1477
941+1336
941+1209
941+1477
697+1633
770+1633
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
Digit
C
D
—
—
—
—
—
—
—
—
DTMF
OFF
D4
0
0
1
1
1
1
1
1
1
1
1
D3
1
0
0
0
0
0
0
0
0
0
1
時序圖:
D2
1
0
0
0
0
0
1
1
1
1
1
D1
1
0
0
0
1
1
0
0
1
1
1
D0
1
0
0
1
0
1
0
1
0
1
1
頻率輸出(Hz)
852+1633
941+1633
697
770
852
941
1209
1336
1477
1633
—
7
HT9200A/B 雙音多頻(DTMF)信號發生器使用說明
並行模式(只適用於HT9200B)
HT9200B除了能用於串列模式,還能用於並行模式。當S/P引腳爲高準位時,HT9200B工作於並行模式。在並行模式下,HT9200B通過D0~D3引腳輸入的代碼來控制不同的DTMF。在CE下降緣和DTMF信號輸出。HT9200B是在CE信號由高準位變爲低準位時接收資料的産生信號輸出之間會有一個延時(大約爲6ms)。
控制代碼與頻率輸出對應關係(並行模式):
Digit
1
2
3
4
5
6
7
8
9
0
*
#
A
B
C
D
時序圖:
D3
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
D2
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
D1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
D0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
頻率輸出(Hz)
697+1209
697+1336
697+1477
770+1209
770+1336
770+1477
852+1209
852+1336
852+1477
941+1336
941+1209
941+1477
697+1633
770+1633
852+1633
941+1633
8