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

惠州地区网站建设公司wordpress图片放大滑动

惠州地区网站建设公司,wordpress图片放大滑动,国内三大it外包公司,深圳建设网站公司十五、红外遥控器 介绍基本接收和发送遥控器键码外部中断和外部中断寄存器 红外解码中断函数红外遥控电机模块电机调速 介绍 基本接收和发送 空闲状态#xff1a;红外LED不亮#xff0c;接收头输出高电平发送低电平#xff1a;红外LED以38KHz闪烁#xff0c;接收头输出低… 十五、红外遥控器 介绍基本接收和发送遥控器键码外部中断和外部中断寄存器 红外解码中断函数红外遥控电机模块电机调速 介绍 基本接收和发送 空闲状态红外LED不亮接收头输出高电平发送低电平红外LED以38KHz闪烁接收头输出低电平发送高电平红外LED不亮接收头输出高电平 遥控器键码 外部中断和外部中断寄存器 低电平或者下降沿触发 红外解码 #include REGX52.H #include Timer0.h #include Int0.hunsigned int IR_Time; unsigned char IR_State;unsigned char IR_Data[4]; unsigned char IR_pData;unsigned char IR_DataFlag; unsigned char IR_RepeatFlag; unsigned char IR_Address; unsigned char IR_Command;/*** brief 红外遥控初始化* param 无* retval 无*/ void IR_Init(void) {Timer0_Init();Int0_Init(); }/*** brief 红外遥控获取收到数据帧标志位* param 无* retval 是否收到数据帧1为收到0为未收到*/ unsigned char IR_GetDataFlag(void) {if(IR_DataFlag){IR_DataFlag0;return 1;}return 0; }/*** brief 红外遥控获取收到连发帧标志位* param 无* retval 是否收到连发帧1为收到0为未收到*/ unsigned char IR_GetRepeatFlag(void) {if(IR_RepeatFlag){IR_RepeatFlag0;return 1;}return 0; }/*** brief 红外遥控获取收到的地址数据* param 无* retval 收到的地址数据*/ unsigned char IR_GetAddress(void) {return IR_Address; }/*** brief 红外遥控获取收到的命令数据* param 无* retval 收到的命令数据*/ unsigned char IR_GetCommand(void) {return IR_Command; }//外部中断0中断函数下降沿触发执行 void Int0_Routine(void) interrupt 0 {if(IR_State0) //状态0空闲状态{Timer0_SetCounter(0); //定时计数器清0Timer0_Run(1); //定时器启动IR_State1; //置状态为1}else if(IR_State1) //状态1等待Start信号或Repeat信号{IR_TimeTimer0_GetCounter(); //获取上一次中断到此次中断的时间Timer0_SetCounter(0); //定时计数器清0//如果计时为13.5ms则接收到了Start信号判定值在12MHz晶振下为13500在11.0592MHz晶振下为12442if(IR_Time13500-500 IR_Time13500500){IR_State2; //置状态为2}//如果计时为11.25ms则接收到了Repeat信号判定值在12MHz晶振下为11250在11.0592MHz晶振下为10368else if(IR_Time11250-500 IR_Time11250500){IR_RepeatFlag1; //置收到连发帧标志位为1Timer0_Run(0); //定时器停止IR_State0; //置状态为0}else //接收出错{IR_State1; //置状态为1}}else if(IR_State2) //状态2接收数据{IR_TimeTimer0_GetCounter(); //获取上一次中断到此次中断的时间Timer0_SetCounter(0); //定时计数器清0//如果计时为1120us则接收到了数据0判定值在12MHz晶振下为1120在11.0592MHz晶振下为1032if(IR_Time1120-500 IR_Time1120500){IR_Data[IR_pData/8]~(0x01(IR_pData%8)); //数据对应位清0IR_pData; //数据位置指针自增}//如果计时为2250us则接收到了数据1判定值在12MHz晶振下为2250在11.0592MHz晶振下为2074else if(IR_Time2250-500 IR_Time2250500){IR_Data[IR_pData/8]|(0x01(IR_pData%8)); //数据对应位置1IR_pData; //数据位置指针自增}else //接收出错{IR_pData0; //数据位置指针清0IR_State1; //置状态为1}if(IR_pData32) //如果接收到了32位数据{IR_pData0; //数据位置指针清0if((IR_Data[0]~IR_Data[1]) (IR_Data[2]~IR_Data[3])) //数据验证{IR_AddressIR_Data[0]; //转存数据IR_CommandIR_Data[2];IR_DataFlag1; //置收到连发帧标志位为1}Timer0_Run(0); //定时器停止IR_State0; //置状态为0}} } 中断函数 void Int0_Init(void) {IT01;IE00;EX01;EA1;PX01; }红外遥控 #include REGX52.H #include Delay.h #include LCD1602.h #include IR.hunsigned char Num; unsigned char Address; unsigned char Command;void main() {LCD_Init();LCD_ShowString(1,1,ADDR CMD NUM);LCD_ShowString(2,1,00 00 000);IR_Init();while(1){if(IR_GetDataFlag() || IR_GetRepeatFlag()) //如果收到数据帧或者收到连发帧{AddressIR_GetAddress(); //获取遥控器地址码CommandIR_GetCommand(); //获取遥控器命令码LCD_ShowHexNum(2,1,Address,2); //显示遥控器地址码LCD_ShowHexNum(2,7,Command,2); //显示遥控器命令码if(CommandIR_VOL_MINUS) //如果遥控器VOL-按键按下{Num--; //Num自减}if(CommandIR_VOL_ADD) //如果遥控器VOL按键按下{Num; //Num自增}LCD_ShowNum(2,12,Num,3); //显示Num}} }电机模块 #include REGX52.H #include Timer1.h//引脚定义 sbit MotorP1^0;unsigned char Counter,Compare;/*** brief 电机初始化* param 无* retval 无*/ void Motor_Init(void) {Timer1_Init(); }/*** brief 电机设置速度* param Speed 要设置的速度范围0~100* retval 无*/ void Motor_SetSpeed(unsigned char Speed) {CompareSpeed; }//定时器1中断函数 void Timer1_Routine() interrupt 3 {TL1 0x9C; //设置定时初值TH1 0xFF; //设置定时初值Counter;Counter%100; //计数值变化范围限制在0~99if(CounterCompare) //计数值小于比较值{Motor1; //输出1}else //计数值大于比较值{Motor0; //输出0} } 电机调速 #include REGX52.H #include Delay.h #include Key.h #include Nixie.h #include Motor.h #include IR.hunsigned char Command,Speed;void main() {Motor_Init();IR_Init();while(1){if(IR_GetDataFlag()) //如果收到数据帧{CommandIR_GetCommand(); //获取遥控器命令码if(CommandIR_0){Speed0;} //根据遥控器命令码设置速度if(CommandIR_1){Speed1;}if(CommandIR_2){Speed2;}if(CommandIR_3){Speed3;}if(Speed0){Motor_SetSpeed(0);} //速度输出if(Speed1){Motor_SetSpeed(50);}if(Speed2){Motor_SetSpeed(75);}if(Speed3){Motor_SetSpeed(100);}}Nixie(1,Speed); //数码管显示速度} }
http://www.hkea.cn/news/14501822/

