DTMF电路HT9200A与单片机的接口

发布者:SparklingMelody最新更新时间:2021-01-23 来源: eefocus关键字:HT9200A  单片机 手机看文章 扫描二维码
随时随地手机看文章

简介:HT9200A是Holtek公司生产的串行式DTMF电路芯片。本文分析了HT9200A的电路结构与作用特点,给出了HT9200A与AT89C51单片机的接口电路,并结合公用电话网中的数据通讯给出了具体的软件编程。


在水、电、煤气表的自动抄录和IC卡电话机的话费统计等分布式测控系统中,人们希望能在现有的公用电话网上进行适当的网络联接以实现数据的传输与控制。Holtek公司新近推出的DTMF电路HT9200A便是专用于电话联网控制的模块,它可以方便地与微控制器系统接口,以便组成智能型电话网络的测控系统。


1 HT9200A芯片介绍

HT9200A是串行式DTMF电路,具有很好的温度适应性,其工作温度范围为-20℃~+70℃,它采用8脚DIP或SOP封装形式,其管脚排列昭图1所示。各引脚的功能说明如下:

●CE:片选信号输入端,低电平有效;


●X1、X2:3.579545MHz晶振接入端;


●VDD、Vss:电源正负输入端,正常工作电压范围为2~5.5V,工作电流为2mA左右;


●CLK:串行数据的同步信号输入端,fCLK为100kHz左右;


●DATA:串行数据输入端;


●DTMF:DTMF信号输出端。

图2所示为HT9200A的输入输出时序图当CE为低电平时,选中芯片并在CLK的下降沿将串行口DATA上的数据锁存。每个数据为5位二进制码,在CLK下降沿到来时,选锁存低位,再锁存高位。当5位均为1时,结束DTMF的发送。


HT9200A的输入与输出频率由5位(D4~D0)不同的位码组合决定,表1所列为HT9200的输入位码组合与输出频率的对应关系。


2 接口电路

HT9200A主要用于分布式电话网络测控系统,它与89C51微控制器的接口电路如图3所示。


在图3中,89C51单片机的P1.0用于产生串行同步信号,P1.1用于输出串行数据,由P2.7产生低电平的片选信号。

MSM7512B为嵌入式调制解调专用电路[1],它采用CCITTV.23标准,具有1200bps半双工或1200bps接收/75bps发送两种通讯方式。图中,由单片机控制HT9200A并产生DTMF信号,以供MSM7512B的EAI输入端使用,经MSM7512B内部放大器处理后,再由MSM7512B的AO脚输出。在主叫机与被叫分机通过电信程控交换机建立联接后,MSM7512B就可在89C51单片机控制下进行数据收发工作。


3 编程

根据图3所示电路,现给出AT89C51与HT9200A进行接口控制的软件编程:

MOV R1,#30H


TEL:MOV A,@R1 ;发8位电话号码


TCALL DTMF


INC R1


CJNE R1,#38H,TEL



DTMF:MOV R0,#0


LA:SETB P1.0 ;准备接收


CLR C


RRC A


MOV P1.1,C ;送数据到P1.1口


LCALL D50US


CLR P1.0 ;锁存


LCALL D50US


INCR0


CJNE R0,#5,LA


RET


D50US:MOV R7,#10


DD1:NOP


NOP


DJNZ R7,DD1


RET


工作时,首先从89C51内部RAM的30H~37H单元取出被叫方的8位电话号码,然后调OTMF子程序并移位到P1.1口,最后通过P1.0下降沿锁存。由于HT9200A的CLK频率范围为100kHz~500kHz,因此,在发送过程中,需调用50μs延时子程序以使fCLK处在100kHz左右。

关键字:HT9200A  单片机 引用地址:DTMF电路HT9200A与单片机的接口

上一篇:探讨PC机与多MCS-51单片机间的串行通信设计
下一篇:基于51单片机和PDIUSB12的USB接口设计

推荐阅读最新更新时间:2024-11-09 22:26

51单片机与MXA2500GL的振动信号分布式检测
C8051F020单片机性能特点 CYGNAL的C8051F020是集成模拟、数字信号的混合信号系统级SOC(System On Chip) 单片机 ,与目前常用的51系列 单片机 指令集完全兼容。采用100脚TQFP封装,体积小,运算速度快。它采用CYGNAL公司的专利CIP- 5l微处理器内核。CIP-5l在提升805l速度上采取了新的途径,即设法在保持CISC结构及指令系统不变的情况下,对指令运行实行流水作业。在这种模式中,废除了机器周期的概念,指令以时钟周期为运行单位。平均每个时钟可以执行完l条单周期指令,从而大大提高了指令运行速度。 与805l相比,C8051F020在相同时钟下单周期指令运行速度为原来的12倍,整个指
[电源管理]
51<font color='red'>单片机</font>与MXA2500GL的振动信号分布式检测
单片机的系统扩展数据读写实验介绍
  一、实验目的   1、学习片外存贮器扩展方法。   2、学习数据存贮器不同的读写方法。   3、学习片外程序存贮器的读方法。   二、实验内容   1.实验原理图: 2、实验内容 (1)使用一片2764EPROM,作为片外扩展的程序存贮器,对其进行读。 (2)使用一片6264RAM,作为片外扩展的数据存贮器,对其进行读写(使用键盘监控命令和程序运行两种方法)。 3、实验说明 (1)在使用键盘监控命令读片外扩展的程序存贮器2764中内容时,由于本系统中该程序存贮器作为用户目标系统的程序存贮器,因此DV CC 系统必须处于仿真2状态,即“H.....”态,用MEM键即可读出。 (2)在使用键盘监
