红外抄表电度表抄表器_第1页
红外抄表电度表抄表器_第2页
红外抄表电度表抄表器_第3页
红外抄表电度表抄表器_第4页
红外抄表电度表抄表器_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、设计主题:红外线抄表电能表-抄表装置毕业设计(论文)作业本毕业项目(论文)题目:红外线抄表电能表-抄表装置原始数据:近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,尤其是红外无线技术,已广泛应用于工业生产、家用电器、安防和人们的日常生活中。本文详细介绍了红外抄表系统的设计方案、硬件电路设计和软件设计,并使用keil仿真软件对开发的C语言程序进行了验证。本文第五章对系统的发展趋势和改进进行了探讨,为系统的进一步发展奠定了基础。本系统的关键部分主要是红外通信原理。系统在可行性和可靠性分析的基础上,参照工程设计方法确定了模块化设计的思路。该系统主要由四个模块组成:控制模块、发射模块、接收

2、模块和显示模块。 38kHz频率用作数据通信的载波。发射和接收模块对数字信号进行调制和解调,并通过LCD液晶显示器显示接收到的数据。系统还具有掉电保护和数据存储功能。使用红外抄表器完成琐碎的抄表工作。从而从根本上杜绝了“目视观察”带来的随机误差,大大提高了抄表效率。毕业设计(论文)的主要内容:本文主要介绍AT89S51单片机控制的红外抄表系统的设计。该系统主要由四个模块组成:控制模块、发射模块、接收模块和显示模块。系统的数据是通过发射板的3个按钮按照一定的计算规则得到的。发射管发射的38kHz频率载波由单片机编程控制。发射模块对发射的数字信号进行适当的调制和编码,然后通过发射管的转换电路将其转

3、换成红外光脉冲发射到空气中;接收模块对接收到的红外光脉冲进行光电转换,解调解码,还原为原始数字信号。接收到的数据通过LCD1602液晶显示器显示。主要参考资料:1胡汉才,单片机原理及其接口技术M,清华大学, 1996,48 622德进,MCS-51系列单片机接口电路及应用实例M,航空航天大学,1990,21843 戚薇,婷,MCU C51编程教程与实验M,航天,20064凌志浩,仪器原理与设计技术M5 徐小平,小燕,程传生。 PCB设计标准教程M,邮电大学,20086胡伟,季晓恒,MCU C编程与应用实例M,人民邮电,20037 程道喜,传感器信号处理与接口M,科学,19898蒋欣,华军,董军

4、,MCU编程与应用从基础到实践M,电子工业,20019胡汉才,单片机原理及其接口技术M,清华大学,1995,(6),11212610常瓒,红外与超声波遥控M,人民邮电,199711 宇翔,新型遥控接收模块HS0038J,无线电,1998学生需提交的文件:毕业设计作业本毕业项目中期清单毕业论文设计评分评估表纸日程:第 1 至第 3 周:数据回顾、文献回顾。第 4 周:提交开场报告。第 5 周至第 6 周:整体计划设计。第 7 至 11 周:数据收集。第 12 周至第 14 周:改进系统设计并撰写毕业论文。第15周:修改和完善毕业论文,准备毕业答辩。专业班测控技术与仪器专业学生设计(论文)工作开始

5、和结束日期导师签字日期主要(部门)主任签字日期红外线抄表电能表-抄表装置概括近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,尤其是红外无线技术,已广泛应用于工业生产、家用电器、安防和人们的日常生活中。本文详细介绍了红外抄表系统的设计方案、硬件电路设计和软件设计,并使用keil仿真软件对开发的C语言程序进行了验证。本文第五章对系统的发展趋势和改进进行了探讨,为系统的进一步发展奠定了基础。本系统的关键部分主要是红外通信原理。系统在可行性和可靠性分析的基础上,参照工程设计方法确定了模块化设计的思路。该系统主要由四个模块组成:控制模块、发射模块、接收模块和显示模块。 38kHz频率用作数据

6、通信的载波。发射和接收模块对数字信号进行调制和解调,并通过LCD液晶显示器显示接收到的数据。系统还具有掉电保护和数据存储功能。使用红外抄表器完成琐碎的抄表工作。从而从根本上杜绝了“目视观察”带来的随机误差,大大提高了抄表效率。关键词:通信,红外抄表,微控制器,调制,解调目录 TOC o 1-3 h z u HYPERLINK l _Toc310543257 1简介 6 _ _ PAGEREF _Toc310543257 h HYPERLINK l _Toc310543258 1.1选题背景及意义 PAGEREF _Toc310543258 h 6 HYPERLINK l _Toc3105432

7、59 1.2课题6总体设计方案 PAGEREF _Toc310543259 h HYPERLINK l _Toc310543260 2系统硬件设计 PAGEREF _Toc310543260 h 8 HYPERLINK l _Toc310543261 2.1控制模块 PAGEREF _Toc310543261 h 8 HYPERLINK l _Toc310543262 2.2发射模块 PAGEREF _Toc310543262 h 9 HYPERLINK l _Toc310543263 2.3接收模块 PAGEREF _Toc310543263 h 11 HYPERLINK l _Toc310

8、543264 2.4显示模块 PAGEREF _Toc310543264 h 13 HYPERLINK l _Toc310543265 3系统软件设计 PAGEREF _Toc310543265 h 17 HYPERLINK l _Toc310543266 3.1 38kHz频率产生与传输方案设计 PAGEREF _Toc310543266 h 18 HYPERLINK l _Toc310543267 3.2数据计算程序 PAGEREF _Toc310543267 h 20 HYPERLINK l _Toc310543268 3.3显示模块编程 PAGEREF _Toc310543268 h

