单片机课程设计_交通灯多功能任务设计说明

上传人:xmg****18 文档编号:120404076 上传时间:2020-02-06 格式:DOC 页数:30 大小:405.50KB
返回 下载 相关 举报
单片机课程设计_交通灯多功能任务设计说明_第1页
第1页 / 共30页
单片机课程设计_交通灯多功能任务设计说明_第2页
第2页 / 共30页
单片机课程设计_交通灯多功能任务设计说明_第3页
第3页 / 共30页
单片机课程设计_交通灯多功能任务设计说明_第4页
第4页 / 共30页
单片机课程设计_交通灯多功能任务设计说明_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《单片机课程设计_交通灯多功能任务设计说明》由会员分享,可在线阅读,更多相关《单片机课程设计_交通灯多功能任务设计说明(30页珍藏版)》请在金锄头文库上搜索。

1、下载可编辑 单片机原理与接口技术课程设计报告课题:以交通灯为主的多功能任务设计 班级 电气3113 学号 1111221108 学生姓名 尹志勇 指导教师 白秋产 郑蓉建 淮阴工学院电子与电气工程学院2014-12.专业.整理.下载可编辑目 录一、 设计目的2二、 设计要求21 总体要求22 具体要求23 系统硬件总框图31)AT89C52单片机42)DS1302模块53)数码管显示电路54)LED灯显示65)键盘扫描模块66)蜂鸣器电路7三、 硬件电路的设计及描述71 硬件总框图及原理图72 主程序流程图93 各模块流程图101)时间显示程序流程图102)流水灯程序流程图103)利用蜂鸣器的

2、音乐流程图114)交通灯控制11四、 源程序代码12五、 设计心得18六、 参考文献181、 设计目的单片机原理及应用课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,应用工程的方法,通过一个简单课题的设计练习,可使学生初步体验单片机应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。通过课程设计,应该能加强学生如下能力的培养:(1)独立工作能力和创造力;(2)综合运用专业及基础知识,解决实际工程技术问题的能力;(3)查阅图书资料、产品手册和各种工

3、具书的能力;(4)工程绘图的能力;(5)编写技术报告和编写技术资料的能力。2、 设计要求1 总体要求(1)独立完成设计任务(2)绘制系统硬件总框图(3)绘制系统原理电路图(4)制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释(5)制定编写调试方案,编写用户操作使用说明书(6)写出设计工作小结。对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研究方向。2 具体要求本次工程实践的校内部分主要以单片机为基础,进行单片机软件编程,目的是为了提高学生的软件编程和

4、系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分析、判断能力。软件编程是本次课程设计的重要环节。在为期两周的工程实践中,将占据主要时间,完成的软件编程任务主要包括以下几点:1)、熟悉Keil C51编程平台及相关编程软件2)、编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联调3)、编写、调试LED流水

5、灯(循环显示)程序并进行软硬件联调4)、编写、调试键盘扫描子程序并进行软硬件联调5)、编写、调试数码管动态扫描程序并进行软硬件联调6)、基于交通灯的多功能控制设计其中前五个内容是后两个内容的基础,主要是编制一些子程序,为后继的整个系统设计打下基础。交通灯控制是在五个课题中选做的一个设计,是一个简单的单片机编程设计,来实现智能交通灯的多功能作用。3 系统硬件总框图图1 系统设计总框图此次课程设计,AT89C52是一种带2K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处

6、理器,俗称单片机。1)AT89C52单片机设计中所用的单片机型号为AT89C52 ,其主要功能为:AT89C52是低功耗、高性能的CMOS 8位单片机。片内带有8KB的Flash存储器,且允许在系统内改写或用编程器编程。另外,AT89C52的指令系统和引脚与80C52完全兼容,所以,近几年AT89C52单片机应用极为广泛。AT89C52单片机除了含有8KB的Flash存储器外,片内还有256 B的RAM,32条I/O口线,3个16位定时/计算器、6个中断源、1个全双工串行口等。同时,与80C52一样,有空闲和掉电两种节电运行方式。AT89C52引脚如下图所示:图2 AT89C52引脚AT89C

