单片机应用实习报告.docx
- 文档编号:7192143
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:12
- 大小:310.50KB
单片机应用实习报告.docx
《单片机应用实习报告.docx》由会员分享,可在线阅读,更多相关《单片机应用实习报告.docx(12页珍藏版)》请在冰豆网上搜索。
单片机应用实习报告
***
单片机应用实习报告书
实习类别
实习地址
学院
专业
班级
姓名
指导教师
摘要
Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。
Wi-Fi是一个无线网路通信技术的品牌,由Wi-Fi联盟(Wi-FiAlliance)所持有。
目的是改善基于IEEE802.11标准的无线网路产品之间的互通性。
现时一般人会把Wi-Fi及IEEE802.11混为一谈。
甚至把Wi-Fi等同于无线网际网路。
现阶段的WIFI控制方案一般基于PC机或是高性能的ARM嵌入系统并且目前价格便宜的WIFI无线网卡一般都定位于PC机接口一般为PCI接口或是USB接口。
诚然以上两种方案的优势明显主要体现在传输速度高软件编制容易等方面缺点是单个节点造价较高。
在一些工业控制系统中有时仅需要WIFI网络节点传送少量的数据此时对传输性能要求并不高当我们需要大量的这种节点时选用PC机或是ARM的控制方案显然成本会很高。
在这种情况下需寻找一种可替代的方案要求是对性能要求不高但是单个节点的成本要低。
随着单片机技术的发展现阶段一些单片机的资源已经足够驾驭802.11协议和TCP/IP协议并且我们也可以对802.11和TCP/IP协议进行适当的精简只保留基本数据传输部分以此实现低成本低性能的WIFI控制系统。
关键词:
wifi单片机无线通信PC机
1.概述
1.1实习题目
基于单片机的wifi系统统计
1.2实习目的
(1)掌握单片机的基本控制操作
(2)掌握单片机设计项目的基本流程
(3)温习单片机知识和学习wifi有关知识
(4)实现单片机wifi模块和PC机无线通信
1.3实习内容
(1)编写单片机与电脑之间通过串口通信的程序
(2)实现单片机wifi模块与电脑之间的UDP通信
(3)学会使用altiumdesigner软件设计和制作PCB图
(4)实现单片机wifi模块与电脑之间的TCPsever通信
(5)学会使用keil软件和STC-ISP软件
2.实习过程
2.1ST-MW-08S模块
ST-MW-08S是一款多功能UART接口Wi-Fi数据传输模块,内部集成了支持ARP、CMP、UDP、TCP/IP、DHCP客户端以及DHCP服务器等诸多协议TCP/IP协议和Wi-Fi驱动,同时具备通用串口、PWM以及多路通用IO的输入输出等功能,具有系统接口灵活,编程控制方便等诸多优点。
网络结构上,模块支持基础网络(infra)和特殊的Ad-hoc网络结构。
加密认证方面,模块支持开放性、WEP64/128,WPA,TKIP,AES等诸多安全协议。
由于灵活的结构设计使得模块在功能完备的前提下拥有更低功耗和较高的数据吞吐率。
用户利用它可以轻松实现嵌入式设备的无线网络功能,节省人力物力和开发时间,使产品更快的投入市场,增强竞争力。
模块可以工作在-10℃~70℃的温度范围内。
UART接口最高波特率是115200B,具有TCP,UDP数据传输模式,并且支持串口和网页两种配置参数的方式,方便使用。
2.2利用alitumdesigner设计wifi模块
Altiumdesigner是一款很好的EDA软件,在原理图和PCB的设计方面都有很多的优势,本次实习所用的原理图和PCB是从网路中找到的,由于符合本次实习的要求,于是采用了该原理图和PCB。
图1
图2
图3
图4
本次试验还整合了51单片机,ST-MW-08S开发板的PCB图如下
图5
2.3利用ST-WM-O8S实现与PC机UDP通信
将wifi模块与电脑连接,连接好串口线和天线,通过串口将编译好的程序用STC-ISP下载到单片机,下载完成后可以用电脑搜索到名为“ST-MW-08S”的无线网络,当模块处在出厂配置下,ST-MW-08S处在Ad-hoc网络的UDP模式下,用户用带无线网卡的PC机在无线网络上连接到模块之后,可以将串口与模块相连,进行数据通讯测试。
测试的时候需要运行“网络调试助手”和“串口调试助手”,网络调试助手,协议类型调为UDP协议,本地IP地址调为:
192.168.0.100,本地端口号为8080.
图9
连接好串口线之后,用户可以打开串口调试助手“Commix.exe”,按出厂缺省配置,设置为2400波特率以及无流控。
“网络调试助手”软件中发送数据,可以看到串口调试助手软件上有数据出现,至此,说明数据通道打通。
当然,也可以用串口调试助手发送数据,网络调试助手也会接收到相应的数据。
图10
2.4利用ST-MW-08S实现PC机的TCP通信
出厂状态下,电脑连接上模块后在浏览器中输入http:
//192.168.0.10就进入模块的登陆页面,输入默认的用户名和密码,便进入来了ST-MW-O8S的设置页面,如图所示
图11
选择“透明串口”,将工作调为TCP服务器,远端地址为192.168.0.100,然后点击“保存”,断电重启服务器,。
用电脑找到服务器的网络,连接上,打开“网络调试助手”小软件,按下图设置:
图12
点击“连接”,网络调试助手上的黑色灯变为红色灯,表明连接成功。
连接成功后就可以相互通信了。
如图所示
图13
图14
总结
参考文献
附录
通过单片机对wifi模块进行设置
#include
#include
#include
#include
//#pragmapack
(1)
structWIFI_CONFIG
{
charcontrol;
charlength[2];//intlength;
charmode;
charssid[32];
charkey[32];
charlocal_ip[4];
charmask[4];
chargw[4];
chardns[4];
charmac[6];
charbaud;
chartype;
charremote_ip[4];
charlport[2];//intlport;
charrport[2];//intrport;
}set={
0x5c,
{0x64,0x00},
Adhoc,//Infra,
"ST_MW_08S",
"12345",//{0}//将密码设置为0,即为公开网络。
{192,168,1,10},//{0},//将IP地址设置为0,即自动获取IP。
{255,255,255,0},
{192,168,1,1},
{202,114,88,10},
{0},//MAC地址固定不变,不可设置
B9600,//B2400,//将模块设置成9600/2400的波特率
UDP,//TCPC//(TCPClient),//TCPS//(TCPServer)
{192,168,1,100},//远程IP
{0x90,0x1F},
{0xA0,0x0C}
};
//#pragmapack()
externunsignedcharuart_receive_flag;
externunsignedcharuatr_buffer[13];
sbitLamp=P2^1;
voidmain(void)
{
charssid[]="STC98S52RC";
charkey[5]="12345";//
intlport=8080;
intrport=8080;
chari=0;
charflag=0;
Link_LED=1;
memset(set.ssid,0,sizeof(set.ssid));//更改SSID
strncpy(set.ssid,ssid,sizeof(ssid));
memset(set.key,0,sizeof(set.key));//更改密码
strncpy(set.key,key,sizeof(key));
set.lport[0]=lport;//更改本地端口号
set.lport[1]=lport>>8;
set.rport[0]=rport;//更改远程端口号
set.rport[1]=rport>>8;
init_uart(B2400);//第一步:
初始化串口波特率为2400,注意晶振用的是12M的还是11.0592M的
Recall=0;//第二步:
拉低Recall引脚
Reset=0;//第三步复位ST_MW_08S
delay_ms
(1);
Reset=1;
delay_ms(11);
Uart_Send_String(&set,sizeof(set));//第四步:
串口发送设置数据包
delay_ms(10);
Recall=1;//第五步,置高Recall引脚
uart_receive_flag=0;
while(Link_LED);//等待模块启动
delay_ms(300);
//ST_MW_08S设置成功后有应答,应答命令为{0x5B,0x03,0x00}
if(uatr_buffer[0]==0x5B&&uatr_buffer[1]==0x03&&uatr_buffer[2]==0x00)//ConfigOK
Lamp=0;//设置成功TS指示灯亮
else//Configfailed
while
(1)//设置失败TS指示灯闪烁
{
Lamp=~Lamp;
delay_ms(100);
}
init_uart(B9600);//将波特率调成与ST_MW_08S串口波特率一致。
memset(uatr_buffer,0,13);
while
(1)
{
if(Link_LED)
{
if(flag==1){flag=0;delay_ms(300);}
Uart_Send_String(ssid,sizeof(ssid));//发送数据到wifi模块;
}
else{Lamp=~Lamp;flag==1;delay_ms(50);}//断线或连接不成功指示灯闪烁
if(uart_receive_flag==1)//从wifi模块接收到了数据,改变指示灯的闪烁频率,数据存在uatr_buffer[]里面。
{
uart_receive_flag=0;
for(i=0;i<20;i++)
{
Lamp=~Lamp;
delay_ms(10);
}
}
}
}
单片机初始化程序
#include
voidmain(void)
{
P0=0xFF;
P1=0xFF;
P2=0xFF;
P3=0xFF;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)