9、21 HYPERLINK l _Toc310543269 3.3.1数码管显示 PAGEREF _Toc310543269 h 21 HYPERLINK l _Toc310543270 3.3.2 LCD液晶显示程序 PAGEREF _Toc310543270 h 22 HYPERLINK l _Toc310543271 3.4接收模块编程 PAGEREF _Toc310543271 h 26 HYPERLINK l _Toc310543272 4电路板的制作 PAGEREF _Toc310543272 h 28 HYPERLINK l _Toc310543273 4.1示意图的绘制 PAGE

10、REF _Toc310543273 h 28 HYPERLINK l _Toc310543274 4.2 PCB图的生成 PAGEREF _Toc310543274 h 28 HYPERLINK l _Toc310543275 4.3印刷和焊接电路板 PAGEREF _Toc310543275 h 29 HYPERLINK l _Toc310543276 5系统调试 PAGEREF _Toc310543276 h 30 HYPERLINK l _Toc310543277 5.1硬件调试 PAGEREF _Toc310543277 h 30 HYPERLINK l _Toc310543278 5

11、.2软件调试 PAGEREF _Toc310543278 h 30 HYPERLINK l _Toc310543279 结束语 PAGEREF _Toc310543279 h 32 HYPERLINK l _Toc310543280 参考文献 PAGEREF _Toc310543280 h 33 HYPERLINK l _Toc310543281 致 PAGEREF _Toc310543281 h 34 HYPERLINK l _Toc310543282 附录 1:启动示意图 PAGEREF _Toc310543282 h 36 HYPERLINK l _Toc310543283 附录二:接收

12、机原理图 PAGEREF _Toc310543283 h 37 HYPERLINK l _Toc310543284 附录三:源程序 PAGEREF _Toc310543284 h 381 简介1.1 选题背景及意义众所周知,电表是非常重要的计量器具,其计量精度直接关系到千家万户的利益。为此,国家制定了严格的标准,各电表生产企业在严格遵守国家标准的基础上,实施更严格的控制标准。事实上,每一张出厂的合格表都经过了严格的验证和错误处理,而这些错误处理通常包括硬件和软件处理。因此,用户最终使用的电表计量精度达到国家标准。然而,在电表的实际应用过程中,由于人为操作给其测量带来各种随机误差,最突出的就是抄

13、表。目前,在我国,大部分抄表工作仍采用“目视观察”。即抄表人员挨家挨户抄电能表的表值。可想而知,这种抄表方式效率低、劳动强度大、不准确,但在国内仍占据主流地位。所以“人眼”抄表带来很多不便。目前,我国城乡居民的电表、水表、燃气表的抄表方式基本都是人工抄表,即抄表人员每个月对水表、电表、燃气表一一查表。这种落后的方式耗费大量的人力物力,数据采集时间跨度大,数据采集准确率低。因此,国家有关部门规定,未来计算机自动抄表系统将逐步取代传统的人工抄表。使用红外抄表器完成琐碎的抄表工作。从而从根本上杜绝了“目视观察”带来的随机误差,大大提高了抄表效率。本设计是一种基于单片机的红外抄表系统,它利用红外这种非

14、电信号作为传输介质来传输数据信息。实现电能表抄表,通过LCD液晶显示屏显示读数,完成电能表用电量的复制。1.2 课题总体设计方案本文主要介绍AT89S51单片机控制的红外抄表系统的设计。该系统主要由四个模块组成:控制模块、发射模块、接收模块和显示模块。系统的数据是通过发射板的3个按钮按照一定的计算规则得到的。发射管发射的38kHz频率载波由单片机编程控制。发射模块对发射的数字信号进行适当的调制和编码,然后通过发射管的转换电路将其转换成红外光脉冲发射到空气中;接收模块对接收到的红外光脉冲进行光电转换,解调解码,还原为原始数字信号。接收到的数据通过LCD1602液晶显示器显示。图1-1 电源及电池

15、供电电路设计图系统具有断电保护功能,可在断电时保护存储的数据信息。图 1-1 显示了电源和电池供电电路的设计。有外接电源时,VCC电压高于电池电压,二极管处于截止状态,电池不给单片机供电;当VCC电压低于电池电压时,二极管处于导通状态,电池为单片机供电,保证数据不丢失。 .它还具有数据存储功能,可以按整体键查看之前收到的数据。图 1-2 显示了系统工作的总体框图。单片机发射模块致接收模块单片机显示模块数据设置显示模块图1-2系统框图2 系统硬件设计硬件电路主要由两个单片机控制模块、发射模块、接收模块、显示模块和一些外围驱动电路组成。2.1 控制模块图 2-1 AT89S51 实体图AT89S5

16、1是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机。该芯片包含 4K 可编程 Flash 只读程序存储器。该设备采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令。系统和引脚。它在单片机芯片中集成了可在线(ISP)或传统方法编程的Flash程序存储器和通用8位微处理器。 ATMEL功能强大,价格低廉。 AT89S51单片机可提供多种高性价比应用,可灵活应用于各种控制领域。 89S51单片机实物图如图2-1所示。AT89S51提供以下标准功能:4K字节闪存、128字节RAM、32个I/O端口、看门狗(WDT)、2个数据指针、2个16位定时器/计数器、1个5

