基于DTMF编解码芯片实现的单片机遥控器_第1页
基于DTMF编解码芯片实现的单片机遥控器_第2页
基于DTMF编解码芯片实现的单片机遥控器_第3页
基于DTMF编解码芯片实现的单片机遥控器_第4页
基于DTMF编解码芯片实现的单片机遥控器_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用DTMF编解码芯片实现的单片机遥控器1 绪论1.1 课题的背景及意义 进入21世纪,各种电子产品层出不穷,计算机技术、通信技术和传感器技术可谓是电子信息技术的三大组成部分。遥控器也成为了控制领域的一大新兴产业,为了能适应各种产品的需求,遥控器也是种类繁多。 本系统是集单片机技术、双音多频技术、无线传输技术于一体的多功能遥控器。本系统的最主要的特色是利用双音多频信号来作为遥控信号发送出去。是一次双音多频技术的有益应用。以往的遥控器都是通过简单的将数字信号通过红外发射管发送出去,这种设计具有一定的局限性,首先,该设计方法的抗干扰能力很弱,如果坏境中存在较强的红外信号会使得控制信号产生错误。第二,

2、该设计使遥控器在使用时要对准受控方,否则受控方接收不到遥控信号。第三,其功能比较单一,在功能需求比较高时该种设计方法将不能满足要求。第四,其遥控距离比较近,当遥控距离比较远的时候比较困难。当今社会,单片机技术已普及到各个领域当中,单片机的使用给人们的工作、生活提供了极大的便利。利用单片机技术来实现遥控器简化了电路,信号处理更加方便,功能更加丰富。同时利用双音多频作为遥控信号使得抗干扰能力更加强,遥控性能更加稳定。1.2 国内外发展现状民用产品的遥控技术在60年代时,在一部分发达国家就开始研发,但是由于当时技术的限制,发展很缓慢。70年代末,随着大规模集成电路和计算机应用技术发展,遥控技迎来了快

3、速发展时期。遥控方式经历了从有线到无线的超声波、从振动子到红外线、再到使用总线的微机红外遥控三个历史性阶段。电磁波来传输信号是最开始的时无线遥控装置所采用的,它具有的最大缺点,科技总是不断地进步,后来以红外线和超声波为媒介进行信号传输就慢慢被采用。虽然这样在很大程度上避免了电磁波容易被干扰的缺陷,但相比红外线,由于超声波传感器频带很窄,所以只能携带很少的信息量,容易被干扰而产生错误。慢慢的红外线的遥控应运而生,当今时代的主流也即是红外线多功能遥控器。1.3 本文的主要研究内容应用单片机技术、双音多频技术、无线技术,设计一个基于双音多频的单片机遥控器。通过键盘发送遥控指令,然后经过双音多频编码后

4、由无线模块发送出去,受控方接收遥控信号后执行相应的功能。2 系统总体设计2.1、设计要求: a设计一基于DTMF技术的单片机遥控器。 b利用89C51单片机控制MT8880的数据发送,并且实现任一遥控指令的发送与接收。2.2、系统的功能分析:在单片机的控制下,通过HD7279模块以及MT8880模块以及无线发送模块实现数据的显示以及指令的发送,在发送端,当有遥控信号需要发送时,将遥控信号发送到MT8880芯片,芯片进行自动的编码后送到无线发送模块。在接收端,当无线模块接收到遥控信号时将双音多频信号发到MT8880芯片,芯片将自动解码信号,然后将解码的信号发送到单片机,单片机通过HD7279显示

5、出来。2.3、系统的原理框图图 2.1 总体框图3 硬件电路方案设计3.1 硬件电路的方案设计 通过功能需求的分析以及模块的分析,硬件电路主要包括了单片机最小系统、HD7279芯片的键盘显示部分、以及MT8880芯片编解码模块,无线发送接收模块硬件电路。3.2 单片机最小系统5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时计数器TO和T1,4个8 b的工O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(EPROM),使其在实

