ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:2.07MB ,
资源ID:14686614      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14686614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机红绿灯报告Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机红绿灯报告Word文档格式.docx

1、靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用 AT89S52单片机来设计交通灯控制器,实现了红绿灯循环点亮,倒计时剩 5秒时黄灯闪烁警示;红绿绿灯时间可调节(根据实际情况灵活控制)并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。1.1 课程设计制作题目及要求课程设计制作题目及要求 用 AT89S52单片机模拟十字路口红绿灯。要求:南北方向和东西方向各三个 led灯(红黄绿),并用数码管显示通行的时间,通行时间可通过按键修改。(3)红绿灯交替:初始化时南北方向绿灯放行,最后 5s黄灯警告,东西方向红灯禁止通行,然后南北方向和东西方向状态切换。(4)交替时间可

2、控:绿灯亮起通行时间可以通过按键增加或者减少。(5)时间用数码管时刻显示:南北方向和东西方向红绿灯亮的时间时刻由两位数码管显示。2.系统方案设计系统方案设计 2.1 设计思路设计思路 为了实现十字路口交通灯的模拟,我们首先在网上收集相关资料,然后在到实际交通路口观察红绿灯工作情况,在然后进行仿真软件的仿真,最后进行单片机实物的模拟测试。此设计的时间控制用 AT89s52的定时器进行,设定定时器初值为 46080,(由于晶振为 11.0592,故所记次数应为 46080,计时器每隔 50000微秒发起一次中断),记录20次中断标志为 1s,同时用口的电平转换来检测按键,来判断相应的功能。用数码管