17、向量二级中断结构、全双工串行通信口、片上振荡器和时钟电路。同时,AT89S51 可以低至 0Hz 静态逻辑操作,并支持两种软件可选的省电操作模式。空闲模式停止 CPU 的工作,但内容 RAM、定时器/计数器、串行通信端口和中断系统继续工作。掉电模式节省了 RAM 的容量,但振荡器停止并且所有其他工作部件都被禁用,直到下一次硬件复位。AT89S51在日常应用中经常用到,也熟悉其最基本的电路驱动电路。首先要有一个5V驱动直流电源。现在已有5V直流供电模块,可以直接用5V直流供电模块作为电源驱动单片机AT89S51。这是在 VCC 引脚连接 5V 电源。 GND 接地,此时 EA 脚接 5V 电源,

18、无需下载程序。接下来,我们需要给AT89S51一个时钟电路。为了方便计算时钟频率,我们在引脚 XTAT1 和 XTAL2 上设计了外部 12M 晶振的振荡模式。再加上两个 30pF 的电容,就构成了时钟电路。最后,还有一个复位电路。单片机的复位由外部复位电路实现。复位引脚RST通过施密特触发器连接到复位电路。施密特触发器用于抑制噪声。施密特触发器的输出电平由复位电路采样一次,即可得到部分复位操作所需的信号。 .复位电路采用10K电阻,外加10uF电解电容和复位按钮,组成复位电路。由于AT89S51的内存足够了,我就不用设计外扩内存的电路了。专门设计的 AT89S51 最基本的外围电路已经设计完

19、成,最小系统原理图如图 2-2 所示。图2-2 最小系统示意图2.2发射模块红外发射模块使用红外发光二极管发射调制后的红外光波。红外发射器发出的红外光被转换成相应的电信号,然后送到前置放大器进行放大。红外发射电路的信号一般采用二级调制。在红外数据传输的信号调制方式中,采用脉冲调制的二进制不归零码。这种调制方式比较简单,编解码方便,有利于电路的简化。红外发射管主要有LED封装行业常用的三个波段,分别为: 850nm 、 875nm 、 940nm 。根据波长的特性,使用的产品也有很大差异。 850nm波长主要用于红外监控设备,875nm波长主要用于医疗设备,940nm波长主要用于红外控制设备。该

20、系统使用红外 940nm 波段。图 2-3 为红外发射二极管的实物图。图2-3 发射极二极管实物图对于 QUOTE 红外发射模块,要注意以下问题:首先,由于红外发射二极管PN结电容的存在,其工作频率会受到影响 QUOTE 。二、由于红外发光二极管大多采用球面透镜封装,红外发光二极管的发射指向角较小,为了提高发射光的指向特性,使之在较宽的范围内偏移正常,方法应该使用多管道并发。但是为了综合考虑这个系统,还是使用了红外线发射管。图2-4 发射管连接图本系统红外发射模块的连接方法如图2-4所示,接单片机的P1.0引脚。两个电阻是用来限流的,R121是防止过大电流烧坏三极管,R122是防止过大电流烧坏

21、红外线发射管D121,三极管主要起到放大电流的作用,使红外发射更远,当单片机P1.0端口赋值为1时,三极管工作,红外发射管工作发射红外线。当单片机的P1.0赋值为0时,三极管不工作,红外发射管不工作。发射管部工作流程图如图2-5所示。图2-5 发射管部工作流程2.3 接收模块集成红外接收模块集数据信号的接收、放大、检测、整形为一体,输出单片机可识别的信号,大大简化了接收电路的复杂度和电路的设计,便于使用。本系统采用红外一体化接收机(HS0038)。接收模块实物图如图 2-6 所示。 HS0038采用黑色环氧树脂封装,不受太阳光、荧光灯等光源的干扰。它具有磁屏蔽、低功耗和高灵敏度。在用小功率发射

22、管发射信号的情况下,接收距离可达35m 。它与TTL和CMOS电路兼容。 HS0038为立式侧受光型。它接收频率为38 kHz、周期约为26 s的红外信号。同时对信号进行放大、检测、整形,得到TTL电平的编码信号。这三个引脚分别是地、+5 V电源和解调信号输出。图2-6 接收模块实物图 图 2-7 接收模块测试图表 2-1 红外接收模块主要参数工作电压4.8-5.3V工作电流1.7-2.7mA接收频率38kHz峰值波长940nm静态输出高水平输出低电平0.4V输出高电平接近工作电压2-7所示电路可以对红外一体机进行质量测试。在HS0038的电源端子2和信号输出端子3之间连接一个二极管和一个发光

23、二极管后,再与指定的工作电源(+ 5V )匹配,当您按住遥控器并按任意按键接收头,发光二极管会闪烁,表示红外接收头和遥控器工作正常;如果发光二极管不闪烁,说明红外接收头和至少一个遥控器损坏。只要遥控器工作正常,就很容易判断红外接收器的好坏。使用红外接收模块时,请确保HS0038接收模块良好接地,以防干扰。由于本模块抗连续脉动光干扰的特性,在数据通信时,致一个字节,暂停大小为一个字节占用的时间宽度。 ,以满足该模块的脉动占空比要求。如果致一个字节后没有停顿,接收方会认为是光噪声,导致通信失败。接收模块的部分结构如图2-8所示。图2-8 接收模块结构图本系统在使用接收模块时在电源端和接地端之间加了

