单片机交通灯研设计方案

上传人:夏** 文档编号:505638643 上传时间:2023-08-29 格式:DOCX 页数:20 大小:258.17KB
返回 下载 相关 举报
单片机交通灯研设计方案_第1页
第1页 / 共20页
单片机交通灯研设计方案_第2页
第2页 / 共20页
单片机交通灯研设计方案_第3页
第3页 / 共20页
单片机交通灯研设计方案_第4页
第4页 / 共20页
单片机交通灯研设计方案_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《单片机交通灯研设计方案》由会员分享,可在线阅读,更多相关《单片机交通灯研设计方案(20页珍藏版)》请在金锄头文库上搜索。

1、测控技术与仪器专业课程设计报告姓名:李红兵学号:200810504013专业班级:2008 级测控技术与仪器题目:基于单片机原理的交通信号灯设计攀枝花学院电气信息工程学院二一一年七月- 1 -目录一、设计目的2二、设计任务和要求2三、设计原理分析2四、硬件资源及其分配3五硬件图6六、程序框图7七、程序8: 八、调试运行13九、仿真截图13十、设计心得体会15- 2 -一、设计目的1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。2、通过交通信号灯控制系统的设计,掌握定时 /计数器及中断的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。

2、二、设计任务和要求任务:设计一个能够控制十二盏交通信号灯的模拟系统要求: 利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED 灯显示倒计时间。 1、东西绿灯亮,南北红灯亮2、黄灯亮3、东西红灯亮,南北绿灯亮三、设计原理分析人行道人人行行道道人行道1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态 3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态 0。中间可通过中断按钮产生中断,跳入中断程序执行中

3、断。列出交通信号灯的状态表如下:(其中, 1 代表灯亮, 0 代表灯灭)状态北西南东绿 黄 红绿 黄 红绿 黄 红绿 黄 红01230011000011000111100111101000011000011100111100112、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了, 因此,采用单片机内部的- 3 -I/O 口上的 P1 口中的 6 个引脚即可来控制6 个信号灯。3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。4、通过延时时间送显,可以

4、在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。5通过脉冲中断编写中断程序,可实现中断。四、硬件资源及其分配主要用到的硬件: P1 口、 P3 口、 LED 数码管、 LED 发光二级管、定时器 T0 硬件分配:1、P1 口:做为输出口, 与发光二极管相连接, 其状态及对应的十六进制值如下:方向无南北东西十 六 进说 明状态P1.7 P1.6P1.5 P1.4 P1.3P1.2 P1.1 P1.0制值00010000122H东西绿南北红10011001133H东西绿黄全亮2000011000CH东西红南北绿3000111101EH东西红黄全亮2、P3 口中的 P3.

5、0(RXD)和 P3.1(TXD) 作特殊用途 ,数据 (倒计时时间 )从 RXD 端输入 ,TXD 端输出。3、LED 发光二极管用来显示灯亮情况。4、定时 /计数器 T0 用来产生 1 秒的定时5Led 显示器十位与p0 相连接,个位与 p2 连接用来显示时间,下面是LED 显示接口及原理。1 LED 是发光二极管的英文缩写, LED 显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的LED 显示器由 7 个发光二极管组成,其排列形状如图所示。此外,显示器中还有一个圆点型发光二极管以dp 表示,用于小数点表示。 通过七个发光二极管亮暗的不同组合, 可以显示多种数字、 字母以

6、及其它符号。 LED 显示中的发光二极管共有两种连接方法 :2 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接 +5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。3 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮, 而输入低电平的则不亮。4 控制数码管驱动级的控制电路有静态式和动态式两类:5 静态驱动:它是指每个数码管都要用一个译码器译码驱动。6 动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。- 4 -

7、7 采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作, 就是所谓的分时显示, 显示所需要的硬件电路可分时复用。共阴极共阳极符号与引脚如表 1 为共阳极与共阴极的代码表- 5 -表 1 十六进制数字形代码表字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH- 6 -五硬件图- 7 -六、程序框图1、主程序框图2. 中断服务程

8、序框图中断响应设置中断返回地址返回七、程序- 8 -#include#define port1 P0#define port2 P2sbit green1=P10;sbit red1=P11;sbit yellow1=P12;sbit green2=P13;sbit red2=P14;sbit yellow2=P15;unsigned char flag=0;unsigned char mun=30;unsigned char codetab=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7 F,0x6F;void init_timer0(void)TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;TR0=1;- 9 -void display(unsigned char x)unsigned char m,n;m=x/10;n=x%10;port1=tabm;port2=tabn;void init(void)P1=0x00;init_timer0();void main()init();while(1) dodisplay(mun);green1=1;red1=0;-10-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿/致辞

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