基于单片机的智能报站系统仿真设计-毕设课设资料

该博客介绍了一个嵌入式系统实现的功能,包括实时速度显示、行车时间和路程距离的跟踪,以及上下一站台的显示。系统还具备控制车速的能力。通过使用如PWM、定时器和中断等技术,实现了电机的正反转和停止,并提供了PID控制以优化速度调节。
摘要由CSDN通过智能技术生成

资料下载地址-1004(百度网盘):点击下载

功能:实现了速度实时显示,行车时间和路程距离。实时显示上一站台和下一站台。同时可以控制当前车速。

#include <reg52.h>
#include "lcd1602.h"

sfr T2MOD = 0x0c9;
#define uchar	unsigned char
#define uint	unsigned int

sbit	Q0	= P2 ^ 4;
sbit	Q1	= P2 ^ 5;
sbit	Q2	= P2 ^ 6;
sbit	Q3	= P2 ^ 7;

sbit	GORB		= P1 ^ 6; /* 换相 */
sbit	PWM		= P1 ^ 7;
sbit	UP		= P1 ^ 0;
sbit	DOWM		= P1 ^ 1;
sbit	ADDSPEED	= P1 ^ 2;
sbit	SUBSPEED	= P1 ^ 3;
sbit	Led		= P1 ^ 5;
sbit	Beep		= P3 ^ 7;


uint	tuint	= 65535;
uint	tpwm	= 1; /* pwm周期为10000us tpwm变量表示pwm高电平时间,也相当于占空比 (仿真时,频率高时,电机反应慢。在实物上要加大频率) */
uchar	t1_flag = 0;

uint	pulse		= 0;
uint	t0_flag		= 0;
uchar	t2_flag		= 0;
bit	t2_over		= 0;
bit	Just_Get	= 1;
bit	st		= 0;
uchar	time		= 0;
uchar	second		= 0;
uint	minute		= 0;
uint	distance	= 0;

uchar station = 0;


#define  ZZ	{ Q0 = 0; Q1 = 0; Q2 = 1; Q3 = 1; }     /* 正转 */
#define  FZ	{ Q0 = 1; Q1 = 1; Q2 = 0; Q3 = 0; }     /* 反转 */
#define  STOP	{ Q0 = 1; Q1 = 0; Q2 = 1; Q3 = 0; }     /* 停止 */
/* 禁止出现 Q0 = 0;Q1 = 1;Q2 = 0;Q3 = 1; 不然会烧掉mos管 */

/* ************************ PID ************************************* */
float	now = 0, bef = 0, bbef = 0; /* 本次采样值,上次采样值,上上次采样值 */
float	err_now, err_bef, err_bbef; /* 当前偏差,上次偏差,上上次偏差 */
float	error_add	= 0; /* 所有偏差之和 */
float	set		= 25; /* 设定值 */

float	kp	= 25;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值