《1电子产品设计报告封面.docx》由会员分享,可在线阅读,更多相关《1电子产品设计报告封面.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1电子产品设计报告封面 天津电子信息职业技术学院电子产品设计报告 课题名称交通信号灯设计 姓名刘宇鹏 学号17 班级电子S16-1 专业应用电子专业 所在系电子技术系 指导教师曹金玲 完成日期2022-01-06 摘要 交通在人们的生活中起着重要的作用,交通秩序是否良好严重影响着社会生活。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本设计以单片机AT89C51为核心设计交通灯控制器,模拟十字路口的各种状态显示及倒计时时间。本设计系统由时钟电路、复位电路、倒计时显示电路、按键切换电路、交通灯电路组成。本系统设计了两种显示方式,方式一为模拟红、
2、黄、绿的循环显示,并用LED显示倒计时时间。方式二为主干道一直保持畅通、当支干道有车通过时,支干道通,支干道无车时恢复主干道畅通。在程序中采用的是查询方式。本系统实用性强、操作简单、扩展性强。Proteus设计原理图并进行了仿真,采用汇编语言编写程序,Keil C51与Proteus进行联调。之后进行了硬件电路的焊接、安装与调试,最后实现了设计的要求。 关键词交通灯 ; AT89C51 ; LED显示; Proteus 目录 摘要 (2) 一、设计任务 (3) 二、模块设计 (3) 2.1单片机系统的时钟电路 (3) 2.2 单片机系统的复位电路 (4) 2.3 数码管显示电路 (4) 2.4
3、 整体电路设计图四 (5) 三、系统软件设计 (5) 3.1 主程序流程设计 (5) 四、调试及性能分析 (6) 4.1 软件调试 (6) 4.2 硬件调试 (6) 4.3 系统功能调试 (6) 谢词 (6) 参考文献 (7) 附录部分 (7) 一、设计任务 自制一个单片机最小系统,包括串口下载、复位电路,采用内部定时器定时控制南北、东西的交通信号灯(采用LED模拟),交通信号灯由红、黄、绿灯组成,东西、南北模拟路口由12路LED组成,其中南北、东西均采用并联方式连接,双向均有倒计时牌。 二、模块设计 2.1单片机系统的时钟电路 ATMEL公司生产的AT89C51单片机它是硬件电路的核心部分,
4、时钟电路晶振使用12MHz,如图一: 图一单片机系统时钟电路 2.2 单片机系统的复位电路 复位电路采取按键复位方式,设计电路如图二。主要是方便复位,以便更好的观察仿真数据。 图二单片机系统的复位电路 2.3 数码管显示电路 数码管显示部分电路如下,P2口作为位选,P0口作为段选。 图三数码管显示电路 2.4 整体电路设计图四 图四交通灯整体电路图 三、系统软件设计 3.1 主程序流程设计 图四系统程序流程图 四、调试及性能分析 4.1 软件调试 软件调试主要是利用Proteus仿真软件完成电路的搭建,本次课程设计采用Proteus仿真软件与Keil联合调试的方法进行仿真。运行以发现设计中的错
5、误及时改正。 4.2 硬件调试 硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。 (2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。 (3)以上两项检查并修复完后,给该硬件电路上电,指示灯点亮。 4.3 系统功能调试 通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘没有正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关的动作。 谢词 这次课设是我认为最有意义的一次课设,从原理图设计到软件仿真、
6、从硬件焊接再到硬件的安装与调试,我从中收获了许多。 当我选择了交通灯这个题目时,我开始收集相关资料,设计原理图。在设计原理图的过程中,主要问题在显示部分,不知如何设计。在验收原理图时按键部分没有加上拉电阻,后来在老师的建议下加上了上拉电阻。 我选择了用汇编语言进行编程,因为汇编语言是最接近单片机的语言。在编写倒计时显示遇到了困难,因为不了解用汇编用显示的原理。通过查阅资料,克服了困难,很有成就感。中断程序和键盘扫描程序比较简单。在整个程序的编写过程中,研究每个子程序是否好使,我是通过Keil 和Proteus两个软件来实现的。Keil 则帮助我检查程序是否存在语法错误 之类的问题,还可以生成h
7、ex文件,供Proteus软件仿真使用。通过几天的编写,程序最终无误并且在仿真中实现了预定的功能。 接下来便是硬件的焊接。一开始时我不敢下手,生怕焊错。后来熟悉之后我焊得越来越好。实物焊好后把程序下载到实物中去,有一个灯不亮,数码管显示也不正确,仔细检查发现焊接出了错误,改正后显示正确,基本上实现了要求。 最后看着自己的劳动成果,心里很满足。通过此次课设对单片机有了深刻的了解和掌握。还锻炼了亲自动手焊接的能力。明白了一个道理,软件中实现了功能,在硬件中不一定能实现。软件与硬件存在着一定的差距。今后要增加自己的动手能力。 参考文献 1 杨恢先,黄辉先.单片机原理及应用M.北京:人民邮电出版社,2
8、022. 2 胡洪波.单片机原理及应用实验教程M.湖南:湘潭大学出版社,2022. 3 陈海燕.51单片机原理及应用M.北京:北京航空航天大学出版社,2022. 4 郭天祥.新概念51单片机C语言教程M.北京:电子工业出版社,2022. 附录部分 单片机程序 #include #define uint unsigned int #define uchar unsigned char uchar duan=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uchar led=0x7e,0xbe,0xdb,0xdd; uint time=25,5
9、,15,5; sbit w2=P06; sbit w1=P07; uint i=0,t=0,s=0; void display(uint num); void delay(uint z) uint x,y; for(x=0;xz;x+) for(y=0;y220;y+); void main() TMOD=0x01; EA=1; ET0=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; while(1) P1=ledi; display(timei-s); void display(uint num) w1=0; P2=0xff; P2=duannum%10; delay(1); w1=1; num/=10; w2=0; P2=0xff; P2=duannum%10; delay(1); w2=1; num/=10; void timer0()interrupt 1 TR0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; t+; if(t=20) t=0; s+; if(s=timei) i+; s=0; if(i=4) i=0; 绿灯时 红灯时 黄灯变红
限制150内