交通灯课程设计论文报告
单 片 机 课 程 设 计
——智能交通灯控制系统设计
电气与控制工程学院 微电子科学与工程1101班 组员:
李少飞1106080118 和彬彬1106080122 王军 1106080130 余盛强 1106080131
指导老师:邵小强、刘晓蓉
2014年7月3日
智能交通灯控制系统的设计
摘要: 近年来,随着我国国民经济的快速发展,我国机动车辆发展迅速,。而城镇道路建设由于历史等各方面因素相对滞后,交通拥挤和堵塞想想时常发生。如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得的研究课题。目前,国内的交通灯一般设计在十字路口,在醒目位置用红绿黄三种颜色的指示灯再加上一个倒计时的显示计时器来控制行车。我国交通法规也对交通指挥信号灯做出了规定:
(1) 绿灯亮时,准行车辆,行人通行,但已越过停止线的车辆和已进入人行横道的行人,
可以继续通行。
(2) 黄灯亮时,不准车辆,行人通行,但已越过停止线的车辆和已进入人行横道的行人,
可以继续通行。
(3) 红灯亮时,不准车辆,行人通行
(4) 绿灯箭头灯亮时,准许车辆按箭头所示方向通行
(5) 黄灯闪烁时,车辆行人在确保安全的原则下可以通行
信号灯的出现,市交通得到有效地管制,对于疏导交通流量,提高道路通行能力和减少交通事故有明显效果
关键词:红绿灯,黄灯闪烁,全红,南北禁行,东西禁行
1设计任务
本设计要求学生用单片机设计一个交通灯控制系统,使其能模仿城市“十字”路口交通功能,并能满足特殊的控制要求(如按键k1,k2,k3的使用),该系统的具体功能要求如下:
(1) 该控制系统能控制东西南北四个路口的红黄绿信号灯的正常工作
(2) 当东西方向准行,南北方向禁行时,东西方向亮绿灯,南北方向亮红灯 (3) 当南北方向准行,东西方向禁行时,南北方向亮绿灯,东西方向亮红灯 (4) 量垂直方向的准行时间均为60s(由于时间太长改为30秒)
(5) 准行方向亮绿灯与禁行方向亮绿灯55s后,四个道口同时加亮一盏黄灯进行闪烁,
以警告车辆及行人,准备方向与禁行方向即将改变(及准行变为禁行,禁行变为准行)
(6) 四个道口军用数码管显示准行(禁行)的剩余时间
(7) 在交通情况比较特殊的情况下,可以通过k1,k2,k3三个按键对交通灯进行控制,
具体实现的功能如下:
当有紧急情况发生,如消防车。救护车等紧急车辆通过时,按下K1键,四个路
口同时加亮黄灯信号灯进行闪烁(闪烁时间为2s),并且倒计时显示装置关闭,
黄色灯闪烁5s后,四个路口的信号灯全部变为红灯,这样四个路口的普通的车辆禁行,只允许紧急车辆通过,待紧急车辆通过后,松开K1键,表示紧急状态消除,交通灯控制系统恢复正常工作.当东西方向车辆过多时,按下K2键,四个路口同时加亮黄色信号灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后只允许东西方向车辆通过,南北方向车辆禁行吗,从而有效地调节东西方向车辆过多的情况。松开K2键,交通灯又开始正常工作,当南北方向车辆过多时,按下K3键,四个路口同时加亮黄色信号灯进行闪烁(闪烁时间为5S),并且倒计时显示装置关闭,黄色灯5s闪烁完成后,只允许南北方向车辆通行,东西方向车辆禁行,从而有效地调节南北方向车辆过多的情况。松开K3键,交通灯又开始正常工作。
主要硬件设备:AT89C51单片机。发光二极管。共阳型LED数码管,开关按键,连线若干等
2整体设计方案
本系统采用AT89C51单片机作为智能交通的系统的控制核心。从设计所要完成的任务和要求来看,单一路口显示倒计时时间的数码管必须用两位数,对于七段数码管,考虑AT89C51单片机所能提供的I\O接口的数量并结合实际编程,倒计时显示装置中的数码管在本系统中采用静态显示;设置了3个按键用来处理交通灯在实际应用可能出现的特殊情况,共使用3个I\O端口,其中P3.0接K1,P3.1接K2键,P3.6键K3键:十字路口共需要4组I\O红绿灯,加上转换黄灯,一共是12只灯,须用6个端口进行控制,具体I\O接口分配为:P1.0~P1.2分别接东西方向的红绿黄共6盏信号灯,P1.3~P1.5分别接南北方向的红绿黄共6盏信号灯;AT89C51单片机的I\O口作为输出时具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O口就可以直接驱动,从而简化硬件电路的设计,系统的整体方案设计图所示
3.系统硬件电路设计
3.1 交通灯电路
为了方便实验,采用发光二极管作为交通灯使用,单片机的I/O接口直接和交通灯(发光二极管)连接。在十字路口的四座红黄绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色灯也彼此连接,收单片机额P1.0~P1.5控制。单片机的I/O接口和交通灯电路的具体连接方式:P1.0~P1.2分别接东西方向的红路灯共6个发光二极管。12个发光二级黄,P1.3~P1.5分别接南北方向的红绿灯共6个发光二极管。12个发光二极管采用共阳极的连接方式,因此I/O口输出低电平时,与之相连的二极管会亮,I/O口输出高电平时,相应的发光二极管会灭,交通灯电路如图所示
3.2复位电路
为确保控制系统能够稳定可靠工作,复位电路时必不可少的一部分。它可以保证程序从指定处开始执行,即从程序存储器的0000H地址单元开始执行程序。另外,当程序运行出错或操作错误是系统处于“死机”状态时,需复位以重新启动。
3.3倒计时显示电路
该交通灯控制系统在正常工作情况下,每60s(由于时间太长本次我们调试为30秒延时)循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置,该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就需要八个数码管。由于AT89C51单片机的I\O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。四个路口倒计时显示装置在同一时刻显示相同的数字,其中P0口用来显示时间的十位,P2口作为显示时间的个位;东西南北四个方向共四个路口,令DS1和DS2是一组,DS3和DS4是一组,DS5和DS6是一组DS7和DS8是 一组,考虑到AT89C51单片机所能提供的I/O接口的数量以及该控制系统所需的I/O的个数并结合学生实际编程的能力,数码管在本系统采用的是静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的数码管恒定的导通和截止。知道要显示新的数据时,再发送新的字型码,倒计时显示电路如图所示
3.4 紧急通行电路
该系统的K1,K2,K3三个按键分别与单片机的P3.0,P3.1,P3.6相接,他们可以再
特殊的交通情况下使用。例如,当有紧急情况发生,如消防车,救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄色灯5s闪烁完成后,四个路口的信号灯全部变成红灯,从而保证紧急车辆的及时通行,待紧急车辆通过后,松开K1键,紧急情况消除,交通灯控制系统恢复正常工作;按下K2键,绿灯方向加亮黄色信号灯并开始闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯闪烁5s完成后,只允许东西方向车辆准行,南北方向车辆禁行,松开K2键,交通灯控制系统又开始正常工作;按下K3键,另两个方向加亮黄色信号灯并进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄色灯5s后,只允许南北方向车辆准行,东西方向车辆禁止,松开K2键,交通灯控制系统又开始正常工作,按键电路所示
4 系统程序设计
4.1 主程序流程图
该智能交通灯控制系统的软件设计采用的是顺序并反复循环的方法。智能交通灯控制系
统在正常工作的情况下,每60s循环变化一次。每个循环周期在还剩5s时,四个路口的黄灯同时点亮并开始闪烁,以提醒路上的行人及车辆,交通灯即将发生变换,在主程序中定时扫描P3口,若有按键按下,则调用键盘子子程序进行相应的处理,若无,则程序继续执行。主程序流程图如图所示。
主程序流程图
Visio绘制流程图(2013版)
4.2定时中断子程序
该系统的倒计时显示装置采用的是静态显示方式,单片机的P0口和P2口分别连接倒计时装置的十位和个位,系统每1s都会向倒计时显示装置传送新的数字型码用来显示新的倒计时时间。设定该系统的定时器工作在方式1,由于方式1 的最大定时时间为65.536ms,所以要产生1s的定时时间必须采用累加器定时的方法,即将定时器的定时间设定为50ms,中断循环次数设定为20。当20次循环中断完成以后,说明1s时间累计到,这时候通过调用显示子程序为倒计时装置传送新的数字型码,从而完成倒计时时间的“减一“操作并进行显示。另外,每完成一次定时中断操作后都要重新对定时器赋初值。定时中断子程序如图
定时中断子程序流程图
Visio绘制流程图(2013版)
4.3显示子程序流程图
该交通灯控制系统采用的是静态显示,对于得到的倒计时显示数据,首先应提取倒计时数据的十位和个位,然后将十位和个位的字型码分别送到单片机的P0口和P2口。其中P0口用来向倒计时显示装置传送十位数字型码,P2口用来向倒计时显示装置个位数字型码。显示子程序流程图如图
显示子程序流程图
Visio绘制流程图(2013版)
4.4按键子程序流程图
在该控制系统中,共使用了三个按键K1、K2、K3来处理交通灯在实际应用中的某些特殊情况。如按下K1键,东西南北四个路口均变成红灯,从而保证诸如急救车、消防车等车辆的及时通过,按下K2键,则只允许东西方向通行,而南北方向禁行;按下K3键只允许南北方向通行,而东西方向禁行。另外,K1、K2、K3三个按键无论哪个按键按下,倒计时显示装置都会关闭,四个路口的黄灯同时点亮并进行闪烁(时间为5S),提示车辆和行人,交通灯即将发生变换。当特殊情况消除后,松开按键,智能交通灯控制系统又恢复正常工作。按键子程序流程图所示。
Visio绘制流程图(2013版)
5系统调试
智能交通灯控制系统设计完成后,剩下的工作就是系统的调试。本系统的调试工作可以分三部分进行。一是做好硬件电路的检查工作,确保焊点无虚焊,I/O接口对应准确;二是做好软件部分的调试工作,调试的手段是将所有编辑的源程序在相应的集成开发环境运行,根据系统提示的错误进行修改。三是软硬件的联合调试,在这一步中,要给硬件上电并且使程序运行起来,重点检查硬件部分能否正确实现软件部分规定的功能要求。很多情况下,系统的调试工作并不是一步到位的,当软件和硬件设置不统一时,系统往往无法正常工作,无法满足既定功能要求,这时候需要根据软件改硬件或者根据硬件改软件,使两者协调统一起来。总之,系统的调试工作总要经过反复修改,运行,再修改,再运行这一循环渐进的过程。 5.1系统的硬件调试
系统的硬件调试一般分下面三个步骤。
第一步:目测。检查外部的各种元件或者电路是否有断点。
第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地
线之间是否有短路现象。
第三步:加电检测。给板加电,检测所有插座或者器件的电源端是否符合要求的值。 5.1.1倒计时显示电路调试
给硬件电路接上电源,这是数码管全灭,用一根导线的一端与地线相连,另一端依次触碰AT89C51的P0口和P2口,一边触碰一边查看七段数码管,正常情况下可以看到每触碰一个引脚,对应的一段数码管点亮。若不亮,仔细查看与该引脚相连的电阻及数码管是否虚焊。
5.2交通灯电路的调试
需要说明的是,由于整个设计是用发光二级管来代替交通灯,需要低电平“0”来驱动点亮,在实际应用电路中,应使P1口输出高电平“1”来驱动继电器导通,从而使220v 的交通灯点亮。这是实验与实际应用比较容易混要的地方,应该引起注意。进行交通灯电路的调试首先应确保VD1~VD12这1个发光二级管焊好,注意不要焊反,同时将每一个发光二极管一端依次触碰AT89C51的P1.0~P1.5接口,一边触碰一边查看发光二极管,正常情况下可以看到每触碰一个引脚,都会有相应的两个发光二级管点亮。若不亮,仔细查看与该引脚相连的电阻及发光二级管是否虚焊。 5.2.1紧急通行电路调试
仔细检查K1、K2、K3三个按键是否焊牢,并且三个按键是否与相应的I/O接口对应准确。
5.3 软件调试
软件的调试也称纠结和排错,他是孤立并纠错的一种技巧性过程。软件错误的外部表
现形式与内部原因之间往往没有明显的联系,所出现的差错并非直接就能找出原因。因此,软件的调试既要对错误的性质及程序本身进行系统的研究,在某种程度上也要靠直觉与经验。到目前为止,调试还没有一套经得起检验的完整而系统的理论法,排错时所采用的方法和时间都不能事先确定。这样,通常认为调试是困难的,是软件开发过程中最为艰巨的一种脑力劳动。
对于调试,有一个认识误区需要加以纠正,这就是调试并不是提高软件质量的一种方法,他只是用于改正错误。保证软件质量应从项目开始是就进行,提高软件质量遵循软件工程的开发方法,进行详细的需求分析、全面的设计、高质量的编译。调试只是最终的一个不得已的之举。
软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。一般情况下,软件的调试可以分为以下几步。
5.3.1发现错误
软件调试的第一步是发现错误,发现错误并理解错误将花费90%的调试时间,采用科学
的、有条理的思考进行调试比胡乱猜测要有效得多。 5.3.2确定错误原 的源发点。 5.3.3修正错误
发现错误的地方不一定是错误的源发点,应寻找所有与错误有关的地方,从而确定错误
与发现错误相比,改正错误是一件容易的事,但切忌轻易进行改正。研究表明,第一
次改正仍有50%的出错机会,盲目进行修改只会导致更多的错误。以下几点是你修改错时应遵循的原则:
(1) 在改正问题前认真了解其实质。
(2) 理解整个程序,而不是了解某个问题。 (3) 确证错误。 (4) 保存初始代码。 (5) 每次只做一个修改。 (6) 检查所作的修改。 (7) 寻找类似错误。
一、静态调试
静态调试只对程序进行人工书面检查,静态调试时要仔细阅读程序及其文档,经过结
构分析、功能分析、逻辑分析、接口分析、语法分析以及逐行检查。以便找出并改正错误,通常有下面两种方法:
1.检查语法错误
产生语法错误的原因主要有两个:一是键入错误,次错误如同写文章时“笔误”;二是
由于对语法规则不熟悉,见书后的错误信息、各种局限、全局变量与局部变量、先左后右的原则等,这些虽不是系统规定,但也是语发的一部分,因作为专项于一检查。
2.跟踪程序流程
此时的跟踪程序流程,即将自己作为计算机。给定一组输入数据后,顺序执行每条语句,
考察所得结果,寻找错误。此方法需花一定时间,但也是最基本的方法,用其他方法难以查处问题时,可以用此方法 二. 动态调试
动态调试是指实际上机运行程序进行调试。经过静态调试后,仍留在程序中的错误便都十分隐蔽。为找到这些错误,首先进行错误侦查。常见的错误分为以下几种情况:
(1) 没有通过编译 (2) 没有通过连接编译
(3) 程序的运行过程因故障而停止 (4) 程序只输出部分结果。
(5) 程序执行了很长时间没有结果。
参考文献:【1】 李海滨;片春媛;许瑞雪。单片机技术课程设计与项目实例[M].北京市西城区三里河路6号,中国电力出版社.2009年10月.
【2】 楼然苗;李光飞. 单片机课程设计指导[M].北京市海淀区学院路37号,北京航空航天大学出版社.2012年1月.
【3】 杨尧;杨居义;杨晓琴,王益斌.单片机课程设计指导[M].北京清华大学学研大厦A座.清华大学出版社.2009年9月.
【4】 边海龙;孙永奎.单片机开发与典型工程项目实例详解{M}.北京市海淀区万寿路173号.电子工业出版社.2008年10月.
【5】 黄智伟.凌阳单片机课程设计指导{M}.北京市海淀区37号.北京航空航天大学出版社.2007年6月.
附录一
程序清单
ORG 0000H LJMP MAIN
ORG 001BH ;定时器T1中断入口 LJMP INTT1
ORG 0100H ;主程序入口
MAIN:
MOV SP, #60H
MOV TMOD, #10H ;定时器T1工作在方式1 MOV TH1, #9EH ;给定时器T1赋初值 MOV TL1, #58H
SETB EA ;开中断系统总开关 SETB ET1 ;开定时器T1中断开关 SETB TR1 ;启动定时器T1
HERE:
MOV 88H, #15H ;设置中断循环次数 MOV 33H, #3DH ;设置倒计时显示数值
MOV P1, #0F3H ;使交通灯东西绿,南北红 MOV R7, #37H
MM:
LCALL DISP
MOV A, P3 ;键盘扫描 CJNE A, #0FFH, READKEY DJNZ R7, MM
MOV P1, #0E1H ;交通灯东西绿,南北同时加亮黄灯 MOV 20H, #02H
NN:
MOV A, P3
CJNE A, #0FFH,READKEY SETB P1.2 ; 绿灯灭
SETB P1.1 ;黄灯进行5s闪烁 SETB P1.4
LCALL DISP ;调显示子程序 CLR P1.1 CLR P1.4 LCALL DISP
DJNZ 20H,NN SETB P1.1 SETB P1.4 LCALL DISP
MOV P1, #0DEH ;交通灯南北绿,东西红
MOV R7, #37H
PP:
LCALL DISP MOV A, P3
CJNE A, #0FFH, READKEY DJNZ R7, PP
MOV P1, #0CCH ;交通灯南北绿,东西红同时加亮黄灯 MOV 20H, #02H QQ:
MOV A, P3 ;扫描P3口 CJNE A, #0FFH,READKEY SETB P1.5 ; 绿灯灭 SETB P1.1 SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP DJNZ 20H, QQ SETB P1.1 SETB P1.4 LCALL DISP LCALL QW QW:
SJMP HERE RET
DELAY: MOV R1, #0AH DELAY0: MOV R2, #0C8H DELAY1: MOV R3, #0F8H
NOP
DELAY2: DJNZ R3 , DELAY2
DJNZ R2, DELAY1 DJNZ R1, DELAY0 RET
READKEY:
MOV A, #0FFH MOV P3, A MOV A, P3
JNB ACC.0, K1 ;判断K1键是否按下 JNB ACC.1, K2 ;判断K2键是否按下 JNB ACC.6, K3 ;判断K3键是否按下 RET
K1: MOV P0, #0FFH ;关闭倒计时显示装置
MOV P2, #0FFH MOV 18H, 00H MOV 18H,#04H
BB:
SETB P1.4 SETB P1.1 LCALL DELAY CLR P1.1 CLR P1.4 LCALL DELAY DJNZ 18H,BB SETB P1.4 SETB P1.1
YY:
MOV P1,#0F6H ;四个路口均变成红灯 MOV A, #0FFH MOV P3, A MOV A, P3
JNB ACC.0, YY ;判断K1键是否按下 LCALL QW
SJMP READKEY
K2:
MOV P0, #0FFH ;关闭倒计时显示装置 MOV P2, #0FFH MOV P1, #0F3H MOV 18H,#00H MOV 18H,#04H SETB P1.4
YY1:
K3:
YY2:
INTT1:
CC:
SETB P1.1 LCALL DELAY CLR P1.1 LCALL DELAY DJNZ 18H,CC SETB P1.1 SETB P1.4
MOV A, #0FFH MOV P3, A MOV A, P3
JNB ACC.1, YY1 LCALL QW LJMP READKEY
MOV P0, #0FFH MOV P2, #0FFH MOV P1, #0DEH MOV 18H,#00H MOV 18H,#04H SETB P1.1 EE:
SETB P1.4 LCALL DELAY CLR P1.4 LCALL DELAY DJNZ 18H,EE SETB P1.1 SETB P1.4
MOV A, #0FFH MOV P3, A MOV A, P3
JNB ACC.6, YY2 LCALL QW LJMP READKEY
ORG 0400H
DEC 88H MOV A, 88H
CJNE A, #01H,BN ;东西方向亮绿灯,南北方向亮红灯 ;判断K2键是否按下 ;关闭倒计时显示装置 ;南北方向亮绿灯,东西方向亮红灯 ;判断K3键是否按下 1
;判断循环次数是否为
MOV 88H, #15H ;重新给定时器T1赋初值 LCALL DISP
BN:
MOV TH1, #9EH MOV TL1, #58H RETI
DISP:
DEC 33H MOV A, 33H
CJNE A, #01H,DIR1
MOV 33H, #3DH ;重新给倒计时数赋初值
DIR1:
MOV B, #0AH
DIV AB ;提取倒计时数值的十位数和个位数 MOV DPTR, #TAB ;字形表的入口地址
MOVC A, @A+DPTR ;查表获取十位数的字型码 MOV 30H, A MOV A, B
MOVC A, @A+DPTR ;查表获得个位数字型码 MOV 31H,A MOV A, 30H
MOV P0, A ;将十位数字型码送到P0口 MOV A, 31H
MOV P2, A ;将个位数字型码送到P2 口 LCALL DELAY
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;
END
附录二
附录三(电路原理图) Protel99se绘制的原理图
附录四(仿真电路搭建)
Proteus绘制仿真电路图
设计心得体会
眼看就要上大四了,身为电子类的学生我遗憾的是竟然对电类产品的生产制造一概不知,这可如何是好!幸好学校为我们考虑的比较周全,开设可这门实讯科目不仅为大四的毕业设计作好了铺垫更为将来找工作打下基础。
这次听老师说要采用新的实讯方法:即不仅仅走全部毕业设计过程,而且还要增加实讯方案演讲汇报环节,这次最值得我挑战的是我是代表我们组上台演讲,同时我还身肩组长之职,由于以前上台的机会不是很多,面对这样的场合我还有点紧张,但是上台没过多久我就适应了这样的场合,表现也渐入佳境。原来担心会几句话结束但是谁料到滔滔不决说了好久。这次的演讲我感觉相当满意,刺激了我以后对上台演讲的冲动。
这次的课题是交通灯系统设计,其中身为组长的我为大家分配了各自的工作,我在其中担任的是硬件电路的焊接及调试问题,其他的像软件的调试,仿真都交给了队友,我在其中记录他们中间出现的问题及分配他们每天的任务量,本次由于全权参考的是书本知识,这次的课题问题出现的也较为大量,有
起初我们采用的是工业常用的复位电路,但是由于相关芯片及板子空间问题最后改为较为常见的手动商店复位;第一次用的软件只能画版图不能仿真浪费了我们较多的时间;我们在数码管显示时采用的是共阳极但是我们在端口却加了上拉电阻以至于数码管无法导通无数子显示,经过去处上拉电阻,数码管亮;焊接板子时由于忽略了数码管要插针口才可以进行输入显示,经过大家合力思考采用背面焊接插口,并且置于数码管底下;硬件测试时出现数码管灯不亮端口无信号输出,经检测晶振电路没有接地以至于单片机无法工作;端口连接完毕后测试但是数码管严重闪烁,经逐层分析无果,只好请教老师,老师给出采用USB供电建议,因为电压不足时晶振无法正常工作,结果正常工作。
经过本次的实讯我学到了许多经验认识了不少器件,至少我知道了他们的区别,比如数码管有共阴共阳之分,对于单片机而言他们实现功能的容易程度是有很大不同,懂得了如何借助万用表去测试一般器件引脚。通过这次的制作我隐隐约约明白了电子产品的设计过程。解决了我很就对电学方面的疑惑,同时极大的激发了我对我们专业的激情及信心,我决定在接下来的学习中紧紧向实物靠近,既将所学应用到我们的实践当中。
本次的实验不仅仅在知识上给予了我很大的启发,而且在团队合作的意识上有了长足的进展,我很感谢我的队友们,谢谢他们不懈的合作及努力使得我们的任务完满成功。在这个竞争压力这么大的社会我看来团队和作是大势所趋,因为社会人才都在向窄,精方面发展,所以一个任务需要的人才较多好的配合回给公司带来高效率,高收入。
在此我感谢老师给予我们细心的指导,我会在今后的学习中善加思索,解决问题。
李少飞
在本次单片机课程设计中我学会了很多东西。本次课程设计让我受益良多,我很感谢老师能给我这次机会。
在17周的时候老师就通知这学期末要做课程设计,让我们自己开始选队员和课题。老师为我们提供了四个课题分别是交通灯,万年历,数字温度计,万用电表。开始先是组员的选定,一个团队成功取决去队员们的相互配合,最终由我与李少飞,王军,余盛强四人组成我们现在的团队。我们自己选择李少飞作为我们们的组长。我们开始去图书馆查找各种资料,选择课题,考虑到我们时间有限,能力有限,我们四人经过商量决定选择交通灯这组课题。因为,现在交通便利,人民的生活水平越来越高,交通便利的同时也为我们带来了许多潜在的危险。这是在繁华街道的十字路口的交通灯显得尤为重要。我们需要与生活联系起来学以致用嘛。同时也可以为我们提供一个实践的机会。
选择好课题之后然后就是选择自己所需要的元器件清单,这就要求我们需要一个清晰的头脑,准备一个初步的设计方案,然后将自己的方案所需元件清单列出来报于老师。之前我们都没有想过自己会要做一个初步方案,刚开始还有些不习惯因为之前我们从来都没有接触过这个东西。我们查找有关资料学习如何撰写自己的方案。
最终组长为我安排的任务是我和余盛强负责硬件电路的设计和最终的调试过程。我们开始学着用自己的思路去做东西,把学到的东西用到实际中,让我们不再学死书。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了
自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在绍老师的辛勤指导下,终于游逆而解。同时,在刘老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
和彬彬
做了两周的单片机程设计我有很多的想法和感悟。
我们课程设计的要内容:十子路口交通灯系统,步骤分为以下:(1)方案的选择(2)器件的准备阶段(3)模拟搭建电路,及仿真(4)硬件电路的物理实现(5)装载软件,进行实际调试(6)不断修改完善与实际相逼近。
通过这次课程设计,加强了我的动手,思考和解决问题的能力,再整个过程中我主要负责软件相关的任务,比如软件的编写,修改,以及后期的硬件搭建好后的软件功能变换模型逼近,让我们所做的模型更接近实际的应用模型。在设计的过程中,经常出现一些情况是我们没有想到的,尤其在硬件的实现,以及器件的替换,需要我们细心的对照。
在课程设计期间也对课本的所学内容得到了巩固,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多的知识平时看不到的,有时老不懂,但在课程设计的过程中,不断的学习与体会,那些问题得到了解决。而且记住了很多东西,比如有些芯片的功能,平时看课本,这次看了,下次再看,通过这次的动手实践让我对很多概念和想法体会很深。
在着两周的实习,过程可以说是曲折的,在此期间我们小组成员有过争吵,但我们心理是开心的,我们的共同目标是让这次实习做的精致——彪悍的人生不需要解释。
生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活的永恒话题。通过这次实习,我领悟了“艰苦奋斗”这一词的真正含义
王军
作为一名微电子专业的大三学生,在此次课程设计中我主要负责电路设计和硬件电路的搭建(兼)。我觉得做单片机课程设计是十分有意义的,而且是十分有必要的。在课堂上我们掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我门所学的专业课基础知识应用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。 这次单片机课程设计我们历时两个周,经过这两个周的时间和体验下来我们对所学的专业可有了更深的理解。在此次的课程设计中我们发现问题,解决问题,学到的不仅仅是那些知识,更多地是团队合作这对我们马上要面临的找工作也是一个很好的锻炼。
单片机课程虽不是我们的主要专业课,但对我们对电路的理解有很大的帮助。起初我们对如何完成既定的目标愁眉不展,通过我们组员的讨论摸索和在图书馆借阅大量的图书资料,并在邵老师和刘老师耐心的指导下完成了此次课题!
此次设计我们分组明确,而我主要负责电路设计和硬件电路的搭建(兼),在电路设计中我们开始使用了protel 99s进行电路图的最初设计,通过计算初步确定各个元器件的大概参数和完成焊接后的大概布局。Protel 99se是我们专业绘图软件,他有比较齐全的元件库和强大的仿真能力,通过这次课程设计让我们对开始学的这个软件有了进一步的巩固和了解。然而它不能时时的反应出CPU各脚电压电平变化,和数码管、发光二极管的亮灭情
况,只能观察一个时刻电压情况,不能很好地满足电路设计的要求。后来我们通过查书学习,学会了使用Proteus软件,它可以弥补protel 99se不能时时反应电路状态的缺点。在绘制电路图过程中我们遇见了如下的问题:
(1) 器件于器件相连会出现短接的想象。
(2) CPU的输出管脚和发光二极管、数码管输入管脚标号添加错误。
(3) 有些器件接线错误、最小系统漏接电源、接地。
(4) 与二级管串联的电阻阻值太大无法使二极管点亮。
(5) 无法往CPU中下载程序。
以上这些问题都是我们在电路设计中所遇见的问题,通过我们仔细的检查,及老师耐心的指导,我们一次又一次的修改以上这些问题都一一被排除是电路得以顺利的通过仿真! 在做本次课程设计的过程中,我感触最深的当属查阅大量的资料了。为了让自己设计更加完善,查阅者方面的设计资料是十分有必要的,同时也是必不可少的。我们查阅了protel 99se、Proteus、汇编语言、模拟和数字电路等知识。虽然我们过去从未独立的应用过他们,但在学习过程中带着问题去学效率很高,这是我们做这次课程设计的又一次收获。还有,要做好一个课程设计,就必须做到:再设计电路之前,对所应用的单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在实际程序时,不能妄想一次就将整个程序设计好,反复修改,不断改进是课程设计的必经之路。
此次课程设计中我也发现有许多不足之处,虽然感觉理论上已经掌握,但在应用到时间的过程中人有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。课程设计反映的是一个从理论到实际应用的过程但是更远一点可以联系到毕业以后从学校到踏上社会的一个小过程。小组人员的配合、相处,以及自身的动脑和努力,都是以后工作中需要的。 余盛强 注:本文档所有图片均在WPS 下编辑,望老师理解。
本组分工:李少飞负责硬件电路设计焊接
王军负责软件程序的编写
余盛强与和彬彬负责硬件电路搭建和仿真调试
和彬彬最后负责论文部分。