3、显示时刻相应的时间。2.2 总体设计框图总体设计框图 3.硬件设计硬件设计 3.1 硬件选型硬件选型 单片机特点:(1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的 CPU。单片机程序指令,常数及表格等固化在 ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。(2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O 口的逻辑操作及位处理能力,非常适用于专门的控制功能。(3)低电压,低功耗,便于生产便携式产品 为

4、了满足广泛使用于便携式系统,许多单片机内的工作电压仅为 1.8V3.6V,而工作电流仅为数百微安。(4)易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。(5)优异的性能价格比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用 RISC 流水线和 DSP等技术。单片机的寻址能力也已突破 64KB 的限制,有的已可达到 1MB 和 16MB,片内的 ROM容量可达 62MB,RAM容量则可达 2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。数字逻辑

5、电路特点:用数字电路逻辑器件组成控制电路,这样原理简单清楚,但是调节起来很复杂,需要更改电路结构。根据设计要求及设计的需要我采用单片机来作为控制手段,选用 AT89S52单片机作为该课程设计的核心来对数字信息进行处理及储存。它是一个低电压,高性能的CMOS 8位单片机,片内含 8k bytes的可反复擦写的 Flash只读程序存储器和 256 bytes的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统,有 40个引脚,32个外部双向输入/输出(I/O)端口,同时内含 2个外中断口,3个 16位可编程定时计数器,2个全双工串

6、行通信口,2个读写口,AT89S52可以按照常规方法进行编程,也可以在线编程。3.2 系统硬件电路原理详图系统硬件电路原理详图 3.2.1复位电路原理图以及时钟电路原理图复位电路原理图以及时钟电路原理图 3.3 实际连线详图实际连线详图 3.3.1共阴极数码管原理图以及四位数码管引脚图共阴极数码管原理图以及四位数码管引脚图 3.3.2红绿灯模拟仿真电路红绿灯模拟仿真电路 3.3.3 51单片机主控实物图以及原理图单片机主控实物图以及原理图 4.软件设计软件设计 4.1 软件功能设计软件功能设计 利用单片机的定时器产生准确的时钟信号,从而进行时间控制,控制十字路口的红、黄、绿灯交替亮灭。并且使用

7、共阴极四位 LED 数码管,时刻显示当前路口的红灯或者绿灯还将持续的时间。两个方向的通行时间可用按键进行设置,可以控制路口的红绿灯的持续时间,这样模拟现实中的不同时间段,车流量不同而智能控制时间,这样更加合理的控制路口的通行,提高道路的通行效率,系统的启停和复位也由按键控制。4.2 软件流程设计软件流程设计 4.2.1主流程图主流程图 4.2.2 按键判断按键判断 4.2.3 数码管显时数码管显时 5.软件调试软件调试 5.1 单元调试单元调试 5.1.1 显示模块测试显示模块测试 首先在硬件电路上按照要求连接数码管,然后由单片机控制,看能否控制数码管显示任何组合,测试通过则开始调试红绿灯程序

8、代码,不通过则检查问题,硬件问题或者软件问题。然后连接 6个 LED 灯,模拟交通灯的过程中,由于南北方向和东西方向的情况分别一样,所以只是用一组 LED,连接好硬件电路之后,用万用表的测试通断档检测每个 LED 的好坏,有问题则更换 LED,没有问题则进去软件调试。最后在中断完成扫描一次数码管,看数码管的显示是否良好,消隐是否消彻底,测试完成后,确认无误则进行下一步测试。5.1.2 按键模块测试按键模块测试 在按键接入电路之后,用万用表的测试通断档检测每个按键按下时,按键是否接通如果接通,则按键电路硬件无误,在软件程序里面测试,每个检测按键的程序都延时一小段时间在检测按键情况,如果按键情况不

9、变,则判断执行按键程序,如若延时后按键情况消失,则判断为系统的电源抖动,不予处理。5.2 总体测试总体测试 在程序搭建完成之后,结合硬件进行最后的测试,用按键控制时间加减,然后观察程序的 BUG,做多种尝试,尽量消除完程序存在的 BUG,比如时间如果减为 0,或者时间加到数码管显示的最大值之后怎么处理,都是我们程序里面要考虑到的问题,然后检测中断程序控制的 时间与实际时间的差距,尽量调整时间没有差距,这也是程序控制与实际的结合,达到误差标准之后,然后运行程序,要求时间持续时间长,如果出现问题,那么就要分析问题原因,是硬件问题还是软件 BUG,将问题处理完之后,作品完成。6.心得体会心得体会 在

10、调试的过程中,遇到很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对单片机理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计

11、选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚 的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。再次感 谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。7.参考文献参考文献 1 周伟,淮阴师范学院,数学科学学院,c语言程序设计课程教学研究,维普期刊资源整合服务平台。2 谭浩强,c语言程序设计(第四版),清华大学出版社,北京,2010年。3郭天祥.十天学会单

12、片机。附录附录 1 C 语言源程序代码#include#include#define uint unsigned int /宏定义#define uchar unsigned char/宏定义#define GPIO_LED P3 /数码管段选 sbit K1=P10;/按键 1 sbit K2=P11;/按键 1 sbit K3=P12;/按键 1 uchar code wetable=0 xf7,0 xfb,0 xfd,0 xfe;/共阴极数码管位选 0 xfe,0 xfd,0 xfb,0 xf7 0 xef,0 xdf,0 xbf,0 x7f 共阳极数码管位选 uchar code du

13、table=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;/数码管段选 uchar code LEDFLAG=0 xde,0 xdd,0 xf3,0 xeb ;/LED 灯亮的四种状态 uint closedu,closewe,n1=0,n2=0,n=0;/void TimerConfiguration();void init();unsigned char Time,shi1,ge1,shi2,ge2,wenum,count,Time;/定义变量 void display(uint shi1,uint ge1,uint

14、 shi2,uint ge2);/时间显示函数 void delay(uint z);/延时函数 void Delay10ms(void);/10MS 延时函数 void main(void)/unsigned char Time=0;uchar n0=0;uchar k=0,k1=0,k2=0;uchar m=0;P1=0 xff;GPIO_LED=0X00;/n1=30;n2=n1;shi1=n1/10;ge1=n1%10;shi2=n2/10;ge2=n2%10;/手动选择初始化时间 display(shi1,ge1,shi2,ge2);/时刻显示设置时间值 while(1)if(K1=

15、0)/检测按键 K1是否按下 delay(1000);/消除抖动 if(K1=0)/确认按键 K1按下 n1+;/手动加时间 n2=n1;Delay10ms();if(K2=0)/检测按键 K2是否按下 delay(1000);/消除抖动 if(K2=0)/确认按键 K2按下 n1-;/手动减时间 n2=n1;if(K3=0)/检测按键 K3是否按下 delay(1000);/消除抖动 if(K3=0)/确认按键 K3按下 init();/计时器初始化,开始倒计时 n0=n1+n2;k=n0;k1=n1;k2=n2;while(1)if(Time=20)n0-;n1-;n2-;if(n0k1+5)P0=LEDFLAG0;/delay(100);el

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1