




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学专业课程设计3(微处理器与微控制器应用)课程设计说明书目录1 技术要求12 基本原理12.1 AT89C51单片机12.2发光二极管12.3数码管23 设计方案及功能分析23.1 方案一23.1.1设计总体框图23.1.2电路原理说明33.2 方案二33.2.1设计总体框图33.2.2电路原理说明44 实现方案44.1设计总体框图44.2电路原理说明64.3实验现象说明65 结论66 心得体会77 参考文献7附录81 方案一81.1 方案一的硬件原理图81.2 方案一的软件程序92 方案二122.1 方案二的硬件原理图122.2 方案二的软件程序133实现方案163.1 实现方案的硬件原理图163.2 实现方案的软件程序17模拟交通指示灯的控制1 技术要求1)采用单片机作为主控制器。2)每个方向具有左拐、直行及行人3种通行指示灯。3) 每个方向的指示灯按照要求点亮不同的时间,前行指示灯点亮10秒熄灭,接着暂停指示灯点亮2秒熄灭,然后左拐指示灯点亮8秒熄灭,按照这种方式进行循。4)当向东方向的前行指示灯点亮的时候,向南方向的前行指示灯熄灭,暂停指示灯和左拐指示灯分别点亮。5)当向南方向的前行指示灯点亮的时候,向东方向的前行指示灯熄灭,暂停指示灯和左拐指示灯点亮。补充要求:6)计时牌显示路口通行转换剩余时间。7)在出现紧急情况时可由行人手动实现对面路口车辆禁行而行人通行状态。2 基本原理2.1 AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器,低电压,高性能CMOS8位微处理器,俗称单片机。P0口为一个8位漏级开路双向I/O口,P1口是一个内部提供上拉电阻的8位双向I/O口,P2口为一个内部上拉电阻的8位双向I/O口,P3口管脚是8个带内部上拉电阻的双向I/O口。其中的一些特殊功能口:P3.2/INT0(外部中断0), P3.3/INT1(外部中断1), P3.4T0(记时器0外部输入), P3.5T1(记时器1外部输入)。2.2发光二极管LED是英文light emitting diode(发光二极管)的缩写,它是半导体二极管的一种,可以把电能转化成光能,常用的是发红光、绿光或黄光的二极管。2.3数码管通过其电平的高低来控制数码管的高低位工作。3 设计方案及功能分析3.1 方案一方案一核心思想是基于延时和中断的程序实现三种灯的循环点亮。3.1.1设计总体框图方案一主程序流程图,如图1所示;方案一中断程序流程图,如图2。.开始 初始化东向绿灯,南向黄灯,亮2秒。东向绿灯,南向红灯,亮8秒。南向绿灯,东向黄灯,亮2秒。南向绿灯,东向黄灯,亮8秒。初始化INTO是否为低电平东向黄灯,南向绿灯,亮3秒。否是INT1是否为低电平结束初始化东向绿灯,南向黄灯,亮3秒。结束否是图1方案一主程序流程图图2 方案一中断流程图3.1.2电路原理说明 方案一的硬件原理图如附录图1,方案一的软件程序见附录1.2。.P0口的前六个接口分别控制六个发光二极管。绿灯表示前行,黄灯表示暂停,红灯表示左拐。首先东向绿灯南向黄灯亮2秒,然后东向绿灯和南向红灯亮8秒,从而使得东向绿灯亮10秒时,南向黄灯亮2秒后红灯亮8秒。南向的类似,先南向绿灯东向黄灯亮2秒,然后南向绿灯东向红灯亮8秒,低电平使二极管发亮。中断是使用的外部中断,使用的是INT0和INT1两个接口,当其中的一个接口输入低电平时,对应的两个方向的黄灯和绿灯均亮3秒,从而车辆禁止,行人通行。 3.2 方案二此方案实现的是一种比较贴近现实生活的十字路口的交通灯。由东南西北四个方向的交通灯组成,每个方向均有绿黄红三种颜色的灯。其中绿灯表示通行,黄灯表示警告,红灯表示暂停。3.2.1设计总体框图方案二主程序流程图,如图3所示;方案二中断程序流程图,如图4。开始南北向黄灯闪烁东西向红结束初始化INTO是否为低电平东西向绿南北向红东西向绿南北向红INTO是否为低电平初始化东西向红南北向绿否是否是东西向黄灯闪烁南北向红初始化东西向红南北向绿结束图3 方案二主程序流程图 图4 方案二中断流程图3.2.2电路原理说明方案二的硬件原理图如附录图2,方案二的软件程序见附录2.2。P0口的前6个接口控制12个灯,每个接口控制对称的两个灯。利用了switch语句,实现各个灯的循环点亮。四个case语句:东西向绿灯与南北向红灯亮;东西向黄灯闪烁,绿灯关闭;东西向红灯,南北向绿灯亮;南北向黄灯闪烁,绿灯关闭。同时利用外部中断,实现对面路口车辆禁行而行人通行状态。在主函数中要确定外部中断优先,同时使用while语句实现循环。4 实现方案 在实现方案中,我加了计时牌显示路口通行转换剩余时间的功能。利用的是计时牌每跳转一个数都需要一段延时,通过跳转数字的数目来实现交通灯分别亮不同的时间。同时我也添加了一项发声报警的功能,实现紧急情况时可以发声报警。4.1设计总体框图实现方案主程序流程图,如图6所示;实现方案中断程序流程图,如图5。中断用了两个,分别是INT0和INT1。两者工作类似,在此以INT0的流程图为例。INT0是否为低电平i=0 图5 实现方案中断程序流程图是否i8东西向绿灯亮,计时牌显示8南北向红灯亮,计时牌显示8计时牌显示数据减1i加1结束否是 东西向绿灯亮,计时牌显示8南北向红灯亮,计时牌显示8初始化I=0东西向绿灯亮,计时牌显示10南北向黄灯亮,计时牌显示2显示数据减一,i加一开始I2是否显示数据减一,i加一I10I=0是否南北向绿灯亮,计时牌显示10东西向黄灯亮,计时牌显示2显示数据减一,i加一南北向绿灯亮,计时牌显示8东西向红灯亮,计时牌显示8I22是显示数据减一,i加一I10是否否图6 实现方案主程序流程图4.2电路原理说明实现方案的硬件原理图如附录图3,实现方案的软件程序见附录3.2P0口的前6个接口控制12个灯,每个接口控制对称的两个灯。P1口和P2口的8个接口分别控制对称的四个数码管。外部中断INT0和INT1分别通过开关接地。P3的最后一个接口接喇叭。初始化先将各引脚赋以符号,便于下面的程序赋值。然后用switch语句实现四个方向不同灯和计时牌的工作与循环。四个case语句分别实现东向绿灯南向黄灯亮2秒,东向绿灯南向红灯亮8秒,南向绿灯东向黄灯亮2秒,南向绿灯东向红灯亮8秒。在case语句中通过while语句实现计时牌数据的改变和循环。利用的是计时牌每跳转一个数都需要一段延时,通过跳转数字的数目来实现交通灯分别亮不同的时间。使用for语句实现发声报警的功能。同时利用外部中断,实现对面路口车辆禁行而行人通行状态。在主函数中要确定外部中断优先,同时使用while语句实现循环。4.3实验现象说明东西方向绿灯亮10秒,计时牌由10依次减小;南北方向黄灯亮2秒红灯亮8秒,对应计时牌由2减小由8减小;然后南北方向绿灯亮10秒,计时牌由10依次减小;东西方向黄灯亮2秒红灯亮8秒,对应计时牌由2减小由8减小。在东西方向红灯亮的时候,外部中断,先报一声警,南北方向红灯和东西方向绿灯亮8秒;在南北方向红灯亮的时候,外部中断,先报一声警,东西方向红灯和南北方向绿灯亮8秒;实现了交通灯的功能。5 结论本次课程设计的内容是模拟交通指示灯的控制,对应的有几个方面的技术要求,也可以增加几个功能。调整修改后,经过软件的模拟仿真,本次的课程设计成功的达到了技术指标中的各项要求。6 心得体会为时两周的专业课程设计三到这里已经接近尾声。在这两周里我们历经一个从不懂到懂得,从彷徨到清醒的过程。有过思考,有过疑问,有过失望,有过郁闷,但也有过知晓,有过喜悦。通过这两周的学习,我们也收获不少。这是第三次做课程设计,有过两次经验,基本的步骤还是比较清楚的。在拿到课程设计任务书后,对本次课程设计的要求有了一定的了解。我开始了实验方案的设计。首先进行了资料的查阅,对这次的课程设计,我对它的内容还是比较熟悉。可以用C语言和汇编语言进行编译程序,我在本次课程设计中选择了C语言。我试着想了几个方案,从中选择了三个方案进行实现。对同一个问题,都想了很多种不同的方法。就拿方案一和实现方案来说,方案一利用的是延时,实现方案则是利用的是计时牌每跳转一个数都需要一段延时,通过跳转数字的数目来实现交通灯分别亮不同的时间。通过这次课程设计,加强了我们动手、思考和解决问题的能力,查阅了很多课本、资料书,增强了自己对知识的理解,很多以前不是很懂的问题现在都有了更高层次的理解。我想这次的课程设计也是一种锻炼自己学习能力的过程,这一过程弥补了被动教学的不足,对我们的个人能力的提升也有很大的作用。课程设计即将告一段落,我们学到了不少东西,也有了深刻的体会。课程设计不仅让我们学到了一些知识,它更加要告诉我们的是一种方法,是一种精神。它体现了我们自主学习,自主分析,自我督促的态度;教会了我们自主寻找问题解决问题的方法;告知了我们一种积极探索,永不放弃的精神。7 参考文献1 高锋.单片微型计算机原理与接口技术.科学出版社,2003年2月2 揣锦华.面向对象程序设计与VC+实践.西安电子科技大学出版社,2005年2月 3 彭伟. 单片机 C 语言程序设计实训 100 例基于 8051+Proteus 仿真 .电子工业出版社,2009年7月4李继灿.微型计算机系统与接口M.清华大学出版社,2005年版5 红绿灯控制系统的设计C, 百度文库附录1 方案一1.1 方案一的硬件原理图附录图11.2 方案一的软件程序9武汉理工大学专业课程设计3(微处理器与微控制器应用)课程设计说明书#include #define uchar unsigned char #define uint unsigned int sbit RED_A=P00; sbit YELLOW_A=P01; sbit GREEN_A=P02; sbit RED_B=P03; sbit YELLOW_B=P04; sbit GREEN_B=P05; uchar Flash_Count=0,Operation_Type=1; /延时 void DelayMS(uint x) uchar i; while(x-) for(i=0;i120;i+); /交通灯切换 void Traffic_Light() switch(Operation_Type) case 1: /东向绿灯南向黄灯亮2秒 RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=1;YELLOW_B=0;GREEN_B=1; DelayMS(1500); Operation_Type=2; break; case 2:/东向绿灯南向红灯亮8秒RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1;DelayMS(8500); Operation_Type=3; break; case 3: /南向绿灯东向黄灯亮2秒 RED_B=1;YELLOW_B=1;GREEN_B=0; RED_A=1;YELLOW_A=0;GREEN_A=1;DelayMS(1500);Operation_Type=4; break; case 4:/南向绿灯东向红灯亮8秒RED_B=1;YELLOW_B=1;GREEN_B=0; RED_A=0;YELLOW_A=1;GREEN_A=1;DelayMS(8500);Operation_Type=1; /有行人过,东向黄灯南向绿灯亮3秒 void EX_INT0() interrupt 0 RED_A=1;YELLOW_A=0;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; DelayMS(2000); /有行人过,东向绿灯南向黄灯亮3秒 void EX_INT1() interrupt 2 RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=1;YELLOW_B=0;GREEN_B=1; DelayMS(2000); void main() while(1) IE=0x85; PX0=1; /中断优先 IT0=1; IT1=1; Traffic_Light(); 2 方案二2.1 方案二的硬件原理图附录图22.2 方案二的软件程序#include #define uchar unsigned char #define uint unsigned int sbit RED_A=P00; /东西向灯 sbit YELLOW_A=P01; sbit GREEN_A=P02; sbit RED_B=P03; /南北向灯 sbit YELLOW_B=P04; sbit GREEN_B=P05; sbit t1=P10;sbit t2=P11;uchar Flash_Count=0,Operation_Type=1; /闪烁次数,操作类型变量 /延时 void DelayMS(uint x) uchar i; while(x-) for(i=0;i120;i+); /交通灯切换 void Traffic_Light() switch(Operation_Type) case 1: /东西向绿灯与南北向红灯亮 RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=0;YELLOW_B=1;GREEN_B=1; DelayMS(5000); Operation_Type=2; break; case 2: /东西向黄灯闪烁,绿灯关闭 DelayMS(300); YELLOW_A=YELLOW_A;GREEN_A=1; if(+Flash_Count!=10) return; /闪烁5次 Flash_Count=0; Operation_Type=3; break; case 3: /东西向红灯,南北向绿灯亮 RED_A=0;YELLOW_A=1;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; DelayMS(5000); Operation_Type=4; break; case 4: /南北向黄灯闪烁5次 DelayMS(300); YELLOW_B=YELLOW_B;GREEN_B=1; if(+Flash_Count!=10) return; Flash_Count=0; Operation_Type=1; /INT0中断函数void EX_INT0() interrupt 0 RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=0;YELLOW_B=1;GREEN_B=1; DelayMS(5000); /INT1中断函数 void EX_INT1() interrupt 2 RED_A=0;YELLOW_A=1;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; DelayMS(5000); void main() while(1) IE=0x85; PX0=1; /中断优先 IT0=1; IT1=1; Traffic_Light(); 3实现方案3.1 实现方案的硬件原理图附录图33.2 实现方案的软件程序#include#include #define uchar unsigned char #define uint unsigned intuchar code DSY_CODE10=0xef,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe; uchar code DSY_CODE2=0xfd,0xfe;uchar code DSY_CODE8=0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe; sbit RED_A=P00; sbit YELLOW_A=P01; sbit GREEN_A=P02; sbit RED_B=P03; sbit YELLOW_B=P04; sbit GREEN_B=P05;sbit BEEP=P37;void Play(uchar t); uchar i=0; uchar Flash_Count=0,Operation_Type=1; /延时 void DelayMS(uint x) uchar m; while(x-) for(m=0;m120;m+); /交通灯切换 void Traffic_Light() switch(Operation_Type) case 1: /东向绿灯南向黄灯亮2秒 i=0; while(i2) RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=1;YELLOW_B=0;GREEN_B=1; P2=DSY_CODE10i; P1=DSY_CODE2i; i=i+1; DelayMS(750); Operation_Type=2; break; case 2:/东向绿灯南向红灯亮8秒i=2; while(i10) RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=0;YELLOW_B=1;GREEN_B=1; P2=DSY_CODE10i; P1=DSY_CODE10i; i=i+1; DelayMS(750); Operation_Type=3; break; case 3: /南向绿灯东向黄灯亮2秒 i=0; while(i2) RED_B=1;YELLOW_B=1;GREEN_B=0; RED_A=1;YELLOW_A=0;GREEN_A=1; P1=DSY_CODE10i; P2=DSY_CODE2i; i=i+1; DelayMS(750); Operation_Type=4; break; case 4:/南向绿灯东向红灯亮8秒 i=2; while(i10) RED_B=1;YELLOW_B=1;GREEN_B=0; RED_A=0;YELLOW_A=1;GREEN_A=1; P1=DSY_CODE10i; P2=DSY_CODE10i; i=i+1; DelayM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙合同协议书
- 2024-2025学年新教材高中历史 第一单元 古代文明的产生与发展 第2课 古代世界的帝国与文明的交流(1)教学说课稿 新人教版必修《中外历史纲要(下)》
- 第2课 事半功倍有技巧-特殊输入 说课稿 -2024-2025学年辽师大版(2015)信息技术七年级上册
- 中医考试题库及答案软件
- 河南省青桐鸣2025-2026学年高二上学期9月大联考历史试卷(含答案)
- 商场电商平台合作及数据共享合同
- 绿色建筑项目结算付款与环保协议
- 媒体机构新员工入职内容创作与版权归属合同
- 股权激励计划实施与员工股权转让全面合作协议
- 担保公司业务合规管理合同
- 2025广东珠海市下半年市直机关事业单位招聘合同制职员37人考试参考试题及答案解析
- 软件开发驻场合同协议
- 矿山承包法律合同范本
- 浙江省浙南名校联盟2025-2026学年高二上学期开学返校联考英语试卷(含音频)
- 工程机械行业发展深度报告
- 2022年上海交通大学学生生存手册
- 建设工程施工合同(示范文本)解读课件
- 高中美术 《设计》艺术与技术的结合——产品设计 1 课件
- 贵阳市征地统一年产值和征地区片价补偿标准
- 小学数学德育纲要
- 230w光束灯中文说明书
评论
0/150
提交评论