单片机实践红绿灯解析

上传人:我** 文档编号:114650271 上传时间:2019-11-12 格式:DOC 页数:19 大小:2.97MB
返回 下载 相关 举报
单片机实践红绿灯解析_第1页
第1页 / 共19页
单片机实践红绿灯解析_第2页
第2页 / 共19页
单片机实践红绿灯解析_第3页
第3页 / 共19页
单片机实践红绿灯解析_第4页
第4页 / 共19页
单片机实践红绿灯解析_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机实践红绿灯解析》由会员分享,可在线阅读,更多相关《单片机实践红绿灯解析(19页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计目录1 课题简介. 31.1基本功能 . 31.2系统设计 . 3(1) 系统方案3(2) 系统硬件41.3 预期效果.42 电路设计 .42.1 硬件器件 42.2 proteus仿真 . 42.3 元件清单 . 53 程序设计 . 63.1流程图 .6(1)主程序流程图.6(2)中断程序流程图.63.2程序清单 8 3.3.1 主程序 . 8 3.3.2 定时中断程序 .84系统调试 .11 4.1 硬件调试 .11 (1) 静态检查 11 (2)通电检查 .114.2 软件调试.11(1) Proteus 调试 .11(2) 硬件调试 .11(3) 实验结果 12总结 15

2、 附录 . 16附录1 定时器控制的交通指示灯的元件清单 .16附录2 定时器控制的交通指示灯的Proteus仿真原理图16附录3定时器控制的交通指示灯的C语言程序 17附录 4 定时器控制的交通指示灯的实物图. 20定时器控制交通指示灯1 课题简介1.1 基本功能本课题的主要任务是设计采用单片机控制的交通指示灯,要求使用定时器完成交通指示灯的设计,这里采用定时器0的方式一来完成定时操作,交通指示灯的具体动作要求如下:东西向绿灯亮5秒后,黄灯闪烁,闪烁5次亮红灯,红灯亮后,南北向由红灯变成绿灯,5秒后南北向黄灯闪烁,闪烁5次后亮红灯,东西向绿灯亮,如此往复。1.2 系统设计(1)系统方案 采用

3、40脚,片内带8kB Flash ROM 的STC89C52单片机作为控制核心,信号灯模块接P0口,按以上系统构架设计,单片机端口资源刚好满足要求。设计框图如图1所示。图1 定时器控制交通指示灯系统结构图STC89C52复位电路XTAL1XTAL2时钟电路交通信号灯电路P0RST存储器选择电路电源(2)系统硬件基于单片机的定时器控制交通指示灯系统的电路原理图如图3所示。系统由时钟电路、复位电路、存储器选择电路、电源和交通信号灯电路五部分组成。1.3 预期效果12个LED灯与P0口连接,每两个相同颜色的LED灯接一个P0端口,总共用到6个端口。当接通电源时,12个发光二极管中东西向绿色LED灯亮

4、5秒后,黄色的LED灯闪烁,闪烁5次亮红红色LED灯,红色LED灯亮后,南北向红色LED灯灭,绿色LED灯亮,5秒后南北向黄色LED灯闪烁,闪烁5次后亮红色LED灯,东西向绿色LED灯亮,如此往复。2 电路设计2.1 硬件器件 (1). STC89C52单片机STC89系列单片机是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。 a. 主电源引脚(2根)VCC(Pin40):

5、电源输入,接5V电源GND(Pin20):接地线b.外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端c.控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号。PSEN(Pin29):外部存储器读选通信号。EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。d.可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口

6、,每个口有8位(8根引脚),共32根。*P0口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7 *STC89C52RC的管脚图(图2.1)如下图2 STC89C52引脚图:2.2 proteus仿真 proteus原理及仿真电路见附录2。2.3 元件清单元件型号原件数量STC89C52RC110K电阻2470电阻1四脚轻触开关1普通电容30uf2电解

7、电容10uf2111.0592MHZ晶振1红色发光二极管4黄色发光二极管4绿色发光二极管4开关电源1插头1210电阻排1导线若干3 程序设计3.1流程图开始设置T0为模式1允许定时器T0溢出时提出中断请求启动定时器0等待定时中断 主程序中断程序设置计数初值操作类型=1?开始Y东西向绿灯亮,南北向红灯亮延时倍数=100?Y延时倍数清零,操作类型转换为2N操作类型=2?Y东西向黄灯闪烁,绿灯关闭闪烁次数=10?Y闪烁次数清零,操作类型转换为3N操作类型=3?Y东西向红灯亮,南北向绿灯亮延时倍数=100?Y延时倍数清零,操作类型转换为4N延时倍数+1N闪烁次数+1延时倍数+1NN闪烁次数清零,操作类

8、型转换为1Y闪烁次数=10?Y操作类型=4?N闪烁次数+1N南北黄灯闪烁,绿灯关闭3.2程序清单(1)主程序:void main()TMOD=0x01;IE=0x82;TR0=1;while(1);(2)定时器中断程序:void t0_int ()interrupt 1TH0=-50000/256;TL0=-50000%256;switch (operation_type)case 1:/ 东西向绿灯亮,南北向红灯亮red_a=0;red_b=1;yellow_a=0;yellow_b=0;green_a=1;green_b=0;if(+time_count !=100)return;time

9、_count=0;operation_type=2;break;case 2:/ 东西向黄灯闪烁,绿灯关闭if(+time_count !=8)return;time_count=0;yellow_a=!yellow_a;green_a=0;if (+flash_count!=10)return;flash_count=0;operation_type=3;break;case 3:/ 东西向红灯亮,南北向绿灯亮red_a=1;red_b=0;yellow_a=0;yellow_b=0;green_a=0;green_b=1;if(+time_count !=100)return;time_c

10、ount=0;operation_type=4;break;case 4:/ 南北黄灯闪烁,绿灯关闭if(+time_count !=8)return;time_count=0;yellow_b=!yellow_b;green_b=0;if (+flash_count!=10)return;flash_count=0;operation_type=1;break;4 系统调试 4.1 硬件调试(1)静态检查根据硬件电路图核对了元器件的型号、极性,安装是否正确,检查硬件电路连线是否与电路原理图一致,检查电路元器件是否都已经连接好,用万用表一一测试。(2)通电检查先调试电源部分,整个电路只需要+5V的电压,将插头插入插座通过开关电源取+5V电。再用示波器检测单片机的复位和晶振电路是否有复位信号和振荡信号。 4.2 软件调试(1) Proteus仿真图见附录 2在仿真调试过程中,曾经出现复位电路无法正常工作的情况,最后发现时由于接地没有接好导致。(2) 硬件调试用Proteus仿真成功后,将设计程序烧写到STC89C52中去,通电后发现交通灯没有一个是亮的,于是我再次检查电路,最后发现是少接了一个电源,在接上那个线以后,我的单片机就能够正常工作了。说明焊接电路的时候细心是很关键的。调试结果:实物连线图(正面)实物连线图(反面)结果验证课

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

当前位置:首页 > 高等教育 > 大学课件

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