第一范文网 - 专业文章范例文档资料分享平台

(完整版)基于单片机的红外遥控系统毕业设计论文

来源:用户分享 时间:2025/6/5 23:37:31 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

PS=1;串行中断为优先级; PT0=0;定时中断为低优先级 TR1= 1; 启动串行口通讯

TH0 = 0x4c;定时器在11.0592M晶振下定时方式1时延时50MS的值 TL0 = 0x00; 计数值重装 }

void time_init()

{ TH0 = 0x4c;定时器在11.0592M晶振下定时方式1时延时50MS的值

TL0 = 0x00; 计数值重装 milli_second=0; ET0=1;开启中断 TR0=1;开启定时器 }

主流程图如图3-1所示。

开始串口初始化,设定时器工作方式T0 50ms定时,T1波特率发生,9600bps,启动串行通讯 For循环,判断电机的启动键值,若启动键按下start_motor=1?Y开定时器0中断,启动定时器0 ,50ms定时N电机停转动Y方向direction =1?N正转;D-DC-C-CB-B-BA-A-AD,通电,完成一个8拍反转;D-DA-A-AB-B-BC-C-CD,通电,完成一个8拍Pedometer步数计加1Pedometer步数计加1判断T0ms溢出中断是否到了20次判断T0ms溢出中断是否到了20次NYNYT0溢出20次,电机转过1s,根据步数转速=600*pedometer*0.001953125T0溢出20次,电机转过1s,根据步数转速=600*pedometer*0.001953125图3-1 主流程图

定时器T0中断处理过程如图3-2所示。

开始T0,50ms溢出中断Y关闭定T0中断和计时ET0 = 0 ,TR0 =0重新送如定时初值TH0 = 0x4c;TL0 =0x00milli_second+ 1milli_second = 20是否到1秒?N中断返回等待下一次中断Y转速rev=600*pedometer*0.001953125

图3-2 定时器T0中断函数

开始串行中断接收标志位RI=1?Y串行中断服务函数RI置0;将SBUF中数据读入接收数组receive_data[0]中延时,接着调用数据处理函数HandleSwitch判断receive_data[0]的值0X180x7a0X100X380X5a启停电机加速减速正转反转 图3-3 串行中断子函数

3.2 解码程序设计

解码程序主要部分:

if(Infrared_in==0) 等待9MS的引导码低电平 {

Time=0;先清0

while(Infrared_in==0)引导码到了 {

Time++;数值自增,直到引导码4.5ms低电平掠过 }

if(Time>Lead_min && Time

(完整版)基于单片机的红外遥控系统毕业设计论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1albf3705c8az813jgo32teb88j4i5005um_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top