6、际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。51单片机的最小系统主要包括时钟电路和复位电路,时钟电路是计算机的心脏,它是控制着计算机的工作节奏。MCS-51 内部都有一个反相放大器,XTAL1 、XTAL2 分别是反相放大器输入和输出端,外接定时反馈元件就组成震荡器产生时钟送至单片机内部的各个部件。如下图2.2 所示,片内电路与片外器件构成一个时钟发生电路,CPU 的所有操作均在时钟脉冲同步下进行。片内振荡器的震荡频率fOSC 非常接近晶振频率,一般多在1.2MHz12MHz 之间选取,这次课设用的时钟频率是11.0592MHz。图2.2 中C1、C2 是反馈电

7、容,其值在5pF30pF 之间选择,其典型值是30Pf。作用有两个:其一是使振荡器起振,其二是对振荡器的频率f 起微调作用(C1、C2 大,f 变小)单片机刚接上电源时,其内部各寄存器处于随机状态,复位可以使CPU和系统中其他部件处于一个确定的初始状态,并以此初始状态开始工作。RST为外部复位信号的输入脚,当在该引脚上保持两个机器周期以上的高电平,单片机就会被夫复位。单片机的复位电路有很两种:系统上电自动复位和系统上电自动复位加系统手动复位,系统上电自动复位只在上电时进行复位,如果单片机中途需要复位的话需要重新把电源关掉,这样非常不方便,通常的做法是使用第二种方法实现,在单片机上电后自动复位后

8、如果中途需要进行复位后可以通过按键来实现:在正确选择单片机复位电路和时钟电路后,单片机最小系统如下图所示:图 3.1 单片机最小系统3.3 键盘显示由于单片机的I/O口有限,如果直接用于键盘和数码管的管理会消耗很多I/O口,本系统中采用具有串行接口的HD7279,HD7279是专门用于管理键盘和数码管的芯片,该芯片最多可以管理64个键盘和8个数码管。并且采用串行接口,无需外围元件可直接驱动LED,所以单片机只要控制其四个端口即可,这样可以节省单片机的很多的I/O口。HD7279内部含有译码器可直接接受BCD码或十六进制码并同时具有两种译码方式,其各个位的译码是相互独立的,指令有两种模式:纯指令

9、模式和带有数据指令模式。此外还具有多种控制指令如消隐、闪烁、左移、右移、段寻址等。HD7279具有片选信号可方便的实现8位的显示或多于64键的键盘接口。读键盘的指令时序图如下:图 3.2 HD72729读键盘时序图 在进行本进行系统设计时有两种方案:方案一:本方案中采用12个键盘和1个数码管,在当键盘按下时单片机接受数据,并且将键盘值送给HD7279进行显示,每次只能显示一位数据。本方案的优点是硬件比较简单,但是缺陷是上次发送的数据不能显示,在连续发送数据时接收端判断数据的正确性带来困难。方案二:本方案中采用12个键盘和8个数码管,当键盘按下时单片机接收数据并判断键值后发送到7279芯片里面去

10、进行显示,按下多少个数据数码管显示多少数据,次方案能方便的显示按下的数据,在接收数据时能方便的判断出接收的数据是否正确。缺点是硬件电路比较复杂。经过以上方案比较,方案二虽然比较复杂,但是HD7279最多能控制64个键盘,增加的只是软件部分,所以采用方案二作为键盘显示模块。方案硬件电路图: 图 3.3 HD7279模块3.4 MT8880数据编编解码模块3.4.1 MT8880芯片的特点MITEL公司生产的MT8880是一种常用的双音多频信号解码芯片。图1为MT8880芯片引脚图,该器件有20个引脚:引脚0SC2和OSCl引入时钟脉冲,通常外接358 MH晶振;引脚IN+、IN-为运放的同相和反

11、相输入;GS为增益选择端;VREF是基准电压输出端;DTMF端输出DTMF信号;引脚RW为读写控制信号输入;引脚CS输入片选信号,低电平有效;引脚ItSI为寄存器选择输入;引脚CP为系统时钟输入;D。D,为控制DTMF信号发送和DTMF译码的四位,引脚0SC2和OSCl引入时钟脉冲,通常外接数据输入输出端口;引脚IRQCALL处理中断请求信号,为开漏输出。其内部框图如下:MT8880共有6种工作模式: 图 3.4 MT8880内部框图MT8880总共有六种工作模式,他们分别如下:一:DTMF模式:电路发送或接收DTMF信号。数据通过TDR、RDR以及状态寄存器SR,可以完成DTMF信号的发送与

