教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

89c52的单片机自动往返电动小汽车设计报告 - 图文(2)

来源:网络收集 时间:2026-05-25
导读: 4.4 控速模块: 考虑到元器件的缺少以及我们所用的电路的驱动电机的电路原理图和和小车自带的电路的电机驱动原理图一样,所以暂时使用小车自带的电机驱动电路图。 4.5 复位电路模块: 单片机的复位电路通过手动来实

4.4 控速模块:

考虑到元器件的缺少以及我们所用的电路的驱动电机的电路原理图和和小车自带的电路的电机驱动原理图一样,所以暂时使用小车自带的电机驱动电路图。 4.5 复位电路模块:

单片机的复位电路通过手动来实现,复位电路图如(图7)所示。

(图7)

4.6 脉冲产生模块:

脉冲产生电路采用555定时器.原理图如图.

6

VCC5VR15kohm4RSTVCC3DISTHRTRI5CONGND1OUT8U1R41kohmR210kOhm 50%Key = a76D1DIODE_VIRTUAL2R35kohm555_VIRTUALD2C20.01uFDIODE_VIRTUALC11uF

(图8)

5.最小系统图:

该系统主要用到的是单片机,所以主要的部分是最小系统图,该最小系统图如图9.

7

(图9)

6.系统程序:

按照预定的功能,系统实现预定的功能的程序如下所示:

#include

#include

/********************************************************************************\\ **

宏定义区

**

\\********************************************************************************/

/*------------------------------- LCD模块 ------------------------------------*/ #define LCD_RW P2_6 //读写控制端 #define LCD_RS P2_7 //数据命令选择端 #define LCD_E P2_5 //执行使能端 #define LCD_Data

P1

//P1口

8

#define Write #define Read #define Data #define Cmd

#define Enable #define Disable #define True #define False

0x00 0x01 0x01 0x00 0x00 0x01 0x01 0x00 0x38 0x0C 0x08 0x01 0x06 P1_7

//低电平写入 //高电平读出 //高电平选择数据 //低电平选择命令

//跃变到低电平时执行命令

#define LCD_Init #define LCD_CloseCtr

//初始化模式 //关显示 //清屏幕 //显示光标 //忙信号

#define LCD_DispCtr #define LCD_CLS #define LCD_EnterSet #define Busy

//开显示及光标设置

/*-------------------------- 测速/测距/测时模块 -------------------------------*/ #define CircleLength

/*-------------------------------- 控速模块 -----------------------------------*/ #define P03 #define P04 #define P01 #define P02 #define P31 #define P33

/*------------------------------ 菜单选择模块 ---------------------------------*/ #define Normal #define Low #define High

/*********************************************************************************\\ **

/*------------------------------- LCD模块 -------------------------------------*/ void LCDInit(void);

9

//LCD初始化 //设置写命令模式 //设置读命令模式 //设置写数据模式 //写命令 //写数据 //执行命令 //定位显示地址

void SetWriteCmd(void); void SetReadCmd(void); void SetWriteData(void); void WriteCmd(char cmd); void ExecuteCmd(void);

全局函数声明区

**

\\*********************************************************************************/

0x00 0x01 0x02

//0 代表正常速度 //1 代表低速 //2 代表高速

P0_3 P0_4 P0_1 P0_2 P3_3

//后电机 //后电机 //前电机 //前电机 //控制液晶背光

0.132

//小车转一轮的长度为.132m

P0_5

void WriteData(char ddata); void SetXY(char x,char y);

void DisplaySingleChar(char x,char y,char cchar); void DisplayString(char x,char y,char *str); void Delay(unsigned int time); void DelayUs(unsigned int time); bit IsBusy(void);

void DisplayTime(void);

//显示单个字符 //显示一段字符串 //延时主程序 //延时子程序 //判断忙标志函数 //显示时间 //显示平均速度 //显示路程

void DisplayAVGSpeed(void); void DisplayDistance(void);

/*-------------------------- 测速/测距/测时模块 -------------------------------*/

//所有中断初始化 //测速中断 //计算速度和距离

void INTInit(void); void SpeedINT(void);

void ComputeTime(void);

void ComputeSpeedANDDistance(void);

/*-------------------------------- 控速模块 -----------------------------------*/ void CtrSpeedINT(void); void Time0INT(void); void Time1INT(void);

//控速单位时间中断 //时钟中断初始化 //时钟中断初始化

//控速中断

void Clock0_Init(void); void CtrSpeed(void);

void Clock1_Init(void);

/********************************************************************************\\ **

float SpeedCount = 0; float Speed = 0.0;

//T1中断时间计时 //小车行走的时间

//判断T1是否已经响应中断 //测速计数脉冲

全局变量区

**

\\********************************************************************************/

float Distance = 0.0; char Time1INTCount=0; float PassTime=0.00; short IsT0INT=1; bit IsT1INT; short IsT0INT2=1;

char Thx[5]={0xf4,0xf4,0xc5,0xf4,0xff}; char Tlx[5]={0x48,0x48,0x68,0x48,0 …… 此处隐藏:1646字,全部文档内容请下载后查看。喜欢就下载吧 ……

89c52的单片机自动往返电动小汽车设计报告 - 图文(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/565337.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)