[单片机]
<font color='red'>单片机</font>的系统扩展数据读写实验介绍
51单片机汇编语言数字时钟
数字时钟proteus+ 51单片机+LCD1602+汇编语言+1602器件资料,适合做单片机课程结课作品 单片机汇编源程序如下: ;/******************************************************************************** ; LCD1602 时钟显示Cekong time测控何小双 ;********************************************************************************/ RS EQU P2.0; //控制端接口 R_W
[单片机]
51<font color='red'>单片机</font>汇编语言数字时钟
AT89C5131单片机在接口设计中的应用
  AT89C5131是一个基于52内核的单片机。在存储器方面,其内部集成了32KB的Flash存储器用于代码的存储,1KB的EEPROM存储器用于用户数据的存储,用户可以使用片上的Bootloader或Flash API通过USB接口或者其他接口(如UART和I2C总线)对Flash存储器和EEPROM存储器进行ISP或者IAP编程。 此外AT89C5131还集成了10位的ADC、I2C总线接口和PCA模块等丰富的外设。   AT89C5131的USB2.0全速从接口的结构如图3所示,其包括USB D+/D-的接口缓冲,数字锁相环,串行接口引擎(SIE)和通用功能接口(UFI)。其中数字锁相环以单片机的时钟为输入,产生了USB接
[单片机]
AT89C5131<font color='red'>单片机</font>在接口设计中的应用
瑞萨扩大RA系列微控制器生态合作伙伴
瑞萨电子宣布,基于Arm Cortex-M的32位RA微控制器周围生态系统已涵盖包括安全,机器学习等众多领域,伙伴包括了Arm,阿里巴巴,IAR,Qeexo,Qt,东芝和wolfSSL等,所提供的解决方案与现成的RA设备兼容。 RA生态系统中现在可用的重要模块包括: 云与设备管理: Arm的Pelion物联网平台,用于连接,设备和数据管理 阿里巴巴的阿里云,用于通过以太网或Wi-Fi将RA设备连接到云Web服务 连接性: AltoBeam 802.11b / g / n Wi-Fi芯片和模块,可通过SDIO接口连接到RA设备 Clarinox蓝牙,BLE和Wi-Fi协议栈 CS Lab的BACnet堆栈 G
[单片机]
单片机在数字多用表中的应用设计
1DS1629的结构特性与工作原理   DS1629是专为温度的数字化测量而设计的一种芯片,同时还兼有实时时钟/日历的功能。DS1629的宽电源范围和极小的功耗非常适合于电池供电的应用环境。其时钟功能可以是12小时或者24小时的模式,且在12小时的模式下带有AM/PM指示。当温度达到或超过程序设定的上限TH或者时间到达程序设定的时刻时,芯片就产生漏极开路的报警输出。   DS1629由数字温度传感器、实时时钟、两线串行接口、数据寄存器、温度和时钟报警比较器及时钟分频器和缓冲器6个部分组成。   由制造商标定的温度传感器无需外部器件。芯片一上电就开始进行温度转换,并随后连续进行转换。主机(通常为单片机)可以周期性地读取
[单片机]
<font color='red'>单片机</font>在数字多用表中的应用设计
单片机中按键“一次”处理的优化方法
以前做单片机的时候总会遇到一个问题就是:在单片机的键盘输入的键盘一次处理时,原来的做法通常是通过 延时 等待键盘的松开,所以单片机就会停留在此处,其他的程序进行不下去。会出现显示不正常、无响应等错误。 以前的程序如下: 其中p10为P10端口做键盘输入,p10= =0为按下,调用的delay程序为 void delay(unsigned int cnt) { unsigned char i; while(cnt--!=0) for(i=100;i!=0;i--); } 键盘扫描子程序如下: void scankey() //扫描按键 { if(p10==0)//p10口按键及处理程序 { del
[单片机]
单片机疑似烧坏
做语音识别(LD3320的芯片)的时候,单片机烧程序的时候特别困难,坏了3个单片机的开发板,换了几条USB转串口线,重装了几次驱动,依然烧不进去,重启电脑可以解决问题,重装驱动也OK,不过要看人品,有时候重装一次可以烧得进去,很多时候确要弄很久。这样效率超级低,怎么进行开发工作啊? 后来搞了我一天,试一试加一个复位电路看能否解决问题。 果然,是复位电路的问题,加了之后烧程序完全没有压力的。 其实,单片机出问题,莫急,先从三个方面检查一下: 1、电源 看单片机VCC和GND管脚有没有虚焊,或者找一下有一些管脚通电后会输出稳定电压的,验证一下电源有没有接上。 2、晶振 我用的单片机是贴片式的,因此管脚特别小,晶振不排除有虚焊现
[单片机]
<font color='red'>单片机</font>疑似烧坏
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
    做任何事情之前,一定要想好目标。没有目标的事情是做不好的,也做不成。我的目标就是学习ARM开发,当然是深入的学习。目标如下 :1、学习A ...
  • 学习ARM开发(2)
    天是星期天,刚好在家里休息。又是学习ARM的大好时机了。早上起得很早,因为都想着怎么样搞好这个ARM开发环境,总是心急的。搞得睡觉,也睡 ...
  • 学习ARM开发(4)
    已经把CPU大体架构学会了,当然我之前已经学习过80X86的结构,所以对于像RISC的计算机,也能想像到它是什么样的东西。如果没有学习过《微机 ...
  • 学习ARM开发(6)
    上一次,说到要学习ARM汇编,好,现在就开始。目前我的引导程序是在UBOOT1 1 2上修改过来的,大家可以下载UBOOT的源程序,也许你们会问在那 ...
  • 学习ARM开发(7)
  • 学习ARM开发(8)
  • 学习ARM开发(9)
  • 学习ARM开发(10)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved