




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东 北 石 油 大 学课 程 设 计 2011 年 3 月 18 日课 程 单片机原理及应用课程设计 题 目 交通灯管理电路设计 院 系 电子科学学院 专业班级 电信 075 班 学生姓名 学生学号 指导教师 东北石油大学课程设计任务书课程 单片机原理及应用课程设计题目 交通灯管理电路设计 专业班级 电信 07-5 姓名 学号 一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。二、设计要求:1. 应用 mcs-51 单片机设计交通灯管理电路;2. 该系统要求显示 50s 倒计时时间,当计到需交换红绿灯前 1
2、0s,路口均显示黄灯;3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5. 原理图设计根据所确定的设计电路,利用 protel 等有关工具软件绘制电路原理图、pcb 板图、提供元器件清单。三、参考资料:1 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;2 单片机原理及应用,张毅刚编著,高等教育出版社;3 51 系列单片机及 c51 程序设计,王建校,杨建国等编著,科学出版社;4 单片机原理及接口技术,李
3、朝青编著,北京航空航天大学出版社;完成期限 2011.3.142011.3.18 指导教师 专业负责人 2011 年 3 月 13 日目录1.1.系统设计系统设计.11.1 设计思路.11.1.1 设计目的.11.1.2 设计任务和内容.11.1.3 方案比较、设计与论证.11.1.3.1 电源提供方案.11.1.3.2 复位方案.21.1.3.3 输入方案.21.1.3.4 显示界面方案.21.1.3.5 交通管理的方案论证.41.1.4 芯片简介.42.2.硬件电路设计硬件电路设计.102.1 设计原理分析.112.1.1 交通灯显示时序的理论分析与计算.112.1.2 交通灯显示时间的理
4、论分析与计算.132.1.3led 数码管显示模块.142.1.4 复位电路.162.1.5 晶振电路.163.3.软件设计软件设计.173.1 数码管显示子程序:.173.1led 红绿灯显示模块程序:.184.4.总结总结.215.5.参考文献参考文献.226.6.附录附录.226.1 附录 1:程序清单.226.2 附录 2:电路设计总图.2911.系统设计1.1 设计思路1.1.1 设计目的训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。1.1.2 设计任务和内容1. 应用 mcs-51 单片机设计交通灯管理电
5、路;2. 该系统要求显示 50s 倒计时时间,当计到需交换红绿灯前10s,路口均显示黄灯;3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5. 原理图设计根据所确定的设计电路,利用 protel 等有关工具软件绘制电路原理图、pcb 板图、提供元器件清单。1.1.3 方案比较、设计与论证1.1.3.1 电源提供方案为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。此方案的优点是系统简明扼要,节约成本;缺点是
6、输出功率不高。21.1.3.2 复位方案复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。1.1.3.3 输入方案方案一:采用 89s52 扩展 i/o 口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有 ram,及计数器。若用该方案,可提供较多i/o 口,但操作起来稍显复杂。方案二: 直接在 i/o 口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用 2 个按键,分别是k1、k2。由于该系统对于交通灯及数码管的控制,只用单片机本身的 i/
7、o 口就可实现,且本身的计数器及 ram 已经够用,故选择方案二1.1.3.4 显示界面方案 该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:3方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。方案二:完全采用点阵式 led 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形。方案三:采用数码管与点阵 led (点阵式和 8 段式 led)相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与 led 灯分别显示时间与提示信息。这种方案既满足系统功
8、能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,决定采用方案三以实现系统的显示功能。整个设计以 at89s52 单片机为核心,由数码管显示,led 数码管显示,复位电路组成。硬件模块入图所示:at89s52 单片机数码管显示led 数码管显示晶振电路复位电路41.1.3.5 交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如下表所示:上表说明: (1)当东西方向为红灯
9、,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为 40 秒。(2)黄灯 10 秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为 40 秒。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。1.1.4 芯片简介1at89s52 单片机简介40s10s40s10s东西道红灯亮黄灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮黄灯亮5其引 dip 封装的脚图如下:主要性能:与 mcs-51 单片机产品兼容 、8k 字节在系统可编程 flash存储器
10、、 1000 次擦写周期、 全静态操作: 0hz33hz 、 三级加密程序存储器 、 32 个可编程 i/o 口线 、三个 16 位定时器/计数器 八个中断源 、全双工 uart 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。功能特性描述:6at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可编程 flash 存储器。使用 atmel 公司高密度非 易失性存储器技术制造,与工业 80c51 产品指令和引脚完 全兼容。片上 flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位
11、 cpu 和在系统 可编程 flash,使得 at89s52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 at89s52 具有以下标准功能: 8k 字节 flash,256字节 ram, 32 位 i/o 口线,看门狗定时器, 2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外, at89s52 可降至 0hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下, cpu 停止工作,允许 ram、定时器/计数器、串口、中断继续工 作。掉电保护方式下, ram 内容被保存,振荡器被冻结, 单片机一切工作停
12、止,直到下一个中断或硬件复位为止。 8 位微控制器 8k 字节在系统可编程 flash at89s52 p0 口:p0 口是一个 8 位漏极开路的双向 i/o 口。作为输出口,每位能驱动 8 个 ttl 逻辑电平。对 p0 端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, p0 口也被作为低 8 位 地址/数据复用。在这种模式下 : p0 具有内部上拉电阻。 7在 flash 编程时,p0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 p1 口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱动 4 个 tt
13、l 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)此外,p1.0 和 p1.2 分别作定时器 /计数器 2 的外部计数输入(p1.0/t2)和时器/计数器 2 的触发输入( p1.1/t2ex),具体如下表所示。 在 flash 编程和校验时, p1 口接收低 8 位地址字节。 引脚号第二功能 p1.0 t2(定时器/计数器 t2 的外部计数输入),时钟输出 p1.1 t2ex(定时器/计数器 t2 的捕捉/重载触发信号和方向控制) p1.5 mosi(在系统编程用) p1.6 mis
14、o(在系统编程用) p1.7 sck(在系统编程用) p2 口:p2 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为8输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送 1。在使用 8 位地址(如movx ri)访问外部数据存储器时, p2 口输出 p2 锁存器的内容。 在 flas
15、h 编程和校验时, p2 口也接收高 8 位地址字节和一些控制信号。 p3 口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 p3 口亦作为 at89s52 特殊功能(第二功能)使用,如下表所示。 在 flash 编程和校验时, p3 口也接收一些控制信号。 端口引脚 第二功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 into(外中断 0)p3.3 int1
16、(外中断 1)9p3.4 to(定时/计数器 0)p3.5 t1(定时/计数器 1)p3.6 wr(外部数据存储器写选通 )p3.7 rd(外部数据存储器读选通 )此外,p3 口还接收一些用于 flash 闪存编程和程序校验的控制信号。rst复位输入。当振荡器工作时, rst 引脚出现两个机器周期以上高电平将是单片机复位。ale/prog当访问外部程存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ale 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ale 脉冲。对
17、 flash 存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通过对特殊功能寄存器( sfr)区中的 8eh 单元的 d0 位置位,可禁止 ale 操作。该位置位后,只有一条 movx和 movc 指令才能将 ale 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ale 禁止位无效。psen程序储存允许( psen)输出是外部程序存储器的读选通信号,当 at89c52 由外部程序存储器取指令(或数据)时,10每个机器周期两次 psen 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 psen 信号。ea/vpp外部访问允许,欲使 cpu 仅访
18、问外部程序存储器(地址为 0000h-ffffh),ea 端必须保持低电平(接地)。需注意的是:如果加密位 lb1 被编程,复位时内部会锁存 ea 端状态。如 ea 端为高电平(接 vcc 端),cpu 则执行内部程序存储器的指令。flash 存储器编程时,该引脚加上 +12v 的编程允许电源vpp,当然这必须是该器件是使用 12v 编程电压 vpp。2.硬件电路设计at89s52各路口红绿灯灯晶振源led 倒计时显示复位112.1 设计原理分析2.1.1 交通灯显示时序的理论分析与计算对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的
19、最大车流为车流量,用公式:车流量= 车流 / 时间 来表示。先设定一些标号如图 21 所示。说明:此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯。图 22 所示为一种红绿灯规则的状态图,分别设定为s1、s2、s3、s4,交通灯以这四的状态为一个周期,循环执行(见图 23) 。12图 21请注意图 21b 和图 21d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图 23 可以看出,相邻路口的灯它
20、们的状态在相位上相差 180。因此最终只需写出一组 s1、s2、s3、s4 的逻辑状态表。如表 21 所示。13表 21表中的“”代表是红灯亮(也代表逻辑上的 0) , “”是代表绿灯亮(也代表逻辑上的 1) ,依上表,就可以向相应的端口送逻辑值。142.1.2 交通灯显示时间的理论分析与计算东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且 s1、s2、s3、s4 各个状态保持的时间之有严格的对应关系,其公式如下示。t-s1+t-s2=t-s3t-s2=t-s4t-s1=t-s3我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干
21、道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考2.1.3led 数码管显示模块(1)静态显示方式:静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个 led 数码管显示器都需要一个 8 位的输出口进行控制。由于单片机本身提供的 i/o 口有限,实际使用中,通常通过扩展 i/o 口的形式解决输出口数量不足的问题。 静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,cpu 才去执行显示更新子程序,这样既节约了 cpu 的时间,又提高了 cpu 的工作效率。其不足之处是占
22、用硬件资源较多,每个 led 数码管需要独占 8 条输出线。随着显示器位数的增加,需要的 i/o 口15线也将增加。 (2)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描) ,即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于 8 位,则显示器的公共端只需一个 8 位 i/o 口进行动态扫描(称为扫描口) ,控制每位显示器所显示的字形也需一个 8 位口(称为
23、段码输出) 。162.1.4 复位电路复位方式有多种,本设计采用按键复位。接线图如图程序复位电路框图在设定的定时时间内,89s52 必须在 rst 引脚产生一个由高到低的电平变化,以清内部定时器. 2.1.5 晶振电路晶振电路原理图如 3-2:3-2晶振模块原理图选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取 30pf,晶振为 30mhz。173.软件设计3.1 数码管显示子程序:void normalpageshow()register unsigned char i, j, n;register longltmp;unsigned char const seg_code
24、= 0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07, 0 x7f, 0 x6f;unsigned char const comm2 = 0 x01, 0 x02, 0 x04, 0 x08;for(i = 0; i 2; i +)ltmp = gnvalue;n = ltmp - (ltmp / 10) * 10);p2 = commi;p0 = seg_coden;p2 = commi + 2;p0 = seg_coden;ltmp /= 10;18void delay_us(unsigned int ncount)/ 延时子程序
25、register unsigned int i;for(i = 0; i ncount; i+) _nop_();_nop_();_nop_();_nop_();void delay_ms(unsigned char ncount)register unsigned char i;for(i = 0; i ncount; i+) delay_us(1000);3.1led 红绿灯显示模块程序:main(void)ea = 0; / global interrupt disable19gisysstatus = 0;initmcu();ea = 1;/如有初始化当中已经设定了交通灯的初始状态,所
26、以只需一个 if和 else,就能完成交通灯的切换。while(1)if(gbflag_1speriod) gbflag_1speriod = 0;gnvalue -= 1;gbflag_refreshled = 1;/刷新 led/10s 的时候,两个黄灯都亮,其余全灭if(gnvalue = 10) dsy1 = 0;dsy2 = 0;dsr1 = 1;dsr2 = 1;dsg1 = 1;dsg2 = 1;if(gnvalue = 0)/计数倒计时到达 0s/东西方向如果此时红灯亮,那么接下来的动作应该是东西方向绿灯亮,南北方向红灯亮,其余的都灭。if(dsr1 = 0) 20dsr1 =
27、 1;dsr2 = 0;dsg1 = 0;dsg2 = 1;dsy1 = 1;dsy2 = 1;/东西方向的红灯不亮,那么接下来的动作应该是东西方向红灯亮,南北方向应该是红灯亮,其余的都灭。elsedsr1 = 0;dsr2 = 1;dsg1 = 1;dsg2 = 0;dsy1 = 1;dsy2 = 1; if(gbflag_refreshled) /刷新 led 的标志gbflag_refreshled = 0;normalpageshow();/led 显示函数214.总结通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系
28、统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的。此次课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。通过这次课
29、程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。225.参考文献1 李朝青.单片机原理及接口技术(第 3 版).2005 年 10 月2 蔡朝洋.单片机控制实习与专题制作3 楼然苗.单片机课程设计指导4 赵广林.电路设计与制版6.附录6.1 附录 1:程序清单#include #include #define dsr1 p10;#define dsy1 p11;#define dsg1 p12;#define dsr2 p14;#define dsy2 p15;#define dsg2 p16;/ 对 6 个交通灯端口定义/ 位运算,定义两个标志位unsigned i
30、nt bdatagisysstatus;sbit gbflag_1speriod= gisysstatus0;/1 秒标志sbit gbflag_refreshled = gisysstatus1;/刷新 led 的显示23unsigned int idatagitimertick;intdatagikeytick;void initmcu(void);void normalpageshow();void rstcalcparam(void);int idata gnvalue;/定义变量存放时间void delay_us(unsigned int ncount)/ 延时函数register
31、unsigned int i;for(i = 0; i ncount; i+) _nop_();_nop_();_nop_();_nop_();void delay_ms(unsigned char ncount)24register unsigned char i;for(i = 0; i = 100 ) gitimertick = 0;25gbflag_1speriod = 1;else gikeytick = 0;void rstcalcparam(void)register unsigned char i;gisysstatus = 0;gnvalue = 50;gikeytick = 0;dsr1 = 0;dsy1 = 1;dsg1 = 1;dsr2 = 1;dsy2 = 1;dsg2 = 0;/初始化时,让东西方向的红灯和南北方向的绿灯亮void normalpageshow()26re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系统分析师复习方法的试题及答案
- 社会工作者专业伦理框架考题及答案
- 数字化工艺面试题及答案
- 理清项目时间管理的试题及答案
- 最终决战系统分析师试题及答案
- 多媒体设计师的市场定位与策略试题及答案
- 人体解剖学与组织胚胎学练习试卷附答案
- 系统化软件评测师考试试题及答案收藏
- 一二章考试题及答案
- 2025年软件评测师纳入考量的试题及答案
- 非营运车标转让协议书
- 福建百校联考2025届高三5月高考押题卷-化学试卷(含答案)
- 2025年瑜伽教练认证考试体式教学与课程设计模拟试题集(含答案详解)
- 2025-2030中国养老服务行业发展分析及发展前景与趋势预测研究报告
- 综合实践项目 设计并制作人体结构模型(教学设计) 七年级生物下册 (人教版2024)
- 2025《学前教育法》宣传月培训含讲稿
- 24 唐诗三首《石壕吏》公开课一等奖创新教学设计(表格式)
- 招聘社工考试试题及答案
- 护理三基三严培训课件
- 门窗安装人员合同协议
- 2025年体彩应聘考试试题及答案
评论
0/150
提交评论