当前位置: 首页 > news >正文

做的网站每年需要续费做公司网站的公司有哪些

做的网站每年需要续费,做公司网站的公司有哪些,营销策划公司怎么收费,上海seo外包基于51单片机的步进电机调速系统 #xff08;仿真#xff0b;程序#xff0b;原理图#xff0b;设计报告#xff09; 功能介绍 具体功能#xff1a; 1.按键可以控制电机正、反转#xff0c;加、减速#xff0c;停止#xff1b; 2.一位7段数码管实时显示档位#xf… 基于51单片机的步进电机调速系统 仿真程序原理图设计报告 功能介绍 具体功能 1.按键可以控制电机正、反转加、减速停止 2.一位7段数码管实时显示档位共9档 3.两个LED分别来表示正转、反转 4.四个LED流水闪烁来表示电机转速 ​演示视频 基于51单片机的步进电机调速系统设计 #include reg52.h /* 按键控制步进电机正转、反转、加1档、减1档、停止 数码管显示步进电机档位总共有9档 LED灯显示正转、反转、转速 *//*宏定义*/ #define SpeedShow P0 //数码管显示接口 #define MotorDriver P2 //步进电机驱动接口typedef unsigned char uchar; // 8位有符号整数 typedef unsigned int uint; //16位有符号整数 typedef unsigned long ulong; //32位有符号整数#define KEY_TIME_SHORT 20 //短按的按键去抖动延时的时间 //---加入全局变量--// extern uchar KeyCode; extern uint KeyTimeCnt[5]; //按键去抖动延时计数器,分别对应KEY1/2/3/4/5 extern uchar KeyLock[5]; //按键触发后自锁的变量标志,分别对应KEY1/2/3/4/5//----------------------------------------------------------------- // 相关函数声明 //----------------------------------------------------------------- void KeyScan(); //按键扫描函数 放在定时中断里 void Delay10ms(); //延时函数//0~9 的共阳数码管段码最后一个是黑屏 const uchar SEG_CODE[] {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF};//输出励磁序列的频率参数{TH1,TL1} const uchar Timer[9][2]{{0xDE,0xE4},{0xE1,0xEC},{0xE5,0xD4},{0xE9,0xBC}, //8.476 ~ 1ms{0xEd,0xA4},{0xF1,0x8C},{0xF5,0x74},{0xF9,0x5C},{0xFC,0x18}};//步进电机正转的励磁序列 const uchar FFW[] {0x1F,0x3F,0x2F,0x6F,0x4F,0xCF,0x8F,0x9F}; //DCBAXXXX//步进电机反转的励磁序列 const uchar REV[] {0x9F,0x8F,0xCF,0x4F,0x6F,0x2F,0x3F,0x1F}; //DCBAXXXX//枚举变量--正反转标志 typedef enum{FwdRun, RevRun} RunFlag; RunFlag flag1 FwdRun;uchar speed 0;uchar KeyCode 0; //按键编码值//共5个独立机械按键,通过短按实现5种按键编码值 uint KeyTimeCnt[5] {0,0,0,0,0}; //按键去抖动延时计数器,分别对应KEY1/2/3/4/5 uchar KeyLock[5] {0,0,0,0,0}; //按键触发后自锁的变量标志,分别对应KEY1/2/3/4/5/* IO引脚分配*/ sbit KEY1 P1^2; //按键1 sbit KEY2 P1^3; //按键2 sbit KEY3 P1^4; //按键3 sbit KEY4 P3^5; //按键4 sbit KEY5 P3^6; //按键5sbit FWD_LED P1^0; //正转指示灯 sbit REV_LED P1^1; //反转指示灯//函数声明 void T0_Init(); //定时器0初始化函数声明 void T1_Init(); //定时器1初始化函数声明 void KeyService(); //按键服务函数声明 void delay_ms(uint t); //毫秒延时函数声明//----------------------------------------------------------------- // 主程序 //----------------------------------------------------------------- void main() { T0_Init(); //定时器0初始化T1_Init(); //定时器1初始化FWD_LED 0; //正转指示灯亮默认初始化是正转delay_ms(500); //延时500ms待各个模块上电稳定EA 1; //开启中断while(1){ KeyService(); //按键服务程序} } //----------------------------------------------------------------- // Timer0 初始化模式1允许中断1ms定时 // Timer0 用于按键扫描 //----------------------------------------------------------------- void T0_Init() {TMOD 0xF0;TMOD | 0x01; //T0工作于模式1,16位定时器TH0 (65536 - 1000) 8; //1ms定时TL0 (65536 - 1000) 0xFF;ET0 1; //允许T0中断TR0 1; //启动T0 }//----------------------------------------------------------------- // Timer1 初始化模式1允许中断 // Timer1 用于改变步进电机转速 //----------------------------------------------------------------- void T1_Init() {TMOD 0x0F;TMOD | 0x10; //定时器1工作于模式1,16位定时器TH1 Timer[speed][0];TL1 Timer[speed][1]; //定时器1定时用于步进电机转速控制ET1 1; //允许T1中断PT1 1; //定时器1优先级高TR1 0; //关闭定时器1 }//----------------------------------------------------------------- // Timer0 中断服务程序 //----------------------------------------------------------------- void InterruptTime0() interrupt 1 {TH0 (65536 - 1000) 8; //1msTL0 (65536 - 1000) 0xFF;KeyScan(); //按键扫描 }//----------------------------------------------------------------- // Timer1 中断服务程序 //----------------------------------------------------------------- void InterruptTime1() interrupt 3 {static step1 0; static step2 0;TH1 Timer[speed - 1][0]; //根据不同的转速档位给定时器1赋定时器值TL1 Timer[speed - 1][1]; //按照定时器1的频率循环发送正转励磁序列的脉冲给步进电机使其不停地转动if(flag1 FwdRun)//正转{MotorDriver FFW[step1]; if(step1 8) step1 0; }//按照定时器1的频率循环发送反转励磁序列的脉冲给步进电机使其不停地转动else if(flag1 RevRun) {MotorDriver REV[step2];if(step2 8) step2 0; } }//----------------------------------------------------------------- // 按键服务程序 //----------------------------------------------------------------- void KeyService() {switch (KeyCode){case 1: flag1 FwdRun; //正转FWD_LED 0; REV_LED 1; //正转指示灯亮KeyCode 0;break; case 2: flag1 RevRun; //反转FWD_LED 1; REV_LED 0; //反转指示灯亮KeyCode 0;break;case 3: speed; //速度加if(speed 10) speed 1; SpeedShow SEG_CODE[speed];if(TR1 0) TR1 1;KeyCode 0;break;case 4: speed--; //速度减if(speed 0 || speed -1 ) speed 9;SpeedShow SEG_CODE[speed]; if(TR1 0) TR1 1; KeyCode 0;break;case 5: TR1 0; //停止SpeedShow 0xFF;MotorDriver 0x00;KeyCode 0;break; default: ;} } 硬件设计 使用元器件 单片机STC89C52 注意单片机是通用的无论51还是52、无论stc还是at都一样引脚功能都一样。程序也是一样的。 万用板9*15DC电源插口 自锁开关2.2K电阻*7 40脚IC座钮扣电池 电池座10uF电容 ULN2003驱动芯片 1位7段LED数码管 10K排阻103 10K电阻*1按键*6 30Pf瓷片电容*2 DC-5V步进电机 12M晶振导线若干 结构图 设计资料 01 仿真图 本设计使用proteus8.9版本设计资料里有安装教程无需担心具体如图 02 原理图 本系统原理图采用Altium Designer19设计具体如图 03 程序 本设计使用软件keil5版本编程设计资料里有安装教程无需担心具体如图 04 设计报告 五千字设计报告具体如下 05 设计资料 资料获取请关注同名公众号全部资料包括仿真源文件 、程序含注释、AD原理图、参考论文、实物图、流程图、任务书、元件清单、讲解视频等。具体内容如下全网最全! 资料获取请观看前面演示视频 点赞分享一起学习成长。
http://www.hkea.cn/news/14300331/