24、一个电容,主要是因为电源波形影响信号的输入,加一个电容有滤波和提高灵敏度的作用。接收模块的连接示意图如图 2-9 所示。图2-9 接收管原理连接图2.4 显示模块该液晶显示模组具有体积小、功耗低、显示能力丰富的特点。液晶显示的原理是利用液晶的物理特性,通过电压来控制其显示区域。本系统发射板使用的显示模块为4位共阳极LED数码管,采用动态扫描方式显示待致数据。使用数码管显示信息时,由于每个数码管至少需要8个I/O口,如果需要多个数码管,则需要的I/O口太多,而单片机的I/O口是有限的。因此,在实际应用中,一般采用动态显示的方法来解决这个问题。下面简单介绍一下数码管。数码管是一种半导体发光器件。它

25、的基本单元是一个发光二极管。数码管按段数分为七段数码管和八段数码管。数码管多一个LED单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位数码管;按LED单元的连接方式可分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极连接在一起形成一个共阳极(COM)的数码管。使用共阳极数码管时,共极COM应接+5V。当某一场的 LED 的阴极为低电平时,相应的场就会亮起。当某一场的阴极为高电平时,相应的场将不亮。 .共阴极数码管是指将所有发光二极管的阴极连接在一起形成共阴极(COM)的数码管。使用共阴极数码管时,共极COM应接地线GND。当某一场的LED的阳极处于高电平

26、时,相应的场就会亮起。当某一场的阳极为低电平时,对应的场不亮。系统采用LCD1602液晶显示器显示接收到的数据信息。 LCD1602可显示2行16个字符,具有8位数据总线D0-D7和RS、R/W、E三个控制端口,工作电压为5V。 LCD 1602液晶模组的字符生成存储器(CGROM)存储了160个不同的点阵字符图形,这些字符分别是:阿拉伯数字、英文字母的大小写、常用符号、日文假名等,每个字符是有一个固定的代码。例如,大写英文字母“A”的代码为 01000001B (41H)。显示时,模块显示地址41H处的点阵字符图形,我们可以看到字母“A”。 LCD1602的结构由DDRAM、CGROM、IR

27、、DR、BF、AC等大规模集成电路组成。 (1) DDRAM是数据显示用的RAM,用来存放LCD要显示的数据。只要将标准的ASCII码放入DDRAM中,控制电路就会自动将数据传输到显示器,并显示出ASCII对应的字符。 . (2) CGROM是字符生成器ROM,用户可以使用它来存储特殊形状的字符代码。 CGROM 最多可存储 8 个字符。 (3) IR为指令寄存器,负责存放MCU要写入LCD的指令码。当 RS 和 R/W 引脚信号为 0 且 E 引脚信号由 1 变为 0 时,D0-D7 引脚上的数据将存储在 IR 寄存器中。 (4) DR是数据寄存器,负责存储单片机要写入CGRAM或DDROM

28、的数据。因此,DR 可以看作是一个数据缓冲区。当 RS 和 R/W 引脚信号为 1 且 E 引脚信号从 1 变为 0 时,读取数据。当 RS 引脚信号为 1,R/W 引脚信号为 0 且 E 引脚信号由 1 变为 0 时,数据被存储。图2-10 LCD液晶显示器示意图图 2-10 为液晶显示器的示意图。 8 位数据总线由微控制器的 I/O 端口 P2 控制。 RS管脚的高低电平控制数据和指令的写入,R/W管脚的高低电平控制数据的读写。图 2-11 显示了模拟接线图。 LCD液晶屏的第三脚接滑动压敏电阻,目的是调节LCD的对比度,使显示达到合适的效果。当电阻滑动最靠近电源端时对比度最弱,而当电阻滑

29、动最靠近接地端时对比度最高。但是当对比度太高时,就会出现“重影”,所以使用滑动压敏电阻来调节对比度。 LCD1602液晶显示器的主要技术参数如表2-2所示。图 2-12 显示了读操作时序的控制器接口图。表2-2 LCD1602主要技术参数显示容量162 个字符芯片工作电压4.5-5.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符大小2.954.35(宽高) mm表 2-3 LCD1602 LCD 接口信号说明编号象征引脚说明编号象征引脚说明1VSS电源地9D2数据输入/输出2VDD正电源10D3数据输入/输出3VLLCD偏置信号11D4数据输入/输出4RS数据/命令选择器12D

30、5数据输入/输出5读/写读/写选择13D6数据输入/输出6乙使能信号14D7数据输入/输出7D0数据输入/输出15BLA背光正极8D1数据输入/输出16黑色背光负极图 2-11 模拟接线图图2-12 读操作时序控制器接口图3 系统软件设计程序的编程将涉及编程语言的选择。我们先看看汇编语言和C语言的特点,然后再选择语言。(1) C语言:C语言是国外广泛使用的计算机语言,是计算机应用人员应掌握的编程工具。 C语言功能丰富、表达能力强、使用灵活方便、应用广泛、目标程序效率高、可移植性好。它既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合编写系统软件。除了这些特点,C语言还具有以下

