




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include Sinclude xe软件上的数据设置*/#define leftdata Oxlldefine rightdata 0x22define forwarddata 0x33#define backdata 0x44#define stopdata 0x55#define uchar unsigned char#define uint unsigned intunsigned char receiveData, high_velosity, low_velosity; void UsartConfigurationO ;/* 电机端 口 左义* * * * * */sbit i
2、xipro sbit IN2=PP1 sbit IN3 二P2sbit IN4 二P3/为髙电平时, /为高电平时, 为高电平时, /为髙电平时,左电机后转 左电机正转 右电机正转 右电机后转sbit Key.A = P20;/B键信号端对应D0sbit Key.B 二 P2l;/D键信号端对应D1sbit Key.C = P22;/c键信号端对应D2sbit Key.D = P23;/c键信号端void delay0(int a);void delayl5us(void);void delay1ms(int z);void di 0 ; /蜂鸣器函数声明unsigned int time;/
3、用于存放立时器时间值 unsigned int S;/用于存放距离的值char flag =0;/量程溢出标志位char fl, f2, f3, f4, nO;int a;int n;/运行次数判断标志 int s_left, s_right;void DelaylOus(unsigned char i) unsigned char j;doj = 10;do_nop_();while (j); while(-i);/*/ /* * * * * 电机程序* * * * * */*/void loopOIN1=1;/左电机IN2二0;IN3=1;/右电机IN4=0;void runfront 0
4、IN1=1;/左电机IN2二0;IN3二0;/右电机IN4=1;/小车后退函数 void runback()IN1=O;/左电机IN2=1;IN3=1;/右电机IN4=0;/小车左转void runleft()INI二0;/左电机IN2二0;IN3二0;/右电机IN4=1;/小车右转void runright 0IN1=1;/左电机IN2二0;IN3二0;/右电机IN4二0;/小车左后转/void runbackleft 0/ INI二0/左电机/ IN2=0/ IN3=0/右电机/ IN4=1/小车右后转/void runbackright()/ IN1=1/左电机/ IN2=0/ IN3=
5、0/右电机/ IN4=0/小车停止函数void stopOiINI二0;左电机IN2=0;IN3=0;/右电机IN4=0;/* * * 蓝牙程序 * * * */*/void delay(unsigned int a)unsigned int b;for(;a0;a) for (b=3;b0;b);左电机转void left_motor_runfront(unsigned int a) INI二1;/左电机IN2=0; delay(a);INI二0;IN2=0; delay(100-a);void right_motor_runfront(unsigned int a)IN3=0;/右电机IN
6、4=1;delay(a);IN3=0;IN4=0;delay(100-a);void left_motor_back(unsigned int a)INI二0;/左电机IN2=1;delay(a);INI二0;IN2=0;delay(100-a);void right_motor_back(unsigned int a)IN3二1;/右电机IN4=0;delay(a);IN3=0;IN4=0;delay(100-a);void left_motor_stop()INI二0;左电机IN2=0;void right_motor_stop 0IN3二0;/左电机IN4=0;/PWM调速/a 属于 O
7、lOO/a 属于 OlOOvoid PWM_RUNFR0NT (unsigned int a, unsigned int b) left _mot or_runfront(a);r i ght_mot or_runfront(b);void PWM_RUNBACK(unsigned int a, unsigned int b)left_motor_back(a); right_motor_back(b);void PWM_RUNLEFT (unsigned int a)/a 属于 OlOOright_motor_runfront(a);left_motor_stop 0;void PWM_RU
8、NRIGHT (unsigned int a)/a 属于 OlOOright_motor_stop 0 ; left_motor_runfront(a);void bluestop 01e ft_mot or_s t op 0 ;r i ght_mot or_s t op 0 ;void UsartConfiguration0SC0N=0X50;TMODTMOD 0x21;PC0N=0X80;TH1=OXFA;TL1二OXFA;ES=1;EA=1;TR1=1;THO二0;TLO=O;ETO二1;设置为工作方式1/设置计数器工作方式2/波特率加倍/计数器初始值设置,注总波特率是4800的/打开接
9、收中断/打开总中断打开il数器/*客*函数名*函数功能*输入*输岀:Delay(unsigned int i) :延时函数:无:无*/void Usart() interrupt 4receiveData=SBUF; /出去接收到的数据 RI = 0;/淸除接收中断标志位 if(receiveData=0x66)low_velosity=l; high_velosity=0; write_com(0x80);if(receiveData=0x77)low_velosity=0; high_velosity=l;/*/* * *経*舵机程序 * * * */*/ void delayx(int
10、t)char j; for(;t0;t) for(j=19;j0;j);void degreeOOint i;for(i=0;i10;i+)PWM二1; delayx(lO);/lmsPWM二0;delayx(390) ;/19ms void degree90()int i;for(i=0;i10;i+)PWM二1;delayx(24);/50PWM二0;delayx(376) ;/void degreelSOOint i;for(i=0;i15;i+)PWM二1; delayx(40);/PWM二0; delayx(360);/*/* * * * 超声波程序 * * * */,*/*A键被按
11、下后,前进*/ void Countl(void)time=THl*256+TLl;TH1二0;TL1=O;S=(time*/100;n+;if(S30&n=l)ledl=l; runfront 0; n=0;if(n=2)s_left=S; degreel80();di();if(n=3)s_right=S;degree90();di();n二0;/标志位淸零if (s_lefts_right)led2=l;delaylms(50);led2=0;delaylms(50); runright 0;delayx(1250);elseled3=l;delay(800);led3=0;delay(
12、500); runleft 0;delayx(1250);/*超声波高电平脉冲宽度汁算程序経*/ void TimerCount(void)TR1=1; while(RX);TR1=O; /Count 10;/开启计数当RX为1 il数并等待关闭计数计算/*/void StartModule ()/启动模块/启动一次模块TX=1;DelaylOus (2);TX=0;/*/* _匸*/*/void main(void)UsartConf igurat ion 0; while(1)if(kl=0&n0=0)delay1ms(20);if(kl=0)nO卄;else if(kl=0&n0=l)
13、delay1ms(20); if(kl=O)nO-;if(n0=0)辻(Key_B=O&Key_D=二0&Key_C=0&Key_A=l)/A 键被按下 fl=l;f2=0;f3=0;f4=0;di();else if(Key_A=O&Key_D=O&Key_B=l&Key_C=O) /B 键被按下 fl=0;f2=l;f3=0;f4=0;di();else if(Key_B=O&Key_D=O&Key_A=O&Key_C=l) /C 键被按下 fl=0;f2=0;f3=l;f4=0;di();else if(Key_D=l&Key_B=O&Key_A=O&Key_C=O) /D 键彼按下 f
14、l=0;f2=0;f3=0;f4=l;di();辻(fl)StartModule 0; for (a=951:a0;a)if(RX=l)Timer_Count 0; Count10;if(f2)runback ();辻(f3)loopO ;if(f4)stopO ;辻(nO=l)if(low_velosity)switch(receiveData)caseleftdata:PWM_RUNLEFT(30);break;caserightdata:PWM_RUNRIGHT(30);break;caseforwarddata:PWM_RUNFRONT(64, 70); break;casebackdata:PWM_RUNBACK(64, 70);break;casestopdata:bluestop ();break;if (high_velosity)switch(receiveData)caseleftdata:PWM_RUNLEFT(50); break;caserightdata:PLRUNRIGHT(50) ; break;casef
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版商铺店面房屋租赁合同(含节假日客流保障条款)
- 2025版绿色能源项目商务合作保密协议文本
- 2025版全新定制化团队建设服务合同范本
- 2025年度危化品安全操作人员资质认证服务协议
- 2025年度高考复读生代理招生服务合同范本
- 2025年度店面转让合同范本:包含品牌使用权约定
- 2025年二手房买卖合同附带租客权益保障
- 2025年度商铺物业管理与公共安全服务合同范本
- 2025版环保产业商务合同范本
- 2025版快速救援拖车服务合同范本
- 福建省福州市2024-2025学年高三上学期8月第一次质量检测试题 英语 含答案
- 仓储物流安全培训课件
- 胆囊癌围手术护理
- 安徽省皖江名校2024-2025学年高一上学期12月联考英语试题(含答案无听力原文及音频)
- 汽车维修业务接待
- 洒水降尘合同范例
- 吊装作业安全会议
- 脑健康中心建设指南(2024年版)
- 2024-2025学年八年级上册历史期末复习选择题(解题指导+专项练习)原卷版
- 高考小说阅读导练:蒙太奇、意识流、冰山理论专项(理论指导+强化训练+参考答案)
- 慢性化脓性中耳炎护理查房
评论
0/150
提交评论