12、接收。二:呼叫处理(CALL)模式:电路可以从输入信号中检测电话呼叫过程中的各种信号音,并由IRQCALL端方波输出。三:突发(BuRsT)模式:该模式下只能发送DTMF信号而不能接收。四:单双(S,D)音产生模式:电路可产生单音或DTMF信号,用于测试和监测。五:测试(TEST)模式:使电路从DTMF接收部分得到延迟监测信号,并从IRQCALL端输出。六:中断模式:该模式可工作在DTMF状态条件下或BURST模式条件下,一旦有信号出现,则IRQ,CALL端输出低电平。3.4.2 MT8880数据编码模块设计由于MT8880已经广泛应用于个行各业,所以它有典型的应用电路,只需要按照典型电路来设

13、计即可。典型电路如下:图 3.5 MT8880引脚图3.4.3 MT8880数据解码模块 当MT8880作为DTMF接收器的时候,DTMF信号经由IN和IN输入,经过运算放大滤除信号中的拨号音频率,然后发送到双音频滤波器,分离出低频组和高频组信号,通过数字计数的方式检出DTMF信号的频率,并且通过译码器译成4位二进制码。4 位二进制编码被锁存在接收数据寄存器中,此时状态寄存器中的延时控制识别位复位,状态寄存器中的接收数据寄存器满标识位置位,对外而言,当寄存器中的延时控制识别位复位时,IRQCP由高电平变为低电平。在中断模式下,若芯片同时被设置为接收 DTMF信号模式,那么当收到有效 DTMF信

14、号并译码后,IRQ 端变为低电平。所以可用IRQCP作为单片机的中断信号,当IRQ由高电平变为低电平时向CPU发出中断请求,当 单片机响应中断,读出寄存器中的数据后,IRQ返回高电平。所以在电路中IRQ端与单片机的P3.2连接,并与一高电平并连,可以实现中断请求功能。MT8880的D0D3与单片机的P0.0P0.3相连,CP端与P3.4相连,RSO与P1.0相连,R/W与P1.5相连。电路图如3.3所示。图3.6 单片机与MT8880的连接图3.5 无线发送接收模块设计3.5.1 发送接收模块设计 由于MT8880芯片输出的是一个高频与一低频信号叠加的模拟信号,所以发送模块需要直接调制模拟信号

15、。所以发送接收模块采用的是深圳极限电子科技有限公司生产的5.8G无线影音模块/无线音视频模块/无线收发模块,该发送接收模块连接简单,电源提供5V即可,与其他模块的供电一致,可以用同一电源供电。该模块包括无线接收以及发送模块。发送模块的工作频段:5725-5865MHz。其中有2组频率8个信道可选,轻松避开干扰频率:Ch1 5865MHz Ch2 5845MHz Ch3 5825MHz Ch4 5805MHz Ch5 5785 MHz Ch6 5765 MHz Ch7 5745MHz Ch8 5725MHz 。发送模块的调制方式是FM宽频调频。功率为100mW。工作电压为5V,电流消耗大概在25

16、0mA,无线通信距离在300-500米。3.5.2 发送接收模块连接图图 3.7 无线发送模块图 3.8 无线接收模块 在发射模块中,总共有9个接口,包括BX、CH3、CH2、CH1、VCC、GND、VIDE0、A6.5、A6.8。其中CH3、CH2、CH1是三个通道的选择,与接收端一一对应,左音频输入端即A6.5作为双音多频信号的输入端,把双音多频信号输入左音频端后,模块会对双音多频信号进行FM调制,最后从天线将信号发送出去。 在接收模块中公共有9个接口,包括GND、VIDE0、A6.5、A6.8、VCC、CH1、CH2、CH3、BX。它们一一对应于发送端的各个接口,即发送端的A6.5端口的

