机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
基于AT89C51的智能电话计时系统研究
基于AT89C51的智能电话计时系统研究
 更新时间:2009-9-21 16:32:34  点击数:0
【字体: 字体颜色

摘要:本文详细介绍了一种智能电话计时系统的设计与实现。该计时系统以单片机AT89C51作为主控芯片,通过音频译码器LM567,识别出各种电话信号音和MT8870 的解码信息,以达到对用户每个主叫电话信息记录的目的;并带有合理的人机交互的显示屏和控制键盘,以便用户查询主叫信息。
关键字:AT89C51;DTMF;单片机;串行通信
中图分类号:TP273 文献标识码:B
Abstract:This paper introduced particularly the design and research of one kind of intelligenttiming system of phone. This timing system used AT89C51 as main control single chip. By usingLM567 audio encoder to identify some kinds of phone signal sounds and the encoder informationof MT8870, this timing can gain its ends of recording every initiative call information of the usersand sound to achieve the purpose of writing down call messages for rational human-computer
interaction display and keyboard for users’ information inquiry.Key words:AT89C51,DTMF,single chip computer,serial communication
0 引言
随着科技的进步、计算机技术和单片机技术的快速发展与应用,电话计时系统有了长足的发展。为了使电话应用更加方便,因此要开发出一种更科学的电话计时系统——基于AT89C51的智能电话计时系统。
1 系统整体方案设计
1.1 系统特征:该智能电话计时器的特征是:1、计时准确2、功耗低3、可单独使用,也可嵌入电话机中使用4、具有可配置性。
1.2 系统硬件设计:系统采用模块化设计,主要组成模块:
(1)铃流检测模块;
(2)信号音识别模块;
(3)按键译码模块;
(4)单片机控制模块;
(5)显示模块。系统原理如下图1-1。

 

1.3 系统软件方案设计:系统软件的设计同样采用模块化设计,系统程序分为8 个模块:
(1)主程序(包括系统初始化部分);
(2)拨号服务程序;
(3)INT0中断(MT8870有效输出)服务程序;
(4)按键中断服务程序;
(5)中断服务程序;
(6)串行中断服务程序;
(7)数据显示程序;
(8)24C02读写程序。

2 系统硬件电路设计
2.1 铃流检测模块:本模块的功能是可以整流使正弦波全部变为正向方波,可以检测是否摘机。本模块中选择的光电耦合器是4N25,它在本模块中起的是隔离作用。

2.2按键译码模块:键盘实现本系统的人机交互,设置了5个键,其中3个键实现通话记录的上翻,下翻及删除。另外两个键实现对时间的小时位和分钟位的调整。
2.3 信号音识别模块工作原理:音频译码器LM567 结合单片机AT89C51 定时器T2 的定时和捕捉功能,可以检测是否有忙音或回铃音的信号频率,如果检测到回铃音的信号频率才开始计数。如图2-1。

 

2.4 单片机控制模块:单片机的9 脚为复位端,在该脚加一个10K 的电阻R12 到地,可以保证该脚在正常工作中为低电平0,单片机的18 和19 脚接12MH 的石英晶体,在晶体两端各接一个30PF 的电容,单片机的40 管脚接电源VCC。如图2-2;

 

2.5 显示模块:本模块采用两片四位联体的共阴极数码管做显示。数码管的6,8,9,10 管脚分别与单片机的P2.0,P2.1,P2.2,P2.3 口相连,数码管的11,7,4,2,1,10,5,3 管脚分别与单片机的0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7 口相连。如图2-3。

图2-3 显示电路

3 系统软件设计
3.1 系统主程序流程:智能电话计时器是一种更科学的电话计时系统,单片机AT89C51通过执行程序能对外部的信息进行采集、分析和决策。系统主程序流程可分为:
(1)关中断;
(2)系统堆栈初始化;
(3)设置INT1 工作方式;
(4)设置T1 工作方式及初值;
(5)设置T0 工作方式及初值;
(6)打开INT1,T1 中断;
(7)P1.0~P1.4 口送高电平(准备读入数据);
(8)使T1 开始工作;
(9)初始化完毕,进入循环等待中断;
3.2 数据定义和说明:
(1)MT8870DE1(18)输出表3-1 设计译码数组如下:decoder db 1h,2h,3h,4h,5h,6h,0h,7h,8h,9h,0h,2ah,23h 用于将MT8870DE1(18)输出结果转化为正确的数字号码。

 

