




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LABVIEW课程设计课题:Labview控制基于proteus生成的模拟小车学生:**目录TOC\o"1-1"\h\z\u研究背景及方案 3Labview控制平台 3Proteus生成的电路介绍 3单片机程序简介 4VSPD虚拟串口简介 7研究背景及方案为了分析数据以获取实用信息,为了共享信息成果,为了在较大范围内提高生产效率,可以使用集成化的虚拟仪器环境与现实世界的信号相连,以proteus和labview虚拟互联为例介绍:PROTEUS具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。NILabVIEW图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效率。Labview控制平台通过Labview控制平台,我们可以将数据通过串口发送到下位机,使下位机做出相应的动作,从而控制小车的前进后退以及转向Proteus生成的电路介绍电路图主要包括串口(RS—232协议)、电机驱动模块、直流电机、舵机、AT89C51、数码管、指示灯以及示波器单片机程序简介#include<reg51.h>unsignedcharcount;//0.5ms次数标识#defineucharunsignedchar#defineuintunsignedintinti;intsj;intshuzu[2];sbitpwm=P3^7;//PWM信号输出sbitjia=P3^4;//角度增加按键检测IO口sbitjan=P3^5;//角度减少按键检测IO口sbitLED1=P1^0;sbitLED2=P1^1;sbitLED3=P1^2;sbitMotor_A=P1^3;sbitMotor_B=P1^4;sbitshuju=P1^5;unsignedcharjd;//角度标识//电机状态标志,如果jd==0x0A,则正转//如果jd=0x0B,则反转,//如果jd==0xFF,则停转unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};voiddelay(uintx){ uchari; while(x--) for(i=0;i<120;i++);}//11.0592MZ晶振,0.25ms中断一次voidTime0_Int()interrupt1//中断程序{ TH0=0xff;//重新赋值 TL0=0x30;if(count<jd+3)//判断0.25ms次数是否小于角度标识+3pwm=1;//确实小于,PWM输出高电平elsepwm=0;//大于则输出低电平count=(count+1);//0.25ms次数加1count=count%80; //次数始终保持为80即保持周期为20ms}voiddisplay()//数码管显示函数{unsignedcharbai,shi,ge;switch(jd)//根据角度标识显示相应的数值 {case1://为1,角度为-90,前3个数码管显示-90bai=0x11;shi=9;ge=0;break;case2: //为2,角度为-45,前3个数码管显示-45bai=0x11;shi=4;ge=5;break;case3: //为3,角度为0,前3个数码管显示00bai=0x10;shi=0;ge=0;break;case4: //为4,角度为+45,前3个数码管显示45bai=0x10;shi=4;ge=5;break;case5://为5,角度为+90,前3个数码管显示90bai=0x10;shi=9;ge=0;break; }P2=0xfe;P0=table[bai];delay(10);P2=0xfd;P0=table[shi];delay(10);P2=0xfb;P0=table[ge];delay(10);}//单片机串口中断处理程序,用于接收PC机控制信息voidreceive()interrupt4 { ES=0; if(RI==1) { RI=0; jd=SBUF; } else { TI=0;SBUF=12;//清正在发送标志 } }voidsend(){ ES=0; //SBUF=~P1; shuzu[0]=~P1; shuzu[1]=sj; for(i=0;i<2;i++){SBUF=shuzu[i];while(!TI);//等特数据传送TI=0;//清除数据传送标志} }voidmain(){jd=1; //初始化角度标志位1,转角为-90度count=0;//设置定时器T1的工作模式为2,设置定时器T0的工作模式为1, TMOD=0x21; TH0=0xff; TL0=0x30; //11.0592MZ晶振,0.25ms中断一次TR0=1;//定时器开始 //通过给T1设置初值,固定时钟波特率为9600bps(11.0592HZ) TH1=0xfd;TL1=0xfd;//设置串口通讯模式为1,允许接收//ES=1;EA=1;//开放中断 SCON=0x50; IE=0x92;//开放中断 TR1=1;//T1启动,为串行通讯提供时钟 LED1=1;LED2=1;LED3=0;while(1) { sj=rand()%20; display(); //delay(8);//每个一个时间间隔,发送 send();// if(jd==0x0A)//正转 { LED1=0;LED2=1;LED3=1;Motor_A=0;Motor_B=1; } if(jd==0x0B)//反转 { LED1=1;LED2=0;LED3=1;Motor_A=1;Motor_B=0; } if(jd==0xFF)//停止
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论