版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机电工程学院课程设计报告课程名称: 单片机课程设计 系部: 机电工程学院 专业班级:学生姓名: 指导教师: 完成时间:报告成绩: 目录一、 设计任务与要求 二、 方案设计与论证 三、 硬件电路设计1) 单片机模块 2) 时钟震荡电路 3) 复位电路 四、 软件设计 程序 五、 仿真过程与仿真结果 软件仿真 六、 安装与调试 硬件调试 七、 原理图与PCB图 八、 结论与心得 九、 参考文献 交通灯设计一、 设计任务与要求设计基本要求:(1) 车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为40秒,当剩余3秒时黄灯亮,南北方向通行时间为25秒,当剩余3秒时黄灯亮。(2) 东西、南北方向各用三个(绿、黄、红)LED表示,并用数码管显示东西、南北方向的剩余时间。(3) 可利用按键修改时间参数。二、 方案设计与论证1电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我们选择第二种方案。2显示界面方案该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。方案二:完全采用点阵式LED显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用数码管与点阵LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。3输入方案:题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:方案一:采用8155扩展I/O口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4。由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。三、硬件电路设计系统总体设计本系统采用STC89C52RC单片机中的一个定时器完成了交通指示灯的所有切换过程,该系统能根据实际车流量的情况进行东西和南北方向的切换,采用点亮发光二极管模拟交通灯的实际情况。该系统具有实用性强,操作简单,扩展性好等特点。1.单片机作为微型计算机的一个重要分支,应用面很广,发展很快,单片机最小系统。或者称为最小应用系统。是指用最少原件组成的单片机可以工作的系统,对51系列单片机来说。最小系统一般应该包括:单片机,时钟电路,复位电路等。1)单片机模块单片机模块是整个系统的核心,完成以下功能:输入数据的采集转换,驱动发光二极管的显示等功能,根据系统的要求和现实的考虑,选用宏晶公司生产的STC89C52RC通用单片机,STC89C52RC是一种带8K字节闪烁可编程可擦除只读存储器FPEROM的低电压,高性能CMOS8位微处理器,俗称单片机,该器件采用高密度非意失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中。它是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案,与Intel公司的MCS-51系列单片机相兼容,是广泛应用的单片机之一。1 yt—•秘咐!四y u—4 11-3ru.XAiJJr6 挞—代旬如71 uE*1J如邸,V -技Ar化心%iuSIGX9C52冷ALGP龄ii Z—F^-ILN13 24(—r:.-{MjLii14 Vrz.oi/^DnjM 嘴一r?.<lADD}部 15一17 N—1}l-A. b—•P?.算凡1】响N —■F2.K.MW)网 —pa知Mi—v煲]*-|.3SU.K.FL7RXDPMTX£>3IWDF化INTIIPJUTPTVTlPJJ—~u5lrp^.fi—MJTS7—Mli^l!—XTA11—.ND一n.4\<dSLPL5—MISOPLiiP3.0:RXD,串行通信输入P3.1:TXD,串行通信输出P3.2:INT0,外部中断0输入P3.3:INT1,外部中断1输入P3.4:T0,计时计数器0输入P3.5:T1,计时计数器1输入P3.6:WR:外部数据存储器的写入信号P3.7:RD,外部数据存储器的读取信号2)时钟震荡电路单片机的时钟信号用来提供单片机内各种微操作的时间其准,这个时钟信号可由单片机内时钟电路产生。可以直接使用外部时钟信号。因此,单片机时钟电路通常可以有两种形式内部振荡方式和外部振荡方式。a) 外部振荡方式就是把外部自己有时钟信号引入单片机内。这种方式是用来使单片机的时钟与外部信号保持同步。外部振荡方式电路如图所示。b) 内部振荡方式MCS单片机内存有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此大器的输入端和输出端。把放大器与作为反馈原件的晶体振荡器或陶瓷振荡器连接就构成了内部自激振荡器并产生振荡时钟脉冲,这种方式为内部振荡方式,如图所示。
MCS-51外部时钟信弓o-XTAL2XTAL]XTAL\MCS-51XTAL2 ♦至内部肘神电路MCS-51外部时钟信弓o-XTAL2XTAL]XTAL\MCS-51XTAL2 ♦至内部肘神电路内部振荡方式外部振荡方式内部振荡方式晶振两边的电容主要以下作用:晶振后面的电容是负载电容,可以用来微调晶体
震荡频率。电容的取值一般来说是30pF或33pF的瓷片电容。本次用30pF的瓷片电容3)复位电路复位操作可以使单片机初始化,也可以使死机状态下得单片机重新启动,计算机在启动时,都需要复位,使CPU和系统中其它部件都处于一个确定的初始状态。从这个状态开始工作,在振荡器正在运行的情况下。复位是靠在RST引脚处至少保持2个机器周期(24个振荡器周期)的高电平而实现的。可以分为上电自动复位和按键手动复位a) 上电自动复位对于MCS-51系列来说,最简单的上电复位电路如图所示,就是由一个电阻和一个电容构成的。在系统上电时,经C1与R1充电,使RST端为高电平,持续时间大于两个机器周期完成复位。电容充电结束后,系统复位结束,开始正常工作。b) 按键手动复位按键手动复位有电平方式和脉冲方式两种。在本系统中采用按键手动电平自动复位如图如下。
::wR2上电自动复位方式手动电平复位电路::wR2上电自动复位方式手动电平复位电路位电容的作用主要如下:单片机复位电路要求有一个持续时间,加上电容可以利用其两端电压不能突变的特性,使复位电平维持一定时间,使单片机复位。单片机复位电平在其手册里可以看到。另外这个电容还可以去除一些杂波的十扰,防止单片机被错误复位。本次取4.7uF的电解电容。四、软件设计硬件平台上构成,完成各部分硬件的控制和协调,系统功能是由软件硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减少软件故障率和提高软件的可靠性。同时对软件进行全方面的测试也是检查错误排除故障的重要手段。流程图如下:程序如下:#include<reg52.h> 〃声明头文件#defineuintunsignedint#defineucharunsignedcharsbitred1=P2八0; 〃定义六个灯分别为P1.0~7sbityellow1=P2八1;sbitgreen1=P2八2;sbitred2=P2八5;sbityellow2=P2八4;sbitgreen2=P2八3;sbitkey1=P3八0; 〃模式选择键
sbitkey2=P3八sbitkey2=P3八1;sbitkey3=P3八2;sbitkey4=P3八3;//数值+//数值-//暂停开始键ucharaa,qian,bai,shi,ge,bb,shu1,shu2;uintnum,key1num,key4num;〃定义数组0~9ucharcodetable[]=(0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};〃延时函数z毫秒voiddelay(uintz)(uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}〃初始化函数voidinit()(TMOD=0x01;〃设置定时器TMOD=0x01;〃设置定时器T0为工作方式1//赋初值//赋初值TL0=(65536-50000)%256;EA=1; 〃开总中断ET0=1;TR0=1; 〃开定时器num=40; //数码管初始显示40qian=num/10;bai=num%10;red1=1; 〃起始状态为南北绿灯,东西红灯yellow1=1;green1=0;green2=1;yellow2=1;red2=0;bb=1;key1num=0;//key4num=0;shu1=40; 〃南北通行时间初始为40s,东西通行时间初始为25sshu2=25;〃数码管显示函数voiddisplay(ucharqian,ucharbai)(P0=table[bai];delay(1);P1=table[qian];delay(1);}〃键盘扫描函数voidkeyscan()(if(key1==0)(delay(10); 〃消抖if(key1==0)(key1num++;if(key1num==4)key1num=1;}while(!key1);if(key1num==1) 〃按下第一次进入设置南北通行时间模式(TR0=0;num=40;qian=num/10;bai=num%10;display(qian,bai);green1=0;yellow1=0;red1=0;green2=1;yellow2=1;red2=0;}if(key1num==2) //按下第二次进入设置东西通行时间模式TR0=0;num=25;qian=num/10;bai=num%10;display(qian,bai);//key1num=0;green1=0;yellow1=0;red1=1;green2=1;yellow2=0;red2=0;}}}if(key1num!=0) 〃当key1键被按下(if(key2==0)(delay(10);〃按下key2〃按下key2键调整南北通行时间(
num--;qian=num/10;bai=num%10;display(qian,bai);shu1=num; //将设置后的时间赋给shulif(shu1==0)(shu1=40;num=shu1;qian=num/10;bai=num%10;display(qian,bai);}}while(!key2);}if(key3==0)(delay(10);if(key3==0)delay(10);if(key3==0)〃按下key3键设置东西通行时间(num--;qian=num/10;bai=num%10;display(qian,bai);shu2=num; //将设置后的值赋给shu2if(shu2==0)(shu2=25;num=shu2;qian=num/10;bai=num%10;display(qian,bai);}}while(!key3);}}/*if(key4==0)(delay(10);if(key4==0)(key4num++;while(!key4);if(key4num==1)(TR0=1;}if(key4num==2)(TR0=0;key4num=0;}}}*/if(key1num==3)(TR0=1;//主函数voidmain()(init();while(1)(display(qian,bai);keyscan();}}//定时器中断函数voidtimer0()interrupt1(TH0=(65536-50000)/256; 〃重赋初值TL0=(65536-50000)%256;aa++;if(aa==20) 〃定时到达1S(aa=0;num--;qian=num/10;bai=num%10;display(qian,bai);if(bb==1)(if(num==3)(red1=1; 〃起始状态为南北绿灯,东西红灯yellow1=0;green1=1;green2=1;yellow2=0;red2=1;}if(num==0)(red1=0; 〃起始状态为南北绿灯,东西红灯yellow1=1;green1=1;green2=0;yellow2=1;red2=1;num=shu2;qian=num/10;bai=num%10;display(qian,bai);bb++;}}if(bb==2)(if(num==3)(red1=1; 〃起始状态为南北绿灯,东西红灯yellow1=0;green1=1;green2=1;yellow2=0;red2=1;}if(num==0)(num=shu1;qian=num/10;bai=num%10;display(qian,bai);red1=1; //起始状态为南北绿灯,东西红灯yellow1=1;green1=0;green2=1;yellow2=1;red2=0;bb=1;}}}}五、仿真过程与仿真结果软件仿真软件程序的调试一般可将重点放在分模块调试上,统调是最后一环,软件调试可以采取离线和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可:后者一般需要仿真系统的支持。本次课题,用Keil软件来调试程序,通过各个模块的但不或跟踪调试,使程序逐渐趋于正常,最后统调程序。仿真采用proteus软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。首先打开proteus软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制,绘制好后再选用Keil软件已近编译好的“.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再进行检查,直到满足为止。1、 仿真一开始,所有的灯全部都亮,数码管显示00,这是程序设计的初始状态,复位之后的状态亦如此。2、 按下开始键,程序开始进入循环的状态,首先东西向绿灯亮,南北向红灯亮,同时数码管进行从40s开始进行倒计时,剩余3s时,红绿灯都不亮,转为四个方向的黄灯,每隔一秒亮一次,3秒倒计时后,即主干通车停止,转入南北向通车,数码管倒计时25秒,待到3秒转为黄灯亮,红绿灯都不亮,进行循环。仿真图如下:六、安装与调试首先制作电路板:在PROTELDXP软件上画出实训原理图,接着导入制作PCB电路板,最后经打印、热转印、腐蚀、打孔,最后做出电路板。步骤如下:第一步:利用一个能生成图像的软件生成一些图像文件,这里使用版本为Altium2004组织SCH文件,再利用网络表生成相应PCB图(可自动布线,也可手工布线),接着画PCB图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《尊重他人是我的需要》课件
- 2024届江苏省兴化市高三上学期期末考试历史试题(解析版)
- 单位管理制度集粹汇编职工管理篇十篇
- 单位管理制度汇编大合集员工管理篇十篇
- 单位管理制度分享汇编【人员管理篇】
- 单位管理制度呈现合集【人员管理篇】
- 2017-2021年安徽专升本考试英语真题卷
- 《雨点儿》教案(15篇)
- 《行政职业能力测验》陕西省咸阳市礼泉县2023年公务员考试深度预测试卷含解析
- 《电工复习题》课件
- 网络安全运维培训测试题
- 民政部主管社团管理办法
- 工地施工临时用水及计算
- 三年级数学寒假每日一练
- 工作计划酒店上半年工作总结及下半年工作计划
- 石油词汇大全-俄语专业词汇
- 浅谈燃机电厂燃气管道的完整性管理
- 东营市学校安全工作先进个人申报表岳向明
- 防护设备操作手册
- 《中小学教师职业生涯规划与专业发展》讲座
- 牡丹籽油和文冠果油建设项目可行性研究报告模板备案审批
评论
0/150
提交评论