基于单片机的来电显示电话设计.docx
《基于单片机的来电显示电话设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的来电显示电话设计.docx(14页珍藏版)》请在冰豆网上搜索。
基于单片机的来电显示电话设计
成绩
信息工程学院本科生课程设计报告
课程名称:
电子综合设计
设计题目:
基于单片机的来电显示电话设计
系别:
计算机与电子工程系
专业(方向):
电子信息工程
年级、班:
2011级2班
学生姓名:
学号:
指导教师:
2014年12月20日
基于单片机的来电显示电话的设计
一、【设计目的】
随着现代生活水平的不断提高,来电显示功能的需求也日益高涨起来,主叫号码信息识别及传送是由交换机将主叫号码及呼叫的日期、时间等信息传送给被叫用户,由被叫用户具有来电显示功能的固定电话显示并存储,以便用户摘机前就知道是谁打电话来,或外出回来后查阅谁来过电话,以方便用户处理。
二、【产品性能指标】
1.有来电时能显示来电号码、并且进行储存查阅;
2.有来电未接时能显示提醒未接来电;
3.能对来电号码进行编译储存在电话薄;
4.电话薄里的电话来电时能显示姓名、号码等信息。
三、【设计的原理】
1、系统框图
根据系统的要求,所设计的系统原理框图如图1所示
LCM1602
MCU51
EEPROM
UART
UP
DOWN
RESET
图1系统原理框图
本系统是一个双工通讯装置,在同一块电路板既有发送部分又有接收部分。
液晶用于单片机的数据的显示,按键和液晶LCD构成一个简单的人机交换装置,便于对电路的调试,EEPROM用来存储数据,重新上电后,仍旧可以显示掉电前的数据,整个电路通过MAX232芯片与PC机串行口相连接,交换数据。
2、各模块工作原理的分析与介绍
(1)直流5V稳压电源
5V直流稳压电源的电路图如图2
图25V直流稳压电源的电路图
由于本系统使用小容量直流电源,所以选用线性电源LM7805比选用开关电源更合适。
(2)单片机系统电路
单片机系统的基本电路如图3
图3单片机系统的基本电路图
其中注意的事项:
晶震采用11.0592MHZ,这是为了便于和计算机通信的时候,串口的波特率可以达到比较好的标准,这样产生误码的几率就会很少(其中SW3是系统复位键)。
SW1,SW2为人机接口按键,因为51系列单片机的P0口内部没有上拉电阻,所以系统设计过程中在P0口端接了一个10k的排阻。
(3)液晶显示电路
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
本设计中用到的液晶为LCM1302,这个字符型液晶模块是一种常用的2行16个字的1602液晶模块。
1602采用标准的16脚接口,其中:
第1脚:
VSS为地电源
第2脚:
VDD接5V正电源
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~1脚:
空脚。
液晶显示电路图如图4
图4液晶显示电路
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
(程序实现见附录)
(4)EEPROM接口电路
EEPROM接口电路如下图5:
图5EEPROM接口电路图
存储器AT24C02采用I2C总线技术。
I2C总线是一种用于IC器件之间连接的二线制总线。
它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:
不管是单片机、存储器、LCD驱动器还是键盘接口。
I2C总线接口器件目前在视频处理、移动通信等领域采用I2C总线接口器件已经比较普遍。
另外,通用的I2C总线接口器件,如带I2C总线的单片机、RAM、ROM、A/D、D/A、LCD驱动器等器件,也越来越多地应用于计算机及自动控制系统中。
I2C总线的数据传送格式是:
在I2C总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(R/W)读写控制。
方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。
开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位(R/W)确定。
在I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个应答位(ACK),ACK信号在第9个时钟周期时出现。
每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。
如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收I2C总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。
当从器件处理完毕时将释放SCL线,主器件继续传送。
当主器件发送完一个字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,在此时钟内主器件释放SDA线,一个字节传送结束,而从器件的响应信号将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。
从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。
(程序实现见附录)
(5)RS232接口电路
RS-232-C串口标准
RS-232-C概述
串行通信接口标准经过使用和发展,目前已经有多种。
但都是RS-232-C标准的基础上经过改进而形成的。
RS-232C标准是有美国EIA(电子工业联合会)与BELL等公司一起开发并于1969年公布的通信协议。
它适合于数据库传输速率在0~20000bit/s范围内的通信。
远程工业协会(TIA)1997年公布了最新的一个版本,命名为TIA/EIA-232-F。
ITU(国际电信联盟)和CCITT(国际电话与电报顾问委员会)发布了一个类似的标准——V.28。
这个标准对串行通信接口的有关问题,如信号线功能、电器特性都做了明确规定。
由于通信设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用,它不仅已被内置于每一台计算机,同时也已被内置于从微控制器到主机的多中类型的计算机及其相连接的设备。
(程序实现见附录)
单片机与PC机串口连接电路图6:
图6PC机与单片机串口连线
(6)双音频检测电路
本系统采用MITEL公司生产的MT8870DTMF接受器作为DTMF信号的解码核心器件。
MT8870主要用于程控交换机、遥控、无线通信及通播系统,实现DTMF信号的分离滤波和译码功能,输出相应16种频率组合的四位并行二进制码。
MT8870具有拨号音抑制和模拟信号输入可调功能,所以在设计MT8870DTMF解码电路时,只需外加一些阻容元件即可。
电话发送的DTMF信号,经搞合电容的隔直流作用后,由MT8870接收并进行译码,输出的四位并行二进制数据直接与AT89C51单片机的P1.3~P1.0连接,MT8870在DTMF信号码变换完成后,发送中断信号INT0,通知AT89C51数据准备好。
音多频DTMF信号解码电路由MT8870主要承担,它的2、3脚接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11-14脚)输出相对应的8421码。
MT8870的数据输出端Q4-Q1连到AT89C51的P1口的P1.4-P1.7,CPU经P1口识别4位代码。
其中,A,B,C,D4个按键常被当作R/P,REDIAL,HOLD,HANDSFREE等功能使用。
注意,需要特别指出的是,对于“0”号码,MT8870输出的8421码并非是“0000”,而是“1010”;另外,“*”,“#”字号码,MT8870输出的8421码分别为“1011”和“1100”。
有些技术资料会出现错误,包括比较权威的手册,所以我是在实验中,记录下测量的每一组数据后,才把这些数据应用于程序当中。
为了使单片机AT89C51获取有效数据,MT8870的STD有效端经反相后接
CPU的/INTO引脚。
当MT8870获取有效双音多频信号后,STD电平由低变高,再反相为低,CPU检测后,指示P1口接收有效二进制代码。
而无效的双音频信号(电话线路杂音、人们的语音信号等)是不会引起MT8870的STD端变化的。
其中,接在电源处的电容对抗干扰有一定的作用。
在实际应用中,存在这样一个问题:
MT8870的使能控制端不允许中断时,将使MT8870的STD端中断关闭。
可以将TOE端接电源来避免。
(如图7)
图7双音频译码电路
电话机拨码方式有两种,即脉冲拨码和双音频拨码,双音频拨码方式具有拨号速度快,误码率低等优点,这是脉冲拨码方式所不能比拟的。
国际电报电话咨询委员会CCITT和我国的标准规定双音频信号由8个频率组合,分为高低频两组,采用8中取2原则,它可根据不同的按键产生一组双音频信号。
此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性。
使用电话专用的双音频编解码芯片进行输入双音频信号的解码,是比较常用的一种方法。
使用集成电路不但外围电路简单,而且可靠性强。
经过专用集成电路的解码,信号转换成为不同的码制信号,可以直接被单片机读取。
一般常用的电话双音频编解码集成电路有8870、8880、8888等,本设计使用双音频解码集成片MT8870来完成此功能模块。
(程序实现见附录)
(7)软件的主程序流程图
图8系统流程图
软件的整体流程图如图8所示,下面简要概述一下系统的流程:
系统复位后,将初始化部分数据。
由于双音频的译码示利用单片机的INT0中断,中断优先级别最高,所以一旦有电话拨入,就可以实时的检测和处理数据。
然后根据具体的电话数据格式要求判断输入的是否符合要求的电话号码。
如果输入的示合格的电话号码,那么单片机,将依次执行,显示电话号码,存储电话号码,传输电话号码,三个过程。
如果当前没有电话拨入,但是用户通过人机界面(按键+液晶显示)来查看以往的记录,那么系统将根据用户是向上查,还是向下查,处理相应的程序,并显示相应的号码。
如果用户的操作不正确,将不做任何执行。
(8)软件中断服务程序流程图
在CPU与外设交换信息时,若用查询的方式,则CPU会浪费较多的时间去等待外设,这就是快速的CPU和慢速的外设之间的矛盾,为了解决这个问题,引入了中断的概念,引入中断后有以下优点:
<1>同步工作
计算机有了中断功能后,就可以使CPU和外设同步工作,CPU启动外设工作后,就继续执行主程序,而外设把数据准备好后,发出中断请求,请求CPU中断原程序的执行,转去执行输