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

news/2024/9/24 2:49:32/

/*无线通讯语言模块测试·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/news/1429126.html

相关文章

Linux内核驱动开发-字符设备驱动框架

1前置条件 &#xff08;1&#xff09;【linux】内核编译结束 &#xff08;2&#xff09;【linux】目录配置跳转文件&#xff1a;补充&#xff1a;配置的跳转文件只能在【linux】目录下使用&#xff0c;子目录无法使用2驱动框架 2.1编写驱动程序 #include <linux/init.h&g…

接口压力测试 jmeter--增强篇(二)

前期准备 1. JMeter的插件的安装 下载Jmeter Plugins Manager对插件进行管理 &#xff08;1&#xff09;下载地址&#xff1a;https://jmeter-plugins.org/install/Install/ &#xff08;2&#xff09;下载后&#xff0c;将jar包放到jmeter包目录下/lib/ext目录下 &#xff0…

软件杯 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c…

【算法分析与设计】填充每个节点的下一个右侧节点指针 II

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这…

JAVA-服务器搭建-创建web后端项目

首先打开IDEA 点击新建项目 写好名称-模板选择 Web应用程序 -语言选择 Java 构建系统选择 Maven 然后点击下一步 选择版本-选择依赖项 Web Profile 点击创建 点击当前文件-选择编辑配置 选择左上角的加号-选择Tomcat服务器-选择本地 点击配置-选择到Tomcat目录-点击确定 起个…

macbook spotlightknowledged 占用 cpu 过高

参考 https://discussions.apple.com/thread/251221314?sortBybesthttps://blog.csdn.net/tree_legend/article/details/136580949

Eureka基础介绍和使用

目录 一.理论基础 二.父项目 2.1 新建父项目 2.2 管理依赖 三.子项目 3.1 新建子项目 3.2 注册中心Server依赖和启动类和配置文件 3.3 生产者Client 依赖和启动类和配置文件 3.5 消费者Custmer依赖和配置类、启动类和配置文件 四.心跳 五.公共资源项目 5.1新建实体…

地质灾害监测预警系统:科技守护,构筑智能预警屏障

随着全球气候变化和人为活动的加剧&#xff0c;地质灾害频繁发生&#xff0c;给人们的生命财产安全带来了严重威胁。为了降低地质灾害带来的损失&#xff0c;地质灾害监测预警系统应运而生。本文将为您详细介绍地质灾害监测预警系统的原理、功能以及在实际应用中的效果。一、地…