单片机程序设计报告 - 图文
更新时间:2024-06-14 13:01:01 阅读量: 综合文库 文档下载
单片机系统
课程设计
题目名称:基于89C52的智能交通灯设计
专业班级:测控技术与仪器1304班
学生姓名:田留阳 学号:201323030411 指导教师:郭广灵
成绩: 评语: 指导老师签名: 日期:
单片机系统 课程设计任务书
学生姓名 题目 课题性质 指导教师 工程设计 田留阳 专业班级 测控技术与学号 仪器1304班 201323030411 基于89C52 的智能交通灯设计 课题来源 郭广灵 通过89C52设计一个智能交通灯,其具体功能如下: (1)通过数码管显示某个路段通行或等待的时间。 自拟 主要内容 (参数) (2)通过选择键选择,按下加减键控制选择路口的时间。 (3)紧急情况下,控制各个路口的红灯或黄灯亮,待紧急情况处理完后,恢复正常通行。 (1)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。 (2)第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及任务要求 (进度) 元件参数选择要有依据,各单元电路的设计要有详细论述。 (3)第5-6天:软件设计,编写程序。 (4)第7-8天:实验室调试。 (5)第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。 [1] 刘勇.数字电路[M].电子工业出版社.2004 [2] 杨子文.单片机原理及应用[M].西安电子科技大学出版社.2006 主要参考 资料 [3] 刘华东.单片机原理与应用(第2版)[M].电子工业出版社.2006.8 [4] 胡汉才.单片机原理及其接口技术[M].清华大学出版社,2006. [5] 沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004. [6] 范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社.,2001. 审查意见 系(教研室)主任签字: 年月日
目 录
1系统概述···························1 1.1 课程设计目的·························1 1.2 设计内容···························1 1.3 实现目标···························1 2 方案论证····························1 2.1 电源提供方案·························2 2.2 显示界面方案·························2 3 硬件设计····························3 3.1系统的原理方框图·······················3 3.2 主电路····························3 3.3 I/O分配···························6 3.4I/O接线图··························10 3.5 元器件选型··························10 4 软件设计·····························11 4.1 软件设计流程··························12 4.2梯形图·····························13 4.3 交通灯定时器模块·······················14 5系统调试····························14 5.1 软件调试····························14 5.2 硬件调试···························15 设计心得·····························19 参考文献·····························20 附件一······························21 附件二······························22 附件三······························23
1 系统概述
1.1 课程设计的目的
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分 的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。 (4)提高利用已学知识分析和解决问题的能力。 (5)提高实践动手能力。
1.2 设计内容
本系统采用单片机AT89S52来设计交通灯控制器,实现了能根据实际车流量通过AT89S52芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。
1.3 实现的目标
通过数码管显示实现各个路口车辆通过或者等待的时间,同时控制按键可以实现对紧急事件的处理。从而从一定程度上解决交通拥挤现象。
2 方案论证
本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。
1
2.1 电源提供方案
为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案: 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。 综上所述,选择第二种方案。
2.2 显示界面方案
该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案: 方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。
方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。
2.3 输入方案
这里同样讨论了两种方案:
方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多。
由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。
2
3硬件设计
3.1系统的原理方框图
交通灯控制的框图如下图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。
图3.1:方框图
3.2主电路
3.2.1 复位电路设计
MCS-52的复位输入引脚RST为MCS-52提供了初始化的手段,可以使程序从指定处开始执行,在MCS-52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,则MCS-52循环复位,只有单RET由高电平变成低电平以后,MCS-52才从0000H地址开始执行程序,本系统采用按键复位方式的复位电路。
3
图3.2.1:复位电路
3.2.2 外部晶振时钟电路设计
MCS-52的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式,本论文根据实际需要和简便,采用内部振荡方式,MCS-52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成了一个自激振荡器。
MCS-52虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的振荡时钟电路,外接晶振以及电容C1和C2构成了并联谐振电路接在放大器的反馈回路中,对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶振的频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20pf~100pf之间选择,由于本系统用到定时器,为了方便计算,采用了12MHZ的晶振,采用电容选择30pf。
4
图3.2.2:外部晶振时钟电路
3.2.3显示模块电路设计
该模块由共阳LED数码管组成,利用数码管的动态扫描原理,由三极管进行锁存,当控制数码管的IO口P20和P21为低电平时(及三极管基极为低电平),则三极管导通,VCC通三极管给数码管供电,则数码管被点亮,利用数码管点亮的余辉和人眼的视觉暂留原理,则看起来数码管是同时被点亮的。
图3.2.3:显示模块电路
5
从设计完成的任务与要求来看,显示通行时间必须用二位数码管,从节省硬件资源的角度考虑,可采用扫描的方式来处理,对于7段数码管,占用7个单片机的I/O口,另外设置2个电子开关对2位显示进行配合,占用2个I/O端口,十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用12个端口进行控制,加上两个方向的紧急通行按钮,占2个I/O端口和一个蜂鸣器端口,因此实际占用的单片机I/O口为24个,为此,我们可以选用51系列单片机中的ATAT89S52来作为中央处理器。这款单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O口就可以直接驱动,能简化硬件电路的设计。
3.3I/O分配
AT89S52单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域。 AT89S52具有以下主要性能: 1.8KB可改编程序FLASH存储器; 2.全表态工作 :0~24HZ; 3.256X8字节内部RAM;
4.32个外部双向输入,输出(I、O)口; 引脚说明如下图所示。
6
图3.3:引脚图
引脚功能说明如下: VCC:电源电压。 GND:地。
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端。
在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在
7
上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH编程和程序校验期间,P1接收低8位地址。
P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序储存器或16位地址的外部数据储存器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据储存器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P3除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表3-1。
P3口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
端口引脚 第二功能 P3.0 P3.1 P3.2 RXD(穿行输出口) TXD(穿行输入口) INT0(外部中断0) 8
P3.3 P3.4 P3.5 P3.6 INT1(外部中断1) T0(定时/计数器0) T1(定时/计数器0) WR(外部数据写选通) P3.7 表3-1 P3口的第二功能表
RD(外部数据读选通) 不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。
EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc端),CPU则执行内部程序储存器中的指令。
FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12v编程电压。
9
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端
3.4 I/O接线图
接线图如下图所示:
图3.4:接线图
3.5 元器件选型
3.5.1 三极管选型
三极管选型时,以下几个参数必须考虑:
(1)ICM集电极最大允许电流 < 实际集电极电流,降额70%使用;
10
(2)BVCEO,基极开路时,集电极-发射极反向击穿电压 > 电源电压 * 70%,有感电路 降额使用,并加保护电路; ?
(3) PCM,集电极最大允许耗散功率,降额70%使用。? 基于小功率的考虑,本次设计采用了9012系列的三极管。 具体实物如下图所示:
图1:电路图 图2:实物
3.5.2 自锁开关选型
图3:实物 图4:电路如下所示
4 软件设计
11
4.1 软件设计思想
软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。
交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的时间;通过定时也可以向LED数码管中每隔1秒送一个数,显示该状态剩余的时间。其流程图如图所示。
开 始 设置定时,显示初始化 南北绿灯亮,东西红灯亮,延时 南北黄灯闪烁,东西红灯亮,延时 南北红灯亮,东西绿灯亮,延时 南北红灯亮,东西黄灯闪烁,延时
图4.1:流程图
12
图5:紧急情况下
18
设计心得
本文介绍了一种基于AT89S52单片机的交通灯的设计方法,完成了系统的硬件设计与制作,详细介绍了系统硬件设计的过程,并结合软件系统完成了整个系统的软、硬件联调,系统工作良好,实现了基本功能。
通过本次设计,巩固了我学习过的专业知识,也使我把理论与实践从真正意义上相结合了起来,锻炼了借助互联网络搜集、查阅相关文献资料和组织材料的综合能力,从中我也认识到自己的不足之处,我会在日后的学习中加以改进与提高。
经过这次课程设计,我在各方面都有很大的提高。学到了很多不曾学过的东西,也使我学会了更好地利用一些资源和工具如图书馆及一些软件查阅资料。在设计过程中也遇到很多的困难,遇到一些原理性不懂的时候就要去有针对性地查找资料或者请教知道老师和其他同学,然后加以吸收利用,提高了自己的应用能力,扩充了自己的知识储备,同时提高了动手能力。
本次课程设计让我认识到自己的动手能力还有待提高,而且我准备在后期增加一个红外线传感器,来检测车流量,从而实现交通灯根据具体情况自行设置时间。
19
参 考 文 献
[1] 刘勇.数字电路[M].电子工业出版社.2004
[2] 杨子文.单片机原理及应用[M].西安电子科技大学出版社.2006
[3] 刘华东.单片机原理与应用(第2版)[M].电子工业出版社.2006.8 [4] 胡汉才.单片机原理及其接口技术[M].清华大学出版社,2006.
[5] 沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004. [6] 范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社.,2001.
20
附件一:
元件清单如下图所示: 10uF 20pf 黄 绿 红 9012 2k 10K 2K SW-PB SW-灰色 SMG_2 STC89C52 12M 电容 C1 C2, C3 D1, D4, D9, D12 D2, D6, D7, D11 D3, D5, D8, D10 Q1, Q2, Q3, Q4 R1, R2 R3 R4, R5, R6, R7 S1, S2, S3, S4, S5 SW1 U1, U3, U4, U5 U2 Y1 电容 发光二极管 发光二极管 发光二极管 三极管 排阻 电阻 电阻 按键 电源开关 数码管 单片机 晶振 21
附件二:
系统原理图如图所示:
22
正在阅读:
单片机程序设计报告 - 图文06-14
二年级地方课程教案05-02
我国的行业收入差距05-25
五一劳动节主题活动总结范文五篇08-17
Ipvslg单词记忆法--日语学习05-21
面试对策:用英文回答离职和跳槽的原因02-16
春节见闻作文550字06-18
让我说声谢谢你作文02-04
学习考试主题班会教案-“为理想而努力”高三主题班会活动方案05-09
操作系统2014课程设计01-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 程序设计
- 图文
- 报告
- 河南重点项目-周口智能定量包装秤生产线项目可行性研究报告
- 2013年河南省中考物理模拟试卷(一)
- 公司总结读后感
- 大学因公长期出国审批流程
- 关于印发XX县高龄老年人生活补贴发放工作实施方案doc
- 2015年小学数学六年级(上)期末质量检测试卷
- 电解工考试6.1答案
- 苏教版分数的意义教学设计
- 光纤分布系统 设备技术要求(试行)V1.0
- 《酒店经营与管理》课程教学大纲
- C20混凝土配合比手册
- 浅谈如何规范村级财务管理
- 2015消防真题 综合能力
- 浅议不动产登记职责整合
- 机组安装技术方案
- 起重机驾驶员高级理论知识复习题
- 静夜思_练习题课堂达标
- 1.4用打点计时器测速度实验报告
- 江苏省南京市、盐城市2018届高三第二次模拟考试 英语试题
- 波谱分析考题