31、优点:在不完全了解单片机系统具体硬件的情况下,也可以编译出符合硬件实际专业水平的程序;可以适应片上存储器的大小;中断服务程序 现场保护与恢复,中断向量表的填充与单片机直接相关,均由C编译器处理;提供通用标准函数库供用户直接使用;头文件中定义了宏,用于描述复杂的数据类型和函数原型,有利于程序的移植和支持单片机的系列产品的开发;语法检查严格,错误少,在高级语言级别可以轻松快速消除;可以方便地接受多种应用程序,例如片上资源的初始化由专门的应用程序自动生成;再比如,有实时多任务操作系统,可以调度多任务,简化用户编程,提高操作安全性等。(2) 汇编语言:汇编语言是计算机能够提供给用户的最快、最有效的语言

32、,也是唯一能够利用计算机的所有硬件特性,直接控制硬件的语言。是必不可少的,而且对于很多需要直接控制硬件的应用来说,使用汇编语言是很有必要的。除了这些特性之外,汇编语言还具有以下特性:占用内存单元和CPU资源少,可直接控制硬件;程序短,执行速度快; 可直接调用单片机所有资源,有效利用单片机独有特性; 能准确掌握指令的执行时间,适用于实时控制系统。红外抄表系统的软件程序设计主要由主程序、发射程序、显示程序和接收程序组成。通过以上两种语言的分析,由于C语言程序有利于实现更复杂的算法,同时程序也更复杂,要控制多个组件模块。为了能够以简单有序的方式编辑程序。两种语言都有自己独特的特点。结合自己的情况,我

33、对C语言比对汇编语言更熟悉,而且C语言的应用时间比汇编语言要长,所以最终选择用C语言编写系统程序。图 3-1 为红外抄表系统的整体程序流程图。初始化操作在系统开始工作时进行。是否致数据由key控制。初始化子程序数值按键扫描数码管显示是运行接收程序LCD显示后续处理接收按键扫描开始运行致程序否图 3-1 系统软件流程图3.1 38kHz频率产生及发射方案设计38kHz频率可有效防止阳光和灯光的干扰,使通讯距离更远。现在讨论生成 38kHz 频率的两个选项。选项 1:分频电路产生图 3-2 分频电路图如图 3-2 所示,将 455kHz 晶振除以 12 得到 38kHz。由455 kHz晶振CRY

34、、反相器74HC04和电阻电容组成的振荡器产生455 kHz的方波信号。经过脉冲分频器74LS92,六分频成为75.83 kHz的脉冲信号。然后通过D触发器组成的2频/整形电路变成38 kHz的方波信号。本方案的振荡器采用晶振,因为晶振的频率非常稳定。 RC振荡器稳定性差,常因偏差大而缩短控制距离。选项 2:软件生成 38kHz 频率f=38kHzT=1/f计算出的T26.3us如图3-5所示,发射管接单片机的P1.0引脚,所以只要控制单片机P1.0引脚的高低电平周期,周期为26.3us .程序如下:对于(a=aa;a0;a-)出=1;我=7;而(i0)i-;出=0;以下程序先致3.028ms

35、 38kHz频率,然后停止致2.012ms。这两个段用于让接收模块识别和防止来自其他信号的干扰。然后开始致数据,经过k H z(40) (致时间为1ms)后,判断数据的最后一位是“1”还是“0”。如果数据为“1”,则停止致delayms(93) ,否则停止致delayms(65) (1ms)。致一个数据时, num=num1个数据位右移一位,然后判断致。这样,数据致了 8 次。致命令k H z(20)后,停止致。致和接收波形如图 3-3 所示。a=2ms b=1ms c=1.5ms图 3-3 致和接收波形千赫兹(116);延误(125);for(num1=8;num10;num1-)千赫兹(4

36、0);如果(数字&0 x001)delayms(93);/延迟1.5ms别的delayms(65);/延迟1ms数=数1;如图 3-4 所示,载波频率为 38kHz:低电平为 17us,高电平为 9us,17+9=26us 比 26.3 快一点。高低电平时间不是一个固定值,只要总和等于26us,就致38khz的频率。图 3-4 计算出的载波频率3.2 数据计算程序系统使用发射板的三个按键设置要致的数据。这三个键是一、十和一百控制键。数值计算规则如下:每按一次按钮,相应的位就会增加一。使用软件编程将每一位相加。每个位最多只能按到9,超过9时返回0,蜂鸣器响一次,重复计算。比如点击数位、十位、百位

37、,得到数据111。计算规则很简单。以下程序为百位控制: key1 为百位控制键。首先,执行键扫描。当按键引脚为低电平时,表示按键未被按下,继续等待;当引脚为高电平时,表示按键被按下。按下后蜂鸣器响一次,百位加一。计算百位的部分程序如下:如果(键1=0)延迟毫秒(10);如果(键1=0)而(!key1);白+;如果(白=10)白=0;啤酒=1;延迟毫秒(100);啤酒=0;以上是百位的计算过程,十位和个位同样如此。扫描一次按键后,执行总计算程序并由数码管显示。总和计算公式为: zong=bai*100+shi*10+ge 。3.3 显示模块编程3.3.1 数码管显示在数码管的动态显示程序中,每一

38、位的延迟时间非常重要。如果延迟时间长,会出现闪烁;如果延迟时间太短,则显示会变暗并出现重影。所有数码管的段位选择都是连在一起的,动态显示是多个数码管交替显示,利用人类视觉暂留功能,人们可以看到多个数码管同时显示。编程时需要输出段选择和位选择信号。位选择信号选择其中一个数码管,然后输出段码,使数码管显示所需的内容。延迟一段时间后,选择另一个数码管。然后输出对应的段码,高速交替。比如需要显示数字“12”时,先输出位选择信号选择第一个数码管,延时一段时间后输出段码1,选择第二个数码管,输出2的段码。如果上述过程以一定的速度循环执行,则可以显示“12”。由于交替的速度非常快,所以人眼看到的是一个连续的