17、数据只能在接收端的A6.5的端口接收,在其他端口是无法接收的。本系统中双音多频信号从无线发射模块的A6.5端口输入并编码发送出来后,无线接收端会接收信号并进行编码,然后根据相应的通道将解调后的信号送到相应的输出端A6.5,即左音频信号输出端,无线接收模块的左音频输出端连接到MT8880芯片的信号输入端,芯片将对信号进行解码后送到单片机。单片机根据相应的信号换算成十进制数据。4 系统软件的设计4.1 系统的总体软件设计4.1.1 遥控信号发送端软件设计由于本系统包括了四个模块,HD7279的键盘显示模块,单片机最小系统模块和MT8880数据编解码模块以及无线发送接收模块,在设计软件时要恰当的将三

18、者结合起来,单片机最小模块是整个的控制中心,主要由它来实现键盘显示模块和MT8880数据发送模块的连接。系统的发送模块框图如下:N 开始系统初始化 有键按下?Y 显示数据 发送数据据图 4.1 发送模块框图 在主程序开始后,首先对各个芯片进行相应的初始化,对HD7279芯片的译码方式,显示模式进行设置,对MT8880芯片的工作模式,寄存器进行相应的控制。对系统初始化以后就进入循环,判断是否有键按下,并且判断出相应的键功能。执行相应的功能之后返回程序开始进行下次的工作。这样系统就实现了实时的工作。只要有相应的操作,系统就能反应出来。完成系统的预定功能。4.1.2 遥控信号接收端软件总体设计 HD

19、7279复位 开始数码管显示复位 延时时MT8880接收初始化开外部中断等待信号图 4.2 接收端流程图 主程序开始后对HD7279模块进行初始化以及MT8880芯片初始化后进入中断等待,对MT8880进行发送前必须进行初始化后,才能进行收发数据。开始工作时需要对HD7279进行复位,数码管会显示最初设置的值。然后要一个等待时间在对MT8880进行接收初始化,并且MT8880以中断模式工作。4.2 遥控信号编码解码子程序4.2.1 MT8880编程介绍本系统采用的是兼信号收、发于一体的双音多频芯片MT8880。此芯片可以通过不同的命令控制线来选择不同的状态,主要有接收状态和发送状态。芯片里有五

20、个寄存器,可归为三类:数据转移寄存器、收发控制寄存器和收发状态寄存器。软件程序设计必须考虑的是寄存器的工作时序和控制信号的电平。这些寄存器都是由MT8880的三个控制脚进行控制的,它们分别为RS0、R/W和IRQ/CP脚,如表4.1所示为控制脚取不同的值时对应不同的寄存器,而IRQ/CP是读写有效位,高电平有效,低电平无效。表4.1 内部寄存器功能RS0R/W功能00写发送数据寄存器01读接收数据寄存器10写控制寄存器11读状态寄存器每写入一个控制指令时,程序都必须设有一定的延时,因为芯片实现每一个功能都需要时间处理,所以在给IRQ/CP高电平后要有一个延时时间。收发控制由两个控制寄存器共同完

21、成,它们分别是CRA和CRB,它们都是四位寄存器,如表4.2和表4.3所示,CRA的最低位(B0位)控制DTMF芯片是否允许输出双音多频信号;而控制芯片是接收信号还是发送信号功能是由第二位(B1位)控制,此位为1时是CP模式,当芯片处于CP模式时,可以进行对信号音的检测,此时在芯片MT8880的IRQ脚会输出一个方波,当第二位是0时,就选择了DTMF模式,也就是进行接收号码或是发送号码;第三位(B2位)是要配合第二位来实现的,当第二位选择CP模式时,只有第三位为1时在IRQ脚才会有方波输出;写是否写CRB寄存器就是通过CRA的最高位(B3位)来控制,为1时是选择写CRB寄存器。当加电后,必须使

