本帖最后由 死神小学生 于 2016-5-6 13:27 编辑
关注EEWORLD论坛这个活动很久了,从一开始就关注着,可惜那会正好报了驾校,准备考驾照。每天都得去驾校报告被教练骂。在驾校练车一练一上午,一练一下午,累得很,根本没有精力在来敲代码。 之后,看到大家都陆陆续续的参加了活动,用了STM32、TFT触摸屏等等,心里越发痒痒,也想自己DIY一个手机。现在正好有点空闲时间,可以来敲敲代码,DIY一下。 项目名称:DIY--手机 版 本:V1.0 硬 件:STC51 +LCD12864+SIM900 功 能: 1.打电话 2.游戏 3.闹钟 4.电子日历 没有群里各位大神那么高大上,我的要求不要太高,首先能打电话,其次再加一些小功能,比如游戏、闹钟、电子日历等等。功能不要太多,毕竟这是我的第一个版本,之后肯定会升级。 今天早上起晚了,没去看书,在宿舍把大概框架敲好了,也不知道活动哪天结束,毕竟已经开始很长时间了。管它了,反正我会把它进行到底。 借用锤子一句话:我不在乎输赢,我只是认真..... 上个图吧: 显示界面
菜单
这次DIY手机,用到的SIM900A是用AT指令进行通信的器件,之前从来没有接触过这方面的东西,怀一颗忐忑的心,不知道该怎么下手。从快递公司取回来模块后, 需要做的第一件事就是测试一下模块是不是可以正常工作。
先用USB转串口模块将SIM900A模块和电脑连接好,然后按照AT指令手册用上位机发送了几条指令,就好像是向SIM900A大喊:喂~~你能听到我说话么?SIM900A模块很快作出反应:我听到了~~于是,上面机界面显示出来了反馈信息,这样的话,已经可以正常的和SIM900A模块进行通信了,那试试拨号功能。发送指令拨打10086,很顺利的听到了熟悉的声音:欢迎致电中国移动~~~~~然后一堆废话,这样的话,模块是没有问题了,接下来就是用MCU来控制它了。
把它和单片机连起来。SIM900A模块和单片机的连接特别方便,因为用MCU的UART串行口,所以只需要两根数据线就可以了,即单片机的RXD、TXD分别和SIM900A模块的TXD.RXD相连接即可。
先进行最简单的测试---自动拨号
//串行口初始化:波特率9600
void init_UART(void) { TMOD=0x20;//定时器1操作模式2:8位自动重载定时器 TH1=0xfd;//装入初值,波特率9600 TL1=0xfd; TR1=1;//打开定时器 SM0=0;//设置串行通讯工作模式,(10为一部发送,波特率可变,由定时器1的溢出率控制) SM1=1;//(同上)在此模式下,定时器溢出一次就发送一个位的数据 REN=1;//串行接收允许位(要先设置sm0sm1再开串行允许) EA=1;//开总中断 ES=1;//开串行口中断 } 复制代码 先写一个简单的发送函数 //串行口发送数据 void Uart_Send_string(uchar *str) { while(*str!='\0') { SBUF=*str; while(!TI);//等待发送完成信号(TI=1)出现 TI=0; str++; } } 复制代码 自动拨号,进行最最简单的测试 #include <REGX52.H> #define uchar unsigned char #define uint unsigned int //以下是开机后拨打的手机号 uchar num[] = "ATD10086;\r"; void main() { init_UAR();//串行口初始化:波特率9600 while(1) { Uart_Send_string(num); //自动拨号 DelaySec(20); //延时20秒 Uart_Send_string("ATH\r"); //挂机 DelaySec(5); //延时5秒 } } 复制代码
插入耳机,可以听到10086的声音,简单的测试就完成了。
这只是最最简单的测试,什么都不用管,直接自动拨号然后挂断。但是,实际应用的话用单片机和SIM900A进行通信的话会是这么简单么??肯定不是,实际情况会比这复杂得多得多,欲知后事如何,请听下回分解吧~~~~
这次DIY手机,用到的SIM900A是用AT指令进行通信的器件,之前从来没有接触过这方面的东西,怀一颗忐忑的心,不知道该怎么下手。从快递公司取回来模块后, 需要做的第一件事就是测试一下模块是不是可以正常工作。 项目名称:KaSuo Phone 版 本:V1.0 硬 件: STC89C516 LCD12864(ST7920) SIM900A模块 功 能: 1.接/打电话 2.时钟 3.游戏 4.工具:闹钟、秒表、电子日历 5.设置:按键音设置、背光调节、情景模式 上图:
1.显示板
2.控制板
组合:
最后的整体图:
KaSuo Phone 介绍:
一。显示界面
显示时间、信号强度、电量信息
二。菜单界面
菜单又分为【拨号】、【时钟】、【游戏】、【工具】、【设置】、【版本】
原文及视频:http://bbs.eeworld.com.cn/thread-443790-1-1.html
以上图文内容均是EEWORLD论坛网友:季夏木槿 原创,在此感谢。
欢迎微博@EEWORLD
更多影视资讯、玩机技巧、维修问题、新品评测等,请订阅智能电视网头条号,下载当贝市场(https://webapk.dangbei.net/update/dbmarket.apk)让你的智能电视更智能哦!有关于智能电视的问题,大家可以在文章下面直接回复,小编为你贴心解答哦!或者关注智能电视网官方网站(http://www.znds.com),智能电视网微博,微信:zndscom。满足你一切关于智能电视的日常需求!
|