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

/*无线通讯语言模块测试·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.mzph.cn/diannao/2091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文学会Amazon transit GateWay

这是一个中转网关&#xff0c;使用时候需要在需要打通的VPC内创建一个挂载点&#xff0c;TGW会管理一张路由表来决定流量的转发到对应的挂载点上。本质上是EC2的请求路由到TGW&#xff0c;然后在查询TGW的路由表来再来决定下一跳&#xff0c;所以需要同时修改VPC 内子网的路由表…

力扣刷题学习python(跟随视频学着刷)

使用入门 视频链接 【手把手带你刷Leetcode力扣&#xff5c;各个击破数据结构和算法&#xff5c;大厂面试必备技能【已完结】-哔哩哔哩】 https://b23.tv/vIcRT61 时空复杂度 时间&#xff1a; 空间&#xff1a;主要有O(1)和O(n)两种 数组 特点&#xff1a;适合读多写少 操作…

系统架构设计

领域驱动设计(DDD)_骆驼整理说-CSDN博客 SpringCloud、Springboot、nacos集成依赖jar包版本对比&#xff1a; https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery https://github.com/xai-org/grok-1/ 领域驱动设计的原则…

Android 开机流程

Android12 开机流程 Android开机流程的意义在于确保系统硬件设备的正确初始化、加载操作系统内核、启动系统服务,并最终使应用程序能够正常运行。它是Android系统启动的基础,保证了系统的可靠性和稳定性。 初始化硬件设备:在开机流程中,引导加载程序会初始化硬件设备,包括…

阿赵UE学习笔记——29、Niagara制作火焰效果

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎&#xff0c;之前简单介绍了Niagara粒子系统&#xff0c;这次用Niagara系统做一个火焰的效果。 一、创建发射器 和之前介绍的一样&#xff0c;先创建一个空白的发射器&#xff1a; 我把这个发射器命名为…

货代是什么?如何选择靠谱的FBA头程货代公司?

在全球化的浪潮中&#xff0c;跨境电商业务如雨后春笋般蓬勃发展&#xff0c;货代公司作为连接卖家与市场的关键桥梁&#xff0c;其重要性也愈发凸显。货代公司不仅提供从起始地到目的地的货物运输服务&#xff0c;还在复杂的物流流程中发挥着不可或缺的作用。特别是在亚马逊等…

Java并发编程之锁的艺术:面试与实战指南

什么是锁&#xff1f; 锁是一种同步原语&#xff0c;用于保护共享资源&#xff0c;防止多个线程同时访问&#xff0c;从而避免数据不一致或其他并发问题。 Java中有哪些类型的锁&#xff1f; 内置锁&#xff08;synchronized&#xff09;&#xff1a;Java的每个对象都有一个内…

报错The chromedriver version cannot be discovered以及下载chromedriver.exe和查看其版本的命令

python3.8.10&#xff0c;win10。 谷歌浏览器版本&#xff08;我写代码的时候还是123.0.x.x&#xff0c;没几天就自动更新到124.0.x.x了&#xff09;&#xff1a; 在使用selenium的时候&#xff0c;出现报错&#xff0c;The chromedriver version cannot be discovered。 &am…

面试宝典(1)——数据库篇(MySQL)

面试宝典&#xff08;1&#xff09;——数据库篇&#xff08;MySQL&#xff09; 1.什么是索引&#xff1f; 索引是一种用于加快数据库查询速度的数据结构。 索引可以帮助数据库快速定位到数据库表中特定列的记录&#xff0c;从而加快数据检索和查询的速度。 通过在表的列上…

基于51单片机的宠物自动喂食语音播报,有实物

1. 51仿真&#xff1a; LCD第一屏显示食物重量&#xff0c;当前时间&#xff0c;温湿度。第二屏显示喂食时间&#xff0c;第三屏显示喂食重量。可通过点击查看喂食时间翻转屏幕显示。 点击查看喂食时间后&#xff0c;显示喂食时间&#xff0c;可以设置三个时间&#xff0c;再点…

【Flume】简介、安装和入门案例(一)

Flume 简介 概述 Flume本身是由Cloudera公司开发的后来贡献给了Apache的一套针对日志数据进行收集(collecting)、汇聚(aggregating)和传输(moving)的机制 Flume本身提供了简单且灵活的结构来完成日志数据的传输 Flume有两大版本&#xff1a; Flume0.X&#xff1a;又称之为…

react18 antd 引入导航栏之后一些bug,解决方法收集

概述&#xff1a; 我们开发react引入antd之后导航栏会出现刷新不选中、不展开二级导航栏、页面js点击之后不选中最新tab、只能展开一个二级tab之类的问题。那么我们一起来把问题给解决了 问题描述 其实问题这些问题差不多就是一个问题&#xff0c;就是Menu没有刷新选中的状态…

HTML 如何实现一个带间隙的圆环

实际效果&#xff1a; ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5e634cedded9424d96fbe6d46f34f61a.png#pic_center 代码实现&#xff1a; HTML部分&#xff1a; <svg width"500" height"500" viewBox"0 0 100 100">&…

《精准表达》让你的方案在最短的时间内打动人心 - 三余书屋 3ysw.net

精准表达&#xff1a;让你的方案在最短的时间内打动人心 大家好&#xff0c;今天我们要解读的书名为《精准表达》&#xff0c;其副标题是“让你的方案在最短的时间内打动人心”。在工作中&#xff0c;人们经常需要提交各种方案&#xff0c;例如销售人员向大客户介绍公司产品时…

HandlerInterceptor周边概念

HandlerInterceptor是Spring MVC框架中的一个接口&#xff0c;在org.springframework.web.servlet包下&#xff0c;它是Spring MVC框架中的一部分&#xff0c;它参与到Spring MVC的请求处理生命周期中&#xff0c;所以不是Spring IoC容器的Bean生命周期中的东西&#xff0c;它用…

idea显示maven或者gradle无法从仓库获取到项目中的jar包,jar包所在仓库无法访问解决方法,百试百灵

**idea显示maven或者gradle无法从仓库获取到项目中的jar包&#xff0c;jar包所在仓库无法访问解决方法&#xff0c;百试百灵** 直接上图&#xff0c;大概的故障问题就是&#xff1a;idea导入新的项目&#xff0c;因为项目中很多的jar需要从远程仓库下载&#xff0c;但是远程仓库…

WPF之数据模版

wpf数据模版与控件模版功能差不多&#xff0c;都是讲常用的自定义控件封装起来&#xff0c;通过键调用。但是数据模版可以绑定数据。 代码如下 &#xff1a; 第一步&#xff1a;(创建模版并且将需要显示的数据绑定相对应的模型类属性上) // 自定义控件模版和绑定数据 // Text…

C++ //练习 13.16 如果f中的参数是const numbered,将会怎样?这会改变输出结果吗?如果会改变,为什么?新的输出结果是什么?

C Primer&#xff08;第5版&#xff09; 练习 13.16 练习 13.16 如果f中的参数是const numbered&&#xff0c;将会怎样&#xff1f;这会改变输出结果吗&#xff1f;如果会改变&#xff0c;为什么&#xff1f;新的输出结果是什么&#xff1f; 环境&#xff1a;Linux Ubunt…

【XR806开发板试用】系统烧写

我是在虚拟机下安装&#xff0c;这部分大家应该都会吧&#xff0c;就不过多阐述了。 环境配置 大家应该先看官方文档【XR806】 1.准备工作 安装Git 在安装git后&#xff0c;需git-lfs并配置用户信息。否则可能拉代码失败 git config --global user.name “yourname” git co…

Excel操作-vlookup函数用法大全

目录 常规查找 ​编辑​编辑多条件查找 一维表的多条件查找 二维表的多条件查找 反向查找&#xff08;从右到左&#xff09; ​编辑 匹配多列数据 法一&#xff1a; 法二&#xff1a; 模糊匹配 按指定次数重复 在合并单元格中查找 法一&#xff1a; 法二&#xff1…