22、CRA和CRB初始化,使两者清零。以下两表详细列出以上两寄存器各位的功能。表 4.2 控制寄存器(CRA)功能控制位 名称与功能 说明 b0 Tout音调输出 逻辑“1”使能音调输出 b1 CP/DTMF模式。控制 逻辑“1”为CP模式。当b2=1时,例如输入电话忙音,此脚输出忙音方波 b2 IRQ中断使能 逻辑“1”使能中断模式。当b1=0时,接收到DTMF信号或准备发送新的双音信号,DTMF/CP引脚电平由高变低。 b3 RSEL寄存器选择 逻辑“1”允许选择CRB 表4.3 控制寄存器(CRB)功能控制位名称与功能说 明b0BURST双音群模式逻辑“0”使能双音群模式b1TEST实验模式

23、逻辑“1”使能实验模式。该模式时,IRQ/CP引脚输出延迟控制信号(CRA b1=0)b2S/D单双音产生逻辑“0”允许产生DTMF,否则,输出单音频b3C/R列/行音选择b2=1,”逻辑“使能产生单音信号本设计应用到的CRA的各控制位为b3b2b1b0=1000,有一点必须要注意那就是CRA的b3控制位一定要为高,否则对CRB的写操作将无法进行。而设计中应用到的CRB的各控制位为b3b2b1b=0000,其中控制位b2和控制位b3是配合在一起使用的,并且在此次设计中用不到TEST实验模式,所以控制位b1为低电平。另外,状态寄存器的功能如下表4.4所示表4.4 状态寄存器(SR)功能状态位 名

24、称 状态标志置位 状态标志清除 b0 IRQ 发生中断;b1或b2=0 读状态寄存器清除 b1 突发模式下TDR为空 暂停结束:准备发送新数据 同上 b2 接收寄存器满 接收寄存器的数据有效 同上 b3 延迟控制检测不到DTMF信号时置位 检测DTMF信号时清除 状态寄存器的读取也是很关键的,如何才能得知MT8880是否拨号出去,或是MT8880是否收到号了,这些都可以从状态寄存器获知,判断是否拨完号或是收完号,有三种方法:一是延时法,二是查询法,三是中断法,本设计在MT8880拨号的过程中用到延时法,而在MT8880收号的过程中用到查询法,也是查询状态寄存器的状态位b2位是否为高电平,如果是

25、高电平那就说明已经收到一位号了,只所以MT8880拨号的过程中用到延时法是因为如果拨号时间间隔太短,就不能完全收到号,这也是本设计采取这种方案的主要原因。DTMF芯片的写入和读出功能均由芯片四个控制脚来决定的:CS: 片选信号输入,若CS为低电平时为选通MT8880芯片RS0:寄存器选择输入R/W: 读写控制信号输入CP:系统时钟输入,TTL电平下面就列出编写MT8880拨号收号程序时必须要弄清的时序图。图4.3 写CRA、CRB的时序图图4.4 读状态寄存器时序图图4.5 发送DTMF时序图 图4.6 接收DTMF时序图 4.2.2 编码程序框图图 4.7 MT8880软件框图在主程序判断出

26、有数据需要发送时,将数据发送到MT8880芯片上,芯片在接收到数据时会进行自动的编码成DTMF信号发送出去。发送的时间大约要0.5秒,发送完了以后判断是否将数据全部发送完成,如果完成了就返回主程序,没有发完就继续下个数据的发送直到把全部数据发送完成。4.2.3 解码程序框图下图为MT8880的详细工作的程序流程图。开始时设置为一共可接收8个DTMF信号,当大于8个时再重新接收。接收的数据会存在锁存器,然后读MT8880的状态需设置状态使其进行译码工作。判断接收的数据,由于0根据MT8880译码规则是对应1010,而对应HD7279的规则1010对应为负号,所以当接收到10时要将其判断为0。将译

27、码后的数字送到HD7279中译码显示,显示的方式为逐个显示。NYN Y开 始count=8?令count=0读MT8880状态寄存器延 时接收译码数据receive=10?令receive=0接收数据送HD7279显示中断返回图4.8 控制MT8880接收工作流程图4.3 HD7279模块框图图 4.9 HD7279键盘显示流程图HD7279芯片主要完成数据的译码以及显示,单片机控制4个端口即可。如果有按键按下则7279的KEY端口的电平会由高变为低,所以如果电平变为低则把DATA端口的数据读进单片机,判断出相应的键值,并进行相应的操作。如果是数据需要显示则将数据进行显示,如果是功能键则执行相

