基于STC89C52单片机的远程控制系统 您所在的位置:网站首页 电机远程控制红外遥控控制 基于STC89C52单片机的远程控制系统

基于STC89C52单片机的远程控制系统

2024-01-18 13:22| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有