课程设计基于51单片机方向之星控制

上传人:阳*** 文档编号:48478871 上传时间:2022-01-08 格式:DOC 页数:18 大小:95.50KB
返回 下载 相关 举报
课程设计基于51单片机方向之星控制_第1页
第1页 / 共18页
课程设计基于51单片机方向之星控制_第2页
第2页 / 共18页
课程设计基于51单片机方向之星控制_第3页
第3页 / 共18页
点击查看更多>>
资源描述
I / 18 文档可自由编辑打印xxxxxx大学课课 程程 设设 计计 报报 告告课程设计名称:单片机系统综合课程设计单片机系统综合课程设计课程设计题目:基于基于 51 单片机的方向之星控制单片机的方向之星控制院(系): 专 业:班 级:学 号:姓 名:指导教师: 完成日期: I / 18 文档可自由编辑打印目目 录录第第 1 1 章章 总体设计方案总体设计方案.11.1 课程设计的内容和要求 .11.2 课程设计思路 .11.2.1 提出方案.11.2.2 方案阐述.21.3 实验环境 .2第第 2 2 章章 详细设计方案详细设计方案.32.1 实现方法 .32.2 主程序设计 .32.3 功能模块的设计与实现 .5第第 3 3 章章 结果测试及分析结果测试及分析.63.1 结果测试 .63.2 结果分析 .6参考文献参考文献.7附附 录录 A A(源程序)(源程序).8附附 录录 B B(电路图)(电路图).14附附 录录 C C(器件清单)(器件清单).151 / 18 文档可自由编辑打印第 1 章 总体设计方案1.1 课程设计的内容和要求课程设计的内容和要求(1) 程设计内容: 设计程序控制一组灯饰,用于提示汽车的左转弯、右转弯、刹车等行车情况,具体内容如下:尾部左右各有 3 个指示灯,可用单色灯指示;常行使时指示灯全灭;右转弯时,右侧 3 个指示灯按右循环依次点亮(持续编 10 秒) ;左转弯时,左侧 3 个指示灯按左循环依次点亮(持续 10 秒) ;临时刹车时,所有指示灯闪烁(亮 0、5 秒,灭 0、5 秒,持续 10 秒) ;置功能键(如:启动、停止及左右转弯按键等) ,自行设计方案演示清晰直观,要有计时显示部分。(2) 设计要求:立完成课程设计任务;过老师现场验收;出完整的课程设计报告。1.2 课程设计思路课程设计思路1.2.1 提出方案提出方案在设计要求中为实现对 6 个指示灯状态的控制有 4 种情况,在此使用 80C31芯片的 P1 口输出来控制各灯的具体动作。其中 P1.0-P1.2 控制左边三个指示灯,P1.3-P1.5 控制右边三个指示灯。为便于控制状态的输入,使用 P3 口的 P3.0-P3.3来控制输入的四种情况。在汽车左转、右转、刹车中要计时 10s,使用计数器 0 控制计时,并实现亮0、5 秒,灭 0、5 秒,持续 10 秒的效果。采用数码管显示倒计时 10s。2 / 18 文档可自由编辑打印1.2.2 方案方案阐述阐述采用 P1 口输出实现指示灯闪烁控制部分。左转时给 P1.0-P1.2 口送入键值,通过调用延时程序使左边三个灯循环闪亮,并启动计时器开始计时 10 秒。右转同理,给 P1.3-P1.5 口实现循环方向相反。刹车时 P1 口依次送值,以使所有指示灯闪烁。计时部分,计数器 0 由 20 次作为一次计数的次数,0.5 秒单独控制灯闪烁,两者互不干扰且又不矛盾,灯的闪烁准确定在 10 秒。在数码管显示计时时,每 1 秒显示一个计数,这样显示计时部分只要设置好控制字,就可以正确显示计数数字。1.3 实验环境实验环境硬件环境:LAB6000 实验箱,PC 机。软件环境:wave 应用软件3 / 18 文档可自由编辑打印第 2 章 详细设计方案2.1 实现方法实现方法 电路由 80C31 芯片、P1 口和 P3 口、开关键及 LED 灯和可编程键盘显示部分构成。开关和功能键的对应功能如下表:驾驶员操作K0K1K2K3启动 1 0 0 0刹车 1 1 0 0左转弯 1 0 1 0右转弯 1 0 0 1表 2.1 开关和功能键功能表80C31 是可编程并行接口芯片,设计要求中要实现控制左右共 6 个指示灯闪烁,在此使用 P1 口输出控制各灯的具体动作,P3 口控制四种情况的输入。定时器/计数器,用来产生两个不同的表现方法,一个为 0.5 秒,控制指示灯计时;一个为 10 秒,控制一次循环的时间。键盘显示接口芯片,用来显示 10 秒的倒计时,实现对左转、右转和刹车等五项功能的计数显示。2.2 主程序设计主程序设计 根据设计要求,设置左转、右转和临时刹车 4 个功能键:(1)1 键表示汽车启动,启动时,所有灯亮 0.5 秒后熄灭进入等待状态。(2)2 键表示汽车刹车,当刹车时,所有灯开始闪烁,亮 0.5 秒,灭 0.5 秒,数码管显示计时,当由 0 秒到 9 秒时,停止计时并且指示灯全灭; (3)3 键表示汽车左转,左转时,左边三个指示灯依次左循环点亮,数码管显示计时,当由 0 秒到 9 秒时,停止计时并且指示灯全灭; (4)4 键表示汽车右转,右转时,右边三个指示灯依次右循环点亮,数码管显示计时,当由 0 秒到 9 秒时,停止计时并且指示灯全灭;4 / 18 文档可自由编辑打印主程序流程图如图 2.1 所示:调用左转程序检测开关动作刹车信号 左转信号调用右转程序调用刹车程序结束NYYNN开始右转信号YY图 2.1 主程序流程图5 / 18 文档可自由编辑打印2.3 功能模块的设计与实现功能模块的设计与实现(1)芯片初始化模块的设计与实现)芯片初始化模块的设计与实现对 80C31 芯片的初始化,将 P1 口输出实现指示灯闪烁控制部分。左转时给P1.0-P1.2 口送入键值,通过调用延时程序使左边三个灯循环闪亮,并启动计时器开始计时 10 秒。右转同理,给 P1.3-P1.5 口实现循环方向相反。刹车时 P1 口依次送值,以使所有指示灯闪烁,并使用 P3 口的 P3.0-P3.3 来控制输入的四种情况。同时给计数器赋初值实现 0.5 秒闪烁,10 秒定时的功能。(2)左转功能的实现左转功能的实现 在左转子程序中计数 10 秒。每执行一次中断子程序即计时到 1 秒,数码管计数加 1,直到等于 9 时停止计数,关中断。同时,再开中断的这段时间,控制P1 口输出实现左侧 3 个指示灯按左循环依次点亮。退出子程序前,所有指示灯熄灭,数码管显示 0,将系统置成正常行驶状态。(3)右转功能的实现右转功能的实现在右转子程序中计数 10 秒。每执行一次中断子程序即计时到 1 秒,数码管计数加 1,直到等于 9 时停止计数,关中断。同时,再开中断的这段时间,控制P1 口输出实现右侧 3 个指示灯按右循环依次点亮。退出子程序前,所有指示灯熄灭,数码管显示 0,将系统置成正常行驶状态。(4)刹车功能的实现刹车功能的实现在刹车子程序中计数 10 秒。开启中断后,每执行 1 秒计时中断一次,数码管计数加 1,所有指示灯同时在这 1s 中亮 0.5 秒,灭 0.5 秒,直到等于 9 时停止计时,关中断。同时,在开中断的这段时间,控制 P1 口输出指示灯闪亮(亮0.5s,灭 0.5s)。退出子程序前,所有指示灯熄灭,数码管显示 0,将系统置成正常行驶状态。6 / 18 文档可自由编辑打印第 3 章 结果测试及分析3.1 结果测试结果测试 程序在 wave 应用软件编译完成加载到实验箱全速运行后,数码管显示剩余计数为 0,指示灯全部熄灭;打开 1 键,所有指示灯按照亮 0.5s 熄灭进入就绪等待状态。打开 2 键,所有指示灯按照亮 0.5s 灭 0.5s 闪烁,同时数码管开始倒计时10 秒。打开 3 键,左侧 3 个指示灯按左循环依次点亮,同时数码管开始倒计时10 秒;打开 4 键,右侧 3 个指示灯按右循环依次点亮,同时数码管开始倒计时10 秒; 3.2 结果分析结果分析对于上述的测试结果和运行过程,达到了课程设计任务书中的要求,可以实现汽车启动、左转、右转、刹车和停止等五项功能,通过优化后使得运行结果也更直观易懂。不过在设计中,由于个人能力有限,也难免存在不足,代码部分也不是最优,部分代码有待改进。7 / 18 文档可自由编辑打印参考文献1马家辰.CS-51 单片及原理及接口技术 M. 哈尔滨工业大学出版社,20032赫建国.单片机在电子电路设计中的应用 M. 清华大学出版社,20063杨素行.微型计算机系统原理及应用 M. 清华大学出版社,19964洪永强.微机原理与接口 M .科学出版社,20045付家才.单片机控制工程实践技术 M. 北京化学工业出版社,20046刘瑞新.单片机原理及应用教程 M. 北京机械工业出版社,20057刘峥. LED 技术及其在车灯系统中的应用 M. 上海汽车出版社,20098 / 18 文档可自由编辑打印附 录 A(源程序)源程序:#includexdata unsigned char OUTBIT _at_ 0X8002;xdata unsigned char OUTSEG _at_ 0X8004;char tabseg=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;char sec=0;int flag=0;void Start(void);void Stop(void);void Left(void);void Right(void);int i=0,j=0,k=0;void delay(int r) int k,s; for(k=0;kr;k+) for(s=0;s=1000;s+); /*数码管显示子函数*void Print(int a,int b)OUTBIT=a;OUTSEG=tabsegb;delay(1);9 / 18 文档可自由编辑打印void Timer0(void)interrupt 1TH0=0X3C;TL0=0XB0;i+;void main(void)unsigned char KEY;TMOD=0X01;TH0=0X3C;TL0=0XB0;P1=0X00;EA=1;ET0=1;while(1)P3=0XFF;KEY=P3&0X0F;switch(KEY)case 0X01: Start(); break;case 0X05: Stop(); break;case 0X03:10 / 18 文档可自由编辑打印 Left(); break;case 0X09: Right(); break;default:break;void Start(void) if(flag=0) P1=0XFF; flag=1; else delay(50); P1=0X00; void Stop(void)TR0=1;P1=0XFF;while(j!=20)if(i=5)i=0;11 / 18 文档可自由编辑打印k+;j+;P1=P1;if(k=2)k=0;sec+;Print(1,sec%10);Print(2,sec/10);j=0;TR0=0;sec=0;void Left(void) /左转TR0=1;P1=0X01; while(j!=20) if(i=5) i=0; k+; j+; P1=P1=0X08)P1=0X01;TR0=0;j=0;sec=0;void Right(void) /右转.TR0=1;P1=0X20;while(j!=20)if(i=5)i=0;j+;k+;P1=P11;if(k=2)k=0;13 / 18 文档可自由编辑打印sec+;Print(1,sec%10);Print(2,sec/10);if(P1=0X04)P1=0X20;sec=0;TR0=0;j=0;14 / 18 文档可自由编辑打印附 录 B(电路图)15 / 18 文档可自由编辑打印附 录 C(器件清单)16 / 18 文档可自由编辑打印课程设计总结:课程设计总结:通过这次课程设计我们对于单片机应用有了更深的了解,单片机应用技术发展迅速,有着广阔的应用前景,涉及面广,内容丰富,它用软件的方法设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;在设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小,功率低,可靠性高。其技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方法,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑综合及优化,逻辑布局布线,逻辑仿真,直至特定目标芯片的适配便宜,逻辑映射,编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。此次课程设计不但提高了我们实践的能力和理论水平,而且对于我们认识掌握各种操作技巧具有重大意义,使我们的综合素质得到了很大的提高!指导教师评语:指导教师(签字): 年 月 日课程设计成绩
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 论文指导


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!