28、应的功能。5 系统调试及结果5.1 调试仪器万用表 一台直流电源 一台示波器 一台电脑 一台5.2 调试方法其实基于双音频编码信号的单片机的设计可分为遥控信号发送端的设计和遥控信号接收端的设计。由于要实现无线发送,所以模块再调试的时候先有线调试再无线调试。先调试单片机程序,找出程序的错误并修改至完全正确,而后将程序下载到单片机中。在发送电路发送遥控信号时可以看见发送电路上的数码管显示出对应发送的数字信息,再看接收端的数码管的显示信息是否和发送的一致,观察接收电路中的二极管是否在一闪一闪的发亮(MT8880在进行解码工作)。在观察发送与接收效果时若效果不理想可不停修改程序并下载直至达到最好的效果

29、。5.3 HD7279模块调试本模块的调试在硬件调试前,因为本设计只采用到了12个键盘所以要重新测试各个键盘所对应的两位十六进制代码,然后才能进行系统的整体调试。主要是通过编写软件来实现代码的测定,将代码显示在数码管上来,从而测定了12个键盘的代码值。测试完代码值后进行本模块的调试,本模块要达到的要求是当按键按下时数码管会显示相应按键的值,数码管最多可以显示8个按键值。把写好的程序写入单片机后,当按下一个键时,数码管的八段全部显示改按键值。这也要求不相符合,检查程序后发现在读键盘后并没有判断键盘键是否弹起,虽然按键的时间只有几百毫秒,但是单片机的读取速度很快,所以相当于按下了很多次按键,故数码

30、管会全部显示。找到原因后在程序里加入判断按键弹起的程序后再进行调试能达到要求。5.4 MT8880数据接收发送模块在焊接好MT8880数据发送模块后,进行相应的调试,首先按照按下一个数据发送一个数据进行调试。因为MT8880发送出去的是两个音频的组合,所以通过示波器的观察可以确定芯片是否正常工作。调试开始后发现不论发送什么数据都没有反应,发送的波形并不是正常的波形叠加信号。奸检查电路时发现MT8880芯片并没有正常工作,换一块芯片后每发一个数据时示波器有正常的两个音频信号的叠加。达到了工作要求,完成了本模块的调试。5.6 无线模块的调试 由于本模块是使用深圳极限电子科技有限公司的无线发送接收模

31、块,调试比较简单,只需要发送一个正弦波看接收端能否接收一个正弦波接可以看出模块是否起作用。使用信号源产生一个1KHz的正弦波连接到发送模块的左声道输入端,在接收模块的左声道输出端连接示波器,发现示波器输出一个1KHz的正弦波,说明系统正常工作。6 设计总结在这次毕业设计制作中,从方案论证、硬件电路设计到软件设计,工作量都非常大。而时间也非常的紧,如果不能很好的掌握时间,是不能完成的。通过请教老师,商定最终方案,确定硬件电路、软件编程。由于在此之前都没有实际工程设计经验,在调试过程中设计中的一些不合理因素就表现出来了。调试过程更是对我们耐力的考验,许多问题莫名其妙地发生了。这使得沮丧过,懊恼过,

32、但没有被失败吓倒,继续保持着高度的热情,共同奋斗,认真地找出错误、不足之处,并一一进行了改正,不断提高。就这样,各项功能一点点地被实现,我们也一步步地向前进,最终迎来了胜利的曙光。 通过这次毕业设计制作活动,拓宽了思路,开阔了视野,从中学到了很多课本上学不到的东西。在完成课题的过程中,使得有更多的机会和博士生、研究生、教授们接触,学到了很多解决实际问题的方法。这次毕业设计巩固了我的基础知识,培养了我的实践动手能力,这其中更大的收获就是将书本死的知识和实践活动结合起来,并在实践中有的放矢的深入学习,提高了学习效率。而最重要的是锻炼了团队合作的能力,培养了团队合作的精神,锻炼了乐观、敬业、坚持不懈