7、52单片机为40脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。2)DS1302模块DS1302的RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。其管脚图如下: 图3 DS1302

8、管脚图各引脚功能:Vcc1为后备电源,VCC2为主电源,X1和X2是振荡源,SCLK为输入端RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。3)数码管显示电路图4 数码管显示电路数码显示电路设计中采用四位共阳极扫描型数码管即其公共端接正极, 扫描型是指数码管的段选都是并联的。其位选位控制哪一位的数码管亮,在设计中由单片机AT89C52的P1口控制其位选,以达到动态显示的效果,再通过P0口,控制其段选以显示相应的数值。所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流

9、点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。4)LED灯显示图5 LED显示模块本次课程设计中,“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,单片机可工作。要用外加电源和分压电阻来控制低电平驱动点亮,因为单片机不能直接高电平驱动LED灯。如图D1-D8和R1、R2以及R6-R11连接到单片机IO口,当P1口某脚变低时相应LED发光。实现LED灯的闪烁,只需利用编程方法依次从低位到高位逐个变为低电平,等待少许时刻

10、再变高即可。5)键盘扫描模块图6 按键输入电路本模块四个开关分别用于控制流水灯控制电路,时间显示电路,音乐蜂鸣器电路,交通灯四部分功能。当按下其中一个开关时,该部分电路导通,给单片机发出地址信号,实现其中一项功能的运做,如图4所示。KEYA键:其功能是当该键按下时,蜂鸣器程序工作;KEYB键:其功能是当该键按下时,流水灯程序工作;KEYC键:其功能是当该键按下时,数码管动态扫描程序工作;KEYD键:其功能是当该键按下时,交通灯程序工作。6)蜂鸣器电路 图7 蜂鸣器电路蜂鸣器单元电路是通过一个PNP三极管来放大驱动蜂鸣器,蜂鸣器的正极接到5V电源上面,蜂鸣器的负极接到三极管的发射极,三极管的基极

11、经过限流电阻后由单片机的P3.4控制。当输出高电平时,三极管截止,蜂鸣器的两引脚间的直流电压接近于0V,没有电流流过线圈,蜂鸣器不发声;当输出低电平时,三极管导通,使蜂鸣器的两个引脚间获得将接近+5V的直流电压,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制IO口输出的电平来控制蜂鸣器是否发出声音,实现各种可能音响的产生。3、 硬件电路的设计及描述1 硬件总框图及原理图图8 硬件总框图图9 硬件总原理图2 主程序流程图 3 各模块流程图1)时间显示程序流程图2)流水灯程序流程图3)利用蜂鸣器的音乐流程图4)智能交通灯4、 源程序代码/* 文件名 : 4个功能由按键控制.c* 描

12、 述 : 按下A键,实现蜂鸣器动作。 按下B键,实现LED流水灯循环显示。 按下C键,实现数码管动态扫描显示。 按下D键,实现交通灯功能。* 创建人 : */#include#include #define uint unsigned int / 无符号整形习惯的定义 #define uchar unsigned char /无符号字符型习惯的定义void buzz_key(void); /子函数声明void led_key(void);void tube_key(void);void traffic(void);unsigned char code duanma10=0x3f,0x06,0x

13、5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; / 0 1 2 3 4 56 7 8 9unsigned char code weima6=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/ 选择哪个数码管unsigned char temp6;uchar i=35;uchar k=30;uchar l=5;uchar j;uchar b; /定义变量 sbit duan=P26;/定义管脚sbit wei=P27;sbit key_A=P34;sbit key_B=P35;sbit key_C=P36;sbit key_D=P37;sbit buzz=P23;sbit DIOLA=P25;sbit csda=P32;sbit red=P10;/交通灯管脚定义sbit green=P11;sbit yellow=P12;/* 名称 : Delay_1ms()* 功能 : 延时子程序,延时时间为 1ms * x* 输入 : x (延时一毫秒的个数)* 输出 : 无*/void Delay_1ms(unsigned int t)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号