
跪求,单片机交通灯控制设计心得体会.
心得体会:1、通过课程,加强了我们动手、和解决问题的能在整个设计过程中,我们通过这个方案包括设计了一套电路原理和PCB连接图,和芯片上的选择。
这个方案总共使用了74LS248,CD4510各两个,74LS04,74LS08,74LS20,74LS74,NE555定时器各一个。
2、在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。
3、我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。
平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。
而且还可以记住很多东西。
比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深刻。
认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。
所以这个期末测试之后的课程设计对我们的作用是非常大的。
4、在制作PCB时,发现细心耐心,恒心一定要有才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的,否则只是一纸空话。
5、在画好原理图后的做PCB版时,由于项目组成员对单面板的不熟悉,导致布线后元件出现在另一边,增加了布线难度,也产生很多不曾注意的问题,今后要牢记这个教训,使以后布线更加顺利。
6、经过两个星期的实习,过程曲折可谓一语难尽。
在此期间我们也失落过,也曾一度热情高涨。
从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。
我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以,而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这十来天的合作,我感觉我和同学们之间的距离更加近了;我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋; 正所谓“三百六十行,行行出状元”。
我们同样可以为社会作出我们应该做的一切,这有什么不好
我们不断的反问自己。
也许有人不喜欢这类的工作,也许有人认为设计的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就可。
社会需要我们,我们也可以为社会而工作。
既然如此,那还有什么必要失落呢
于是我们决定沿着自己的路,执着的走下去。
同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
某个人的离群都可能导致导致整项工作的失败。
实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们实习成功的一项非常重要的保证。
而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
对我们而言,知识上的收获重要,精神上的丰收更加可喜。
挫折是一份财富,经历是一份拥有。
这次实习必将成为我人生旅途上一个非常美好的回忆
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢
7、此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。
8、在此,感谢于老师的细心指导,也同样谢谢其他各组同学的无私帮助
PROTEL99SE 软件工具应用技巧Protel 99SE 提供了一系列的电路设计工具、优秀的文件管理系统,使用户真正享受到方便快捷而又形象的设计自动化,使设计人员从烦琐的电路设计中解脱出来,只需拥有一台电脑,即可完成从电路原理图的设计到最终的印制电路板设计的全部过程。
它包含有各功能模块和标准的元件库。
主要功能模块:Protel 99SE 具有出色的用户管理技术,强大的自动化设计功能,灵活的编辑功能,简单方便的操作环境和完善的元件库管理能力。
Protel 99SE主要由两大部分组成,每一部分有三个功能模块 1.电路设计部分 a.原理图设计模块,包括用于设计原理图的原理图编辑器,用于管理元器件的零件编辑器和各种相关报表生成器。
b. 印制电路板设计模块,包括用于设计电路板的电路板编辑器,用于零件封装管理的零件封装编辑器,电路板组件管理器和各种相关报表生成器。
c.无网格布线模块。
2.电路仿真与PLD 设计部分 a.可编程逻辑器件设计模块,包括具有语法意识的文本编辑器,用于编译和仿真结果的PLD和用于观 仿真结果的Wave.b. 电路仿真模块,包括一个功能强大的数字\\\/模拟混合信号电路仿真器及用于仿真结果显示、测量的波形显示器。
c.高级信号完整性分析模块,主要包括一个高级信号完整性分析仿真器,能分析PCB 设计和检查设计参数等。
基于51单片机的交通灯设计总结与心得怎么写
51单片机的交通灯详细资料
我的论文写的是单片机交通灯设计,老师给我提出了些问题,大家帮帮我吧,我实在改不出来了。
94060404 ,加我我帮你看看
关于交通灯设计的心得体会论文,先在这谢谢大家了
用单片机做交通灯有源程序和心得体会还有设计说明 ...程序我的博客上有,并且是调通了的,你可以去参考,但心得体会,要你自己去体会才行。
...
单片机控制的交通灯
题目 交通灯控制系统的设计 一、课程设计的目的与要求 1、课程设计目的: (1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。
(2)通过课程设计提高应用能力,分析问题和解决问题的能力。
(3)培养查阅资料的习惯,训练和提高自学,独立思考的能力。
2、课程设计要求 交通灯控制系统的设计 1) 掌握在单片机系统中扩展简单I\\\/O接口的方法。
2) 掌握数据输出程序的设计方法。
3) 掌握模拟交通灯控制的实现方法。
4) 掌握外部中断技术的基本使用方法。
5) 掌握中断处理程序的编程方法。
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: (1)能够正确理解课程设计的题目和意义,全面思考问题。
(2)运用科学合理的方法,认真按时完成。
二、课程设计课题的分析 1、电路的设计 1)原理 要完成本实验,首先必须了解交通灯的亮灭规律。
本实验需要用到试验箱上八个发光二极管中的六个,即红、绿、黄各两个。
将L1(红)、L2(绿)、L3(黄)作为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)作为南北方向的指示灯。
交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。
闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,重复上述过程。
各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮使相应使相应输入端为低电平。
当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假设急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。
本程序以单次脉冲为中断申请,表示有急救车通过,单次脉冲输出端P-接CPU板上的INT0。
2)、硬件电路图 图1—1 交通灯控制系统的硬件接线图 74LS273的输出00—07接发光二极管L1—L8,74LS273的片选CS273接片选信号CS2,此时74LS273的片选地址为CFA0—CFA7之间任选。
3)、程序流程图 主程序流程 图1—2 主程序软件流程图 中断程序流程图 三、课程设计的结果 1、程序 NAME JIAOTONGGENG OUTPORT EQU 0CFB0H ;端口地址 SAVE EQU 55H ;SAVE保存从端口CFA0输出的数据 CSEG AT 0000H LJMP START CSEG AT 4003H LJMP INT CSEG AT 4100H START: SETB IT0 ;中断程序初始化 SETB EX0 SETB EA MOV A,#11H ;置首显示码,两红灯全亮 MOV SAVE,A ;保存 ACALL DISP ;显示输出 ACALL DE3S ;延时3秒 LLL: MOV A,#12H ;东西路口绿灯亮,南北路口红灯亮 MOV SAVE,A ACALL DISP ACALL DE10S ;延时10秒 MOV A,#10H ;东西路口绿灯灭 MOV SAVE,A ACALL DISP MOV R2,#05H ;东西路口黄灯闪烁5次 TTT: MOV A,#14H MOV SAVE,A ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#10H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,TTT MOV A,#11H ;红灯全亮 MOV SAVE,A ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#21H ;东西路口红灯亮,南北路口绿灯亮 MOV SAVE,A ACALL DISP ACALL DE10S ;延时10秒 MOV A,#01H ;南北路口绿灯灭 MOV SAVE,A ACALL DISP MOV R2,#05H ;南北路口黄灯闪烁5次 KKK: MOV A,#41H MOV SAVE,A ACALL DISP ACALL DE02S ;延时0.2秒 MOV A,#01H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,KKK JMP LLL ;转SSS循环 DE10S: MOV R5,#100 ;延时10秒 JMP DE1 DE3S: MOV R5,#30 ;延时3秒 JMP DE1 DE02S: MOV R5,#02 ;延时0.2秒 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET DISP: MOV DPTR,#OUTPORT CPL A ;取反,点亮发光二极管 MOVX @DPTR,A RET ;中断处理程序 INT: PUSH ACC ;有关寄存器入栈 PUSH PSW MOV A,#11H ;两红灯全亮 ACALL DISP ACALL DELAY MOV A,SAVE ;将主程序中保存的数据再送给A ACALL DISP POP PSW ;有关寄存器出栈 POP ACC RETI DELAY:MOV R1,#100 DEL1 :MOV R2,#200 DEL2 :MOV R3,#126 DEL3 :DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RET END 2、现象 将程序输入到单片机中,运行程序,可以观察到现象:首先是两个路口的红灯全亮,延时3秒之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时10秒后,东西路口绿灯灭,黄灯开始闪烁。
闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时10秒后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁5次后,再切换到东西路口方向,重复上述过程。
当有中断申请时,两个方向上的红灯亮,经过10秒急救车通过之后,恢复到急救车到来之前的状态继续运行,可有多次的中断申请。
四、课程设计的心得与体会 1.通过试验进一步理解和消化了书本知识,分析每个语句的含义,运用所学知识进行简单的程序设计。
了解了在单片机系统中扩展简单I\\\/O接口的方法. 外部中断技术的基本使用方法,掌握了中断处理程序的编程方法。
2.通过在图书馆查阅各种单片机资料,培养了我自学和独立思考的能力。
与同学交流研究,让我懂得了更多以前不明白的知识. 3.在课程设计过程中,不断调试程序和修改程序,提高了对单片机的应用能力,分析问题和解决问题的能力。
51单片机c语言交通灯设计报告
xxxxxxxxx基于AT89S52交通灯设计学院:电子信息工程专业班级:xxxxxxxxxxxxxx姓名:xxxx学号:xxxxxxxxxxx指导老师:xxxxxxxxxx摘要交通灯在我们日常生活中随处可见,它在交通系统中处于至关重要的位置。
交通灯的使用大大减少了交通繁忙路口的事故发生,给行人和车辆提供一个安全的交通环境,人们的生命和财产安全有了保障。
本设计旨在模拟十字路口的交通灯,以AT89S51单片机为基础,结合按键和数码管等元器件设计出一个简单且完全的交通灯系统。
关键词:交通灯AT89S52单片机目录一、设计任务3二、AT89S52单片机及其他元器件简介3(1)AT89S52单片机3三、系统硬件电路设计5(1)时钟电路设计5(2)复位电路设计5(3)灯控制电路设计6(4)按键控制电路设计6四、元件清单及实物图71、程序清单72、原理图8五、实验心得8附1源程序代码9附2原理图15一、设计任务(1)、设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两条交叉道路上的车辆交替运行,每次通行时间都设30秒,时间可设置修改。
(2)、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道,且黄灯亮时,要求每秒亮一次。
(3)、有紧急车辆要求通过时,系统要能禁止东西和南北两条路上所有的车
用单片机设计制作一个模拟的十字路口交通信号灯控制系统。
摘 要 在日常生活中,交通信号灯的使用,使交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
交通灯控制系统由80C51单片机、键盘、LED显示、交通灯延时组成。
系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。
关键字:交通灯;单片机;自动控制;LED Abstract In daily life, the use of traffic lights, so traffic can be managed effectively in smoothing traffic flow, increase road capacity and reduce traffic accidents have remarkable results. Traffic light control system consists of 80C51 microcontroller, keypad, LED display, traffic light delay component. In addition to the traffic light system has the basic functions, but also with time settings, LED information display function, achieving effective control of city traffic Key Words:traffic lights; SCM; control; LED 目 录 1交通灯任务、功能要求说明及总体方案介绍 …………………………………1 1.1交通灯任务…………………………………………………………………1 1.2功能要求说明………………………………………………………………1 1.3设计总体方案介绍及工作原理说明………………………………………2 2交通灯硬件系统的设计 …………………………………………………………4 2.1硬件系统各模块功能介绍…………………………………………………4 2.2电路原理图 ………………………………………………………………5 2.3电路PCB图 ………………………………………………………………5 2.4元器件布局图 ……………………………………………………………5 2.5元器件清单 ………………………………………………………………5 3交通灯软件系统的设计 …………………………………………………………7 3.1单片机的使用资源情况 …………………………………………………7 3.2软件模块功能介绍 ………………………………………………………8 3.3程序流程图 ………………………………………………………………8 3.4程序清单 …………………………………………………………………10 4设计总结…………………………………………………………………………11 4.1使用说明 …………………………………………………………………11 4.2误差分析 …………………………………………………………………11 4.3设计体会 …………………………………………………………………11 4.4教学建议 …………………………………………………………………12 参考文献 ……………………………………………………………………………13 致 谢 ………………………………………………………………………………14 附录一 电路原理图 ………………………………………………………………15 附录二 电路PCB顶层图 …………………………………………………………16 附录三 电路PCB底层图 …………………………………………………………17 附录四 元器件布局图 ……………………………………………………………18 附录五 元器件清单 ………………………………………………………………19 附录六 程序清单…………………………………………………………………20 1 交通灯任务、功能要求说明及总体方案介绍 1.1 交通灯任务 设计一个具有特定功能的十字路口交通灯。
该交通灯上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。
按开始键则开始工作,按结束键则返回“P.”状态。
要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。
有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。
1.2 功能要求说明 本次课程设计在硬件方面的接法如下:P2口接二极管,P2.0、P2.1、P2.2口线分别来控制东西方向的绿灯、黄灯和红灯;P2.3、P2.4、P2.5口线分别控制南北方向的红灯、黄灯和绿灯。
P0口作为数码管的位控(这里只用到了P0.0、和P0.1两根口线),P1口作为数码管的段控,P3口作为输入部分(这里用到了P3.0、P3.1、P3.2口线),控制数码管的显示情况和二极管的亮灭情况。
当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
当按下启动按钮K1并释放后,数码管显示将会从“60”开始倒计时,每隔一秒减1,此时南北方向开始一直亮绿灯,东西方向一直亮红灯,直到显示为“00”时,数码管将会从“03”开始倒计时,每隔一秒减1,此时南北方向每隔一秒黄灯就闪烁一次,东西方向亮一直红灯,直到显示为“00”时,数码管将会从“30”开始倒计时,此时南北方向一直亮红灯,东西方向一直亮绿灯,直到显示为“00”时,数码管又将从“03”开始倒计时,此时南北方向一直亮红灯,东西方向每隔一秒黄灯就闪烁一次;当没有其他键按下时,交通灯将这样一直循环下去。
当按下结束键K2并释放后,数码管将显示“P.”,东西南北方向无灯亮。
当按下紧急键K3并释放后,数码管将显示“09”,并且每隔一秒就减1, 东西南北方向全部红灯亮。
单片机采用AT89S52,fosc=12MHZ。
其按键功能如表1.1所示。
表1.1 按键功能 按键键名功能 P3.4K1键启动键 P3.7K2键结束键 P3.6K3键紧急键 1.3 设计总体方案介绍及工作原理说明 1.3.1 总体方案介绍 该交通灯电路由单片机AT98S52、键盘接口电路、显示接口电路、发光二极管控制电路、时钟电路和复位电路构成,原理框图如图1.1所示。
图1.1 原理框图 (1) 电源提供方面 采用独立的稳压电源,此方案的优点是稳定可靠,且有各种成熟电路可供使用。
(2) 显示方面 完全采用数码管显示,用来显示有限符号和数码字符。
(3) 键盘输入方面 直接在I\\\/O口线上接按键开关,因为设计时精简和优化了电路,所以剩余的口资源还比较多。
我们共用到了4个按键,分别为:K0、K1、K2、K3。
1.3.2 工作原理 首先时钟电路产生单片机工作时所需要的时钟信号,这是单片机能够正常工作的前提,而单片机有无定时的基础以及定多长的时间,这些还需要我们人为的确定。
我是采用10ms延时程序来反复调用来定时,在我们的硬件电路中,按键的键功能程序在中断服务中,在正常情况下会不断运行主程序,当有键按下时,CPU去转去执行中断程序,而中断程序可以执行三种键功能:第一个是十秒倒计时紧急红灯亮;第二个是结束倒计时,显示P.;第三个是重新开始倒计时。
其原理是INTO=P3.4&P3.6&P3.7,当有键按下时,外部中断0口线就会变成低电平,通过键扫程序来具体判断到底是哪个键按下,CPU才会去执行中断里面的某个键功能。
12个发光二极管是由P0口控制的,P0口与二极管之间串接一个限流电阻使二极管不易烧坏,采用送低电平有效。
2 交通灯硬件系统的设计 2.1 硬件系统各模块功能介绍 2.1.1 显示电路 在本次课程设计中,我们采用的是四位一体共阳数码管。
本设计的显示驱动是采用三极管作为驱动。
并且,无论是位控线上还是段控线上都串接一个电阻,以提高其输出功率,在这里采用220欧母电阻。
2.1.2 指示灯控制电路 本次课程设计采用P3口控制二极管的发光情况,口线送低电平有效,具体设计如下:P3.2控制东西方向的绿灯,P3.4口控制东西方向的黄灯,P3.5控制东西方向的红灯,P3.1控制南北方向的红灯,P3.7控制南北方向的黄灯,P3.0控制南北方向的绿灯。
2.1.3 键盘控制电路 键盘是最常用的输入设备,是实现人机对话的纽带。
按其结构形式可分为非编码键盘和编码键盘。
编码键盘采用硬件方法产生键码。
每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。
这种键盘使用方便,但硬件较复杂。
非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统,在单片机控制电路中,可把单片机使用的键盘分为独立式和矩阵式两种。
独立式实际上就是一组独立的按键,这些按键可直接与单片机的I\\\/O口连接,即每个按键独占一条口线,这种接法简单。
矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。
本设计中键盘数目较少,且为安装方便,因此在本设计中采用独立式接法。
按从一个键到键的功能被执行主要应包括两项工作:一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。
第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。
具体来说,键盘接口应完成以下操作功能: (1) 键盘扫描,以判定是否有键被按下(称之为“闭合键”)。
(2) 键识别,以确定闭合键的行列位置。
(3) 产生闭合键的键码。
(4) 排除多键、串键(复键)及去抖动。
以上这些内容通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。
但具体哪些由硬件哪些由软件完成,要看接口电路的情况。
总的原则是,硬件复杂软件就简单,硬件简单软件就得复杂一些。
2.1.4 时钟电路 时钟电路用来产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
通过在芯片的外部XTAL1和XTAL2两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡电路。
时钟电路为单片机产生时钟脉冲序列,本设计中采用的晶振频率为12MHz,电容为33pF。
2.1.5 复位电路 复位电路用于产生复位信号,通过RST引脚送入单片机,复位是单片机的初始操作,其主要功能是:为一些专用寄存器设置初始状态、程序状态字PSW清0、程序计数器PC被赋值为0000H等,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需安装复位键以重新启动。
RST引脚是复位信号的输入端,复位信号是高电平有效,完成复位操作共需要24个状态周期,复位结束后,单片机从地址0000H单元开始执行程序,SP为07H,其它寄存器大多数被置为00H,本设计使用频率为12MHz的晶振,所以复位信号持续时间应超过2μs才能完成复位操作。
复位电路分为上电复位、按键复位、按键脉冲复位三种,本次课程设计采用的是按键复位。
2.1.6 单片机最小系统 它采用单片机AT89S52芯片,能实现基本I\\\/O口实验,定时计数器实验等等。
具有单片机并口的输入、输出的功能特点。
2.2 电路原理图 电路原理图见附录一所示。
2.3 电路PCB图 电路PCB顶层图见附录二所示; 电路PCB顶层图见附录三所示。
2.4 元器件布局图 元器件布局图见附录四所示。
2.5 元器件清单 元器件清单见附录五所示。
3 交通灯软件系统的设计 3.1 单片机的使用资源情况 3.1.1 硬件资源使用说明 P0口为二极管的控制端 P1口用作地址\\\/数据总线 P2口用作地址\\\/数据总线 P3.4、P3.6、P3.7口线作为键盘输入端 采用了INTO外部中断 既在AT89S52的P0口用来接十二个发光二极管的阴极,控制其亮与灭,P1口和P2口外接由2个LED数码管(LED1、LED0)构成的显示器,用P2口作LED的段码输出口(P2.0~P2.7对应于LED的a~dp),P1口作LED的位控输出线(P1.1、P1.0分别对应于LED1、LED0),其中在P1的串行口外接2个三极管作为显示驱动,显示为2个数码管(LED0~LED1)进行动态显示。
P3口外接三个个按键K1、K2、K3(分别对应于P3.4、P3.7、P3.6口)用于调整显示接口电路。
3.1.2 交通灯的分配表 交通灯的口线分配如表3.1所示,“1”表示送高电平,“0”表示送低电平。
表3.1 交通灯分配表 P0.2东西绿灯1101 P0.3东西黄灯1110 P0.4东西红灯0011 P0.5南北红灯1100 P0.6南北黄灯1011 P0.7南北绿灯0111 控制码6FHAFHDBHD7H 状态说明南北放行,东西禁止南北警告,东西禁止南北禁止,东西放行南北禁止,东西放行 3.2 软件模块功能介绍 主程序模块的主要任务是程序的初始化显示“P.P.”,当没任何键按下时,显示模块将一直不变,交通灯全部是熄灭的,当K0键按下并松开后开始倒计时, 其中在时间显示的过程中判断是否有K0、K1和K2键按下,当再次按下K0时,显示将重新开始倒计时,如果是K1按下,将显示“P.”,并且发光二极管全部熄灭,如果是K2按下,数码管将开始十秒倒计时,并且东西南北全部亮起红灯。
3.3 程序流程图 主程序的流程图如图3.1所示,按键判断程序流程图如图3.2所示 图3.1 主程序流程图 图3.2 判断按键程序流程图 3.4 程序清单 程序清单详见附录六 。
4 设计总结 4.1 使用说明 本实验主要是利用单片机AT89S52、数码管和发光二极管组成,整个电路结构比较简单,它能实现以下几个功能: 时间的显示。
红黄绿灯的发光与熄灭。
具体操作说明如下: 当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
当按下启动按钮K1并释放后,数码管显示将会从“60”开始倒计时,每隔一秒减1,此时南北方向开始一直亮绿灯,东西方向一直亮红灯,直到显示为“00”时,数码管将会从“03”开始倒计时,每隔一秒减1,此时南北方向没隔一秒黄灯就闪烁一次,东西方向亮一直红灯,直到显示为“00”时,数码管将会从“30”开始倒计时,此时南北方向一直亮红灯,东西方向一直亮绿灯,直到显示为“00”时,数码管又将从“03”开始倒计时,此时南北方向一直亮红灯,东西方向每隔一秒黄灯就闪烁一次;当没有其他键按下时,交通灯将这样一直循环下去。
当按下结束键K2并释放后,数码管将显示“P.”,东西南北方向无灯亮,当有其它键按下时,就退出,去执行该键的键功能。
当按下紧急键K3并释放后,数码管将显示“10”,并且每隔一秒就减1,东西南北方向全部红灯亮,当没亮到显示“00”就有其它键按下时,就退出,执行该键的键功能,当显示到“00”时,就会自动退出中断继续完成主程序。
4.2 误差分析 本次课程设计的误差就在于显示时间,我采用的是调用延时程序来让显示器上数字共显示一秒钟,而循环一次的时间并不仅仅只是2次调用延时程序的时间,其间CPU还执行其它指令,例如说将缓存区的内容送给累加器A、查表指令、将段控码送给P2口等等,因为它们都是微秒级的,而延时程序是毫秒级的,因此在计算的过程中就可以省略了,每次循环除两次调用延时程序外,所用时间为22微秒,而显示一秒钟共循环了50次,因此在显示器上只需要显示1秒数字,事实上多显示了1100微秒,误差率=1.1%。
4.3 设计体会 经过一个多星期的时间,终于完成了这次的课程设计。
在这期间,其他同学提出了许多宝贵的意见,使这次设计终于完满成功了。
我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。
更重要的是如何把自己平时所学的东西应用到实际中。
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
我认为这个收获应该说是相当大的。
经过这次课程设计,也让我更加深刻的认识到学好单片机的重要意义。
当今单片机渗透到我们生活的各个领域比如从导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、自动控制领域的机器人、智能仪表、医疗器械、工业自动化过程的实时控制和数据处理等等到我们生活中接触到的各种智能IC卡、民用豪华轿车的安全保障系统、录像机、摄像机、全自动洗衣机的控制以及程控玩具、电子宠物等等,这些都离不开单片机。
它主要是作为控制部分的核心部件。
因此,单片机的学习、开发在各行各业异常重要。
在今后的学习中,我会更加努力的学习巩固单片机,为以后的工作打下坚固的基础。
4.4 教学建议 在王韧老师的严格要求与耐心指导下,经过一个学期对单片机技术这门课程的学习,使我对单片机这一技术的应用有了一定的了解,并对单片机的学习产生了浓厚的兴趣。
通过本次单片机控制交通灯的设计,结合本人的学习过程与切身感受向老师提出以下几点教学意见:希望老师以后能够在一开始教这门课的时候就让整个班分好小组,让那些对单片机比较熟悉的同学帮助基础较差的同学,那样可以提高学习的效率与热情;另外,王老师可以多介绍些与单片机相关的资料书给学生,培养学生查阅资料书的能力;最后一点,就是王老师在单片机扩展方面不必讲解的过细,重点在于引导思路,形成单片机的整体框架结构。
附录一 电路原理图 附录二 PCB顶层图 附录三 PCB底层图 附录四 元器件布局图 附录五 交通灯元器件清单 元器件及材料名称规格数目备注 AT89S52加底座1 四位一体共阳数码管加底座20.5寸 晶振12MHz1三晶 发光二极管大个的9 单排插40脚1 三极管90129 蜂鸣器15V 小按键96*6*4.3mm 下载口座子十芯1FC-10P 18b20温度传感器1 六脚按键开关16*6*4.3mm Usb电源线加接口1USB线加USB接口 电阻2001 电阻4.7K1 电阻1K3 电阻47024 电解电容22uf1 瓷片电容33pf2 排阻10k2 短路帽3 杜邦线8P1 PCB板子150mm*200mm1 电源白色插座1 附录六 程序清单 ORG 0000H LJMP MAIN ORG 001BH LJMP LOOP1 ORG 0030H MAIN: MOV PSW,#00H; 初始化 MOV SP,#7FH MOV TMOD,#10H; MOV TH1,#3CH; MOV TL1,#0B0H; MOV TH0,#0FCH; MOV TL0,#18H; MOV 78H,#11H; MOV 79H,#10H; MOV 7AH,#10H; MOV 7BH,#10H; MOV 7CH,#10H; MOV 7DH,#10H; MOV 7EH,#10H; MOV 7FH,#10H; MOV R7,#0FAH; MOV R6,#32H; MOV R5,#05H; MOV R4,#39H; MOV R1,#20; SETB EA; SETB ET1; PP:LCALL DIR; START:LCALL KEY; JB 20H.0,K0; LJMP PP; K0:MOV R4,#39H; MOV R1,#20; SETB TR1; MOV 78H,#07H; MOV 79H,#05H; MOV 7AH,#10H; MOV 7BH,#10H; MOV 7CH,#10H; MOV 7DH,#10H; MOV 7EH,#10H; MOV 7FH,#10H; LCALL DIR; CYCLE0:MOV P3,#0DEH;主绿副红 JB 20H.2,OUT; KK0:JB 20H.1,JINJI; CJNE R4,#00,CYCLE0;延时60秒 MOV R4,#03H; MOV 78H,#03H; MOV 79H,#00H; CYCLE1:MOV P3,#0DFH; JB 20H.2,OUT; JB 20H.1,JINJI; CJNE R1,#10,CYCLE1; CYCLE2:MOV P3,#0DDH; JB 20H.2,OUT; JB 20H.1,JINJI; CJNE R1,#20,CYCLE2; CJNE R4,#00H,CYCLE1; MOV R4,#1EH; MOV 78H,#07H; MOV 79H,#02H; CYCLE3:MOV P3,#0F3H;主红副绿 JB 20H.2,OUT; JB 20H.1,JINJI; CJNE R4,#00,CYCLE3;延时30秒 MOV R4,#03H; MOV 78H,#03H; MOV 79H,#00H; CYCLE4:MOV P3,#0DFH; JB 20H.2,OUT; JB 20H.1,JINJI; CJNE R1,#10,CYCLE4; CYCLE5:MOV P3,#0DDH; JB 20H.2,OUT; JB 20H.1,JINJI; CJNE R1,#20,CYCLE5; CJNE R4,#00H,CYCLE4; MOV R4,#39H; LJMP K0; JINJI:MOV R4,#10;紧急车辆按键 CYCLE6:MOV P3,#0DBH CJNE R4,#00,CYCLE6; LJMP K0; OUT:MOV P3,#0FFH; MOV 78H,#11H; MOV 79H,#10H; MOV 7AH,#10H; MOV 7BH,#10H; MOV 7CH,#10H; MOV 7DH,#10H; MOV 7EH,#10H; MOV 7FH,#10H; MOV R7,#0FAH; LJMP PP; DIR:PUSH DPH; 显示子程序 PUSH DPL; PUSH ACC; PUSH PSW; SETB RS0; CLR RS1; MOV R0,#78H; MOV R3,#0FEH; MOV A,R3; LD0:MOV P2,A; MOV DPTR,#TABLE; MOV A,@R0; MOVC A,@A+DPTR; MOV P0,A; LCALL DELAY; INC R0; MOV A,R3; JB ACC.7,LD1; RL A; MOV R3,A; LJMP LD0; LD1:CLR RS0; 恢复当前通用寄存器组组号 CLR RS1; POP PSW; POP ACC; 恢复现场 POP DPL; POP DPH; RET; TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H; 0--6 DB 0F8H,80H,90H,88H,83H,0C6H,0A1H; 7--D DB86H,8EH,0FFH,0CH; E--F,灭,P. KEY:LCALL KEYCHULI;键扫程序 JZ EXIT; LCALL XX0; LCALL KEYCHULI JZ EXIT; MOV B,20H; KEYSF:LCALL KEYCHULI; JZ KEY1; LCALL XX0; LJMP KEYSF; KEY1:MOV 20H,B; EXIT:RET; KEYCHULI:MOV P1,#0FFH; MOV A,P1; CPL A; ANL A,#0FH; MOV 20H,A; RET; DELAY:DJNZ R7,DELAY;显示延时子程序 MOV R7,#0FAH; DJNZ R5,DELAY; MOV R5,#05H; RET; ; 定时1秒中断程序: LOOP1: MOV TH1,#3CH;定时器0赋初值,定时50ms MOV TL1,#0B0H; LCALL DIR; LCALL KEY; DJNZ R1,RETURN; DEC R4; MOV R1,#20; MOV R0,#79H; LCALL DADD1; RETURN:RETI; ; 去抖延时子程序: XX0:DJNZ R7,XX0; MOV R7,#0FAH; DJNZ R6,XX0; MOV R6,#32H; RET; 减一子程序: DADD1:MOV A,@R0; DEC R0; SWAP A; ORL A,@R0; SUBB A,#01H; DA A; MOV R2,A; ANL A,#0FH; MOV @R0,A; MOV A,R2; INC R0; ANL A,#0F0H; SWAP A; MOV @R0,A; RET; END
基于单片机的智能交通灯毕业论文8000字左右
这个题目大的无法再这里有人能够回答的了。
呵呵。
基于单片机的交通信号灯的设计 求详细···拜谢
告诉我邮箱,我发给你,我以前做过有详细的论文
单片机 89c51 和8255交通灯 急
一.实验目的 进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。
二。
实验内容 用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、实验步骤 ①8255 PA0~PA7、PB0~PB3依次接发光二极管L1~L12。
②以连续方式从0BB0H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。
延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,再切换到东西路口方向,之后重复以上过程。
四、实验程序 ORG 0BB0HJOD0: MOV SP,#60H MOV DPTR,#0FFDBH MOV A,#88H MOVX @DPTR,A ;8255初始化 MOV DPTR,#0FFD8H MOV A,#0B6H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;点亮4个红灯 MOV R2,#25H ;延时 LCALL DELYJOD3: MOV DPTR,#0FFD8H MOV A,#75H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;东西绿灯亮,南北红灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数JOD1: MOV DPTR,#0FFD8H MOV A,#0F3H MOVX @DPTR,A INC DPTR MOV A,#0CH MOVX @DPTR,A ;东西黄灯亮,南北红灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0F7H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;南北红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD1 ;闪烁次数未到继续 MOV DPTR,#0FFD8H MOV A,#0AEH MOVX @DPTR,A INC DPTR MOV A,#0BH MOVX @DPTR,A ;东西红灯亮,南北绿灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数JOD2: MOV DPTR,#0FFD8H MOV A,#9EH MOVX @DPTR,A INC DPTR MOV A,#07H MOVX @DPTR,A ;东西红灯亮,南北黄灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0BEH MOVX @DPTR,A INC DPTR MOV A,#0FH MOVX @DPTR,A ;东西红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD2 ;闪烁次数未到继续 LJMP JOD3 ;循环;---------------------------------------------DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RET;--------------------------------------------- END五.实验调解(1)焊接时注意各个器件的引脚处,注意区分各个电阻与电容的数值要仔细看清楚,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。
(2)在设计电路时为节省引线数目利用P1.3作为电源驱动led但是这样驱动的led亮度有限尤其是绿灯几乎不亮,所以测了一下高电平下的P1.3得知为2V左右所以改为5V电源。
(3)在编写延时程序时尤其当延时常数太大时仿真时程序易错,所以使用定时器定时中断的方法,然后对定时计数以次延时。
六.实验的流程图七.实验心得此次实习可以说是获益匪浅。
通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔细谨慎,精益求精。
在程序中添加了黄灯闪烁,更加醒目。
另外加入能够实现各路口绿灯显示时间不同,适应在主干道和支线路口中使用。
在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。
通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表面的。
通过把该算法的内容,算法的执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。
而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。
把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。
以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。
课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。
八.参考资料[1] 胡汉才,单片机原理及其接口技术,清华大学出版社[2] 邹逢兴,微型计算机接口原理与技术,国防科技大学出版社[3] 阎凯,微型计算机硬件设计原理分析与维修,科学出版社[4] 何立民,MCS-51系列单片机应用系统设计系统配置与接口技术,北京航空航天大学出版社[5] 沈德金,MCS-51系列单片机接口电路与应用程序实例,北京航空航天大学出版社