相关文章:

  • 惠州企业网站建设选哪家网站推广自己可以做吗
  • 把自己的电脑做网站服务器wordpress最新评论
  • 银川 网站制作最新中高风险地区名单
  • 自己做网站的网址wordpress去掉伪静态
  • 国内老牌的室内设计网站论吉林省网站职能建设
  • 徐闻网站开发公司甘孜州手机网站建设
  • 永康营销型网站建设注册造价工程师
  • wap网站实例广州做网站 信科便宜
  • 无锡模板建站多少钱做网站的类型
  • 开锁换锁做网站seo排名赚能赚钱吗
  • 潍坊网站开发公司wordpress 上传图片插件
  • 公司设计网站定制怎么做公司
  • 公司创建的法制网站网络整合营销的概念
  • 罗湖网站建设费用怎么取消网站备案
  • 网站虚拟主机共享在线旅游网站建设前的调研
  • 做网站容易吧废橡胶网站建设
  • 游戏网站的设计方案精品成品中韩网站源码免费
  • 手机网站开源系统建设银行网站 购买外汇
  • 建设专业网站哪家比较好长安网站建设推广公司
  • 阜阳网站建设价格低专注网站建设16年
  • 餐饮门户网站 方案怎么做中山家居企业网站建设
  • 网站定制哪儿济南兴田德润怎么联系长沙有哪些网络科技公司
  • 上海市黄页企业名录查询网站seo关键词优化排名
  • 常州承接网站建设网站建设兆金手指科杰
  • 网站建设与制作实验报告wordpress快速插图
  • 建设信息门户网站的条件长沙网站建设大全
  • 台州椒江区热销企业网站搭建网站后台发邮件
  • 萧山区住房和城乡建设局网站万润 营销型网站建设
  • 网站收录方法如何搭建免费网站
  • 北京智能建站系统价格核桃编程加盟费多少钱