定时器0电机控制PWM输出

/*立式不锈钢波纹管机控制板2021 2 26 pcb PAST******/
              #include     <REG52.H>
              #include     <intrins.H>
              #define      uint unsigned int  
              #define      uchar unsigned char
              #define      FOSC 11059200L
              #define      T1MS (65536-FOSC/1000)      //1T模式
              uchar           val;
              uchar           Speed;
              sbit         OUT1=P1^6;
              sbit         OUT2=P1^7;
              sbit         P_WM1=P3^5;
              sbit         P_WM2=P3^7;
              bit          MOTORX_RUN;                //X轴启动标志
              bit          MotorX_LowFlag;            //电机X轴低电平计数标志
              uint         MotorX_LowCounter;         //电机X轴低电平计数器
              uint         MotorX_HighCounter;        //电机X轴高电平计数器
/*---------------延时子程序----------------*/
              void delay1 (uint ms)
              {
              uint i,j;
              for(i=0;i<ms;i++)
              for(j=0;j<2000;j++)
              ;
              }
/****************************************/
              void timer0() interrupt 1
              {
               val++;
               if(val>2)
               {
               val=0;
               OUT1=~OUT1;                       //将测试口取反
               if(MOTORX_RUN==1)                 //X轴电机开启标志
               {
                P_WM1=0;                         //开X轴输出
                if(MotorX_LowFlag==1)            //低电平计数标志等于1
                {
                 MotorX_LowCounter++;
                 if(MotorX_LowCounter>=Speed)    //
                 {
                 MotorX_LowFlag=0;               //低电平计数标志等于0高电平开始计数
                 MotorX_HighCounter=102-Speed;   //赋高电平占空比值
                 }
                }
               else
               {
                P_WM1=1;                         //关X轴输出
                MotorX_HighCounter++;
                if(MotorX_HighCounter>=Speed)    //
                 {
                 MotorX_LowFlag=1;               //低电平计数标志等于1低电平开始计数
                 MotorX_LowCounter=Speed;        //低电平计数器
                 }
                }
               }
               }
              }
/*------------------主循环程序----------------*/      
               void   main( )                    /*主程序开始*/
               {  
               P1M0=0XC3; //
               P1M1=0X00;
               P3M0=0XF0; //
               P3M1=0X00;
               Speed=60;
               MOTORX_RUN=1;
               TMOD = 0x00;                      //设置定时器为模式0(16位自动重装载)
               TL0 = T1MS;                       //初始化计时值
               TH0 = T1MS >> 8;
               TR0 = 1;                          //定时器0开始计时
               ET0 = 1;                          //使能定时器0中断
               EA=1;
               while(1)
                {
                OUT2=0;
                delay1 (100);
                OUT2=1;
                delay1 (100);
                }
               }     //2024 6 13 L81 CODE196 PAST

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26574.shtml

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

相关文章

vue使用

if (this.$isPGY) {typeof window.tabCreateFn "function" && window.tabCreateFn("对账单 - 新增", "/vues/account/add", "")} else {this.$router.push({ name: "AccountAdd" })}

JVM性能优化案例:优化垃圾回收器的年轻代和老年代占比

JVM性能优化案例&#xff1a;优化垃圾回收器的年轻代和老年代占比 我们有一款在线交易系统&#xff0c;要求低延迟和高吞吐量。系统运行在Ubuntu服务器上&#xff0c;使用OpenJDK 11&#xff0c;并启用了G1垃圾回收器。以下是系统的基本配置和GC日志信息&#xff1a; 操作系统…

vscode react我常用的开发插件汇总

console-log – 此插件用于快捷键生成console,当然你也可以在其他模板中自定义快捷生成内容CodeGeeX – 一个内嵌在vscode插件列中的AI工具,让我们可以直接获取AI信息而不必麻烦的到其他AI软件或平台搜索Git History – 此插件用于在vscode中提供一个查询当前选中tab页签的组件…

CID引流电商下的3C产品选品策略深度解析

​摘要&#xff1a;随着电商行业的迅猛发展和消费者需求的日益多样化&#xff0c;CID引流电商作为一种新兴的电商模式&#xff0c;逐渐受到了广泛关注。在这一模式下&#xff0c;3C产品作为高客单价、高技术含量的代表品类&#xff0c;其选品策略的制定显得尤为重要。本文将从多…

新建pdb 打不开 ORA-65104 ORA-25153

select * from pdb_plug_in_violations&#xff1b; 有个waring service_name 冲突&#xff0c;应该是不影响的 -------------------------------------service 冲突解决------------------- Select message, action from DB_PLUG_IN_VIOLATIONS and get the result: MESSAG…

angular编程规范

目录 文章目录 **一、单一职责****1. 单一法则**2. 简单函数 **二、命名****1. 总体命名指导原则****2. 使用点和横杠来分隔文件名****3. 符号名与文件名****4. 服务名****5. 指令选择器****6. 为组件添加自定义前缀****7. 为指令添加自定义前缀****8. 管道名****9. 单元测试文…

北京Web前端大会:探索未来技术的无限可能