39、“12”。先显示百位,延迟后显示十位,最后显示所有位。它将按照设定的时间连续显示。交替显示,利用人类视觉暂留,可以让人们看到同时显示的多个数码管。使看到 3 个连续的数字。一些程序如下:P2=dispcodebai;P0=dispbitcode0;延迟毫秒(10);P0=dispbitcode3;P2=dispcodeshi;P0=dispbitcode1;延迟毫秒(10);P0=dispbitcode3;3.3.2 LCD液晶显示方案液晶显示器的分类方法很多,通常按其显示方式可分为段式、字符式、点阵式等。除了黑白显示,液晶显示器还有多灰度和彩色显示。按驱动方式可分为静态、简单矩阵和有源矩阵三

40、种。(1)线段的显示点阵形式的液晶由MN个显示单元组成。假设液晶显示器有64行,每行128列,每8列对应1个字节的8位,即每行由16个字节组成,共168=128个点,64屏幕上的16个显示单元对应显示RAM区的1024个字节,每个字节的容量对应显示屏幕上相应位置的亮度。例如,屏幕第一行的亮度由 RAM 区 000H00FH 的 16 字节容量决定。 (000H)=FFH时,屏幕左上角显示一条长度为8点的短亮线;当(3FFH)=FFH时,屏幕右下角显示一条短亮线;当 (000H)=FFH, (001H)=00H, (002H)=00H,.(00EH)=00H, (00FH)=00H 时,屏幕上会

41、显示一条由 8 条亮线和 8 条暗线组成的虚线屏幕顶部。这是液晶显示器的基本原理。(2)字符的显示用 LCD 显示字符比较复杂,因为一个字符由 68 或 88 的点阵组成,需要找到显示 RAM 区域的 8 个字节对应于显示屏上的某些位置,并使每个字段的不同位为“1”,其他为“0”,“1”亮,“0”不亮。这样就形成了一定的性格。但是,对于带字符发生器的控制器,控制器可以工作在文本模式,根据LCD上显示的行列数和每行的列数找出显示RAM对应的地址,设置光标, 并致到这里。输入字符对应的代码。(3)汉字显示汉字的显示一般采用图形的形式。预先从微机中提取要显示的汉字的点阵码(一般使用字体提取软件),每

42、个汉字占32B,分为左右两半,各占16B,左边是1、3、 5.右边是2,4,6.根据LCD上显示的行列号和每行的列数,可以找到显示RAM对应的地址,光标为设置,并致要显示的汉字的第一个字符。段,光标位置加1,致第二个字节,换行与列对齐,致第三个字节直到显示32B,LCD上就可以得到一个完整的汉字了。 1602 LCD 模块控制器的控制指令如表 3-1 所示。 LCD 液晶显示流程图如图 3-5 所示。表 3-1 1602 LCD 模块控制器说明序列号操作说明RS读/写D7D6D5D4D3D2D1D01清晰的显示00000000012光标返回000000001*3设置输入模式00000001ID

43、小号4显示开/关控制0000001DC乙5光标或字符移位000001S/C右/左*6设置功能00001深度学习F*7设置字符生成内存地址0001字符生成内存地址8设置数据存储器地址001显示数据存储器地址9读取繁忙标志或地址01高炉柜台地址10将数据写入 CGRAM 或 DDRAM)10要写入的数据11从 CGRAM 或 DDRAM 读取11读取数据内容1602液晶模块的读写操作、屏幕操作和光标操作都是通过指令编程实现的。 (注:1为高电平,0为低电平)命令1:清空显示,命令代码为01H,光标复位到地址00H命令 2:光标复位,光标返回地址00H命令 3:光标和显示模式设置命令4:显示开关控制

44、命令 5:光标或显示移位命令6:功能设置命令指令 7:字符发生器RAM地址设置指令 8: DDRAM地址设置指令 9:读取忙信号和光标地址指令 10:写入数据指令11:读取数据开始LCD初始化延时设第一行显示位置显示第一行内容设第二行并显示位置显示第二行内容图 3-5 液晶显示流程图液晶显示模块是慢速显示设备,所以在执行每条命令之前,请确保模块的busy标志为低,表示不忙,否则命令无效。当要显示字符时,首先要输入显示字符地址,即告诉模块在哪里显示字符。 LCD1602 液晶屏的显示地址如图3-6 所示。图 3-6 LCD1602 液晶屏显示地址比如第二行第一个字符的地址是40H,那么直接写40

45、H可以将光标定位到第二行第一个字符的位置吗?这样不行,因为写显示地址时要求最高位D7为恒定高电平1,所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在液晶模组的初始化中,首先要设置它的显示模式。当液晶模组显示字符时,光标会自动向右移动,无需人工干预。在输入每条命令之前,需要判断液晶模块是否处于忙碌状态。LCD 1602液晶模组存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用符号、日文假名等。有固定的代码。例如,大写英文字母“A”的代码为 01000001B (41H)。显示时,模块显示地址41H处

