STC 8F无线通讯语言模块测试

embedded/2024/12/23 4:54:52/

/*无线通讯语言模块测试·PAST 2020 1  15 L142 CODE2257**/
              #include     <REG52.H>
              #include     <intrins.H>
              #include     "stdio.h"
              #define      uint unsigned int  
              #define      uchar unsigned char
              uchar        s;
              sbit         OUT1=P3^2;            /****输出***/
              sbit         OUT2=P3^4;            /****输出***/
              sbit         MD0MD1=P5^4;
              uchar        DAT2=0;
              bit           Receive_Flag;
/*---------------延时子程序----------------*/
              void delay1 (uint ms)
              {
              uint i,j;
              for(i=0;i<ms;i++)
              for(j=0;j<200;j++)
              ;
              }    
/*------------初始化串口---------------------*/
              void InitUart()
              {
              SCON=0X50;                         //8位数据,可变波特率
              AUXR|=0x01;                        //串口1选择定时器2为波特率发生器
              AUXR|=0X04;                        //定时器2时钟为Fosc,即1T
              T2L=0XE0;                          //设置定时器处置  110592》9600
              T2H=0XFE;                          //设置定时器处置  110592》9600
              AUXR|=0X10;                        //启动定时器2
              TI=1;
              ES=1;                        //
              EA=1;
              }
              void change(uchar DAT)
              {
               switch(DAT)
               {
               case 1:printf("1");break;
               case 2:printf("2");break;
               case 3:printf("3");break;
               case 4:printf("4");break;
               case 5:printf("5");break;
               case 6:printf("6");break;
               case 7:printf("7");break;
               case 8:printf("8");break;
               case 9:printf("9");break;
               case 10:printf("十");break;    
               case 11:printf("十1");break;
               case 12:printf("十2");break;
               case 13:printf("十3");break;
               case 14:printf("十4");break;
               case 15:printf("十5");break;
               case 16:printf("十6");break;
               case 17:printf("十7");break;
               case 18:printf("十8");break;
               case 19:printf("十9");break;
               case 20:printf("2十");break;
               case 21:printf("2十1");break;
               case 22:printf("2十2");break;
               case 23:printf("2十3");break;
               case 24:printf("2十4");break;
               case 25:printf("2十5");break;
               case 26:printf("2十6");break;
               case 27:printf("2十7");break;
               case 28:printf("2十8");break;
               case 29:printf("2十9");break;
               case 30:printf("3十");break;
               case 31:printf("3十1");break;
               case 32:printf("3十2");break;
               case 33:printf("3十3");break;
               case 34:printf("3十4");break;
               case 35:printf("3十5");break;
               case 36:printf("3十6");break;
               case 37:printf("3十7");break;
               case 38:printf("3十8");break;
               case 39:printf("3十9");break;
               case 40:printf("4十");break;
               case 41:printf("4十1");break;
               case 42:printf("4十2");break;
               case 43:printf("4十3");break;
               case 44:printf("4十4");break;
               case 45:printf("4十5");break;
               case 46:printf("4十6");break;
               case 47:printf("4十7");break;
               case 48:printf("4十8");break;
               case 49:printf("4十9");break;
               case 50:printf("5十");break;
               default: break;
               }
              }
/*--------UART 中断服务程序----Buff=SBUF---------------*/
              void Uart() interrupt 4 using 1
              {
               if(RI)
               {
               DAT2=SBUF;                        //数组下标位置的数据等于j
               RI=0;                             //
               Receive_Flag=1;                     //接收数据标志置一
               }    
              }
