哈尔滨远东理工学院课题名称专业班级学号学生姓名指导教师2015年10月14日1、例举设计过程中遇到的问题及其解决方法(至少两例)。
答:(1)问题说明:解决方法:(2)问题说明:解决方法:2、教师现场提的问题记录在此(不少于2个问题)。
目录1 设计任务 (1)2设计方案 (2)2.1任务分析 (2)2.2方案设计 (2)3 系统硬件设计 (3)3.1时钟电路设计 (3)3.2复位电路设计 (3)3.3 灯控制电路设计 (3)3.4 倒计时显示电路设计 (4)3.5 按键控制电路设计 (5)4 系统软件设计 (6)4.1 1S定时 (6)4.2 定时程序流程 (6)4.3交通灯的设计流程图 (6)4.4定时器0 及中断响应 (7)5仿真与性能分析 (8)6心得体会 (9)参考文献 (10)附录1 系统原理图 .......................................................................错误!未定义书签。
附录2 系统PCB图 .....................................................................错误!未定义书签。
附录3 程序清单 .. (11)II1 设计任务支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
用红、绿、黄发光二极管作信号灯。
如图1.1所示。
设东西向为主干道,南北为支干道。
1. 基本要求(1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。
主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。
(2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。
(3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。
黄灯亮时,原红灯按1Hz 的频率闪烁。
(4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。
2. 选做(1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。
(2) 实现绿波带。
所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。
“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。
2设计方案2.1任务分析模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。
红、黄、绿交替闪亮,倒计数显示时间等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。
2.2方案设计1.硬件方案根据设计的要求可知,系统的硬件原理框图如图2.1所示。
单片机键盘LED 显示三色指示灯图2.1 系统的硬件原理框图单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB 的FLASH ROM ,设计时无需外接程序存储器,为设计和调试带来极大的方便。
南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。
键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的I O 口不够用时,可以考虑扩展8255或8155满足系统的要求。
2. 软件方案根据设计要求,程序框图如图2.2所示。
软件可由汇编语言完成,也可由C 语言完成。
软件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。
计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。
显示程序模块:完成12个发光二极管(实际上只需驱动6个)和4个LED 数码管的显示驱动。
键盘扫描程序模块:判断是否有键按下,并求取键号。
图2.2 主程序流程图报告中的结构示意图、流程图等建议用AutoCAD 、Visio 、CorelDraw 等绘制,以保证图片拉伸后不失真。
图片中的字号要比正文中小一号(5号)一般情况下,图片要居中放置这一章,可以直接叙述你的设计方案(如本文档),也可以做方案论证:通过方案比较并确定最终的设计方案!比较小的图片,可以不居中放置,类似这样靠最右(或最左)处理3 系统硬件设计3.1时钟电路设计图3.1 单片机时钟电路如图3.1所示,采用内部时钟产生方式,在XTAL1 和XTAL2 两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。
其发出的时钟脉冲直接送入片内定时控制部件。
3.2复位电路设计如图3.2所示,采用上电+按钮电平复位方式,当按下按钮时,RST 管脚高电平触发。
为保证复位可靠,RC 时间常数应大于两个机器周期,电容取33uf,电阻取200 欧。
图3.2 单片机复位电路3.3 灯控制电路设计如图3.3所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。
通过软件编程,可使路口交通变化情况为:南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30 秒、支干道每次通行时间为20 秒;在绿灯转为红灯时,要求黄灯先亮5 秒钟,才能变换运行车道;黄灯亮时每秒闪亮一次。
这一章,(如果同本文档在上一章已经对整体结构描述过,)可以直接描述各单元电路!(如果上一章没有对整体方案描述的话,还要把整个系统的硬件结构描述清楚)图3.3 灯控制电路3.4 倒计时显示电路设计如图3.4所示,由两个个共阴极两位数码管来实现倒计时。
由于P0 口输出电流小,需外接上拉电阻,C1、C2 端接到P1 口的P1.0、P1.1、P1.2、P1.3 口用单片机来控制其片选。
图3.4 数码管显示电路3.5 按键控制电路设计图3.5 按键输入电路如图3.5所示,开关控制由五个连接到单片机的控制按钮组成。
通过软件编程,按下K3 键电路进入外部中断0 响应,此时,可通过按键K1 和和K0 设置通行时间,每按一次K1 键南北通行时间增加一秒,而按下K0 键东西通行时间增加一秒,此时若按下K4 键东西南北的通行状况返回到初次设的状况(即南北通行),重新返回循环状态;按下按键K2,这是对紧急状况的控制,此时停止计数,东西方向和南北方向都不通行,如果K4 键按下,返回紧急状况的状态,并重启计数;按键K1 按下,控制南北方向通行;按键K0 按下,控制东西方向通行。
4 系统软件设计4.1 1S定时以在系统中要实现准确的1s定时。
采用89C51内部的定时/计数器T0,工作在方式1,定时时间计算公式为:zΣ(216-计数初值)×晶振周期x12或扛(2-6-计数初值)×机器周期其最大定时时间为131ms,离ls还差很远。
因此.把秒计时用硬件和软件计数相结合的方法实现。
即把定时器的定时时间定为125ms,这样计数溢出8次就可得到h.而8次计数可用软件方法实现。
为得到125ms定时,设计数初值为工,则有(216_X)x2=125 000从上式计算得到计数初值。
定时器定时采用中断方式完成.以便于通过中断服务程序进行溢出次数(每次125ms)的累计,计满8次即得到ls计时。
4.2 定时程序流程(1)T0定时主程序流程定时主程序的主要功能是进行定时器,计数器的初始化编程,然后通过反复调用显示子程序的方法,等待125ms定时中断的到来。
(2)定时中断服务程序流程中断服务程序的主要功能是进行计时操作。
程序先判断计数溢出是否满了8次。
不满8次表明还没达到最小计时单位秒.中断返回;如满8次则表明已达到最小计时单位秒.程序继续向下执行.进行计时操作。
4.3交通灯的设计流程图系统的程序结构流程图如图4.1所示。
系统软件中,使用了一个定时器(T0)资源产生秒信号。
系统在上电或复位后进入系统初始化。
初始化程序中,将系统的xxx等I/O口输出状态设置为高电平输出,以使各LED及发光管熄灭;然后初始化定时器timer0,定义为xxx方式,........。
并使能定时器T0中断,......。
初始化完毕后,系统进入.........图4.1 交通灯系统软件流程图4.4定时器0 及中断响应......图4.2 定时器0中断处理流程图5仿真与性能分析1、系统仿真过程 ......图5.1 xxxx 图2 仿真结果与分析当交通灯上电复位后,数码管显示p 。
当按下开始键k1后,南北方向开始亮绿灯,东西方向亮红灯。
显示器开始倒计时。
当按下结束键k2后,显示器重新显示p ,并且南北东西的方向全灭。
图5.2 系统仿真结果补充说明你是如何完成仿真(或调试)的,比如仿真(或调试)的平台、过程、步骤等说明仿真结果(或调试结果),并对相关现象进行分析。
要求图文并茂。
6心得体会画板、起初我们先到图书馆和网上查阅了大量有关超声波测距仪的资料,然后开始设计我们自己的方案,为了设计精度要求和抱着学习新知识的想法,我们选择则了从没接触过的DS18B20和LCD1602液晶芯片,虽然我们并没把这两个芯片的应用原理研究的很透彻,但基本的应用编程是可以实现的,说实话整天抱着电脑查资料、看资料是一件很痛苦的事情,一天下来眼都花了,但每学会一点新知识还是挺高兴的,有的时候想要的资料查不到我们就向老师求助,他们都会毫无保留的帮助我们。
设计完电路以后我们便开始画PCB板,这是我们上学期学习的一门课程,趁着这次机会也让我们又将这部分只是复习了一下,并将其应用于实际,终于发现我们所学的知识和实际有点联系了,也对其产生了一点兴趣。
不过我们学得并不全面,只能说是引路用的,所以在实际当中我们还要再加深一下学习,这也是我们获得新知识的一个地方。
画板时需要注意的地方很多,比如封装要根据实际器件的尺寸来设计孔的大小,间距也要符合要求,布线时线宽与线距也有一定讲究,部件摆放要按一定规律等等。
这三周的时间说轻松也不轻松,说紧张却稍带着愉快的气氛,整个过程应该是充实的,时而惊喜,时而烦闷特别是最后调试阶段有一块调通了都会让我们高兴不已,当卡在某处时也确实是让人抓狂。
总之通过这次课设,我们不但复习了过去所学,并且学到了一些新东西。
更重要的是通过这一次切身实践,才使我们真正将理论与实际结合起来,并且遇到了很多实实在在的需要我们亲自解决的问题。
通过解决这些问题,我们处理实际问题的能力有了很大提高,积累了我们的实践经验,以便为以后打下牢固的基础。
而这些才是我们作为一名工科学生最宝贵的财富。
[1] 郭天祥.新概念51单片机C[2]胡汉才.单片机原理与接口技术[M].北京: 清华大学大学出版社,2004.1-505.[3] 邢国泉. LM35温度传感器的温度特性及其应用[J]. 医疗设备信息.2007,11(9):25-28.[4] 薛国红,赵修斌,卢艳娥等.零漂与增益控制对量化的影响分析[M].西安:空军工程大学,2008.[5] 马忠梅,刘滨等. 单片机C语言Windows环境编程宝典[M]. 北京: 北京航空航天大学出版社. 2003附录3 程序清单#include<reg52.h>#define unit unsigned int#define uchar unsigned charuchar codea[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code b[4]={0xfe,0xfd,0xfb,0xf7};uchar code c[4]={0xcc,0xd4,0x78,0xb8};uchar NB=25,DX=30,NBG=25,DXG=15,H=5;uchar i,k=0,cnt=0,j=0;sbit K0=P3^5;sbit K1=P3^6;sbit K4=P3^7;sbit K3=P3^2;sbit K2=P3^3;void delay(uchar t);void key();void display();void settime();void init(void){TMOD=0x01;TH0=0x3c;TL0=0xb0;IT0=1;ET0=1;TR0=1;EA=1;EX0=1;EX1=1;P2=c[k];}void int0(void) interrupt 0{EA=1;...。