46、的点阵字符图形,我们可以看到字母“A” 。一些程序如下:无效 adr_write(无符号字符 adr)延迟(20);e=0;rs=0;rw=0;e=1;lcd_data=adr;e=0;使用时要进行初始化操作,如两行显示、清晰显示、是否需要光标、从哪里开始显示等。一些程序如下:adr_write(0 x38); /两行显示,5*7模式adr_write(0 x01);/清除显示adr_write(0 x0c); /整体显示开启,光标不显示adr_write(0 x06);adr_write(0 x80);/从第一行的第一个位置开始显示“请通电!”从坐标 (0,0) 和 (1,0) 将为空。然后

47、按照相同的显示定位显示“Has Boot!”和“想你!” .最后显示接收到的数据,第一行显示“DianDuShuZhi:”加值,第二行为空。无效的显示初始化()str_write(请开机!);str_write( );无效的 display_on()str_write(已开机!);str_write(想你!);无效显示()str_write(点读术志:);按下积分键时,显示之前存储的数据。由于这种设计的显示屏比较小,所以只设置了4个读数显示。第一行显示两个数字,第二行显示两个数字,显示方法为:第一行: DS1: +value DS2: +value第二行: DS 3 : +value DS 4

48、 : +value一些程序如下:str_write(DS1:);ddr_write(tablenum1/100);ddr_write(tablenum1/10%10);ddr_write(tablenum1%10);str_write(DS2:);ddr_write(tablenum2/100);ddr_write(tablenum2/10%10);ddr_write(tablenum2%10);3.4 接收模块编程红外接收器在接收数据时,首先要识别脉冲信号,判断是否为所需信号。系统采用外部中断方式对数据进行识别和解码。当接收到一个红外信号时,立即屏蔽其他红外信号并识别该信号。部分识别流程如下

49、:无效 sieasdf() 中断 0EX0=0;对于(a=5;a0;a-)delayms(35);/延迟0.5ms判断5次5*0.5=2.5ms进行5次判断,如图3-7所示:发射模块发射频率为3ms38kHz,接收模块进行2.5ms判断。如果是正确的信号,则执行解码过程,否则跳出解码过程。程序的解码部分如下:如果(腿)delayms(72);/延迟1ms判断是否为高电平如果(在)delayms(115);/延迟使其超过2ms; 2.5+1+1.623=5.123ms图 3-7 波形识别对于(a=10;a0;a-)而在);delayms(86);/延迟1.188ms判断IO电平数=数1;如果(在

50、)delayms(31);/延迟0.6ms门=数字;解码完成如果不是正确的信号,它会跳出来。跳出程序: if(in)fleg=0;4 电路板的制作4.1 示意图绘制本次设计的红外通信系统的原理是在综合分析其可行性和经济性的前提下,查阅大量资料,在图书馆和网上查阅资料,制作电路原理图得到的。在我有了可靠的电路原理图后,我需要做的就是将电路原理图变成一个硬件,使其能够执行其预期功能。如果使用万能板,则不需要画电路图,只需按照原理图将元器件放在万能板上,用电线焊接即可。但是,使用万能板时有很多不便之处。比如焊接过程中需要跳线,板子本身不够美观。所以为了得到更好的效果,我们一般都使用腐蚀板,所以我们第

51、一步就是在protel 99SE中画出电路原理图。本设计的电路图中的元件基本都在protel 99SE的标准元件库中,但是四位七段共阳极数码管在标准库中没有找到,所以画图的时候需要画一个电路原理图。数码管,也做了个封装图,用的LCD1602在库元件和封装中没有找到,这也需要我测量元件的管脚,找出它的原始参数,做成原图和包库。做完这些,基本上就可以画出完整的电路原理图了。首先,我们需要调用组件库中的各个组件,将各个模块的组件放在一起,然后用线将它们连接起来,就完成了原理图的基本绘制。4.2 PCB图的生成在上一节中,我提到了在protel 99SE中绘制的示意图。如果要生成用于制作电路板的PCB

52、图,首先要确认我们之前绘制的电路原理图的正确性,并确定各个元件的连接。它们都是连接在一起的,所以我们需要在生成PCB之前对每个组件进行封装。封装库中没有的元器件必须自己制作,比如上面提到的四位七段数码管的封装。封装每个组件时,定义每个组件的编号,编号必须一一对应,不重复。电阻:AXIAL0.3AXIAL0.7 其中0.40.7是指电阻的长度,一般用AXIAL0.4陶瓷电容:RAD0.1RAD0.3 其中0.10.3是指电容的大小,一般用RAD0.1电解电容:RB.1/.2RB.4/.8 其中.1/.2.4/.8指的是电容的大小。一般470uF用RB.3/.6二极管:DIODE0.4DIODE0

53、.7 其中,0.40.7是指二极管的长度。一般使用DIODE0.4。集成块:DIP8DIP40,其中840指多少个引脚,8个引脚为DIP8贴片电阻石英晶体振荡器:XTAL1单排多针插座:SIP双直列式组件:DIP然后进行元件的电气检查。如果检查没有错误,则表明没有错误。如果出现错误,连接未连接等,只会在示意图中指示。然后是生成网络报告,显示所有组件的包号、序列号等。只要没有错误就可以生成PCB图。 PCB生成后,需要接线,焊盘的大小,线的粗细,每个元件的实际位置。接线是一件很麻烦的事情。既要尽量不要穿越,也要美美等等。这个工作时间长的话,两三天到一周,熟悉的话半个半时间就可以完成一天又一天。就

