手机APP开发之MIT Appinventor详细实战教程(一),利用通过蓝牙控制单片机,以及实现单片机与android设备之间的串口通信

您所在的位置:网站首页 如何制作app漫画 手机APP开发之MIT Appinventor详细实战教程(一),利用通过蓝牙控制单片机,以及实现单片机与android设备之间的串口通信

手机APP开发之MIT Appinventor详细实战教程(一),利用通过蓝牙控制单片机,以及实现单片机与android设备之间的串口通信

2024-06-17 03:26:51| 来源: 网络整理| 查看: 265

目录

(一)前期软件准备和硬件准备

( 二 ) 实现的思路和操作原理

( 三) 具体的操作方法

MIT Appinventor 是编程领域较为受欢迎且适用的编程软件 ,因其操作流程和使用方法简单,一直深受广大编程人员的喜爱,所以今天为大家介绍一个实例——手机APP开发之MIT Appinventor详细实战教程(一),利用通过蓝牙控制单片机,以及实现单片机与android设备之间的串口通信。    

(一)前期软件准备和硬件准备

 软件准备主要是keil uvision,stc-isp-15xx-v6.85  硬件准备主要是有一个蓝牙模块 、一个便宜的单片机 、一个蓝牙可以正常使用的手机和编程电脑 ;  蓝牙模块需要和单片机连接,具体的操作方法:VCC接VCC,GND接GND,TXD接P30,RXD接P31   

( 二 ) 实现的思路和操作原理

 我们知道手机和单片机是两个互不相连的事物 ,所以要实现他们之间的通信,我们需要一个信使来充当中间媒介的作用 。而那个信使就是上面提到的蓝牙模块 。 这个蓝牙模块一方面可以接收到手机APP发送的数据并将它传达给单片机 ,另一方面单片机也可以将反馈数据通过蓝牙模块进而发送到手机App上 。这就实现了单片机和手机之间的交互通信 。 

( 三) 具体的操作方法

 首先我们需要  MIT Appinventor 制作一个简单的组件页面 ,具体情况如下图所示  :  这个布局还有待优化 ,实现最基本的功能也足够了 

 接下来是逻辑层面的设计   [ 这个可以用来实现手机APP对蓝牙的选择连接 ]  列表选择框(选择蓝牙)的启用为真,按钮(断开)的启用为假。选择蓝牙时将蓝牙客户端的地址及名称显示出来供用户选择。、    蓝牙所发送的数据相关设置也必不可少 ,本文让蓝牙发送的数据为1或0 ,你来传递给单片机,进而控制LED灯的亮灭。  ![ 较为简单的逻辑设计 ,这只是一个简单的框架,主要设计的是通过按钮的开关来控制灯的亮灭 ]  然后是通过发送零或一来使单片机Led灯发亮或暗 的控制的控制逻辑  [ 在文本框输入1或0,点击确认发送即可完成相应功能 ]   上面的一系列操作完成后,我们已经可以实现手机单方面对单片机进行控制。 在这里我们可以把手机形象化的比喻为命令的发出者 ,发出者通过蓝牙模块将数据传达给单片机 ,单片机又根据内部的程序,从而实现对LED灯的控制 ( 单片机的相关配合程序下文会详细给出 )下面我们来实现单片机对手机反馈数据 这一流程的操作 ,遵循单片机反向反馈数据的原理 ,和相关知识。我们可以有下面的尝试  [ 通过显示框找到蓝牙接收到的数据显示出来 ]

 

  **另大一部分便是单片机的配合程序了** 

 

#include //51头文件 sbit LED1 = P2^0; //位定义 LED1硬件接口 void delay(unsigned int z)//毫秒级延时 {     unsigned int x,y;     for(x = z; x > 0; x--)         for(y = 114; y > 0 ; y--); }      /******************************************************************/ /* 串口中断程序*/ /******************************************************************/ void UART_SER () interrupt 4 {     unsigned int n;     //定义临时变量     if(RI)         //判断是接收中断产生     {         RI=0;     //标志位清零         n=SBUF; //读入缓冲区的值         switch(n)         {             case 1:    LED1 = 0;    break;    //亮灯             case 0:    LED1 = 1;    break;    //灭灯         }     } } //蓝牙初始化 void boothint(void) {            SCON = 0x50;     // SCON: 模式1, 8-bit UART, 使能接收      TMOD |= 0x20;     TH1=0xfd;         //波特率9600 初值     TL1=0xfd;     TR1= 1;     EA = 1;        //开总中断     ES= 1;         //打开串口中断 } //串口初始化 void UartConfigurationInit() {     TMOD=0x20;  //设置定时器1工作方式为方式2        TH1=0xfd;        //波特率9600     TL1=0xfd;       TR1=1;      //启动定时器1          SM0=0;SM1=1;      //串口方式1              REN=1;      //允许接收        PCON=0x00;  //关倍频        ES=1;       //开串口中断        EA=1;       //开总中断 } void main() {     boothint();     while(1)     {               SBUF=9;   //发送单个字符         while(!TI);TI=0; //发送完成标志     } }

到目前为止,软件设计和单片机内部程序的设计的所有细节已经全部讲到 ,然后就是软件下载或者是调试的过程了 ,在整个界面的上面有一个连接(Connect)选项,推荐使用AI侣,这要求手机下载一个Appinventor的app,然后让手机和电脑在同一个局域网下,通过扫描二维码就可以在线调试看效果了,是不是有点小激动呀!  

特别注意:测试蓝牙通讯的单片机不要用51单片机!!!会出现乱码,具体原因可以看我的这篇博客,帮你完美实现蓝牙的双向通信功能。 https://blog.csdn.net/weixin_42619971/article/details/107298406            


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