基于单片机的自动往返小车的设计毕业论文好内容摘要:

60的振荡频率和 Qi i 678910121314 的选择要根据情况确定 3 几个原则 看门狗电路必须由硬件逻辑组成不宜由可编程计数器充当因为 CPU 失控后可能会修改可编程器件参数使看门狗失效 4060 的 RST 线上阻容组成的微分电路很重要因为扫描输入信号是 CPU 产生的正脉冲若此信号变 1 后由于干扰程序乱飞微分电路只能让上跳沿通过不会封死 4060 看门狗仍能计数起作用若没有微分电路扫描输入信号上的 1 状态封死4060 使之不能记数看门狗不起作用 CPU 必须在正确完成所有工作后才能发扫描输入信号且程序中 发扫描信号的地方不能太多否则正好在哪里有死循环看门狗就不产生记满输出信号不能重新启动 CPU 4060的记满输出信号不但要接到 MCS51 的 RST脚而且还应接到其它芯片的RST 脚因为程序乱飞后其它具有 RST 脚的芯片也混乱了必须全部复位 36 可编程逻辑器件 可编程逻辑器件 GAL16V8是 LATTICE公司研制的一种电可擦除的可重复编程的低密度 PLD器件它采用更为灵活的可编 IO结构并采用了先进的 EECOMS工艺数秒内即可完成芯片的擦除和编程过程并可反复改写是产品开发研制的理想器件之一 GAL16V8 技术特性 1 电可擦除工艺 可重编程单元 100%成品率 可重配置逻辑 2 高性能 E2CMOS 工艺 低功耗 45mA 最大运行功耗 35mA 最大维持功耗 高速度 15~ 25us 最快存取速度 38 个输出逻辑单元 对于复杂逻辑设计具有最大灵活性 GAL16V8可仿真 20条引脚的 PAL器件具有功能 熔丝图 参数的完全兼容性 4 预置加电复位全部寄存器 5 具有保密单元电子标签 6 数据保持超过 20 年 89S52按键电路直接由 89S52接口电路查询消抖 延时 20ms 由软件延时完成 4 测试数据测试结果分析及结论 测试方 法与仪器 测试仪器 测试仪器包括秒表数字万用表信号发生器示波器 MCS51 仿真机直流稳压电源等 2 测试方法 数字万用表主要用来测试分立元件的电阻压降漏电流截止导通状态等参数 信号发生器与示波器用于测试各光电传感器信号的接收与传输 MCS51 仿真机用于测试软件 直流稳压电源在测试期间为各待测系统供电 秒表用于产品测试按照任务书的基本要求对制成的电动车进行产品测试 测试数据及测试结果分析 ⑴ 计时精度分析 计时系统采用了新型显示芯片理论上的误差不到 1 秒年 ⑵ 测距精度分析 测速系统采用了电机轴光电码盘检测技术电机轴与车轮轴之间采用了齿轮箱二级减速变比 116车轮周长 135mm光电码盘与电机轴安装在一起电机轴每一转产生 2 个脉冲车轮每转产生 32 个脉冲理论测量精度可达135mm32 422mm 45mm ⑶ 定位精度分析 本设计采用实际测量与软件补偿技术理论上可使定位精度提高到误差 10mm 3 结论 历时三个月的设计过程中我首先边查资料边在实验室焊接小车的线路板在焊接过程中我感觉到即使是一个简单的电路要想很轻松的焊好也不是很容易的事情有时是虚焊的原因有时可能 是阻值选错在焊接显示电路时我就错将 680 欧的电阻焊成了 68 千欧这使我深深感受到理论与实际间的差距通过这样的设计提高了我的动手能力每天在实验室除了焊接线路板还可以上机编程使我软件调试知识也提高了 本设计采用的是 80C52 单片机这主要是因为该单片机的稳定性比较好还可以采用其它系列的单片机比如采用陵阳单片机就可以简化编程但其稳定性不是很好 致 谢 通过这次毕业设计使我深刻地认识到学好专业知识的重要性也理解了理论联系实际的含义并且检验了大学四年的学习成果虽然在这次设计中对于知识的运用和衔接还不够熟练但是我 将在以后的工作和学习中继续努力不断完善这几个月的设计是对过去所学知识的系统提高和扩充的过程为今后的发展打下了良好的基础 由于自身水平有限设计中一定存在很多不足之处敬请各位老师批评指正 参 考 文 献 1 何立民单片机应用系统设计北京航天航空大学出版社 2~ 546~ 50 2 李广弟单片机基础北京北京航空航天大学出版社 202056~ 64 3 何希才新型实用电子电路 400 例电子工业出版社 2020 年 60~ 65 4 赵负图传感器集成电路手册第一版化学工业出版社 2020590~ 591 5 陈伯时电力拖动自动控制系统第二版 北京机械工业出版社 2020 年 6 月127~ 130 6 张毅刚彭喜元新编 MCS51 单片机应用设计第一版哈尔滨工业大学出版社202025~ 27411~ 417 附录 1 程序清单 include 包含 51 相关的头文件 typedef unsigned char uchar 重定义 char 数据类型 typedef unsigned int uint 重定义 int 数据类型 define ShowPort 定义数码管显示端口 uchar code LedShowData[] 0x030x9F0x250x0D0x99 定义数码管显示数据 0x490x410x1F0x010x19 0123456789 static unsigned int RecvData 定义接收红外数据变量 static unsigned char CountData 定义红外个数计数变量 static unsigned char AddData 定义自增变量 static unsigned int LedFlash 定义闪动频率计数变量 unsigned char HeardData 定义接收到数据的高位变量 bit RunFlag 0 定义运行标志位 bit EnableLight 0 定义指示灯使能位 完成基本数据变量定义 sbit S1State P10 定义 S1 状态标志位 sbit S2State P11 定义 S2 状态标志位 sbit B1State P12 定义 B1 状态标志位 sbit IRState P 定义 IR 状态标志位 sbit RunStopState P14 定义运行停止标志位 sbit FontIRState P15 定义 FontIR 状态标志位 sbit LeftIRState P16 定义 LeftIR 状态标志位 sbit RightIRState P17 定义 RightIRState 状态标志位 完成状态指示灯定义 sbit S1 P32 定义 S1 按键端口 sbit S2 P34 定义 S2 按键端口 完成按键端口的定义 sbit LeftLed P20 定义前方左侧指示灯端口 sbit RightLed P07 定义前方右侧指示灯端口 完成前方指示灯端口定义 sbit LeftIR P35 定义前 方左侧红外探头 sbit RightIR P36 定义前主右侧红外探头 sbit FontIR P37 定义正前方红外探头 完成红外探头端口定义 sbit M1A P00 定义电机 1 正向端口 sbit M1B P01 定义电机 1 反向端口 sbit M2A P02 定义 电机 2 正向端口 sbit M2B P03 定义电机 2 反向端口 完成电机端口定义 sbit B1 P04 定义话筒传感器端口 sbit RL1 P05 定义光敏电阻端口 sbit SB1 P06 定义蜂鸣端口 完成话筒光敏电阻蜂鸣器端口定义 sbit IR1 P33 定义红外接收端口 完成红外接收端口的定义 void Delay 定义延时子程序 uint DelayTime 30000 定义延时时间变量 while DelayTime 开始进行延时循环 return 子程序返回 void ControlCar uchar CarType 定义小车控制子程序 M1A 0 将电机 1 正向电平置低 M1B 0 将电机 1 反向电平置低 M2A 0 将电机 2 正向电平置低 M2B 0 将电机 2 反向电平置低 LeftLed 1 关闭 前方左侧指示灯 RightLed 1 关闭前方右侧指示灯 Delay 将此状态延时一段时间 switch CarType 判断小车控制指令类型 case 1 前进 判断是否是前进 M1A 1 将电机 1 正向端口置高 M2A 1 将电机 2 正向端口置高 ShowPort LedShowData[1] 数码管显示前进状态 break 退出判断 case 2 后退 判断是否是后退 M1B 1 将电机 1 反向端口置高 M2B 1 将电机 2 反向端口置高 ShowPort LedShowData[2] 数码管显示后退状态 RightLed 0 将前方右侧指示灯置低 亮 LeftLed 0 将前方左侧指示灯置低 亮。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。