WIFI课程设计实习报告.docx
- 文档编号:25735611
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:33
- 大小:1.37MB
WIFI课程设计实习报告.docx
《WIFI课程设计实习报告.docx》由会员分享,可在线阅读,更多相关《WIFI课程设计实习报告.docx(33页珍藏版)》请在冰豆网上搜索。
WIFI课程设计实习报告
电子与信息工程学院
课程设计报告
(2012—2013学年第2学期)
课程名称:
基于WIFI模块的无线表决器
班级:
XXXXXXXXX
学号:
XXXXXX
姓名:
XXXXXXXXXXXXXX
扌指导教师:
XXXXXXXXXX
2013年05月
基于WIFI模块的无线数据传输
一、选题背景
随着科技进步,很多嵌入式设备使用以太网接口实现数据传输,有线方式需布线、使用点不灵活等问题,采用WIFI模块实现无线通信,方便、灵活成为很多嵌入式设备完成数据传输的首选。
二、设计选题:
无线表决器(决定某件事情是否通过)
三、小组成员:
四、设计器材:
Wifi模块一块、手机(为安卓系统的且带有有人网络助手软件)、单片机一块、液晶显示屏一个。
五、课题简介:
做一个无线表决器,判定某件事是否予以通过,采用少数服从多数原
则;”丫”表示赞同,”N”表示反对,”G”表示弃权。
当手机使用有人网络助手软件(此时已经与wifi成功连接)发送Y,N,G三种不同信息时,通过wifi经过串口将信息送至单片机中进行信息处理,最后将投票结果显示在液晶显示屏上,同时也可以按下独立按键S5(与C51单片机P3A7端口相连),将显示结果发送至手机中显示。
六、设计整体框图:
显示模块
液晶显示屏
1.终端模块:
使用安卓系统手机并下载有人网络助手软件,给wifi模块上电,手机开启WIFI功能,找到并加入ABCDEFG123的5WIFI网络,在手机上启动有人网络助手软件,切换到TCPClient界面,点击增加,创建一个到10.10.100.254的8899端口(为wifi的IP地址与端口)的TCP连接,创建成功后,会建立和WIFI模块的TCP连接。
建立连接成功后,手机发送数据,单片机的串口会收到数据。
投票结束时,按下独立按键S5(与C51单片机P3A7端口相连),可以将投票结果送到手机上。
独立按键内部电路连线图与单片机管脚图如下
单片扒部分;逋过皤锁座方便更拖
2.无线模块:
(1)功能描述
1.无线组网
HF-A11X的无线模块即可以配置成一个无线STA也可以配置成AF。
所以HF-A11X逻辑上支持2个无线接口,一个作为STA另一个接口相当于一个AP,其它STA可以通过这个模块的AP接口连入无线网络。
所以,利用HF-A11X可以提供十分灵活的组网方式,和网络拓扑。
HF-A11X的功能模块如下图所示:
GPIO
ProcessingProgram
WiFiDriver
WiFiPHY
100MEth
AP
UART
STA
图-15HF-A11X功能结构
<说明>:
AP:
即无线接入点,是一个无线网络的中心节点。
通常使用的无线路由器就是一个AP,其它无线终端可以通过AP相互连接。
STA即无线站点,是一个无线网络的终端。
如笔记本电脑、PDA等。
2.安全机制
HF-A11X模块支持多种无线网络加密方式,能充分保证数据的安全传输,包括:
WEP
WAP-PSK/TKIP
WAP-PSK/AES
WAP2-PSK/TKIP
WPA2-PSK/AES
3.地址绑定
HF-A11X模块支持在联网过程中(作为STA去连接AP过程中)绑定目的网络的BSSID的功能。
根据802.11协议规定,不同的无线网络可以具有相同的网络名称(即SSID/ESSID),但是必须对应一个唯一的BSSID地址(即MAC地址)。
非法入侵者可以通过建立具有相同的SSID/ESSID的无线网络的方法,使得网络中的STA联接到非法的AP上,从而造成网络的泄密。
通过BSSID地址绑定,可以防止STA接入到非法的网络上,从而提高无线网络的安全性。
4.以太网接口功能
HF-A11X模块提供一个100M以太网接口,通过这个100M以太网接口,用户可以实现WIFI口、串口、以太网口,三个接口互通。
在组网方面,HF-A11X模块支持桥接模式和路由模式来对应不同的具体应用。
<说明>:
对于不同的组网方式,HF-A11X可能需要不同的软件版本支持(如下面所描述的N-Ver和Z-Ver)。
请联系有人科技的技术支持人员来获得更进一步的以太网组网应用。
5.工作模式
HF-A11X模块支持两种工作模式:
透明传输模式和协议传输模式。
透明传
输模式可以实现串口即插即用,从而最大程度的降低用户使用的复杂度。
协议传
输模式可以实现用户数据的准确传输。
用户可以根据实际需要设置不同的工作模式,并保存在Flash中,上电起动后模块会自动进入该工作模式。
HF-A11X模块上电起动后,会根据用户预先设置好的参数,自动的去连接无线网络及服务器,并且进行设置的工作模式,按预设的串口参数打开串口。
6.网络协议
HF-A11X模块支持TCP/UDP网络协议,协议端口可以通过web方式或串口的AT+命令设置。
HF-A11x网络侧的接口可以是server,也可以是client,通过web方式或串口的AT+命令设置。
(2)收发测试
给wifi上电,在笔记本电脑上搜索网络并找到wifi网络与之相连。
打开测试软件USR-TCP232-Test.exe,选择硬件连接到的计算机的串口号,这里是COM3选择波特率57600,此为WIFI模块内部串口默认的波特率,点打开串口。
网络设置区选择TCPclient模式,服务器IP地址输入10.10.100.254,此为WIFI模块默认的IP地址,服务器端口号8899,此为模块默认监听的TCP端口号,点击连接建立TCP连接。
至此,你就可以在串口和网络之间进行数据数据收发测试了,串口到网络的数据流向是:
计算机串口->模块串口->模块WIFI->计算机网络,网络到串口的数据流向是:
计算机网络->模块WIFI->模块串口->计算机串口。
(3)wifi设置
给wifi模块上电,保持计算机与WIFI网络链接,登录
http:
//10.10.100.254,即可进入设置网页,默认用户名和密码均为admin
济南有人物联网技术有限範司
Jih-USF?
ICTGoLMUscn
中交brii^jsh
模块工作模式设置
讦注亶快工隹15:
丈・H岳“的诸低梯式・百总傅輸栈dA
*"AH:
旳础赫盏槿瓷订艮腹胸1曲「瞬,降IU笔游、刊純j曲删砲訂联話骨皆遥入土无找樓入克谡蛊"克而
乩©tkx■程式”
WFI任为跆就式宙T町块加和丫FI踐由础1齢」E聃*;錢甘遗巒块为和啾贰前・清刼元站疥味毎数jfi行诔舌u相关左蘇迢A“无烷吳i誠丢”頁西
扌莉白术有隠虫可血中:
‘仲叶.11创.cn咲就式
lec^00:
0230^65
OK'<5K7297
按图中右上角提示依次设置,在无线接入点与在串口及其他设置中:
按下图所示设置,完成wifi设置
II
徹特率
96CDw
8亍
Nonew
停止傥
L*
哽件诗控<CT5RTS)
Disable▼
确茗取消
确走I取消
3.处理器模块:
1.串口:
Wifi通过串口才能与单片机相连,相互传输信息。
而要保证二者准确无误的通信,必须要对串口通信初始设定(其中尤其要注意数据位、波特率要与wifi设置保持一致,否则二者之间无法正常通信),还要编写串口发送、中断、接收等功能的C语言程序再入单片机中。
如下图所示为串口内部电路连线图:
由图中可知,串口有三条有用线,一条接地线,另两条分别为输入、输出线,可将信息传入单片机处理,也可让单片机将处理后的信息传输出去。
另外,单片机的RS23串口是TTL电平接口,所以通过连接MAX232芯片进行电平转换后为232电平,可以直接接PC机进行调试和烧写程序。
2.C51单片机:
单片机是一种集成电路芯片,它的基本结构为运算器、控制器、主要寄存器。
单片机是靠程序的,并且可以修改。
通过不同的程序实现不同的功能。
单片机要对所接收到的信息进行处理操作,所以必须要有延时、中断(即串口中断)、计数等函数环节。
为此,根据课题内容要求以及所学知识编写相
应的C语言程序载入单片机中
F面给出一个51单片机的最小系统电路图:
图中:
(1)震荡电路
单片机系统正常工作的保证如果振荡器不起振,系统将会不能工作;假如振荡器
运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的
很明显:
电路将无法通信。
他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。
(2)复位电路
给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两种复位方式:
上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,通过按钮接通低电平给系统复位,这时如果手按着一直不放,系统将一直复位,不能正常工作。
4.显示模块:
液晶显示屏RSR/WE管脚分别与c51单片机P3A5,P3A6,P3A4端口相连。
要将单片机处理的信息显示在液晶屏上,必须要进行检查LCD亡状态、写指令数据到LCD写显示数据到LCDLC醐始化设定、设定显示位置、数据显示函数等环
节操作,写出相应的C语言程序载入单片机中。
如下表所示为液晶显示模块内部控制指令:
1602補畛內懿整壬士选訓拎如和044瞒
龄
RSR/W
D7
D6
D5
D4D3
D2
D1
DO
1
0
0
0
0
0
00
0
0
I
2
光标幽
00
0
0
0
00
0
1
*
3
0
0
o
0
0
00
1
W
s
4
显示刑球制
0
0
0
0
0
01
D
C
B
5
光标或字醐i—
0
0
0
0
0
1S/C
R/L
t
I
6
0
0
0
0
1
DLN
F
I
K
7
卿牌桃馳it
00
0
1
祗生存喙址
3鹹蜩側001歸据舸瀏加
9iO志删to1肝櫥地址
10WCGRAP 11从qRMDDRAM诫11iffl鞭骷容 下表为字符型LCD勺引脚定义: 引脚号 引脚名 电平 输入#输出 作用 1 Vss 电源地 2 Ucc 电源(*sv) 3 Uee 对比调幣电压 4 RS 0/1 输入 4逾△指令 与 R/・ 0/1 输入 沪问L叨写入指今或数据"从LCD谟取信意 6 £ 输入 使能伯号,阳霁号取伯息■―巩U译沿)齡指令 7 DBS 0/1 输入惕出 皺据最低位) B DIR1 输2輸出 9 flH7 n/i 输人#输岀 数SS^lirie? 10 D酣 0/1 鲁人/输出 数据总线1讣凶 11 DDU a/1| 输入才输出 對据总线丄加比 12 0/1 输入/输岀 铁据总线丄加岀 13 DU6 VI 输入#输岀 載据总线 m DB7 0/1 输入#输出 数据总线“哄肚最高位〉 u A +Ucc "D背光現源正极 16 K 按地 "D背尤电源员機 DDRA就是显示数据RAI用来寄存待显示的字符代码。 共80个字节,其地址和屏幕的对应关系如下表: 显示位置 1 「° 5 6 7 ■I-■¥4■ DDRAH 第一行 C0H 01H U2H 的H 阳H OOH 16扯 笫二行 AW 蚯H 岬H MlH 峪H ■■■■■■ DDRAM地址与显示位羞的对应关系 ;60HQ1H02H03H0MI跖H06H时H08H09HfiBHQCHODHKH0FH: I* 46H41H42H4M145HA百H^7H48H49H4ftn4BHUCH4DHMEH即FH I.....•* i■ I・ »«I•I■-«■t■I4I»4*411II*IR«Itl»II«lI*■! >«»>*■+■*«! *l|n|■*II«I*1»l11II«lItII*11411l»It«I|a|■J 清屏指令 1祐會功能 相令綁码 /ns R/W DB7 1 D时 DM DD4 DOS 清屏1 6 6 e Q a a a fl 1 14 功能: <1>清除液晶显示器,即将DDRA的内容全部填入“空白”的ASCII码20H; <2>光标归位,即将光标撤回液晶显示屏的左上方 <3>将地址计数器(AC)的值设为0。 显示开关控制指令 位名 D 设蚤 。 二显示功能关沪无光标 0=光标闪烁 1二显示功能开 1二有光标 "光标不闪烁 设定显示屏或光标移动方向指令 读取忙信号或A(地址指令 摘令SHS /US RS R/W DB7 QB6 DB5 DS4 叩3 D82 DB1 DBO 泸 9 1 FD A呐容汕 功*岀<1>读取忙碌信号匪的内容,EFP表示浹晶显示器忙,暂时无法接收单片机送来的数据或指令; 当BF=Q时,液聶显示器可以接收单片机送来的数提或指令; <2>读取地址计数器X)的內容。 下图为液晶屏内部电路连线机与管脚图以及部分与单片机管脚连线 图: 为了能讲行读燥作,新版;本円知中的WR拎制信号线競有盲接接地如果想配合咖学习哀请用社科戢把WR信号脚(即P3+6引脚)与地相连 vcc VCCPR1 DB2 7 DEW3 DB4 4 DB5 5 DBW6 DB7 7 DBS 8 INTI 1 CSDA 12 RS 15 LCDEN 14 -\31 J1 XI 19 X2 IS RST $ RD 17 WK. — INT1 XNT0iP3 THPj.5} T0fP3.4> XI X2 REST RDtPB7': WK DEI 1 七、程序流程图: PIOT POO PitT PO1 P12 P02 PO3 P14 PO4 P15 PQS P16 P06 P17 PC7 DI 37 D2 36 D3 35 D4 24 D5 33 D6 32 D7 39DO a 匚二 Q1T54567 22222222 PPPPPPPP CPS ALEPPSEN ^1SPA 22SCJL 231SB20 卫4Fit 25—TRST 26DIOJ_A.~27DT_TLA~2&~WELA 1OP3.O PS1 11 単■片机部分.通过衆趣座方使更換 八、C语言程序及注释: #include #include #include #defineuintunsignedint//宏定义 #defineucharunsignedchar #definedelayNOP();{_nop_();_nop_();_nop_();_nop_();};//延时 sbitkey=P3A7;//独立按键S5; sbitLCD_RS=卩3人5;//液晶屏读写使能控制口 sbitLCD_EN=P3A4; sbitLCD_WR=P3A6; ucharch,m; ucharn=0x30,y=0x30,g=0x30;//计数位 ucharn1=0x30,y1=0x30,g1=0x30; bitplayflag=0;//串口接收标志位ucharcodecdis1[]={"YESNONG"}; ucharcodecdis2[]={"000000"}; //函数声明 voidinit_serialcom();//串口初始化 voidsend_char_com(ucharch);//串口发送一个字符 voidsend_string_com(uchar*str,uintstrlen);//串口发送一个字符串voidsend_result();//返回表决结果voiddelay(uintm);//延时voidjishu();//表决计数voidinit_yjp();//液晶屏初始化函数 voidlcd_wcmd(ucharcmd);//写指令数据到LCDvoidlcd_wdat(uchardat);//写显示数据到LCD voidlcd」nit();//LCD初始化设定 voidlcd_pos(ucharpos);//设定显示位置voidplay();//数据显示函数 voidmain()//主函数 { init_serialcom();//初始化串口init_yjp();//初始化液晶屏while (1) { if(key==0) { delay (1); if(key==0) { while(key==0); send_result();//发送表决结果 } } jishu(); //表决计数 play(); //显示 } } // 串口 voidinit_serialcom()//串口通信初始设定 { P0=0xff; P2=0xff; SCON=0x50;//UART为模式1,8位数据,允许接收 TMOD=0x20;//定时器1为模式2,8位自动重装 PCON=0x00;//SMOD=0; TH1=0xFD;//Baud: 9600fosc=11.0592MHz TL1=0XFD; IE=0x90;//开中断 TR1=1;//启动定时器 TI=1; } //向串口发送一个字符 voidsend_char_com(ucharch) { ES=0; TI=0; SBUF=ch; while(TI==0){} TI=0; ES=1; } //向串口发送一个字符串,strlen为字符串长度 voidsend_string_com(uchar*str,uintstrlen) { uintk=0; do { send_char_com(*(str+k)); k++; }while(k } voidsend_result()//发送表决结果函数 { uchar*str1="表决结果,赞成票: "; uchar*str2="反对票: "; uchar*str3="弃权票: ";send_string_com(str1,18);send_char_com(y1);send_char_com(y); send_string_com(str2,8);send_char_com(n1);send_char_com(n); send_string_com(str3,8); send_char_com(g1);send_char_com(g); } //串口接收中断函数 voidserial()interrupt4using3 { if(RI) { RI=0; ch=SBUF; playflag=1;//就置位取数标志 } } //液晶屏 //液晶屏初始化函数 voidinit_yjp() { lcd_init(); lcd_pos(0x00);//设置显示位置为第一行for(m=0;m<16;m++) { lcd_wdat(cdis1[m]);//显示字符delay(5); } lcd_pos(0x40);//设置显示位置为第二行for(m=0;m<16;m++) { lcd_wdat(cdis2[m]);//显示字符delay(5); } } //写指令数据到LCD 〃RS=L,RW=L,丘=高脉冲,D0-D7=指令码。 voidlcd_wcmd(ucharcmd) { LCD_RS=0; LCD_WR=0; LCD_EN=0; _nop_(); _nop_(); P0=cmd;delayNOP();LCD_EN=1; delayNOP(); LCD_EN=0; } //写显示数据到LCD 〃RS=H,RW=L,丘=高脉冲,D0-D7=数据。 voidlcd_wdat(uchardat){ LCD_RS=1;LCD_WR=0; LCD_EN=0; P0=dat;delayNOP(); LCD_EN=1;delayNOP(); LCD_EN=0; } IILCD初始化设定voidlcd_init() { delay(15); II清除LCD的显示内容 II16*2显示,5*7点阵,8位数据 lcd_wcmd(0x01); lcd_wcmd(0x38);delay(5); lcd_wcmd(0x38);delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); delay(5); lcd_wcmd(0x01); II开显示,显示光标,光标闪烁 II清除LCD的显示内容 delay(5); } //设定显示位置 voidlcd_pos(ucharpos) { lcd_wcmd(pos|0x80);//数据指针=80+地址变量 } //数据显示函数 voidplay() { if (1) { lcd_pos(0x40);//设置位置为第二行 for(m=0;m<16;m++) { switch(m) { case1: lcd_wdat(y1);break; case2: l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WIFI 课程设计 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)