(2)数码显示数组(共阴):display db 11000000b,11111001b,10100100b,10110000b,10011011b,10010010b,10000010b,11111000b,10000000b,10010000b 共阴极数码管显示数字(0-9 时)对应的需要送入的数据编码。
(3)display switch db 0100h,0200h,0300h,0400h,0500h,0600h,0700h,0800h 是为方便选通各个数码管而定义的各个数码管的相应选通地址。
(4)其他关键数据存放区域(5)初始化模块。
内存布局说明:
0400H~0FFFH(1K~4K-1):ROM 区域,为系统代码区域。
0000H~0080H(128 bytes):片内RAM,系统栈及寄存器。扩展的外存用于数据存储。
0000H~0400H(1K):系统缓存区。剩余用做记录存储区域。
3.3 程序段说明:程序中用到了三个中断源:INT1,T0,T1,各中断源程序功能如下:
3.3.1 INT1 中断服务程序:主要用来读入用户拨入的电话号码,并存储号码相关信息:
PHONENUMBER,NUMBERLENGTH 等。
3.3.2T1 中断服务程序:用户通话开始,启动定时器T0 的计时功能,并根据P1 口读入的状态判断此次通话是否还在继续。若通话还在继续,则T0 保持计时;否则,若此次通话结束则保存此次通话相关信息,并且使T0 结束计时。注:在中断服务程序退出前要重置计时器T1,同时要结束T0 通话计时。如图3-3 T1 中断服务程序流程图。
为了保存已拨出的电话号码,对电话号码数据组织说明如下:号码长度:2 字节。号码记录:28 字节(一个电话号码应该足够)(定长)。通话时间:2 字节(单位:秒)。
总体存储过程中采用连续空间(链表结构);表头地址单独用一个变量表示;当前可用的存储单元地址用另外一个变量记录;由于号码长度为定长结构,因此,号码长度、号码记录、通话时间及每条记录间的偏移都是恒定的。若将当前指针记为curPtr;号码长度记为:
len;写入过程如下:号码长度—>curPtr 指向单元;号码—>curPtr+2 起的len 个单元;通话时间—>curPtr+30 指向的单元。

 

3.3.3T0 中断服务程序:完成用户一次通话过程的计时功能。
3.3.4DISPLAY PROC 子程序:
此子程序完成八段数码管的选通,并且向相应数码管送数据完成显示功能。
3.4 调试和分析
系统通电后,开始初始化并显示时钟,在用户摘机后产生拨号音,系统将显示清零状态,然后等待用户拨号,用户每拔一个号码产生一次中断,在用户拨号完后,产生回铃音,系统查询到回铃音后,等待回铃音的消失,在回铃音消失后通话开始,此时系统开始计时,并查询是否有忙音。在用户挂机后产生忙音系统立刻保存相关数据,然后返回显示时钟状态。
4 结束语
本文从硬件和软件两个方面,以单片机AT89C51为主控件,以双音多频器件MT8870、音频译码器LM567和光电耦合器4N25为辅助器件,对智能电话计时系统进行了详细的设计和实现。将程序烧录到单片机AT89C51的ROM中,经过多次测试,均实现了通话计时、信息存储,实现了对电话计时的智能控制。
本文创新点:作者深入研究了AT89C51芯片、音频译码器LM567和MT8870器件的软件及硬件,并从硬件电路和软件设计两个主要方面完成了该智能电话计时系统的设计,最终根据该设计制作出了可应用的智能计时系统;该系统改进了以往此类系统中存在的数据存贮器存储空间小、记录信息时反映缓慢、容易造成丢失记录等缺点;此外对人机交互的显示屏和控制键盘进行了人性化设计,使系统更具有实用价值。
参考文献:
[1] T. P. Martin, B. Azvine “Learning User Models for an Intelligent Telephone Assistant”
Intelligent Systems Research Lab Adastral’ Park Ipswich IP5 UK 2003
[2]张蝉爱.智能电话计时器的设计原理.太原理工大学科技处.2006
[3]甘露,陈三宝,薛志华.基于AT89C51 的湿度检测系统设计与研究[J] .微计算机信息.2006
[4]何立民. 单片机应用技术选编.北京航空航天大学出版社.2007.01
[5]罗耀华.单片机原理与应用技术.哈尔滨工程大学出版社.2005.05
[6]李伯成.单片机与控制系统[M].清华大学出版社.2005
作者简介:王翠茹(1954-),女,河北保定人,华北电力大学(保定)计算机科学与技术学院教授,硕士生导师。研究方向:数据库与管理信息系统、计算机网络。于祥兵(1983-),男,江苏徐州人,华北电力大学(保定)计算机应用专业,硕士研究生。
Biography: Wang Cuiru(1954-): femal, Working in North China Electric Power University(Baoding), research areas: Database and Management Information System, Computer Network.Yu Xiangbing(1983-), male, Jiangsu Province. Graduate in North China Electric PowerUniversity.

  • 上一篇: 一种基于来电显示的智能控制模块设计
  • 下一篇: 没有了
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1