54、像我之前没有太多的接触,所以接线比较困难,需要更多的时间,但我也从中学到了很多。4.3 板印刷和焊接考虑到本系统用到的元器件少,大部分功能都是通过软件编程实现的,也考虑到毕业设计的成本,所以使用的板子都是手工制作的PCB板。在电路板的生产中,首先要进行电路布局。使用PROTEL软件模拟实际电路板的电路方向,尽量避免电路交叉短路,电源电路尽量布置在电路板最外圈。 PCB板烧毁后,焊接工作开始。焊接后,检查电路板,将原始电路图与实际焊接的电路板进行比较。由于电路不多,可用万用表的欧姆档或短路声音指示功能检测焊点,避免焊接过程。同时保证漏焊、虚焊、走线错误等问题,保证制作电路与原设计电路的一致性。5

55、 系统调试5.1 硬件调试本设计的硬件部分主要是显示模块、发射和接收模块。硬件电路功能检测主要测试以下几个部分。对于显示电路,由于采用四位数码管显示,首先要确定数码管的共阴还是共阳。所以首先用万用表检查它是什么极性。然后先修好,检查显示电路是否能正常显示。最后将其焊接上。对于接收模块,在HS0038的电源端和信号输出端之间连接一个二极管和一个发光二极管,然后加上指定的工作电源(+5V )。当LED闪烁时,表示红外接收器和遥控器工作正常;如果 LED 不闪烁,则说明红外接收器和遥控器至少有一个损坏。只要遥控器工作正常,就很容易判断红外接收器的好坏。逻辑故障排查:这类故障通常是由于电路板设计和加工

56、过程中的工艺错误造成的。主要包括错线、断路、短路。排除的方法是先将加工好的印制板与原理图仔细对比,看两者是否一致。应特别注意电力系统检查,防止电源短路和极性错误。必要时可使用数字万用表的短路测试功能,缩短故障排除时间。排除组件故障:此类错误有两个原因:一是购买时组件坏了;另一种是由于安装错误导致组件烧坏。可检查部件的型号、规格、安装是否与设计要求一致。确保安装正确后,使用更换方法排除错误。电源故障排除:打开电源前,一定要检查电源电压的极性,否则容易造成集成块损坏。上电后,检查各个插件的引脚电位,一般先检查V CC和GND之间的电位。5.2 软件调试软件设计和调试采用子模块实现的方法。本设计软件

57、调试中的子模块包括显示模块、致和接收模块。在各个独立模块的功能调试成功后,通过主程序将这些模块程序合并在一起,最后调试合并后的总程序。每个软件模块必须首先通过 PC 和仿真器进行调试。当仿真效果达到要求后,将其烧写到单片机中,看能否在实际电路板上正常工作。编程语言的软件设计是用C语言编写的。LED显示屏问题:本设计的最终解决方案是使用LED显示屏来实现显示功能。最初数码管显示不正常,出现闪烁。通过调试发现,这是由于延迟时间选择不当,会导致人眼产生视觉暂留效果,必须给每个显示器加上适当的时间延迟。由于一开始选择的延迟时间太短,会出现闪烁现象。增加显示延时后,数码管显示正常。蜂鸣器启动异常问题:蜂

58、鸣器的启动/关闭是通过单片机输出的控制信号来实现的。当按下按钮时,单片机给控制端口赋值,从而启动蜂鸣器发声。程序最初写的时候,键盘控制部分和往常一样添加了按键去抖程序。实际调试中发现按键无响应。这是因为在键盘控制程序中,除防振程序外,还增加了按键提示音程序(每按一次键盘,蜂鸣器发出“哔”声)。由于子程序调用的时候实际上已经实现了延时,所以加上按键去抖程序的延时后,延时时间过长,按键响应不灵敏。通过调试发现,子程序本身产生的延时可以满足按键去抖延时的要求,因此无需在键盘控制程序中添加专门的按键去抖程序。取消按键去抖程序后,按键控制灵敏度恢复正常。结论毕业设计的主要任务是单片机控制系统的设计、红外

59、通信的设计和显示模块的设计。通过单片机编程获取38kHz频率的载波,致的数据由LED数码管显示,红外通讯传输,LCD显示。总结整个毕业设计的制作和完成过程,我有很多经验和以下结论:(1)对整个红外通信系统进行全面分析,了解红外通信原理。(2)本人对液晶显示器的了解有很深的印象,选择市面上应用比较广泛的LCD1602。(3) 整个系统模块化,对各个单个模块进行对比设计。编程时,先对单个模块进行编程,然后再将各个模块进行集成,达到本毕业设计的要求。(4) 深入了解各个模块使用的芯片元器件,了解各个芯片的功能。(5)在画原理图的时候,我也学会了用其他软件来模拟电路,比如EWB。(6)protel 9

60、9SE软件在设计中使用比较熟练,是一款非常实用的软件,对我们以后外出工作有很大帮助。由于在生产和生活中缺乏测试,这种设计若要在生产和生活中应用,还需要改进。单片机存储器的扩展可以存储更多的程序,或者使用更大的单片机。因为是实物设计,所以在设计过程中考虑最多的就是实际的制造问题,所以我对设计理念的限制。同时,自身的知识和经验储备不足,无法在实物中充分体现自己的设计理念。但正是这些诸多因素,让我明白了作为设计师应该如何做设计,如何去实现设计需求。总的来说,在这次毕业设计的过程中,我可以将所学的知识应用到实践中,感受设计的乐趣。参考1胡汉才,单片机原理及其接口技术M,清华大学, 1996,48 62

温馨提示

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

评论

0/150

提交评论