1、 摘 要为了使人们在家中能快速地知道有客人来,故设计了无线门铃。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。无线门铃由于无线电信号容易受环境因素的干扰,所以采用了AT89C2051单片机作为中央处理芯片,使得该系统的功能扩展比较方便我们将发射器发送的数据进行编码,只有收到与接收机配套的遥控器发射的信号时,接收机才会做出反应。实际演示证明,无线门铃为众多家庭用户提供了方便。关键字:无线门铃、单片机、芯片AT89C2
2、051、无线传输、发射与接收 Wireless Doorbell System DesignIn order to make people quickly know the coming guests at home,so we designed the doorbell. In recent years, with the rapid development of science and technology, the single-chip microcomputer applications are continually deepening, and at the same time
3、promote the traditional control of the increasingly technical updates. In the real-time detection and control of the single-chip microcomputer application system, microcontroller as a core component that only SCM knowledge is not enough, and also on specific hardware structure , hardware and softwar
4、e combination will to be perfect. As the wireless doorbell can impact by the radio signals , So we using AT89C2051 as a central processing chip microcontroller, Makes the system more convenient extensions will be transmitter to send encoded data. Only receive matching remote control and receiver sig
5、nal emitted ,the receiver will respond to. Practical demonstration of that, wireless doorbell offered many home users more convenient.Key Words:Wireless doorbell;Single-chip Microcomputer;Chip AT89C2051;Wireless transfer; Transmitter and receiver摘 要IAbstractII引 言1一、无线门铃介绍21 无线门铃前景22 无线门铃开发背景2二、无线技术发
6、展31 无线技术的选择32 AT89C2051介绍521 AT89C2051功能特性概述5三、单片机技术基础111 单片机定义112 单片机简介113 单片机应用领域12四、系统硬件设计161 元件162 焊接介绍163 原理图16五、系统软件设计171 程序设计方法232 程序时序图:233汇编源程序234 C语言源程序24六、系统调试241 调试252 安装253 试机26结 论27引 言本文所提的是无线门铃系统,参考有关的书籍和资料,完成电路的设计、焊接、检查、调试,再根据硬件和单片机知识写程序,然后调试最终达到准确无误的。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的
7、故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行翻译,并烧进芯片中,要与接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。 无线门铃主要由无线接收、数据解码、数据处理、音效电路、功放电路和电源电路组成。整机接收频率315M,数据解码采用市面上用得较多的PT2272专用解码芯片,可靠性及稳定性较好;数据处理的任务由单片机完成,用于区分报警信号、门铃信号,同时接受各种操作指令,完成相应的操作,当接收到报警信号后驱动报警电路,发出响亮的警车报警声,当收到的是门铃信号时,就发出音乐声。 毕业设计的目的是了解基本电路设计的
8、流程,丰富知识和理论,巩固所学的知识,提高动手能力和实验能力,从而具备一定的设计能力。 本毕业设计注重于对单片机控制和无线发射接收理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高设计能力,培养创新能力,丰富知识理论,做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。本毕业设计分为两个部分,硬件部分和软件部分。硬件部分介绍:无线门铃电路的设计,单片机AT89C2051的功能和其在电路的作用。介绍了AT89C51的管脚结
9、构和每个管脚的作用及各自的连接方法。还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,编写程序编写完程序还要进行编译,这就必须会使用编译软件。 最后介绍了毕业设计做完后的结论以及制作过程中的心得体会。一、无线门铃介绍1 无线门铃前景我国从70年代开始引进、研制、使用无线门铃。经过发展,也有了现在的音乐门铃以及报警门铃,也有了集无线门铃和无线防盗报警器于一身的无线门铃报警器。采用了AT89C2051单片机作为中央处理芯片,使得该系统的功能扩展比较方便我们将发射器发送
10、的数据进行编码,只有收到与接收机配套的遥控器发射的信号时,接收机才会做出反应。当有人按门铃时,系统播放动听的音乐声,当需要作为防盗报警器用时,只要按动手中的遥控器将报警器设置成布防状态,此时报警器“嘟、嘟”响两声后便进入布防状态,这时只要有人在红外线探头监控范围内走过时,系统就发出响亮的110警车报警声。2 无线门铃开发背景为了满足需要,各种无线门铃应运而生,例如报警门铃,音乐门铃,感应门铃等。随着社会的进步学发展,无线遥控技术应用已经十分广泛。无线门铃的使用已经阔至乡村,其提供的方便可想而知。由于近些年来单片机技术的发展,配件的价格也在下降,无线门铃已经是普通家庭轻松购买的物品。单片机采用A
11、T89C51, AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。由于EPROM具有在线改写,并且在掉电状态保存存储数据的特点,可为用户的特殊应用提供便利。但是擦除和写入对于要求数据高速吞吐的应用还显得时间过长,这是EPROM芯片的主要缺陷。二、无线技术的发展1 无线技术的选择 无线有很多概念,无线门铃中的无线指的是无线接收,在无线的情况下,实现数据无线、无延
12、时传输。随着无线控制系统的技术发展和功能完善,其应用范围越来越广泛。因此无线设备中正确选择用于数据传输的硬件设备尤为关键。硬件的选择重要有以下几部分:1、 用于数据传输的单片机2、 用于接收的天线3、 用于信号连接的馈线4、 用于单片机与馈线及天线与馈线连接的射频连接器5、 用于设备供电的电源2. AT89C2051介绍AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存 储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼 容标准MCS-5l指令
13、系统,片内置通用8位中央处理器和Flash存储单元,功能强大。AT89C2051单片机可为您提供许多高 性价比的应用场合。主要性能参数: 与MCS-51产品指令系统完全兼容 2k字节可重擦写闪速存储器 1000次擦写周期 2.7V-6V的工作电压范围 全静态操作:0Hz-24MHz 两级加密程序存储器 128_8字节内部RAM 15个可编程I/O口线 2个l6位定时计数器 6个中断源 可编程串行UART通道 可直接驱动LED的输出端口 内置一个模拟比较器21 AT89C2051功能特性概述(1)标准功能2k字节Flash闪速存储器,128字节内部RAM,15个I/O口线,两个16位定时/计数器
14、,个5向量两级中断结构,一个全双工串行通信口,内置个精密比较器,片内振荡器及时钟电路。同时,AT89C2051 可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一 个硬件复位。(2)引脚功能说明Vcc:电源电压 ; GND:地 ; P1口:P1口是一组8位双向I/O口,P1.2-P1.7提供内部上拉电阻,P1.0和P1.1内部无上拉电阻,主要是考虑它们分别是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),如果需
15、要应在外部接上拉电阻。P1口输出缓冲器 可吸收20mA电流并可直接驱动LED。当P1口引脚写入“1”时可作输入端,当引脚P 1.2-P1.7用作输入并被外部拉低时, 它们将因内部的上拉电阻而输出电流(IIL),P1口还在Flash闪速编程及程序校验时接收代码数据;P3口:P3口的P3.0-P3.5、P3.7是带有内部上拉电阻的7个双向I/O口。P3.6没有引出,它作为一个通用I/O 口但不可访问,但可作为固定输入片内比较器的输出信号,P3口缓冲器可吸收20mA电流。当P3口写入“1”时,它们被 内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL); P
16、3口还用于实现一些特殊功能,如下表: 引脚功能特性P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。RST引脚一旦变成两个机器周期以上高电平,所有的I/O口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期;XTALl:振荡器反相放大器的及内部时钟发生器的输入端; XTAL2:振荡器反相放大器的输出
17、端;振荡器特性:XTALl、XTAL2为片内振荡器的反相放大器的输入和输出端,如下图所示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动AT89C2051,时钟信号从XTAL1输入,XTAL2应悬空。由于输入到内部电路是经过一个2 分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。(3)方框图4)特殊功能寄存器片内特殊功能寄存器(SFR)空间存储区的映象图如下表所示。0F8H0FFH0F0HB000000000F7H0E8H0EFH0E0HACC000000000E7H0D8H0DFH0D0HPSW000000000D7H0C8H0CF
18、H0C0H0C7H0B8HIPXXX000000BFH0B0HP3111111110B7H0A8HIE00XX00000AFH0A0H0A7H98HSCON00000000SBXXXXXXXX9FH90HP11111111197H88HTCON00000000TMOD00000000TL000000000TL100000000TH000000000TH1000000008FH80HSP00000111DPL00000000DPH00000000PCON0XXX000087H并非存储区中所有的地址单元都被占用,未占用的地址单元亦不能使用,如果对其进行读访问一般返回为随机数,写访问也不确定。这些单
19、元是为了以后利用这些未使用的地址单元扩展新功能而设置,所以用户软件不要对它们写“1”,在这种情况下, 新位的复位或不激活值总为“0”。(5)分支指令对于LCALL、LJMP、ACALL、AJMP、SJMP、JMPA+DPTR等指令,只要程序员记住这些分支指令的目的地址在程序存储器大小的物理范围内(AT89C2051程序地址空间为:000H一7FFH单元),这些无条件分支指令就会正确执行,超 出物理空间的限制会出现不可预知的程序出错。CJNE、DJNZ、JB、JNB、JC、JNC、JBC、JZ、JNZ等这些条件 转移指令的使用与上述原则一样,同样,超出物理空间的限制也会引起不可预知的程序出错。至
20、于中断的使用,80C51 系列硬件结构中已保留标准中断服务子程序的地址。(6)与MOVX相关的指令,数据存储器AT89C205l包含128字节内部数据存储器,这样,AT89C2051的堆栈深度局限于内部RAM的128字节范围内,它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行,因此程序中不应有MOVX指令。般的80C51汇编器即使在违反上述指令约束而写入指令时仍对指令进行汇编,用户应了解正在使用的AT89C2051微控制器的存储器物理空间和约束范围,适当地调整所使用的指令寻址范围以适应AT89C2051。程序存储器的加密:AT89C2051可使用对芯片上的两个加密位进行编程(P)或
21、不编程(U)来得到如下表所示的功能:程序加密位保护类型加密方式LB1LB21UU无程序加密功能2PU禁止进一步进行Flash闪速编程3PP同方式2,同时禁止校验空闲模式:在空闲模式下,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。 P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用上拉电阻的情况下设置为“1”。应注意的是:在用硬件复位终止空闲模式时,AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周期处恢复程序执行。在这种情况下片内
22、硬件禁止对内部RAM的读写,但允许对端口的访问,要消除硬件复位终止空闲模 式对端口意外写入的可能,原则上进入空闲模式指令的下一条指令不应对端口引脚或外部存储器进行访问。掉电模式: 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM 中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。 P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用外部上拉电阻时应设为“l”。Fash
23、闪速存储器的编程: AT89C2051是在擦除状态下(也即所有单元内容均为FFH时)用2k字节的片内PEROM代码存储阵列进行封装微控制器,其程序存储器是可反复编程的。代码存储阵列次编程一个字节,一旦阵列被编程,如需重新编程一非空(空为: FFH)字节,必须对整个存储器阵列进行电擦除. AT89C2051内Flash闪速存储器的编程和校验电路如图4和图5所示。内部地址计数器:AT89C2051内部包含一个PEROM编程地址计数器,它总在RST上升沿到来时复位到000H,并在XTAL1引脚上出现正跳变脉冲时进行加l计数。P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用外部
24、上拉电阻时应设为“l”。 编程方法:要对AT89C2051进行编程,推荐使用以下方法。 1.上电次序: 在Vcc和GND引脚之间加上电源。 设置RST和XTALl为GND电平。 其它引脚置空,等待至少10ms以上。 2.置RST引脚为高电平,置P3.2引脚为高电平。3.对引脚P3.3、P3.4、P3.5、P3.7按下表正确组合加上逻辑高“H”或低“L”电平即可对PEROM进行编程操作。方式PSTNPPP3.2/PROGP3.3P3.4P3.5P3.7写数据码12VLLHHH读数据码HHLLHH写时钟112VLHHHH212VLHHLL片擦除12VL2HLLL读签名字节HHLLLL编程和校验方法
25、如下:4.在000H地址单元对P1.0-P1.7输入数据代码字节。5.置RST端为+12V,激活编程。6.使P3.2跳变一次来编程PEROM阵列中的一字节或者加密位,写字节周期是自身定时的,一般需时1.2ms。7.当校验已编程的数据,使RST从+12V降到逻辑电平“H”,置P3.3-P3.7引脚到正确的电平即可从Pl口读取数据。8.对下一地址单元编程字节,使XTALl引脚正脉冲跳变一次使地址计数器加1,在P1口输入新的数据字节。 9.重复5至8,可对整个2k字节阵列全部编程,直到目标文件结束。 10.下电次序: 置XTALl为低“L”电平 置RST为“L”电平置空所有其它I/O引脚 关闭Vcc
26、电源 编程接口:Flash闪速存储器编程和效验时序参数:符号参数MinMaxUnitsVpp编程电压11.512.5VLpp编程电流250uATvgl建立数据到PROG变低时间1.0uSTfhdxPROG变低数据保持时间1.0uSTehshENABLE变高到Vpp时间1.0uSTshgl建立Vpp到PROG变低时间10uSTghsl加PROG后Vpp保持时间10uSTglghPROG宽度1110uSTelovENABLE到数据有效时间1.0uSTehozENABLE到数据浮空时间01.0uSTghblPROG变高到BUSY变低时间50uSTwc字节写周期2.0mSTbhilRDY/BSY到增加
27、时钟延时时间1.0uSThil时钟增量时间200uSAT89C2051 Flash闪存编程及效验时序:AT89C2051的极限参数及外部始终驱动波形:工作温度 -55C- +125C储藏温度 -85C- +15C任一脚对地电源 -1.0V - +7.0V最高工作电压 6.6V直流输出电流 20.5mA三、单片机技术基础1 单片机定义单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至
28、可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统
29、直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛
30、应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。2 单片机简介单片机又称
31、单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。 它是一种在线式
32、实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治
33、地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电
34、子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有
35、些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。3 单片机应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化
36、控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用:单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。(2)在工业控制中的应用:用单片机可以构成形式多样的控制系统、数据采集系统
37、。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用:可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(4)在计算机网络和通信领域中的应用:现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。(
38、5)单片机在医用设备领域中的应用:单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。(6)在各种大型电器中的模块化应用:某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。此外,单片机在工商,
39、金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。现今的单片机技术已经相当成熟,因此成本也相对于别的新产品低,同时稳定性也会更加的好。基于这些考虑,本设计使用AT89C2051进行控制。四、系统硬件设计1 元件发射端需要的元器件有AT89C2051芯片 CD4069、9018、10微电感一只、32.768kHz晶体、12VA23电池一节、常开按钮一个、部分阻容元件。 接收端需要的元器件有 CD4069、9018一只和9013两只、32.768kHz晶体、10微电感一只、1X2拨动开关一只、2音调音乐片一块、小型嗽叭一只、阻容元件若干。2 焊接介绍硬件的焊接是毕业设计中重要的环节,用的工
40、具很简单:电烙铁、焊丝和镊子。因为我们选用的是PCB板,所以需要自己画出原理图,制作PCB图,布线,转印,腐蚀,钻孔,焊接等过程,这就要有一定的技术基础,这个在我们以前的电娤实习和课程设计中已经掌握。焊接要细心,还要有耐心。焊接前要对照电路图对元器件有一个合理的布局,那样的话就会使电路简洁明朗,而且不易出错,即使出错也容易检查。焊接好后参照电路图,用万用表仔细检查各个元器件连接是否良好,是否对应。3 原理图(见附录)系统板上硬件连线 (1 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2 在“音频放大模块”区域中的SPK OUT端口上接上一个8
41、欧或者是16欧的喇叭; (3 把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;五、系统软件设计1 程序设计方法(1) 我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计时器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时。 (2) 在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。 (3) “叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。2 程序时
42、序图 T0中断服务程序框图 3. 汇编源程序T5HZ EQU 30HT7HZ EQU 31HT05SA EQU 32HT05SB EQU 33HFLAG BIT 00HSTOP BIT 01HSP1 BIT P3.7ORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB ET0SETB EANSP: JB SP1,NSPLCALL DELY10MSJB SP1,NSPSETB TR0MOV T5HZ,#00HMOV T7HZ,#00HMOV T05SA,#00HMOV T05SB,#
43、00HCLR FLAGCLR STOPJNB STOP,$LJMP NSPDELY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0: INC T05SAMOV A,T05SACJNE A,#100,NEXTMOV T05SA,#00HINC T05SBMOV A,T05SBCJNE A,#20,NEXTMOV T05SB,#00HJB FLAG,STPCPL FLAGLJMP NEXTSTP: SETB STOPCLR TR0LJMP DONENEXT: JB FLAG,S5HZINC T7HZMOV A,T7HZCJNE
44、A,#03H,DONEMOV T7HZ,#00HCPL P1.0LJMP DONES5HZ: INC T5HZMOV A,T5HZCJNE A,#04H,DONEMOV T5HZ,#00HCPL P1.0LJMP DONEDONE: RETIEND4 C语言源程序#include unsigned char t5hz;unsigned char t7hz;unsigned int tcnt;bit stop;bit flag;void main(void)unsigned char i,j;TMOD=0x02;TH0=0x06;TL0=0x06;ET0=1;EA=1;while(1)if(P3_7=0)for(i=10;i0;i-)for(j=248;j0;j-);