单片机课程设计(交通灯、秒表).doc
《单片机课程设计(交通灯、秒表).doc》由会员分享,可在线阅读,更多相关《单片机课程设计(交通灯、秒表).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实 习 报 告课 程 设 计 报 告(2010 2011学年 第 2 学期)课程名称: 单片机课程设计 班 级: 学 号: 姓 名: 指导教师: 2011年 03月一、目的运用所学理论知识及实验方法解决实际问题,通过这些活动培养分析问题和解决问题的能力。具体表现在构造一个控制系统框架的能力;检索和阅读文献资料的能力;综合运用所学专业知识使之对所设计系统具有独立调试的能力和故障处理的能力;绘图能力;计算机运用能力;逻辑思维能力与形象思维能力;文字及口头表达的能力;撰写实习报告的能力。二、内容和要求1、用PROTEL99SE画单片机系统原理图;2、焊接电路板;3、根据编程任务要求编写并调试程序;4
2、、撰写报告;5、参加实习成果验收及面试或考试; 任务1:交通灯(1)基本要求:以单片机为核心设计一个完整的交通灯模拟系统。所谓模拟就是以每组有绿,红,黄色3支共两组发光二极管表示交通信号灯,数码管2只共两组以递减的方式表示各色信号灯的时间。在双干线路口上,交通信号灯的变化是定时的。假定:(1)、放行线:绿灯亮放行25秒,黄灯亮警告5秒然后红灯亮禁止。(2)、禁止线:红灯亮禁止30 秒,然后绿灯亮放行。使两条路线交替地成为放行线和禁止线,就可以实现定时交通控制。假定以P1口线接6支发光二极管(即交通信号灯),因为电路中有反相器的关系,所以口线输出高电平则“信号灯”熄灭,口线输出低电平则“信号灯“
3、亮。(2)进阶要求一:在基本要求的基础上,要求红绿灯时间可通过按键设置,例如红灯60秒,绿灯52秒,黄灯8秒。提示:时间设置一定是要遵循以下规律:红灯时间绿灯时间黄灯时间。任务2:秒表要求:至少包括4个功能:时间清零;启动计时;暂定计时;继续计时;计时最小单位0.1 秒,最大计时时间999.9秒。三、过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、调试过程、结果)交通灯: (一)、功能描述:这是一个交通灯模拟系统,每组有绿,红,黄色3支共两组发光二极管表示交通信号灯,数码管2只共两组以递减的方式表示各色信号灯的时间。在双干线路口上,交通信号灯的变化是定时的。初始时间设定为红灯30秒
4、,绿灯25秒,黄灯5秒,在此基础上可通过按键修改红绿灯的时间。(二)、硬件部分:电源模块:1、模块功能简介:此模块为整个系统提供稳定的5V电压。2、电路图:3、所用芯片介绍:LM2576系列开关稳压集成电路是线性三端稳压器件的替代品,它具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为MCU的稳定、可靠工作提供了强有力的保证。主要特性:最大输出电流:3A;最高输入电压:LM2576为40V,LM2576HV为60V;输出电压:3.3V、5V、12V、15V和ADJ(可调)等可选;振动频率:52kHz;转换效率:75%88%(不同电压输出时的效率不同)。单片机最小系统模块:1、模
5、块功能介绍:本系统包括时钟电路和复位电路。本课程设计采用的单片机是SST89E58,晶振采用12MHz。2、电路图: 以上电路包括时钟电路和复位电路。时钟电路是由振荡电路和分频电路组成,其中振荡电路是由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲;分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。晶振采用12MHz。复位电路是采用的按键电平复位,通过使复位端经电阻与VCC电源接通而实现的。3、所用芯片介绍: SST89E58是通用的8位系列兼容微处理器,工作电压在4.5V和5.5V之间;内部RAM共有1KB;4个8位并行双向I/O口(32个I/O引脚);有4个中断源(2个定时器
6、中断和2个外部中断);采用40引脚双列直插式的封装形式。8段数码管显示模块:1、模块功能介绍:此模块用来显示实验中药显示的时间等数字。这是由条形发光二极管组成“8”字形的LED显示器。发光响应快,亮度强,高频特性好。2、电路图: 为了给发光二极管加驱动电压,上图中公共引脚的接法为共阳极接法,把发光二极管的阳极连在一起作为阳极公共引脚,这样阴极引脚上加低电平时即可导通点亮。3、显示原理介绍:本次课程设计中为并排使用的4位数码管,采用动态显示方式。显示时通过位控信号采用扫描的方法逐位地循环点亮各位数码管。虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮
7、的效果一样。动态显示需要为各位提供段控和位控,把段码表预先存放在存储器中,使用时通过查表就可以得到段码。而通过并行口输出的相互独立的位码则是起选通作用的,用于选择显示位。因此,需要用到接口芯片的两个数据口。本设计中所用的是8155,下面介绍。4、所用芯片介绍:见下页 8155:芯片引脚介绍:CE:芯片片选端。/RD、/WR:读写信号。ALE:地址锁存信号。IO/E:为IO/RAM选择线,低电平选择RAM,高电平选择I/O。PA0PA7为端口A。PB0PB7为端口。PC0PC7为端口C。在设计中,使用PB口为位码输出口,以PB7PB4输出位控线。PA口为段码输出口,加接74HC244进行段控输出
8、驱动。因为8155只能输出显示段码而不具有控制功能,所以动态显示要靠程序实现。LED灯模块:1、模块功能介绍:此模块用来作为模拟交通灯的红黄绿灯的闪烁。2、电路图: 3、显示原理介绍:本设计中使用两组发光二极管,采用共阳极接法,阳极公共引脚接+5V,阴极引脚上加低电平时即可导通点亮。 按键模块:1、模块功能介绍:此模块用来作为开关选择。2、电路图:使用时,用跳线将所需引脚与相应开关相连接。(三)、软件部分:1、设计思想:此次设计是在基本功能上修改的,实现了可修改红黄绿灯时间的功能。首先,基本功能是两组发光二极管表示交通灯信号,4个数码管分2组以递减的方式表示各色信号灯的时间。然后,在此基础之上
9、,要求红绿灯时间可通过按键设置,则需要用到相应存储单元来控制时间。2、流程图:交通灯的基本功能大致可分为两部分,一部分为信号灯的控制,另一部分为数码管时间的显示,这两部分都是通过相应的关系控制的。可分为4种情况:(1)、A组红灯亮,B组绿灯亮;(2)、A组红灯继续亮,B组黄灯亮;(3)、B组红灯亮,A组绿灯亮;(4)、B组红灯继续亮,A组黄灯亮。流程图如下: 定时中断子程序:中断服务程序的主要功能是进行计时操作,设计一个以1秒为周期的中断子程序。流程图如下: 保护现场是否满20次计数器重新加载循环次数减1秒加1秒缓冲单元清零YN是否满红黄绿时间之和YN定时中断入口现场恢复返回 (四)、程序的调
10、试与运行:程序的调试运行采用KEILC51编译器,支持汇编语言和标准C语言。经过一系列的调试之后,终于可以成功运行。 秒表:(一)、功能描述:这是一个简易秒表,具有4个功能:启动计时、暂定计时、继续计时、时间清零。其中计时最小单位0.1 秒,最大计时时间999.9秒。(二)、硬件部分:详细请见交通灯硬件部分(除去LED灯部分)(三)、软件部分:1、设计思想:使用3个按键实现4个功能,其中暂停和继续是一个键,这里通过判断存储单元的奇偶来选择暂停和继续。主要采用按键查询加中断定时的方法。2、流程图:开始开始键暂停键清零键暂停是否按过暂停存储单元开始暂停继续清零YYYNY偶奇循环检查按键NNN 其中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 交通灯 秒表
限制150内