33、的优秀品质,这是收获的一笔无形财富。有这样的机会、这样的成功,得益于学校的大力支持和老师对我们的不倦指导。经过这次毕业设计,自己学到了不少东西。归纳起来,主要有以下几点:1、大学三年多的时间都是在学习通信理论基础知识,并未真正地去应用和实践。由于我平常参加电子制作比较多点,平时已经掌握了一定的基础,动手能力也还可以。但是经过这次毕业设计,我接触到了更多平时没有接触到的仪器设备、元器件以及相关的使用调试经验,发现了自己很多不足之处。我还体会到了所学理论知识的重要性:知识掌握得越多,设计得就更全面、更顺利、更好。2、了解进行一项相对比较大型的科技设计所必不可少的几个阶段。毕业设计能够从理论设计和工

34、程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。我经过这次系统的毕业设计,熟悉了对一项课题进行研究、设计和实验的详细过程。这些在我们在将来的工作和学习当中都会有很大的帮助。3、学会了怎样查阅资料和利用工具书。平时课堂上所学习的知识大多比较陈旧,作为通信工程的学生,由于专业特点自己更要积极查阅当前的最新通信资料。一个人不可能什么都学过,什么都懂,因此,当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识。 4、实践能力得到了进一步提高,在调试过

35、程中积累了一些经验。 5、毕业设计对以前学过的理论知识起到了回顾作用,并对其加以进一步的消化和巩固。 6、毕业设计培养了严肃认真和实事求是的科学态度。而且培养了吃苦耐劳的精神以及相对应的工程意识,同学之间的友谊互助也充分的在毕业设计当中体现出来了。致谢非常感谢程宜凡老师、付崇芳老师在我大学的最后学习阶段毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,她们给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,她们放弃了自己的休息时间,她们的这种无私奉献的敬业精神令人钦佩,在此我向她们表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他

36、们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下!通过这一阶段的努力,我的毕业论文基于双音多频信号的单片机遥控器终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。参考文献1 王福瑞等.单片微机测控系统设计大全.北京:北京航空航天大学出版社,20022 何希才.传感器及应用.北京:国防工业出版社,20033 赵艳.DSC中PID参数整定技巧.氯缄工业,2001,6(6

37、):P43-45.4 姚磊等.一种改进的PID参数整定方法.空军雷达学院学报,2001,6(2):P59-60.5 夏红等.PID参数自整定方法综述.浙江科技学院学报,2003,12(4):P236-240.6 何克忠.计算机控制系统.北京:清华大学出版社,20027 范冰彦.家庭无线智能防盗报警系统J.安防科技.2003,3:70-718 李令辛,郭继红.自动电话报警接收系统的设计J.辽宁大学学报,2000,27(3):227-2299 路增立,高红伟,张华冲. 电话防盗报警器J.江苏电器,2004,1:29-3010 杨汉华,凌福玲. 一种新型的家用防盗报警系统J.信息技术,2002,1:

38、24-2811 刘洪志用AVR单片机实现DTMF信号世界电子元器件2004年第七期12 黄葆华,杨晓静,牟华坤.通信原理【2007年2月第一版】.西安:西安电子科技大学出版社,2007,P19119313 高如云,陆曼如,张企民,孙万蓉.通信电子线路【第二版】西安:西安电子科技大学出版社,2007,P281-28214 MITEL Corporation. MT8880C Integrated DTMF Transceiver with Intel Micro Interface, 199915 ISO2-CMOS MT8880D/MT8870D-1 INTEGRATED DTMF RECEI

39、VERM.ISSUE5 199716 G.S.Cheung, J.Y.M,Azzi.D.Intelligence in buildingM:the protential of advanced modeling Loveday.D.L.Virk.Automation in Construction.1997.447-46117.Steven J. Merrield and Dr. Chris Dick. DTMF Encoding & Decoding. Electronics IV (Honours) Project 1994附录一:程序清单发送程序#include unsigned cha

40、r key_number13, j, k,count=1,number13,m,n,ff;unsigned char TAB16=0x1c,0x1d,0x1e,0x1f,0x14,0x15,0x16,0x17,0x0c,0x0d,0x0e,0x0f,0x04,0x05,0x06,0x07;unsigned int tmr;unsigned long wait_cnter;sbit cs=P14; /定义片选端口sbit clk=P13; /定义时钟信号sbit dat=P12; /数据端口sbit key=P11; /按键端口sbit CLK1=P34;sbit redled=P35; /三盏

