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