设为首页 加入收藏
您当前位置 > 中商网 > 企业 > 正文
>
分享
新浪微博
腾讯微博
微信
QQ空间
QQ好友
手机阅读分享话题

原创:DIY一部真正属于自己的手机

2020-08-18 04:14:42阅读: 来源:
关注EEWORLD论坛这个活动很久了,从一开始就关注着,可惜那会正好报了驾校,准备考驾照。每天都得去驾校报告被教练骂。在驾校练车一练一上午,一练一下午,累得很,根本没有精力在来敲代码。

关注EEWORLD论坛这个活动很久了,从一开始就关注着,可惜那会正好报了驾校,准备考驾照。每天都得去驾校报告被教练骂。在驾校练车一练一上午,一练一下午,累得很,根本没有精力在来敲代码。 之后,看到大家都陆陆续续的参加了活动,用了STM32、TFT触摸屏等等,心里越发痒痒,也想自己DIY一个手机。现在正好有点空闲时间,可以来敲敲代码,DIY一下。

项目名称:DIY--手机

版 本:V1.0

硬 件:STC51 +LCD12864+SIM900

功 能:

1.打电话

2.游戏

3.闹钟

4.电子日历

没有群里各位大神那么高大上,我的要求不要太高,首先能打电话,其次再加一些小功能,比如游戏、闹钟、电子日历等等。功能不要太多,毕竟这是我的第一个版本,之后肯定会升级。

今天早上起晚了,没去看书,在宿舍把大概框架敲好了,也不知道活动哪天结束,毕竟已经开始很长时间了。管它了,反正我会把它进行到底。

借用锤子一句话:我不在乎输赢,我只是认真.....

原创:DIY一部真正属于自己的手机上个图吧:

显示界面

原创:DIY一部真正属于自己的手机

菜单

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

这次DIY手机,用到的SIM900A是用AT指令进行通信的器件,之前从来没有接触过这方面的东西,怀一颗忐忑的心,不知道该怎么下手。从快递公司取回来模块后, 需要做的第一件事就是测试一下模块是不是可以正常工作。

原创:DIY一部真正属于自己的手机 先用USB转串口模块将SIM900A模块和电脑连接好,然后按照AT指令手册用上位机发送了几条指令,就好像是向SIM900A大喊:喂~~你能听到我说话么?SIM900A模块很快作出反应:我听到了~~于是,上面机界面显示出来了反馈信息,这样的话,已经可以正常的和SIM900A模块进行通信了,那试试拨号功能。发送指令拨打10086,很顺利的听到了熟悉的声音:欢迎致电中国移动~~~~~然后一堆废话,这样的话,模块是没有问题了,接下来就是用MCU来控制它了。

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

把它和单片机连起来。SIM900A模块和单片机的连接特别方便,因为用MCU的UART串行口,所以只需要两根数据线就可以了,即单片机的RXD、TXD分别和SIM900A模块的TXD.RXD相连接即可。

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

先进行最简单的测试---自动拨号

  1. //串行口初始化:波特率9600

  2. void init_UART(void)

  3. {

  4. TMOD=0x20;//定时器1操作模式2:8位自动重载定时器

  5. TH1=0xfd;//装入初值,波特率9600

  6. TL1=0xfd;

  7. TR1=1;//打开定时器

  8. SM0=0;//设置串行通讯工作模式,(10为一部发送,波特率可变,由定时器1的溢出率控制)

  9. SM1=1;//(同上)在此模式下,定时器溢出一次就发送一个位的数据

  10. REN=1;//串行接收允许位(要先设置sm0sm1再开串行允许)

  11. EA=1;//开总中断

  12. ES=1;//开串行口中断

  13. }

复制代码

先写一个简单的发送函数

  1. //串行口发送数据

  2. void Uart_Send_string(uchar *str)

  3. {

  4. while(*str!='\0')

  5. {

  6. SBUF=*str;

  7. while(!TI);//等待发送完成信号(TI=1)出现

  8. TI=0;

  9. str++;

  10. }

  11. }

复制代码

自动拨号,进行最最简单的测试

  1. #include

  2. #define uchar unsigned char

  3. #define uint unsigned int

  4. //以下是开机后拨打的手机号

  5. uchar num[] = "ATD10086;\r";

  6. void main()

  7. {

  8. init_UAR();//串行口初始化:波特率9600

  9. while(1)

  10. {

  11. Uart_Send_string(num); //自动拨号

  12. DelaySec(20); //延时20秒

  13. Uart_Send_string("ATH\r"); //挂机

  14. DelaySec(5); //延时5秒

  15. }

  16. }

复制代码

插入耳机,可以听到10086的声音,简单的测试就完成了。

这只是最最简单的测试,什么都不用管,直接自动拨号然后挂断。但是,实际应用的话用单片机和SIM900A进行通信的话会是这么简单么??肯定不是,实际情况会比这复杂得多得多,欲知后事如何,请听下回分解吧~~~~

原创:DIY一部真正属于自己的手机

这次DIY手机,用到的SIM900A是用AT指令进行通信的器件,之前从来没有接触过这方面的东西,怀一颗忐忑的心,不知道该怎么下手。从快递公司取回来模块后, 需要做的第一件事就是测试一下模块是不是可以正常工作。

项目名称:KaSuo Phone

版 本:V1.0

硬 件: STC89C516

LCD12864(ST7920)

SIM900A模块

功 能:

1.接/打电话

2.时钟

3.游戏

4.工具:闹钟、秒表、电子日历

5.设置:按键音设置、背光调节、情景模式

上图:

1.显示板

原创:DIY一部真正属于自己的手机

2.控制板

原创:DIY一部真正属于自己的手机

组合:

原创:DIY一部真正属于自己的手机

最后的整体图:

原创:DIY一部真正属于自己的手机

KaSuo Phone 介绍:

一。显示界面

显示时间、信号强度、电量信息

原创:DIY一部真正属于自己的手机

二。菜单界面

菜单又分为【拨号】、【时钟】、【游戏】、【工具】、【设置】、【版本】

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原创:DIY一部真正属于自己的手机

原文及视频:http://bbs.eeworld.com.cn/thread-443790-1-1.html

以上图文内容均是EEWORLD论坛网友:季夏木槿 原创,在此感谢。

欢迎微博@EEWORLD

如果你也写过此类原创干货请关注微信公众号:EEWORLD(电子工程世界)回复“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!

与更多行业内网友进行交流请登陆EEWORLD论坛。

(正文已经结束)

推荐阅读:中华商务在线

免责声明及提醒:此文内容为本网所转载企业宣传资讯,该相关信息仅为宣传及传递更多信息之目的,不代表本网站观点,文章真实性请浏览者慎重核实!任何投资加盟均有风险,提醒广大民众投资需谨慎!