41、指示灯sbit greenled=P16;sbit yellowled=P17;sbit RS=P15; sbit RW=P10;#define CMD_RESET 0xa4 /纯指令,HD279复位指令#define CMD_TEST 0xbf /测试指令,全部的灯亮,并闪烁#define DECODE0 0x80 /下载数据按方式0译码,小数点关闭#define CMD_READ 0x15 /读键盘指令void long_delay(void); void short_delay(void); void delay(long int);void write7279(unsigned cha

42、r, unsigned char);unsigned char read7279(unsigned char);unsigned char judge(unsigned char);void send_byte(unsigned char); unsigned char receive_byte(void); void system_init(void);void MT8880init(void);void MT8880tran_init(void);void MT8880send(void);void main() system_init(); while (1) redled=1; gre

43、enled=0; yellowled=0; if (!key) /判断是否有键按下 long_delay(); /消抖动 if(!key) key_numbercount=read7279(CMD_READ); /读取键值 numbercount=judge(key_numbercount); while(!key)=1); /等待放键 count=count+1; /if(numbercount-1=10) /如果是删除键,执行删除功能 /* numbercount-2=numbercount-1=15; */if(numbercount-1=11) numbercount-1=15; MT

44、8880tran_init(); MT8880send(); greenled=1;yellowled=0; delay(10000); for(ff=1;ff8;ff+) numberff=15; count=1; for(m=1;m=(count-1);m+) write7279(DECODE0+m-1,numberm); /* if(numbercount-1=15) count=count-2; */ void system_init(void) P3=0xff; P0=0xff; /delay(60000); redled=greenled=yellowled=1; MT8880tr

45、an_init();for (tmr=0;tmr0x2000;tmr+); send_byte(CMD_RESET); void write7279(unsigned char cmd, unsigned char dta) /读取键值子程序 send_byte (cmd); send_byte (dta); unsigned char read7279(unsigned char command) /写7279子程序 send_byte(command); return(receive_byte();void send_byte( unsigned char out_byte)unsigne

46、d char i;cs=0;for (i=0;i8;i+) if (out_byte&0x80) dat=1; else dat=0; clk=1; short_delay(); clk=0; short_delay(); out_byte=out_byte*2; dat=0;unsigned char receive_byte(void) unsigned char i, in_byte;dat=1; long_delay();for (i=0;i8;i+)clk=1;short_delay();in_byte=in_byte*2;if (dat)in_byte=in_byte|0x01;

47、clk=0;short_delay();dat=0;return (in_byte);void long_delay(void)unsigned char i;for (i=0;i100;i+);void short_delay(void)unsigned char i;for (i=0;i8;i+);void delay(long int I)long int i; for(i=0;iI;i+);unsigned char judge(unsigned char num) /把键值转换成十进制 unsigned char i,number_; for(i=0;i13;i+) if(num=T

48、ABi) number_=i; break; return(number_);void MT8880send() /MT8880的发送程序 unsigned char k; RS=0;RW=0;for(k=1;k=count-2;k+) RS=0;RW=0; redled=0; yellowled=0;CLK1=1; /时序的操作 高电平delay(100);if(numberk=0) numberk=10; P0=(numberk&0x0f);delay(100);CLK1=0; /时序的操作 低电平RW=RS=1;do n=P0; while(n&0x02=0); delay(1000);

49、 yellowled=1;numberk=15; for(m=1;m=(count-1);m+) write7279(DECODE0+m-1,numberm); delay(600); void MT8880tran_init(void) /数据发送子程序 RS=1;RW=0;CLK1=1;delay(100);P0=0x0d; delay(100);CLK1=0;CLK1=1;delay(100);P0=0x00; delay(100);CLK1=0;接收程序#include unsigned char count=0,number10,m,n=0;unsigned int tmr; unsigned char ff;sbit key=P11; /7279键位sbit dat=P12; /7279数据端sbit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论