/*------------------主循环程序----------------*/      
              void   main( )                     /*主程序开始*/
              {                                  /**加一**/
              AUXR=0X80;                         //STC系列的1T 设置
              TMOD=0X01;
              delay1(2000);
              delay1(2000);
              InitUart();                        //初始化串口
              MD0MD1=0;                             //
              printf("<Z>6");                     //音效
              printf("<V>3");                     //音量
              printf("<S>3");                     //语速
              delay1(200);
              OUT1=0;
              OUT2=0;
              delay1(2000);
              OUT1=1;
              OUT2=1;
              P_SW1=0x40;                       //RXD_2/P3.6, TXD_2/P3.7
              printf("系统启动中");
              delay1(2000);
              P_SW1=0x00;                       //RXD/P3.0, TXD/P3.1
              delay1(2000);
              Receive_Flag=0;                     //接收数据标志置零
              while(1)
              {
               if(Receive_Flag==1)
               {
                OUT1=0;
                OUT2=0;
                P_SW1=0x40;                       //RXD_2/P3.6, TXD_2/P3.7
                delay1(200);
                change(DAT2);
                printf("号机报警,请及时处理 ");
                delay1(2000);
                OUT1=1;
                OUT2=1;
                P_SW1=0x00;                       //RXD/P3.0, TXD/P3.1
                Receive_Flag=0;                     //接收到数据标志置零
               }
              }
             }


http://www.ppmy.cn/embedded/15103.html

相关文章

ROS摄像机标定

文章目录 一、环境准备二、摄像头标定2.1 为什么要标定2.2 标定前准备2.2.1 标定板2.2.2 摄像头调焦 2.3 开始标定2.4 测试标定结果 总结参考资料 一、环境准备 安装usb_cam相机驱动 sudo apt-get install ros-noetic-usb-cam 安装标定功能包 sudo apt-get install ros-noet…

SpringMVC笔记——SpringMVC基础Tomcat环境配置

Tomcat安装配置 下载Apache Tomcat 进入官网https://tomcat.apache.org/&#xff0c;选择tomcat 9 这边使用idea开发&#xff0c;建议直接下载压缩包 无法访问下载的可以直接用我的下载链接&#xff1a;https://cloudreve.zxbdwy.online/s/6nSA 提取码&#xff1a;w1pwk3将压…

全新Storm Core API管理系统源码 免授权版

全新Storm Core API管理系统源码 免授权版 本系统为API系统,实现了api集成等基础功能,以后可能会更新key调用api,或者实现付费功能,敬请期待,前端模板均无加密,用户可自行二开,具体请看图 测试环境:PHP7.2+MySQL5.6 访问:http://你的域名/install 进行安装 伪静态…

HarmonyOS ArkUI实战开发-NAPI方法扩展

在前 3 小结笔者简单介绍了 NAPI 工程并对生成的源码进行了简单介绍&#xff0c;本节笔者在前 3 小节的基础上对 NAPI 工程做个扩展&#xff0c;再额外添加一个计算 MD5 的方法 md5()。 声明md5方法 在 index.d.ts 文件中声明一个 md5() 方法&#xff0c;该方法接收一个 stri…

指纹浏览器如何高效帮助TikTok账号矩阵搭建?

TikTok的账号矩阵&#xff0c;可能听起来还比较陌生&#xff0c;但随着TikTok业务已经成为吃手可热的跨境业务&#xff0c;TikTok多账号矩阵已成为流行策略。但它有什么优点呢&#xff1f;操作多个帐户会导致被禁止吗&#xff1f;如何有效地建立账户矩阵开展业务&#xff1f;这…

Linux---Socket

网络套接字(socket) 网络通信仅仅是为了让两台主机间传送数据吗&#xff1f;数据是被谁需要的呢&#xff1f;--- 进程&#xff0c;所以网络通信的本质是两个进程间的通信。那么如何找到两台主机上的两个进程呢&#xff1f; 1、通过IP地址确定网络中的唯一一台主机 2、通过po…

使用idea如何打开python项目

1.查看python路径&#xff0c;winR>cmd>where python,可以找到python.exe文件 2.解决方案&#xff1a; 1.首先找到python安装位置。 &#xff08;如&#xff1a; D:\VS2019\共享组件、工具和SDK\Python37_64 &#xff09; 2.查找pip工具路径。 &#xff08;Python37…

使用 MediaCodec 在 Android 上进行硬解码

要使用 MediaCodec 在 Android 上进行硬解码&#xff0c;并获取 RGBA 数据&#xff0c;你可以按照以下步骤进行操作&#xff1a; 创建 MediaExtractor 对象并设置要解码的 MP4 文件路径&#xff1a; MediaExtractor extractor new MediaExtractor(); extractor.setDataSourc…