无线终端课程设计.docx
- 文档编号:30663087
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:19
- 大小:638.75KB
无线终端课程设计.docx
《无线终端课程设计.docx》由会员分享,可在线阅读,更多相关《无线终端课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
无线终端课程设计
武汉理工大学华夏学院
信息工程
无线终端设计技术结课报告
课程名称
结课成绩
学生姓名、学号
学生专业班级
指导教师姓名
摘要:
TD标准在国内通信领域占据半个3G市场,TD终端成为工业设计的不可或缺的通信平台。
工业技术不断的发展,使得工业产品中模块集成度增加,模块间的耦合度减弱,通信性能加强,特别是成本比较低廉的串口使用比较广泛。
通过通信技术,主控设备控制终端设备,终端设备向主控设备报告自己的状态。
技术的更新要求这种通信速率越来越高。
然而,工业产品在满足需求的同时,也要考虑到成本高低。
1、需求分析(功能需求、界面需求、内部功能)
(1)按键图
确定具体位置
确定列数
扫描列数
确定行数
先扫描行
(2)AT指令流程图
电话卡激活到打电话
取消休眠
激活SIM卡
激活协议栈
注册网络
号码被叫
呼叫号码
ATA接听
ATH挂断
电话接通
对方挂机
结束
结束
ATH挂断
注销网络
关机流程
SIM卡注销
关机
(3)串口
进入中断处理程序
在串口通信过程中,对信号的检测非常严格。
所以,接收数据时一般采用单片机串口中方式,可快速响应串口数据的接收,其程序流程如下:
是否是接收
Y
设置标志位
Y
N
缓冲区是否满?
N
缓冲区下标志C
信息读取到缓冲区
处理程序结束
2、程序设计
主程序
#include
#include"uart_key.h"
#include"lcd_12864.h"
#include"delay.h"
#include"at.h"
//sbitFMQ=P2^4;
voidmain()
{
unsignedchara,flag1,flag2,AskCalling[11];
unsignedchari;
FMQ=0;
USART1_Init();
init_lcd();
Clr_Scr();
PrintStr(0,2,"李欢!
");
TD_Init();//请补充初始化程序
delayms(2000);
TD_PowerON();//请补充开机
delayms(2000);
PrintStr(2,0,"***************");
while
(1)
{
delayms(200);
a=Check_Key();
if(a>0)
{
if(a=='E')
{
PrintStr(4,0,"拨号:
");
flag1=1;
if(i==11)
{
i=0;flag1=0;
//请补充
TD_Calling(AskCalling);
}
}
if(flag1)
{
if(a<='9'&&a>='0')
{
if(i<11)
{
num_disp8(4,i+5,a);
AskCalling[i]=a;
i++;
}
}
elseif(a=='C'&&i>0){i--;num_disp8(4,i+5,'');a=0;}
}elseif(a=='C')TD_PowerOFF();
}
/*if(TD_DetectCalling()>0)
{
TD_Answer();//flag2=0;
}
*/
}
}
电话卡的一系列
#include
#include
#include"uart_key.h"
#include"delay.h"
#include"lcd_12864.h"
#include"at.h"
externvolatileunsignedcharAnswerIsOK,AnswerIsCALL,AnswerIsHANG,AnswerIsNO,AnswerIsRING,AnswerIsBUSY;
externunsignedcharAnswerPhoneNumb[12];
voidTD_Init(void)
{
do{
SendStr1("AT^DSLP=0,0\r\n");//请补充取消休眠功能这一步很重要
ClearOneLine
(2);
PrintStr(2,0,"初始化中...");
delayms(600);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"初始化失败!
");delayms(600);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"初始化成功!
");
delayms(1000);
//return1;
}
voidTD_PowerON(void)
{
/******激活sim卡**********/
do{
SendStr1("AT+CFUN=5\r\n");//请补充激活SIM/USIM卡,可以根据这条指令检测SIM/USIM卡是否在位
ClearOneLine
(2);
PrintStr(2,0,"激活SIM卡.");
delayms(700);
PrintStr(2,0,"激活SIM卡..");
delayms(700);
PrintStr(2,0,"激活SIM卡...");
delayms(700);
PrintStr(2,0,"激活SIM卡....");
delayms(700);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"激活失败!
");delayms(700);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"激活成功!
");
delayms(1000);
/******开机**********/
do{
SendStr1("AT+CFUN=1\r\n");//请补充开机功能fullfunctionality(poweron)
ClearOneLine
(2);
PrintStr(2,0,"开机中.");
delayms(500);
PrintStr(2,0,"开机中..");
delayms(500);
PrintStr(2,0,"开机中...");
delayms(500);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"开机失败!
");delayms(2000);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"开机成功!
");
delayms(1000);
/******开机**********/
do{
SendStr1("AT+COPS=0\r\n");//请补充注册网络//时间稍长先返回ok,再返回数据
ClearOneLine
(2);
PrintStr(2,0,"注册网络.");
delayms(500);
PrintStr(2,0,"注册网络..");
delayms(500);
PrintStr(2,0,"注册网络...");
delayms(500);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"注册失败!
");delayms(500);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"注册成功!
");
delayms(5000);
ClearOneLine
(2);
//PrintStr(2,0,"您现在可以打电话了!
");
//return1;
}
voidTD_PowerOFF(void)
{
/******注销网络**********/
do{
SendStr1("AT+COPS=2\r\n");//请补充注销网络
ClearOneLine
(2);
PrintStr(2,0,"注销网络.");
delayms(500);
PrintStr(2,0,"注销网络..");
delayms(500);
PrintStr(2,0,"注销网络...");
delayms(500);
PrintStr(2,0,"注销网络....");
delayms(500);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"注销失败!
");delayms(500);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"注销成功!
");
delayms(1000);
do{
SendStr1("AT+CFUN=6\r\n");//请补充SIM/USIM卡注销无返回值
ClearOneLine
(2);
PrintStr(2,0,"注销SIM卡.");
delayms(500);
PrintStr(2,0,"注销SIM卡..");
delayms(500);
PrintStr(2,0,"注销SIM卡...");
delayms(500);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"注销SIM卡失败!
");delayms(500);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"注销SIM卡成功!
");
delayms(1000);
do{
SendStr1("AT+CFUN=0\r\n");//请补充设置模块最小功能(关机)
ClearOneLine
(2);
PrintStr(2,0,"关机中.");
delayms(700);
PrintStr(2,0,"关机中.");
delayms(700);
PrintStr(2,0,"关机中..");
delayms(700);
ClearOneLine
(2);
if(!
AnswerIsOK){PrintStr(2,0,"关机失败!
");delayms(700);}
}while(!
AnswerIsOK);
AnswerIsOK=0;
PrintStr(2,0,"关机成功!
");
delayms(1000);
ClearOneLine
(2);
PrintStr(2,0,"再见!
");
}
voidTD_Calling(unsignedchar*PhoneNumber)
{
unsignedchartemp[18];//3+11+3
memset(temp,'\0',sizeof(temp));
memcpy(temp,"ATD",3);
memcpy(temp+3,PhoneNumber,11);
memcpy(temp+3+11,";\r\n",3);
do{
SendStr1(temp);
ClearOneLine(4);
PrintStr(4,0,"在连接...");
delayms(500);
}while(!
AnswerIsOK);
AnswerIsOK=0;ClearOneLine(4);
PrintStr(4,0,"连接成功,等对方应答!
");
delayms(500);
while
(1)
{
if(Check_Key()=='C'){ClearOneLine(4);ClearOneLine(6);TD_HangUp();break;}
if(AnswerIsCALL){ClearOneLine(4);ClearOneLine(6);PrintStr(4,0,"通话中...");AnswerIsCALL=0;}
if(AnswerIsHANG){ClearOneLine(4);ClearOneLine(6);PrintStr(4,0,"对方已挂机!
");AnswerIsHANG=0;break;}
if(AnswerIsNO){ClearOneLine(4);ClearOneLine(6);PrintStr(4,0,"无应答!
");AnswerIsNO=0;break;}
if(AnswerIsBUSY){ClearOneLine(4);ClearOneLine(6);PrintStr(4,0,"用户忙!
");AnswerIsBUSY=0;break;}
}
}
unsignedcharTD_DetectCalling(void)
{
unsignedchartemp[17];
//while(AnswerIsRING)
if(AnswerIsRING)
{
FMQ=1;
ClearOneLine(4);
memcpy(temp,AnswerPhoneNumb,11);
memcpy(temp+11,"来电!
",5);
PrintStr(4,0,temp);
AnswerIsRING=0;
return1;
//delayms(1000);
}
else
{FMQ=0;return0;}
}
voidTD_Answer(void)
{
while
(1)
{
if(Check_Key()=='E'){TD_AnswerCalling();ClearOneLine(4);PrintStr(4,0,"通话中...");delayms(500);}
if(Check_Key()=='C'){TD_HangUp();break;}
if(AnswerIsHANG){ClearOneLine(4);PrintStr(4,0,"对方已挂机!
");AnswerIsHANG=0;break;}
}
}
voidTD_AnswerCalling(void)
{
do{
SendStr1("ATA\r\n");//请补充应答功能
ClearOneLine(4);
PrintStr(4,0,"应答中...");
delayms(1000);
}while(!
AnswerIsOK);
PrintStr(4,0,"请通话!
");
AnswerIsOK=0;FMQ=0;
}
voidTD_HangUp(void)
{
do{
SendStr1("ATH\r\n");//请补充挂机功能
ClearOneLine(4);
PrintStr(4,0,"挂机中...");
delayms(1000);
}while(!
AnswerIsOK);
PrintStr(4,0,"挂机成功!
");
AnswerIsOK=0;FMQ=0;
}
3、总结(体会心得、程序开发分析)
课程设计评分表
评分项目
评分成绩
1.选题合理、目的明确(10分)
2.设计方案正确,具有可行性(30分)
3.测试性能达到技术要求(35分)
4.答辩(25分)
总分(100分)
答辩记录:
指导教师(签名)
日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 终端 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)