1.概述
随着网络的发展,为方便人们实时接收电子邮件,本文介绍了一个基于单片机和labview的“电子邮差”系统,其中pc机程序使用labview编写,通过单片机与以太网控制器enc28j60连接实现网络通信功能,并将接收到的邮件通过led显示。为简化系统设计,本系统采取直接发送16×16led点阵数据的方法,此方法可以去除单片机汉字点阵库的设计,大大简化设计,降低成本。
2.硬件结构
电子邮差的硬件结构图如上图所示。单片机采用atmel公司推出的at89c51ed2,内部带有64k字节flash、2k字节ram、2k字节eeprom,支持在线编程,6个8位通用i/o口,硬件看门狗定时器,串行外围设备接口(spi)可工作于主机,从机模式,9个中断源,4级中断优先级,3个16位定时计数器。
enc28j60是microchip推出的一款仅有的28引脚的新型独立以太网控制器,有利于创建占位小、成本低、精简的嵌入式网络系统。enc28j60以太网控制器采用业界标准的spi串行接口,只需4条连线即可与主控单片机连接,其内置lombps以太网物理层器件(phy)及媒体访问控制器(mac),可按业界标准的以太网协议可靠地收发信息包数据。enc28j60具有可编程过滤功能,特殊的过滤器,包括microchip的可编程模式匹配过滤器;可自动评价、接收或拒收magicpacket,单播(unicast)、多播(multicast)或广播(broadcast)信息包,减轻主控单片机的处理负荷:内置可编程8kb双端口sram缓冲器,可以实现灵活可靠的数据管理机制。
2.1at89c51ed2与enc2&j60的连接
enc28j60工作电压为3.3v,易于集成到5v的系统中。spi的cs、sck和si输入以及reset引脚都可以承受5v的电压:另一方面,如果主控制器运行在5v电压下,当spi和中断输入由enc28j60上的3.3vcmos输出驱动时,很可能不符合规范要求,则需要一个单向电平转换器。本系统采用一廉价的74hct08(四与门)提供必要的电平转换。转换电路如下图所示,单片机工作于主机模式,enc28j60工作于从机模式。
2.2led显示模块
led显示屏电路如上图所示,采用行扫描方式。其中,p4口控制扫描行数,p2口控制列寄存器选通,po口发送led点阵数据,每个字的点阵数据占32个字节。单片机首先选中第1行,然后选中第1片74ls244;接着通过po口写入第1个字的点阵数据中的第1个字节,然后选中第2片74ls244;然后通过po口写入第1个字的点阵数据中的第17个字节,接着选中第3片74ls244;再通过po口写入第2个字中的第1个字节,接着依次写入,直到第16个字的点阵数据中的第17个字节;然后选中第2行,依次扫描。
3.软件设计
单片机首先对spi进行初始化,然后通过spi对以太网控制器enc28j60进行初始化,初始化完成后等待中断。当enc28j60接收到邮件后,向单片机发送中断请求,单片机响应中断后通过spi接收数据,成功接收数据后,发送反馈信息“ok”字符,接着通过led显示屏显示邮件,先显示前16个字,再显示后16个字。此外,本系统还可完成arp应答和ping命令应答。
3.1主程序设计
①单片机spi控制寄存器
spconspcon各位定义如下表所示,设置spcon=010101108,即同步时钟选择flckperiph/8、使能串口、使能,选择主模式,空闲状态为低电平,上升沿移入数据。
②enc28j60以太网控制寄存器1(econl)
econ1寄存器用于控制enc28j60的主要功能,各位定义如上表所示。econ1中包含接收使能、发送请求、dma控制和存储区选择位。设置econl=oooo0110b,通过当前过滤器的数据包写入接收缓冲器,访问bank2中的寄存器。
还需设置以太网中断允许寄存器eie、mac控制寄存器maconi、mac控制寄存器macon2和mac地址,详细设置方法可参考本系统单片机源程序和enc28j60数据手册
③主程序流程图主程序流程图如下图所示。
3.2中断服务程序设计中断服务程序流程图如下图所示。
3.3pc机程序设计pc机程序采用labview编写,labview(laboratoryvirtu-时,基本上不写程序代码,取而代之的是流程图。labview内置了便于应用的tcp/ip、activex等软件标准的库函数。本系统采用labview的udp控件实现udp协议,方便快捷。
①pc机程序界面
pc机程序界面如上图所示,在目的地址框内输入邮件目的地址例如“202.96.170.165”,选择目的端口号8001和接收反馈信息端口号8002,然后输入邮件内容,点击运行按钮发送邮件。当单片机收到邮件后,则反馈“ok”信息,代表邮件已被单片机成功接收。
②pc机流程图
pc机流程图如下图所示。
图7中上半部分为发送程序,下半部分为接收程序。发送程序中将汉字转换成16x16的点阵数据采用了dll技术,将转换程序做成dll,然后在labview中调用即可。
4.总结
本系统利用以太网控制器enc28j60配置单片机网络系统,结构简单,设计方便;同是利用led显示屏显示邮件,方案简单,价格便宜,具有极强的实用价值。
研究生联合培养基地授牌仪式暨课题研讨会在北京正式举行
深度解析ECOTEC LLU发动机
安防 AI伦理困境何解?欧盟发布道德准则
传祺在今年正式迎来了GA6的换代更新
英特尔推动将通用处理器CPU与FPGA的融合
以太网控制器ENC28J60配置单片机“电子邮差”系统
粗调与精调相结合的直线压电螺钉分辨率达亚纳米级
变压器的种类和功能特点
手机厂商不再配备充电器的原因
示波器探头常见问题解答
神州云动CRM携手东风井关 推动农业机械化企业高效升级
【短视频】MPS 电源小课堂第三季第十五话:汽车电子中,“识破”开关频率的凡尔赛文学-(上)
高性能热分析
Android Auto将成为行业规则改变者的N个理由
虹润NHR-8700系列48路彩色数据采集无纸记录仪的特点及应用分析
日本住友航空公司订购的A320neo飞机总订单已达到了181架
微软已经收购了物联网公司CyberX
人工智能需要哪些知识
Windows Phone是Android的基因进化
爱立信全新上线超过200个AI App的业务持续性解决方案