预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT7PAGE\*MERGEFORMAT7微机接口实验报告姓名:李晋林班级:191102-13学号:20101002007指导老师:墙威实习时间:2012-12-30题目:模拟汽车控制系统一、设计目标设计一个模拟汽车控制系统,使用接口芯片:…实现用简单逻辑电平控制车的档位(前进1,前进2,前进3,后退),用步进电机的转速模拟车的速度(若步进电机不能用,也可以用流水灯的刷新方向和速度,或数码管显示的数值来模拟车的速度),用A/D转换器模拟车的油门大小。二、设计所用仪器和器件步进电机,A/D转换器,逻辑开关,导线。三、设计内容1.设计步进电机的顺时针和逆时针旋转:2.使用A/D转换器转换模拟信号为数字信号.3.设计电平开关控制输入,并将输入结果显示出来.四、设计过程1.设计方案:a.电平开关控制档位根据用户拨动的逻辑电平,用I/O端口读出数值,来判断并决定小车的动作,后退档用步进电机逆时针旋转来模拟,前进挡用步进电机的顺时针旋转模拟,档位的控制用限制Sleep的时间乘以一定速率来实现。即用简单逻辑电平控制车的档位(前进1,前进2,前进3,后退)。unsignedshorta=0x0c860;//读写数据均用此端口号inti;while(1){i=_inp(a);//读端口数据_outp(a,i);//显示数据if(i==128)back();//汽车倒档elseif(i==64)move(4);//一档,参数表示休眠的时间所乘以的倍率elseif(i==32)move(2);//二档elseif(i==16)move(1);//三档elsestop();}b.步进电机的转速模拟车的速度具体根据限制CUP的Sleep即休眠时间,达到控制速度的效果。Sleep的时间越短,速度越快,Sleep的时间越长,速度越慢。步进电机顺时针旋转相序表的加电代码顺序:05H15H14H54H50H51H41H45H步进电机顺时针旋转相序表的加电代码顺序:45H41H51H50H54H14H15H05H即刚好与顺时针的顺序相反。c.A/D转换器转换的数值模拟车的油门大小数值越高,Sleep的时间越短,速度越快。unsignedshortb=0x0c880;//AD转换端口号intt;_outp(b,1);t=_inp(b);Sleep(t);开始逻辑框图显示数值拨动电平开关停止三档二档一档后退结束程序流程图Main()a=0x0c860;i=_inp(a);i=128后退一档i=64二档i=32i=16停车三档结束三档三档i=其他2.所设计系统的硬件连接图用四根导线分别将步进电机的四个接口线分别连上A0,A2,A4,A6。五、分析与讨论实验结果:拨动电平开关左边起第一个,步进电机逆时针旋转;拨动第二,第三,第四个开关,步进电机顺时针旋转,并且速度依次递增.同时,旋转A/D转换的旋钮,步进电机的速度增大或者减小.结果分析:实验结果与预期效果相符合,达到步进电机模拟小车系统的档位,油门的效果.问题及解决方案:实验过程中发现没有达到效果,可能的原因如下:实验台和电脑没有连上线实验台子时坏的,由于实验室设备已经使用时间过长,加之步进电机本身不允许长时间通电,有时可能由于操作时间过长或者操作不当,步进电机已经烧坏了.步进电机的四根导线没有连接好.由于电平开关只用到前面四个,所以其他开关需要调到闭合状态,否则会影响实验结果.六.实验心得:这次的实验被安排在2012年的最后几天,总体来说完成得很顺利,没有想象中那样可怕,因为前面的几次的上机课已经做过每个模块,这次的小车系统无非是将前几次的实验综合一下,形成一个完善的系统。以致于做实验去的时候倒腾了一上午就完成并验收了。微机接口是软件硬件相结合的一门课程,实验设备也只有机房才有,所以实践起来的机会不是很多,但是真的很有意思,