北京Web前端大会&#xff1a;探索未来技术的无限可能 在科技日新月异的今天&#xff0c;Web前端技术作为互联网发展的核心驱动力之一&#xff0c;正以前所未有的速度不断演进。北京Web前端大会作为行业内的一次盛会&#xff0c;汇聚了众多前端领域的专家和精英&#xff0c;共同…

KEYSIGHT N1000A与KEYSIGHT 86100D 区别?

N1000A与86100D设计理念和应用领域 N1000A&#xff1a;N1000A是一款宽带宽示波器主机&#xff0c;主要用于高速数字设计的精确测量&#xff0c;从50 Mb/s到超过80 Gb/s。它适用于光收发机设计和生产测试、ASIC/FPGA/IC设计和表征、串行总线设计、电缆和印刷电路板&#xff08;P…

如何使您的IT资产审计变得轻而易举?

无论您在审核准备方面处于哪个阶段&#xff0c;强大的资产管理策略都至关重要。现在&#xff0c;不可否认的是最初的障碍——精确追踪每一台设备、软件许可证和外围设备可能会让人感到不知所措。 然而&#xff0c;好消息是有简化流程可以帮助您将资产管理从一项令人望而却步的…

Elasticsearch 第二期:倒排索引,分析,映射

前言 正像前面所说&#xff0c;ES真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数据”到“大信息”。这也是Elasticsearch一开始就将自己定位为搜索引擎&#xff0c;而不是数据存储的一个原因。因此用这一篇文字记录ES搜索的过程。 关于ES搜索计划分两篇或…

0613# 3 八股

拷贝初始化和直接初始化 string str1("I am a string");//语句1 直接初始化 string str2(str1);//语句2 直接初始化,str1是已经存在的对象,直接调用拷贝构造函数对str2进行初始化 string str3 = "I am a string";//语句3 拷贝初始化,先为字符串”I am …

Python私教张大鹏 Vue3整合AntDesignVue之Checkbox 多选框

何时使用 在一组可选项中进行多项选择时&#xff1b; 单独使用可以表示两种状态之间的切换&#xff0c;和 switch 类似。区别在于切换 switch 会直接触发状态改变&#xff0c;而 checkbox 一般用于状态标记&#xff0c;需要和提交操作配合。 案例&#xff1a;多选框组件 核心…

微信小程序游戏与APP游戏:比较与对比

随着移动互联网的迅猛发展&#xff0c;游戏作为一个重要的应用领域&#xff0c;不仅在娱乐消遣中扮演着重要角色&#xff0c;也在商业上展现出巨大的潜力。在游戏开发和发布的选择上&#xff0c;开发者需要考虑多种因素&#xff0c;其中微信小程序游戏和独立APP游戏是两种常见的…

Hack The Box-Blurry

总体思路 CVE-2024-24590->修改脚本/劫持python库 信息收集&端口利用 nmap -sSVC blurry.htbStarting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-10 21:40 EDT Nmap scan report for app.blurry.htb (10.10.11.19) Host is up (0.20s latency).PORT STATE S…

【电机】了解无刷直流电机BLDC

1 介绍 无刷直流电机&#xff08;Brushless Direct Current Motor&#xff0c;简称BLDCM&#xff09;由电动机主体和驱动器组成&#xff0c;是一种典型的机电一体化产品。无刷电机是指无电刷和换向器&#xff08;或集电环&#xff09;的电机&#xff0c;又称无换向器电机。这是…

本地靶场搭建

1、windows service2003 链接&#xff1a;https://pan.baidu.com/s/1RIealrcfcDWKu1AIuYFbAQ?pwd4bv8 提取码&#xff1a;4bv8 2、asp环境搭建&#xff08;虚拟机内&#xff09; ①asp工作原理&#xff1a; 客户发送网站请求&#xff0c;iis接收客户请求&#xff0c;解析…

基于JSP的超市管理系统

你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP MyBatis 工具&#xff1a;IDEA/Eclipse、Navicat、Maven 系统展示 员工管理界面图 管…

Android Display管理服务DMS

1 获得显示设备信息&#xff1a; DisplayManagerService 启动后从SurfaceFlinger当中获取到系统默认的Display 与HDMI display的信息。 2 应用程序端指定其应用ContextImpl的Display。 3 应用程序获得Surface和配置Surface&#xff0c;这个surface对应于SurfaceFlinger中的L…

Ecahrts横向柱状图自动滚动

1.定义一个定时器标识 let timer: NodeJS.Timer; // 定时器 2.定义展示的数据的条数 const dataZoomEndValue 5; // 数据窗口范围的结束数值(一次性展示几个) 3.设置datazoom的相关参数 dataZoom: [{show: false, // 是否显示滑动条xAxisIndex: 0, // 表示从X轴的零刻度线…

谷粒商城实战(035 k8s集群学习1-前置介绍)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第339p-第p342的内容 分布式高级篇总结 高可用集群 内容 k8s介绍 为什么使用k8s 组件 master组件 node&#xff08;节点&#xff09;组件 要部…