单片机课程设计模拟交通灯_第1页
单片机课程设计模拟交通灯_第2页
单片机课程设计模拟交通灯_第3页
单片机课程设计模拟交通灯_第4页
单片机课程设计模拟交通灯_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 无线单片机及应用课程设计报告设计题目: 模拟交通灯 专 业: 组 别: 模拟交通灯组 学生姓名: 学 号: 起止日期: 指导教师: 计算机工程学院设计任务书课题名称模拟交通灯设计目的(1)使学生增进对MCS51单片机电路的感性认识,加深对理论方面的理解。(2)使学生掌握软硬件的有关知识等。(3)使学生了解和掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。(4)通过简单课题的设计练习,可使学生了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。实验环境(1)通过Proteus 7进行电路仿真,Kiel进行烧录。(2)操作系统Windows 2

2、007(3)硬件电路板、单片机、元器件任务要求通过单片机的P1、P3口按位输出0或1,控制红、绿、黄三色发光二极管按照交通灯的规律亮或者灭。编写程序,调试运行,使发光二极管按照交通灯的规律亮或者灭。工作进度计划序号起止日期工 作 内 容1明确要选择的课题,并查阅相关资料2电路分析,并画出电路硬件原理图(Proteus 7),编写程序3焊接电路,进行调试,撰写课程设计报告。4提交软件代码、硬件电路成果和仿真电路,参加答辩。指导教师(签章): 年 月 日 目 录1. 内容提要12. 课题意义12.1. 课题背景12.2. 主要功能简述13. 硬件设计13.1. 相关元器件介绍13.1.1. STC

3、89C52RC单片机23.1.2. 晶振33.2. 硬件仿真电路图43.3. 实物图64. 软件设计64.1. 主程序流程图64.2. 运行程流程图74.3. 源程序代码85. 课程总结126. 参考文献131. 内容提要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。这井然秩序靠的是交通信号灯的自动变灯系统。交通信号灯控制方式很多。本次课程设计采用STC89C52RC单片机实现了通过单片机的P1、P3口按位输出0或1,控制红、绿、黄三色发光二极管按照交通灯的规律亮或者灭并通过数码管的显示亮灯剩余时间的倒计时。 2. 课题意义2.1. 课题背景经济的快速发展导致了汽车数量的增加,也加

4、大了道路顺畅通行的压力,拥堵、事故、污染纷至沓来,于是交通灯应运而生,通过红绿黄三盏看似简单的灯却在人们遵守的同时给人们带来了便利。在缓解了交通堵塞的同时,也减少了交通事故的发生。开发出适合实际路况的交通灯便是此次选课的目的。2.2. 主要功能简述1) 初始东西方向为绿灯亮,南北为红灯亮,东西方向通车。2) 数码管倒计时35s后,东西路口绿灯熄灭,黄灯亮起。3) 黄灯熄灭后,东西路口红灯亮同时南北路口绿灯亮,南北方向开始通车。4) 再次倒计时35s后,南北方向绿灯灭,黄灯亮,然后又切换成东西方向通车,如此反复。3. 硬件设计 3.1. 相关元器件介绍元器件名称规格数量单片机STC89C52RC

5、1晶振11.0592MHZ1电容33pF2数码管2位10脚共阳极2排阻10K1发光二极管红、绿、黄12电阻200R12USB接口1导线若干表1 相关元器件3.1.1. STC89C52RC单片机1) 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051。2) 用户应用程序空间为8K字节。3) 片上集成512 字节RAM。4) 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。5) ISP(在系统可编程)/IAP(在

6、应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片。6) 共3 个16 位定时器/计数器,即定时器T0、T1、T2。7) 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒。8) PDIP封装。图1 STC89C52RC单片机引脚图3.1.2. 晶振89C52芯片中的高增益反相放大器,其输入端引脚XTAL1,输入端引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(33pF)。石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和

7、振荡所需的相移条件,从而构成一个稳定的自激振荡器。晶振频率就是晶体振荡器的振荡频率,也就是振荡电路的脉冲频率,是单片机的一项重要性能指标,晶振频率越高系统的时钟频率就越高,单片机的运行速度也越快。图2 振荡电路3.2. 硬件仿真电路图图3 SN绿灯WE红灯时刻图4 SN黄灯WE红灯时刻图5 SN红灯WE绿灯图6 SN红灯WE黄灯3.3. 实物图图7 实物正面4. 软件设计4.1. 主程序流程图4.2. 运行程流程图4.3. 源程序代码#include<reg52.h>#define uchar unsigned charuchar code a10=0xC0,0xF9,0xA4,0

8、xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/数字0,1,2,3,4,5,6,7,8,9共阳极uchar code b4=0x01,0x02,0x04,0x08;/P2口高电平有效w2,w1,w4,w3uchar code c4=0x6A,0x6C,0x56,0x36; /P12绿P14红,P11黄P14红,P13红P15绿,P13红P16黄 char SN=35,WE=40; /SN表示南北方向绿灯35秒, WE表示东西方向红灯40秒,char SN_G=35,WE_G=35,Y=5; /SN_G表示南北方向的绿灯 WE_G表示东西方向的绿灯 Y=5黄灯亮5秒ucha

