




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PAGE\*MERGEFORMAT7 PAGE\*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);//三档 else stop(); } 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=32 i=16 停车 三档 结束 三档 三档 i=其他 2.所设计系统的硬件连接图 用四根导线分别将步进电机的四个接口线分别连上A0,A2,A4,A6。 五、分析与讨论 实验结果: 拨动电平开关左边起第一个,步进电机逆时针旋转;拨动第二,第三,第四个开关,步进电机顺时针旋转,并且速度依次递增.同时,旋转A/D转换的旋钮,步进电机的速度增大或者减小. 结果分析: 实验结果与预期效果相符合,达到步进电机模拟小车系统的档位,油门的效果. 问题及解决方案: 实验过程中发现没有达到效果,可能的原因如下: 实验台和电脑没有连上线 实验台子时坏的,由于实验室设备已经使用时间过长,加之步进电机本身不允许长时间通电,有时可能由于操作时间过长或者操作不当,步进电机已经烧坏了. 步进电机的四根导线没有连接好. 由于电平开关只用到前面四个,所以其他开关需要调到闭合状态,否则会影响实验结果. 六.实验心得: 这次的实验被安排在2012年的最后几天,总体来说完成得很顺利,没有想象中那样可怕,因为前面的几次的上机课已经做过每个模块,这次的小车系统无非是将前几次的实验综合一下,形成一个完善的系统。以致于做实验去的时候倒腾了一上午就完成并验收了。 微机接口是软件硬件相结合的一门课程,实验设备也只有机房才有,所以实践起来的机会不是很多,但是真的很有意思,也容易激起学习的兴趣,这次实验更加深了我对本学期所学课本上的基本知识的认识和理解,同时也明白,理论和实践不是可以等同的。只有掌握了基本知识,实践起来才有思路,而实践

王子****青蛙
实名认证
内容提供者


最近下载