相关文章:

  • 客户管理系统在哪进入vue做网站对seo
  • 广东官网网站建设平台惠州悦商做网站
  • 现在ui做的比较好的网站海外网站建设平台
  • 东营企业网站制作深圳网站建设前十名
  • 南桥做网站wordpress poststatus
  • 美食网站的建设重庆宣传片2023
  • 免费推广网站入口2020活动策划公司主要做什么
  • 原创网站设计西安网站建设设计公司
  • 界面网页设计培训西安网站优化维护
  • 四川网站开发公司上海最新新闻发布
  • 怎么查看域名网站的容量到期自己写wordpress插件吗
  • 电商类网站有哪些wordpress mip img
  • 上海网站建设制作公司建筑公司电话号码
  • 广东南方通信建设有限公司官方网站wordpress教材.txt
  • 前程无忧做简历网站wordpress搬家后网页空白
  • 个人网站可以做导购吗单页营销型网站建设
  • 二级院系网站建设网站建设的维护工作
  • 百度有个学习的网站建设叫什么mvc做网站用的多不多
  • 我做网站了 圆通南昌购物网站开发
  • 深圳趣网站建设网站开发切换电脑版与手机版
  • 网站域名收费标准seo关键词排名优化报价
  • 百度工具网站改版做网站专业服务
  • 哪家公司建换电站自己可以建设一个网站要钱
  • 成都设计网站的公司哪家好职业技术培训机构
  • 无法访问服务器上网站营销策划方案的内容
  • 宿迁做网站哪家公司好阿里云 建设网站怎么样
  • .net电商网站开发网站如何绑定虚拟主机
  • 宿州网站建设哪家好升腾d9116 做网站
  • 个人网站托管庭院设计效果图
  • 网站开发需求分析编写目的建设网站公