基于STC89C52单片机的远程控制系统 | 您所在的位置:网站首页 › 电机远程控制红外遥控控制 › 基于STC89C52单片机的远程控制系统 |
1.设计要求
利用串口技术,控制数码管、LED、小车的启停 2.设计概述本实验所用芯片为STC89C52,所用硬件是由华清远见基于STC89C52开发的智能小车,该小车具有流水灯模块、蜂鸣器模块、独立键盘模块、矩阵键盘模块等。本实验使用串口技术远程控制小车,串口传输数据格式为 L/G/C + 指令 + ‘ ;’。如,控制小车数码管显示1314,则通过串口发送‘G1314;’;控制小车启动则通过串口发送‘CY;’控制小车停止则通过串口发送‘CN;’;控制led灯开启则发送‘LY;’;控制LED灯关闭则发送‘LN;’。 3.原理图以及线路连接
J10-EN1接C52-P1.4 //EN1为左电机的使能端,只有当EN1为1时,左电机才能启动 J10-EN2接C52-P1.5 //EN2为右电机的使能端,只有当EN2为1时,右电机才能启动 J10-IN1接C52-P1.2 //IN1控制左电机反转,当IN1为1,IN2为0时,左电机反转 J10-IN2接C52-P1.3 //IN2控制左电机正转,当IN2为1,IN1为0时,左电机正转 J10-IN3接C52-P1.6 //IN3控制右电机正转,当IN3为1,IN4为0时,左电机正转 J10-IN4接C52-P1.7 //IN4控制右电机反转,当IN4为1,IN3为0时,左电机反转 4.软件设计串口通信设置 1.配置SCON寄存器的SM0和SM1位,使串口以模式1的方式工作。 SM0 = 0,SM1 = 1 2.配置SCON寄存器的REN位,使能串口接收(REN = 1) 3.配置PCON寄存器的SMOD位,使波特率不加倍(SMOD = 0) 4.配置定时器1的相关寄存器,使定时器工作在模式2,且TH1 = TL1 = 0xfd 5.配置IE寄存器,开启串口中断 6.编写串口中断服务函数,在函数中对中断请求标志位TI和RI清零 模式0:同步通信 模式1:异步通信,8位数据位,波特率可变(常用) 模式2:异步通信,9位数据位,波特率固定 模式3:异步通信,9位数据位,波特率可变 波特率通过定时器1配置 当单片机为12T模式且SMOD位为0时 波特率 = 系统时钟/12/32/(256 – TH1) 假设我们要得到9600的波特率 那么 TH1 = 256 – 11059200/12/32/9600 = 256-3=253 然后启动定时器1即可(不用开定时器1中断) void uartInit() { SM0 = 0; SM1 = 1;//配置串口工作在模式1 REN = 1;//使能接收 PCON &= ~(1 |
CopyRight 2018-2019 实验室设备网 版权所有 |