9、r i,k=0,count=0;void delay(uchar t);void light();void led();/初始化void init(void) TMOD=0X01; /定时器0工作模式1,为16位计数器TH0=(65536-46080)/256; /晶振为11.0592MHZTL0=(65536-46080)%256; /用时50msET0=1;/允许T0中断TR0=1;/启动计数器EA=1;/总中断/定时函数void time1(void) interrupt 1 TH0=0X3C;/15536D=3CB0H 定时50ms,重新装置 TL0=0XB0; count+; if(

10、count>=20) /定时1秒,20*50ms=1S SN-; /SN表示南北方向绿灯减一秒,WE-; / WE表示东西方向红灯减一秒,count=0;if(SN=0|WE=0)/当南北方向或者东西方向需要变灯 k+; if(k>3) /k每加一次,代表需要更改状态了 k=0; switch(k) case 0: SN=SN_G,WE=SN_G+Y;break;/东西方向绿灯时间给SN,即35S,南北SN_G+Y即WE红灯时间40S; case 1: SN=Y,WE=Y;break; /同时显示5s。35+5=40,一边显示黄灯,一边倒计时 case 2: SN=WE_G+Y,W

11、E=WE_G;break;/和Case 0对应,不过另一个方向40s,一个方向35秒 case 3: SN=Y,WE=Y;break; /同时显示5s,红灯方向是倒计时的5s,绿灯方向是5S黄灯 /交通灯函数void light() P1=ck;if(P1=c1&&count=0) /黄,红 TH1=(65536-46080)/256; TL1=(65536-46080)%256; P1=0X6E; /P14红灯继续亮else /红,黄if(P1=c3&&count=0) TH1=(65536-46080)/256; TL1=(65536-46080)%256;

12、 P1=0X76;/P13红灯继续亮/数码管函数void led() P2=b0,P0=aSN/10; /十位 w1 delay(5); P2=b1,P0=aSN%10;/个位w2 delay(5); P2=b2,P0=aWE/10; /w3 delay(5); P2=b3,P0=aWE%10; /w4 delay(5);void main(void) init();for(;) light();/交通灯函数 led();/数码管函数/延时函数void delay(uchar t) uchar i; for(t;t>0;t-) for(i=2000;i>0;i-) 5. 课程总结本

13、次的课程设计为期有一个星期,却在忙碌之中眨眼而过,从一开始16号上午的选定课题之后就开始了忙碌的查找资料,一开始也想尝试做最有挑战性的无线温度采集和接受,但是后来发现和自己知识匮乏的根本做不了这个,于是考虑了一下便选择了第一个课题交通灯,16号下午便开始尝试着参考网络相关资料汇出模拟的仿真电路,由于之前有protel 99SE的学习,仿真电路的绘制并没有多大问题,不过这里却发生了一段小插曲。一开始绘制仿真电路的时候数码管的选择是共阴极,相应的程序编写的时候也是选择了共阴极的编写方法,第二天领到数码管时突然发现数码管型号为F526 1BH,为共阳极数码管,没有想要的共阴极只好对程序进行修改,但由

14、于对知识的不熟悉,改了很久在仿真的电路上也得不到想要的结果,但是晚上回到宿舍熄灯之后突然发现想要的数字正好是不亮的部分,于是只能默默的将用于显示数字的数组a 取反,最终在睡觉前得到了自己想要的结果。第二天便有了思路,发现将a 取反或者将P2口置于高电平有效都能实现共阳极数码管的正常显示。这次的实训还是存在遗憾的,一是数码管有一位不亮,影响了整体的效果,再者便是数码管亮度非常的暗几乎肉眼不可见。整个实训过程五味陈杂,不小心被焊锡烫到手指十指连心的疼;一遍遍重新连接电路却还是得不到想要的结果的沮丧;重复调试闭上眼睛都是LED在亮的无奈;最终电路大部分功能都能实现的欣喜。拿着自己焊接的电路,看着从一

15、块光秃秃的板子到接满线路并且能够按照自己想要的在运行就像看着一个小孩子慢慢长大成才,一股成就感油然而生,这大概就是的知识与实践结合的魅力吧。在实训中,以前很多并不是很了解的知识都得到了巩固,如为了数码管变亮,尝试这接了锁存器,虽然最后并没有用到,但是对锁存器的相关知识却是有了更进一步的了解。在动手操作中理解课堂所学的知识并体会实践的快乐,这大概就是我实训最大的收获。6. 参考文献1 百度百科. STC89C52M/OL. 2014-6-20. 2 李广弟. 单片机基础M. 北京航空航天大学出版社, 2007.3 郭天祥. 51单片机C语言教程M. 电子工业出版社, 2008.4 贵州民族学院开放实验室. 模拟交通灯设计报告R/OL.指导教师评语学号1121316137姓名臧佳丽班级物联网1121选题名称模拟交通灯序号评价内容权重(%)得分1考勤记录、学习

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论