基于单片机的来电显示电话设计分解Word格式.docx
- 文档编号:17271254
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:14
- 大小:224.11KB
基于单片机的来电显示电话设计分解Word格式.docx
《基于单片机的来电显示电话设计分解Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的来电显示电话设计分解Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
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中断原程序的执行,转去执行输入/输出(中断处理),中断程序执行完后,CPU恢复执行主程序,外设也继续工作,这样,CPU就可指挥多个外设同时工作,大大提高了CPU的利用率,也提高了输入/输出速度。
2>
实时处理
在实时控制中,现场采集到的各种数据可在任一时刻发出中断请求,要求CPU处理,若中断是开放的,则CPU就可以马上对数据进行处理。
3>
故障处理
若计算机在运行过程中出现了事先预料不到的情况或故障时(如掉电、存储出错、溢出等),可以利用中断系统自行处理,而不必停机。
51单片机有5个中断请求源(8052有6个),4个用于中断控制的特殊功能寄存器IE、IP、TCON(用6位)和SCON(用2位),可提供两个优先级,实现二级中断嵌套。
5个中断源对应5个固定的中断入口地址(矢量地址)。
本系统设计过程中用到了定时器中断T1和外部中断INT0,其中外部中断INT0,设置成下降沿触发,用来检测是否有双音频信号输入,如果有双音频信号输入,那么将会产生一次中断,此时MCU就会响应,同时对输入的双音频信号解码,处理。
而定时器中断T1,是用来设置串口的传输波特率。
本系统所设计的串口通信为10位异步收发(一位起始位,8位数据,一位结束),允许接收,波特率为9600。
下面介绍下INT0中断的处理流程图。
如图9所示:
图9INT0中断的处理流程
四、【仿真与仿真结果分析】
1.液晶显示电路调试模拟图10
图10液晶显示电路调试模拟图
开始调试液晶的时候无论无何都没有显示,开始怀疑上电的时候,引脚接错,将液晶烧坏了。
后来用万用表测量液晶的电源和地,没有发现问题。
最后通过调试背光电阻才发现原来是亮度不够造成的。
另外在写液晶驱动的时候,直接按照时序图,写了读写程序测试,发现液晶显示不正常,本来写的数据没有写入,在查了一些资料后才发现,液晶是慢显器件,每次写数据之前要查询液晶是否处于忙碌的状态。
如果忙,要继续等待,知道液晶处于busy状态。
其次是在液晶1602的第二行进行数据读写的时候。
第二行第一个字符的地址是40H,直接写入40H,那么光标不会定位在第二行第一个字符的位置,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
2.EEPROM接口电路调试模拟图11
图11EEPROM接口电路调试模拟图
在调试AT24C02的存储电路浪费的时间最多,虽然问题很简单,但是由于很多资料上都这样写,就一直按照资料上写的去操作,所以出现错误的时候,一直没有找到合适的解决方法。
具体问题是AT24C02一次可以读写多少字节,几乎所有的资料上都说可以读写任意字节,但是我在调试的过程中发现,一次读写的字节数越多,则出现的误码也就越多。
后来查阅资料,发现AT24xx系列是按照页存储的,比如AT24C02是256Byte,每页就是8个byte,由于本设计每次读写的都是12字节,所以用了,最笨的方法来实现,就是写一个函数,里面分12次调用一个读写1个字节的函数,通过很多次测试发现数据没有读写错误。
3.RS232串口通信电路模拟图12
图12RS232串口通信电路图
串口通信电路中,由于刚开始,单片机系统中使用了12Mhz的晶震,在收发数据的时候波特率不对,一直没有数据显示,后来检查,又发现了一个问题,就是MAX232芯片的管脚和PC机的连线方式错误,修改了这两个错误后,串口通信正常。
4.双音频检测电路模拟图13
图13双音频检测电路模拟图
在双音频检测电路中遇到了,下面一些问题。
(1)输入的双音多频信号持续时间足够长(一般要求)40MS)时,接收器视为有效并实时地进行接收,否则不接收。
在整个双音频信号持续时间,对于由于外部干扰等造成的瞬间间断,若双音频总持续时间足够长,接收器会排除这些干扰,仍视为有效接收。
(2)MT8870的解码器采用数字计数器的方式检测双音多频信号,利用复杂的平均酸法防止外来的各种干扰。
当检测到有效信号的时候,预控端EST输出高电平。
EST信号通过驱动外接的R-C积分电路,使得ST/GT控制端的信号需要一定的延时才可以上升达到比较电平(2.5v)以上,声明信号有效,就是信号的有效确认需要一定的持续时间。
外接的积分电路的时间参数确定了这个时间,同时,信号的暂时消失,SET信号也跟随着下降到低电平,但是ST/GT不会立刻下降到比较电压(V_tst)以下,也就是说,信号中断时间在保护时间以内是可以被忽略的,8870将认为信号是持续有效的。
正式通过这个外接的R-C积分电路,信号接受的可靠性得到了大大的提高。
有效信号的持续时间t>
=0.69RC才可以被承认,即ST/GT电压上升到2.5v以上需要的时间。
电路中的电容取0.1uF的时候,电阻需要取390K。
另外,MT8870解码器的正常解码时间大于或者等于20ms,如果信号持续时间小于这个时间,信号是不可以被正常接收和解码的。
(其中EST输出延时11MS,所以R-C积分延时需要大于9MS,否则信号不能被正常接收。
)也就不可能会产生中断。
这是一个需要注意的问题。
五、【元器件清单】
表1元器件清单表
名称
型号
规格
数量
单片机
AT80S51
40管脚
1
双音频芯片
MT8870
18管脚
液晶显示器
LCM1302
1602液晶模块
电源
线性电源LM7805
直流5V
电解电容
220~1000μF
470~1000μF
二极管
1N4007
2
数字键盘
导线
若干
六、【总结及改进思路】
这次设计使用AT80S51单片机和双音频芯片MT8870作为为主控芯片,在外围电路中加入I2C总线存储器AT24C02,以及液晶显示电路和串口通信电路。
利用固定电话模拟来电显示,通过将本系统和电话连接进行试验运行表明,该系统达到了设计初期的各项要求。
相信在未来来电显示将得到广泛的应用。
在实际的应用中,本系统还有很大的拓展空间。
现有系统的终端是固定电话,系统拓展后的终端可以是固定电话、移动电话、PC等。
现有系统利用的网络是公用电话网,系统拓展后可利用的网络会更多,如移动通信网和Internet等。
通过此次设计,了解进行一项相对比较大型的科技设计所必不可少的几个阶段。
课程能够从理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。
我经过这次系统的课程设计,熟悉了对一项课题进行研究、设计和实验的详细过程。
这些在我们在将来的工作和学习当中都会有很大的帮助。
同时学会了怎样查阅资料和利用工具书。
平时课堂上所学习的知识大多比较陈旧,作为电子类专业的学生,由于专业特点自己更要积极查阅当前的最新电子资料。
当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识。
其次对硬件知识有了一个系统的掌握与提高;
这些都极大的提高我的动手能力和实践能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 来电显示 电话 设计 分解