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

2026/4/23 21:14:15

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文档下载到电脑
搜索更多关于: (完整版)基于单片机的红外遥控系统毕业设计论文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219