




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、太原理工大学现代科技学院毕业设计设计题目:红外抄表电度表一一抄表器学生:专业:测控技术与仪器班级:学号:指导教师:设计日期:太原理工大学现代科技学院毕业设计(论文)任务书毕业设计(论文)题目:红外抄表电度表一一抄表器原始资料:近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,特别是红外线无线技术,在工业生产、家用电器、安全保卫以及人们的日常生活中得到了广泛的应用。本文详细描述了该红外抄表系统的设计方案、硬件电路设计和软件设计,并利用keil仿真软件对所开发的C语言程序进行了验证。在本文的第五章讨论了系统的发展趋势和改进,为系统的进一步开发奠定了基础。本系统关键部分主要是红外通信原理。
2、系统在分析可行性、可靠性的基础上,参照工程设计方法,确定了模块化设计的思路。本系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。38kHz频率作为数据通信的载波,发射和接收模块对数字信号进行调制和解调,通过LCD液晶显示屏将收到的数据显示出来。该系统还具备掉电保护和数据存储功能。利用一个红外抄表器来完成琐碎的抄表工作。从而从根本上杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。毕业设计(论文)主要内容:本文主要介绍以AT89S5曲片机为核心控制的红外抄表系统设计。该系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。系统的数据由发射板的3个按键按一定的计算规则所
3、得。发射管发射的38kHz»率载波由单片机编程控制产生。发射模块是对发送的数字信号进行适当的调制编码,后经发射管的转换电路转变为红外光脉冲并发射到空中;接收模块对接收到的红外光脉冲进行光电转换、解调译码后恢复原数字信号。收到的数据通过LCD160蔽晶显示屏显示出来。主要参考文献:1 胡汉才,单片机原理及其接口技术M,北京,清华大学出版社,1996,48622 沈德金,MCS-51系列单片机接口电路与应用程序实例M,北京,北京航空航天大学出版社,1990,21843 祁伟,杨婷,单片机C51程序设计教程与实验M,北京航空航天出版社,20064 凌志浩,仪表原理与设计技术M5 许晓平,孙
4、晓彦,程传胜.PCB设计标准教程M,北京,北京邮电大学出版社,20086 胡伟,季晓衡,单片机C程序设计与应用实例M,人民邮电出版社,20037 程道喜,传感器的信号处理及接口M,北京,科学出版社,19898 杨将新,李华军,刘东骏,单片机程序设计及应用从基础到实践M,北京,电子工业出版社,20019 胡汉才,单片机原理及其接口技术M,北京,清华大学出版社,1995,(6),11212610 苏长赞,红外线与超声波遥控M,北京,人民邮电出版社,199711 张玉香,新型遥控接收模块HS0038J,无线电,1998学生须提交的文件:1、毕业设计任务书2、毕业设计中期检查表3、毕业论文设计成绩评定
5、表4、论文进度安排:第一周到第三周:查阅资料,文献综述。第四周:提交开题报告。第五周到第六周:总体方案设计。第七周到第十一周:数据采集。第十二周到第十四周:完善系统设计,撰写毕业论文。第十五周:修改完善毕业论文,准备毕业答辩。专业班级测控技术与仪器学生设计(论文)工作起止日期指导教师签字日期专业(系)主任签字日期红外抄表电度表抄表器摘要近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,特别是红外线无线技术,在工业生产、家用电器、安全保卫以及人们的日常生活中得到了广泛的应用。本文详细描述了该红外抄表系统的设计方案、硬件电路设计和软件设计,并利用keil仿真软件对所开发的C语言程序进行了
6、验证。在本文的第五章讨论了系统的发展趋势和改进,为系统的进一步开发奠定了基础。本系统关键部分主要是红外通信原理。系统在分析可行性、可靠性的基础上,参照工程设计方法,确定了模块化设计的思路。本系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。38kHz频率作为数据通信的载波,发射和接收模块对数字信号进行调制和解调,通过LCD液晶显示屏将收到的数据显示出来。该系统还具备掉电保护和数据存储功能。利用一个红外抄表器来完成琐碎的抄表工作。从而从根本上杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。关键词:通信,红外抄表,单片机,调制,解调14INFRAREDMETERREADING
7、METERMETERREADERSABSTRACTInrecentyears,withtherapiddevelopmentofinformationtechnology,wirelesstechnologyistopermeateallareas,especiallyintheinfraredwirelesstechnology,inindustrialproduction,householdappliances,security,andhasbeenwidelyusedinPeople'sDailylife.Thispaperdescribesindetailtheinfrared
8、meterreadingsystemdesignscheme,hardwarecircuitdesignandsoftwaredesign,andusethekeilsimulationsoftwaredevelopedbyClanguageprogramareverified.Inthefifthchapterofthisarticlediscussesthedevelopmenttrendofthesystemandimproved,andlaidasolidfoundationforthefurtherthedevelopmentofthesystem.Thesystemkeypartm
9、ainlyistheprincipleofinfraredcommunication.Systembasedontheanalysisofthefeasibility,reliability,andreferencetoengineeringdesignmethodofdeterminetheideaofmodulardesign.Thissystemmainlyconsistsofcontrolmodule,thetransmittingmoduleandreceivingmodule,displaymoduleoffourmodules.38KHZfrequencyascarrierofd
10、atacommunication,transmittingandreceivingmodulesofdigitalsignalmodulationanddemodulation,anddisplayedthroughtheLCDscreenwillreceivethedata.Thesystemalsohavepowerlostprotectionanddatastoragefunction.Usinganinfraredmeterreadingdevicetodotrivialmeterreading.Tofundamentallyeliminatethe"nakedeye&quo
11、t;broughtaboutbytherandomerror,andgreatlyimprovetheefficiencyofmeterreading.KEYWORDScommunication,Infraredmeterreading,Singlechipmicrocomputer,Modulation,demodulation目录1 绪论61.1 课题的背景和意义.6.1.2 课题总体设计方案.6.2系统硬件设计82.1 控制模块8.2.2 发射模块9.2.3 接收模块1.12.4 显示模块1.33系统软件设计173.1 38kHz频率的产生及发射程序设计183.2 数据计算程序203.3
12、 显示模块程序设计213.3.1 数码管显示213.3.2 LCD液晶显示程序223.4 接收模块程序设计264电路板的制作284.1 原理图的绘制284.2 PCB图的生成284.3 电路板到印制和焊接295系统调试305.1 硬件调试305.2 软件调试30总结语32参考文献33致谢34附录一:发射原理图363738附录二:接收原理图附录三:源程序1绪论1.1 课题的背景和意义众所周知,电表是一种非常重要的计量仪表,它的计量准确与否直接关系到千家万户的利益。为此,国家制订严格的标准,各电表生产厂家在严格遵守国家标准基础上,实行更严格的内控标准。事实上,每一台出厂的合格表,都经过了严格的校验
13、及误差处理,这些误差处理通常包括硬件和软件的处理。因而,用户最终使用的电表其自身的计量精度是达到国家标准的。然而,在电表的实际应用过程中,由于人为的操作给其计量带来种种的随机误差,尤为突出的便是抄表。目前在我国,抄表工作大多数还是采用“肉眼观察”。即抄表人员挨家挨户上门读取电能表计度器示值。可想而知,这种抄表方法效率是多么低下、花费人力大、抄表不准确,而它却仍在全国占据主流位置。所以“人眼”抄表带来了很多不便。目前,我国城乡居民用户抄电表、水表和煤气表的方式基本上都是人工抄表,即由抄表人员每月逐户查抄水表、电表、煤气表。这种落后的方式,消耗大量的人力、物力,而且采集数据的时间跨度大、采集数据的
14、准确度低。因此,国家有关部门规定以后将逐步以计算机为基础的自动抄表系统取代传统的人工抄表。利用一个红外抄表器来完成琐碎的抄表工作。从而从根本上杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。本设计是一个基于单片机的红外抄表系统,利用红外线这种非电信号作为传输介质来传送数据信息,可以在那些不适合或不方便架设电缆线及电磁干扰较强的工作环境下来实现电度表的抄表,并通过LC懿晶显示屏显示读数,完成电度表用电量的抄录工作。1.2 课题总体设计方案本文主要介绍以AT89S5曲片机为核心控制的红外抄表系统设计。该系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。系统的数据由发射板的3个
15、按键按一定的计算规则所得。发射管发射的38kHz»率载波由单片机编程控制产生。发射模块是对发送的数字信号进行适当的调制编码,后经发射管的转换电路转变为红外光脉冲并发射到空中;接收模块对接收到的红外光脉冲进行光电转换、解调译码后恢复原数字信号。收到的数据通过LCD160蔽晶显示屏显示出来。J112电池11,COM2DUVCCDIODE图1-1电源、电池供电电路设计图图1-2系统框图本系统具有掉电保护功能,以便在停电时保护所储存的数据信息。如图1-1所示为电源、电池供电电路设计图。当有外接电源时VCCfe压高于电池电压,二级管处于截止状态,电池不给单片机供电;当VC(fe压低于电池电压时
16、,二极管处于导通状态,电池给单片机供电,以保证数据不丢失。还具有数据存储功能,可以按整体键查看之前所收到的数据。如图1-2所示为系统工作的整体框图。2系统硬件设计硬件电路主要由两个单片机控制模块、发射模块、接收模块、显示模块以及一些外围驱动电路组成。2.1 控制模块图2-1AT89S51实体图AT89S51是美国ATME公司生产的低功耗、高性能CMOS8单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATME公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,AT
17、ME公司的功能强大,低价位。AT89S51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。89S51单片机实物图如图2-1所示。AT89S51提供以下标准功能:4K字节闪速存储器,128字节内部RAM32个I/O口,看门狗(WDT,两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU勺工作,但允许RAM定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAMfr到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复
18、位。AT89S51在平时的应用时比较多,同样对它的最基本电路驱动电路也是比较熟悉的。首先必须有5V的驱动直流电源,现在有现有的5V直流电源模块,就可以直接应用5V直流电源模块做为驱动单片机AT89S51的电源。这就是在VCCt脚处接上5V电源。GN限地,同时EA管脚现在不用下载程序也接上5V电源。其次要给AT89S51一个时钟电路,为了方便计算时钟频率设计了在引脚XTAT1和XTAL2外接12M的晶振构成内部振荡方式。再加上2个30pF的电容就组成了时钟电路。最后要有复位电路,单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,斯
19、密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路用10K?电阻,加上一个10uF的电解电容和一个复位按钮来组成复位电路。由于AT89S51的存储器以足够,这就不需要我再设计外部扩展存储器的电路了。具体设计的AT89S51的最基本外围电路就设计完成了,如图2-2所示为最小系统原理图。e12_£12-riaa哥工同10T130PF 02_ T卜= 3D?F口 CRY3T 虬-IiP10FOUPUP01P12P01?13F03FM?15FO:?16POtf?17PO:PJLP3HTXDP"P520NT0P2诩INTIP23?54TT0P24F
20、25F2tfXIP21刘,阳一X2-町侬.UBPFDGETP5EKu._J二1 -.6nr更)rr嵬0*LOii图2-2最小系统原理图2.2 发射模块红外发射模块是采用红外发光二极管来发送经过调制的红外光波。红外发射器发出的红外光转换成相应的电信号,再送前置放大器放大。红外发射电路的信号一般采用两级调制。在红外数据传输的信号调制方式上,采用脉冲调制的二进制不归零码。这种调制方式比较简单,编码、解码都比较方便,有利于电路简化。红外线发射管在LED封装行业中主要有三个常用的波段,如下850nm875nm>940nm。根据波长的特性运用的产品也有很大的差异,850nm波长的主要用于红外线监控设
21、备、875nm主要用于医疗设备、940nm波段的主要用于红外线控制设备。本系统采用的是红外的940nm波段。如图2-3所示为红外发射二极管实物图。图2-3发射二极管实物图在红外发射模块设计中选择红外发射二极管时,要注意以下几个问题:第一,由于红外发射二极管的PN吉电容的存在,影响了它的工作频率,选型时应选择响应时在错误!未找到引用源。一错误!未找到引用源。S的红外发射二极管,以适应数据通信的要求;第二,由于现在大多数红外发射二极管为球面透镜封装,红外发射二极管的发射指向角较小,为改善发射光线的指向特性,使之在较宽的偏移臣离内正常工作,应采用多管并发的方法.但对本系统综合考虑还是采用了一个红外发
22、射管。D12IVCC/丁产?,1LED1470Q61/口1P10P1I图2-4发射管连接图本系统的红外发射模块连接方式如图2-4所示,接单片机的P1.0引脚。两个电阻是限流的作用,R121是防止电流过大烧坏三极管,R122是防止电流过大烧坏红外发射管D121,三极管起到放大电流的主要作用,使得红外发射的更远,当单片机的P1.0口赋值1时,三极管工作,红外发射管工作发射红外线,当单片机的P1.0赋值0的时候三极管不工作,红外发射管不工作。如图2-5所示为发射管内部工作流程图。信号发生信号缓冲信号放大tfT一,.直流驱动红外发射管信号调频图2-5发射管内部工作流程图2.3 接收模块一体化的红外接收
23、模块将数据信号的接收、放大、检波、整形集于一体,并且输出可以让单片机识别的信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。本系统采用红外一体化的接收头(HS0038。如图2-6所示为接收模块实物图。HS0038I色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽、功耗低、灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35ml它能与TTL、COMS路兼容。HS003的直立侧面收光型。它接收红外信号频率为38kHz,周期约为26仙s,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。三个管脚分别是地、+5V电源、解调信号输出端。接收模块实物图图2-6图2-
24、7接收模块测试图表2-1红外接收模块的主要参数工作电压4.8-5.3V工作电流1.7-2.7mA接收频率38kHz峰值波长940nm静态输出高电平输出低电平W0.4V输出高电平接近工作电压红外一体化接收头的好坏测试可以利用图2-7所示的电路进行,在HS0038勺电源端2与信号输出端3之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。在使用红外接收模块时应保证HS003胺收模
25、块接地良好以防止干扰,由于此模块抗连续脉动光干扰的特性,在进行数据通讯时应发送一个字节后停顿大小为一个字节所占用的时宽,以满足此模块的脉动占空比要求。如果发送一个字节后不作停顿,接收器将会认为是光噪声,将造成通讯失败。如图2-8所示为接收模块的内部结构图。图2-8接收模块内部结构图本系统在使用接收模块时在电源端和地端之间加了个电容,主要是因为电源波形影响信号的输入,而加个电容有滤波的效果和提高灵敏度。如图2-9所示为接收模块连接原理图。JllllVCCC11113丁1I12U1,p32104CON3图2-9接收管原理连接图2.4显示模块液晶显示模块具有体积小、功耗低、显示内容丰富等特点,液晶显
26、示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样就可以显示出图形。本系统发射板用到的显示模块为4位共阳LED数码管,采用的是动态扫描方式显示所需要发送的数据。用数码管显示信息时,由于每个数码管至少需要8个I/O口,如果需要多个数码管,则需要太多I/O口,而单片机的I/O口是有限的。所以在实际应用中,一般采用动态显示的方式来解决此问题。下面对数码管进行简单的介绍,数码管是一种半导体发光器件,其基本单元是发光二极管,数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码
27、管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM?勺数码管。共阳数码管在应用时应将公共极COMS到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM珀数码管。共阴数码管在应用时应将公共极COM8到地线GNDh,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。本系统用LCD1602M晶显示器来显示U到的数据信息。LCD1602可以显示2行16个字符,有8
28、位数据总线D0-D7和RSR/WE三个控制端口,工作电压为5V。LCD1602液晶模块内部的字符发生存储器(CGROM)经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A"。LCD1602内部结构由DDRAMCGRQMIR、DRBF、AC等大规模集成电路组成。(1)DDRAMfe数据显示用的RAM用以存放要LCD显示的数据,只要将标准的ASQI码放入DDRAM内部控制线路就
29、会自动将数据传送到显示器上,并显示出AS6对应的字符。(2)CGROM为字符产生器ROM可供使用者存储特殊造型的字符码,CGROM多可存放8个字符。(3)IR为指令寄存器,负责存储MC顷写个LCD的指令码。当RS及R/W5l脚信号为0且E引脚信号为由1变为0时,D0D7引脚上的数据便会存入到IR寄存器中。(4)DR为数据寄存器,负责存储单片机要写到CGRA或DDROM数据。因此,可将DR视为一个数据缓冲区。当RS及R/W引脚信号为1且E引脚信号为由1变为0时,读取数据。当RS引脚信号为1,R/W引脚信号为0且E引脚信号为由1变为0时,存入数据。511LCM5pO29pQjiu口041113?p
30、咆3酬方4VWT0煌pll5VP_,-LU6儿,3喻mGNDLC|J4I6O2GISTS图2-10LCD液晶显示原理图如图2-10所示为液晶显示原理图,8位数据总线由单片机的I/O口P2控制,RS脚的高低电平控制数据和指令的写入,R/W脚的高低电平控制数据的读取和写入。如图2-11为模拟接线方式图。LCD液晶屏的第三引脚接了个滑动变阻,目的是对LCD对比度进行调节,使显示达到合适的效果。当电阻器滑到最靠近电源端时对比度最弱,当滑到最靠近地端时对比度最高。但对比度过高时会产生“鬼影”,因此用一个滑动变阻来调整对比度。表2-2为LCD1602夜晶显示屏的主要技术参数。图2-12所示为读操作时序的控
31、制器接口图。表2-2LCD1602的主要技术参数显示容量16X2个字符芯片工作电压4.5-5.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35(VKH)mm表2-3LCD1602液晶显示屏接口信号的说明编R符号引脚说明编R符号引脚说明1VSS电源地9D2DataI/O2VDD电源正极10D3DataI/O3VL液晶显示偏压信号11D4DataI/O4RS数据/命令选择端12D5DataI/O5R/W读/写选择端13D6DataI/O6E使能信号14D7DataI/O7D0DataI/O15BLA背光源正极8D1DataI/O16BLK背光源负极图2-11模拟
32、接线图16JT5PIQKs1908图2-12读操作时序的控制器接口图373系统软件设计程序的编写就要涉及到程序语言的选择,下面先看看汇编语言和C语言的特性,再进行语言的选择。(1)C语言:C语言是国内外广泛使用的计算机语言,是计算机应用人员应掌握的一种程序设计工具。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合编写系统软件。除了这些特点外,C语言还具有以下优越性:在不需要完全了解单片机系统具体硬件的情况下,也能够编出符合硬件实际的专业水平的程序;以适应片上存储器的大小;中断服务程序的现场保护和
33、恢复,中断向量表的填写,是直接与单片机相关的,都由C编译器代办;提供常用的标准函数库,以供用户直接使用;头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排除掉;可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。(2)汇编语言:汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必
34、不可少的,至于对于很多需要直接控制硬件的应用场合,更是非用汇编语言不可。除了这些特性,汇编语言还具有下列特性: 占用的内存单元和cpuK源少,能直接对硬件进行控制; 程序简短执行速度快; 可直接调用单片机的全部资源,并可有效地利用单片机的专有特性; 能准确地掌握指令的执行时间,适用于实时控制系统。红外抄表系统的软件程序设计主要由主程序、发射程序、显示程序、接收程序组成。通过对以上两种语言的分析,由于c语言程序有利于实现较复杂的算法,同时该程序也比较复杂,要控制多个部件模块。为了能简单有条理的编辑程序。两种语言都有其独有的特性,结合自身的情况,对c语言比汇编语言要熟悉,并且应用c的时间比汇编长,
35、所以我最终选择了以C语言来编写系统的程序。如图3-1所示为红外抄表系统的整体程序流程图,系统开始工作时进行初始化操作。由按键控制数据是否发送。图3-1系统软件流程图3.138kHz频率的产生及发射程序设计38kHz频率可以有效防止日光和灯光的干扰,使得通信距离更远。现讨论产生38kHz频率的两种方案。方案一:分频电路产生如图3-2所示455kHz晶振经12分频得到38kHz。由455kHz的晶振CRY反相器74HC04&电阻、电容构成的振荡器产生455kHz的方波信号。经脉冲分频器74LS92,六分频成为75.83kHz的脉冲信号。再经过D触发器构成的2分频/整形电路变成38kHz的方
36、波信号。本方案的振荡器采用了晶振,因晶振频率十分稳定。RC振荡器的稳定性差,往往由于偏差很大而缩短控制距离。方案二:软件生成38kHz频率f=38kHzT=1/f计算得T=26.3us如图3-5所示发射管接在单片机的P1.0引脚上,所以只要控制单片机P1.0引脚的高、低电平周期为26.3uso程序如下:for(a=aa;a>0;a-)out=1;i=7;while(i>0)i-;out=0;如下程序首先发送3.028ms38kHz频率,再停止发送2.012ms。这两个段是为了让接收模块识别防止其他信号的干扰。接着开始发送数据,kHz(40)(发送时间为1m§后判断数据的最
37、后一位是“1”还是“0”。如果数据是“1”则停止发送delayms(93),否则停止发送delayms(65)(1m§。一个数据为发送完毕,num=num>>数据位右移一位后判断发送。如此循环8次数据就发送完毕。发送完毕指令kHz(20),后停止发送。如图3-3所示发射和接收波形图。发射被形军LJMLTLJVkKJVl接收波形图a=2msb=1msc=1.5ms图3-3发射接收波形图khz(116);delayms(125);for(num1=8;num1>0;num1-)khz(40);if(num&0x001)delayms(93);/delay1.5m
38、selsedelayms(65);/delay1msnum=num>>1;如图3-4所示为38kHz的载波频率:低电平17us、高电平9us,17+9=26us比26.3快一点点。高、低电平时间不是固定值,只要相加等于26us就是发送38khz的频率。图3-4计算得出的载波频率3.2 数据计算程序本系统用发射板的三个按键来设置需要发送的数据,三个按键分别是个、十、百位控制键,数值计算规则如下:每按一个按键对应位加一。利用软件编程对各位进行相加计算。每位最大只能按到9,当超过9,则返回到0并且蜂鸣器响一声,如此反复循环计算。如个、十、百位各按一下,则得数据111。计算规则十分简单,如
39、下程序为百位控制:key1为百位控制键,首先进行按键扫描,当按键引脚为低电平时说明按键没有按下,继续等待;当引脚为高电平时说明按键已按下,则蜂鸣器响一声,百位加一。百位计算部分程序如下:if(key1=0)delay_ms(10);if(key1=0)while(!key1);bai+;if(bai=10)bai=0;beer=1;delay_ms(100);beer=0;上述为百位计算程序,同理十位和个位也是一样。扫描一遍按键后进行总和计算程序,并由数码管显示。总和计算公式为:zong=bai*100+shi*10+ge。3.3 显示模块程序设计3.3.1 数码管显示数码管动态显示程序中,各
40、个位的延时时间长短非常重要,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。所有数码管的段选全部连接在一起,动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。例如需要显示数字“12”时,先输出位选信号选中第一个数码管,输出1的段码延时一段时间后选中第二个数码管,输出2的段码。把上面的流程以一定的速度循环执行就可以显示出“12”,由于交替的速度非常快,人眼看到的就是连续的“
41、12”。先显示百位,延时一段时间后显示十位,最后显示各位。一直按照设置时间循环显示。交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。使得看到连续的3位数。部分程序如下:P2=dispcodebai;P0=dispbitcode0;delay_ms(10);P0=dispbitcode3;P2=dispcodeshi;P0=dispbitcode1;delay_ms(10);P0=dispbitcode3;3.3.2 LCD液晶显示程序液晶显示屏的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以
42、分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩阵驱动(ActiveMatrix)三种。(1)线段的显示点阵图形式液晶由MKN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16X8=128个点组成,屏上64X16个显示单元与显示RAMK1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAMK的000HH00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=
43、FFH(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示用LCD显示一个字符时比较复杂,因为一个字符由6X8或8X8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM寸应的地址,设立光标,在此送上该字符对应的代码即可。(3)
44、汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM寸应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。如表3-1所示为1602液晶模块内部控制器的控制指令。如图3-5所示为LCD液晶显示流程图。表3-11602液晶模块内部控制器指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返
45、回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数至ijCGRA喊DDRAM10要写的数据内容11CCGRA或DDRAlMt数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显
46、示模式设置指令4:显示开关控制指令5:光标或显示移位指令6:功能设置命令指令7:字符发生器RAM4址设置指令8:DDRAMfc址设置指令9:读忙信号和光标地址指令10:写数据指令11:读数据图3-5液晶显示流程图液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-6为LCD1602夜晶屏的内部显示地址。LCDiCXSfT图3-6LCD1602液晶屏内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行
47、,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入白数据应该是01000000B40H)+10000000B(80H)=11000000B(C0H)在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。LCD1602夜晶模块内部的字符发生存储器(CGRQM已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,
48、我们就能看到字母“A”。部分程序如下:voidadr_write(unsignedcharadr)delay(20);e=0;rs=0;rw=0;e=1;lcd_data=adr;e=0;等等。部分程序如下:adr_write(0x38); / adr_write(0x01);/ adr_write(0x0c); / adr_write(0x06);adr_write(0x80);/使用时都要进行初始化操作,如两行显示、清显示、是否需光标,从哪里开始显示两行显示,5*7模式清显示整体显示打开,不显示光标从第一行的第一个位置开始显示开机时,首先从坐标的(0,0)开始显示"PleaseP
49、owerOn!",(1,0)显示为空接着按照同样显示定位显示"HasBoot!"和"ThinkYou!"。最后显示收到的数据,第行显示"DianDuShuZhi:"加数值,第二行显示为空。voiddisplay_init()str_write("PleasePowerOn!");str_write("");voiddisplay_on()str_write("HasBoot!");str_write("ThinkYou!");voiddis_pl
50、ay()str_write("DianDuShuZhi:");当按整体键时,显示之前所存储的数据。由于本设计显示屏比较小,所以只设置显示4个读数。第一行显示两个数,第二行显示两个数,显示方式为:第一行:DS1:+数值DS2:+数值第二行:DS3:+数值DS4:+数值部分程序如下:str_write("DS1:");ddr_write(tablenum1/100);ddr_write(tablenum1/10%10);ddr_write(tablenum1%10);str_write("DS2:");ddr_write(tablenum
51、2/100);ddr_write(tablenum2/10%10);ddr_write(tablenum2%10);3.4接收模块程序设计红外接收头在接收数据时首先要对脉冲信号进行识别,判断是不是所要的那个信号。系统采用外部中断方式来进行数据的识别和解码。当收到一个红外信号时,立即对其他红外信号进行屏蔽并对此信号进行识别。部分识别程序如下:voidsieasdf()interrupt0EX0=0;for(a=5;a>0;a-)delayms(35);/延时0.5ms判断5次5*0.5=2.5ms进行5次判断,如图3-7所示:发射*g块发射了3ms38kHZ1率,接收模块进行了2.5ms时
52、间的判断。如是正确信号即执行解码程序,否则跳出解码程序。解码部分程序如下:if(fleg)delayms(72);/延时1ms判断是不是高电平了if(in)delayms(115);/延时让它超过2ms;2.5+1+1.623=5.123ms孩收被形图图3-7波形识别for(a=10;a>0;a-)while(!in);delayms(86);/延时1.188ms判断IO高低num=num>>1;if(in)delayms(31);/延时0.6msmun=num;解码完毕如不是正确信号,则跳出。跳出程序:if(in)fleg=0;4电路板的制作4.1 原理图的绘制本次设计的红
53、外通信系统的原理是通过查阅大量的资料,在图书馆以及网上查找资料所得到的,经过综合的分析其可行性,经济性等方面要求前提下做出的电路原理图。而在有可靠的电路原理图之后,我需要再做的就是将电路原理图变成一个硬件,使其实现预定的功能。如果使用的是万能板,则不需要绘制电路图,只要根据原理图的元器件在万能板上摆放好,用导线将其焊接起来即可。但是在使用万能板时有许多的不便之处,比如说在焊接的过程中需要跳线,而板子本身也不够美观,好看。所以为了获得更好的效果,我们一般都使用腐蚀板,这样我们就首先的步骤就是在protel99SE中绘制电路原理图。在本设计的电路图中的元器件,在protel99SE的标准元件库里基
54、本上都有,但是四位七段的共阳数码管在标准库里没有找到,所以在绘制电路图时就需要自己画一个数码管,同时也要做一个它的封装图,还有用到的LCD160纯在库中没有找到元件和封装,这也同样需要我测量该元件的管脚和找出它的原件参数,做出它的原件图和封装库。做好了这个基本上就可以了画出完整的电路原理图了。首先我们先要在元器件库中调入各个元器件,将各个模块的元器件放在一起,然后用线将其连接起来其可完成原理图的基本绘制。4.2 PCB图的生成由前面一节我提到在protel99SE里绘制的原理图,如果要生成制作电路板所用的PCBS的话,首先要确认我们前面画的电路原理图的正确性,确定每个元器件的连线都连接上,所以
55、在生成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指电容大小。一月5<100uF用RB.1/.2,100uF470uF用RB.2/.4,>470uF用RB.3/.6二极管:DIODE0.4DIODE0.7其中0.40.7指二极管长短,一般用DIODE0.4集成块:DIP8DIP40,其中840指有多少脚,8脚的就是DIP8贴片电阻石英晶体振荡器:XTAL1单排多针插座:SIP双列直插元件:DIP然后是进行元器件的电气检测,检测没有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年青岛科技大学辅导员考试真题
- 提升在职外语能力的计划
- 福建省福州十九中学2025年数学七下期末联考试题含解析
- 逆全球化趋势中的政治经济学研究试题及答案
- 2024年甘肃临夏博智电力安装有限公司招聘真题
- 2025届山东省潍坊市昌邑市数学七下期末调研模拟试题含解析
- 操作系统与网络集成试题与答案
- 计算机科学在其他领域的应用的试题及答案
- 未来市场动态与战略应对试题及答案
- 2025届重庆市江津区数学七下期末质量跟踪监视试题含解析
- 四川省乐山市2023-2024学年八年级下学期期末数学试题(解析版)
- 淄博市临淄区2022-2023学年七年级下学期期中数学试题
- 焰火燃放安全技术规程
- 农村自建房包工劳动合同
- 心功能不全试题库及答案
- DL-T5159-2012电力工程物探技术规程
- 小升初数学模拟试卷北师大版选拔卷
- MOOC 信号与系统-西安邮电大学 中国大学慕课答案
- 2021年高考理科数学全国新课标卷1(附答案)
- 《电动汽车充电站设施与服务分级评价规范》
- MOOC 生物化学-代谢与营养-南京医科大学 中国大学慕课答案
评论
0/150
提交评论