单片机实验三(急救车与交通灯).doc

单片机实验三(急救车与交通灯).doc

ID:51700549

大小:106.50 KB

页数:7页

时间:2020-03-15

单片机实验三(急救车与交通灯).doc_第1页
单片机实验三(急救车与交通灯).doc_第2页
单片机实验三(急救车与交通灯).doc_第3页
单片机实验三(急救车与交通灯).doc_第4页
单片机实验三(急救车与交通灯).doc_第5页
资源描述:

《单片机实验三(急救车与交通灯).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机技术与应用实验报告实验名称:外部中断实验(急救车与交通灯)班级:11062811学号:11061118姓名:吕琳涛指导老师:谷雨2013年5月20日1.实验要求由以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。2.实验目的1.学习外部中断技术的基本使用方法。2.学习中断处理程序的编程

2、方法。3.程序说明:在本次实验中,我们可以确定外部中断的作用是用于有救护车行驶过来时对程序的进行的简单的控制。对于正常的红绿灯的亮灭我们可以参考第一个实验中流水灯的设计理念。综上所述我们这一次的实验就是流水灯与外部中断的结合。通过对七种情况的罗列10010110南北绿,东西红01101001南北红,东西绿10011111只亮东西红01101111只亮南北红00000110南北黄,东西红00001001南北红,东西黄00001111全红我们可以利用XBYTE[0xf200]这个函数对这几种情况进行读取与显示,在不同情

3、况进行显示的过程中我们用以前的delay函数进行时间上的规划从而达到依次显示的效果。0x0f全红XBYTE[0xf200]=0x0f;0x96南北绿,东西红XBYTE[0xf200]=0x96;0x9f只亮东西红XBYTE[0xf200]=0x9f;0x06南北黄,东西红XBYTE[0xf200]=0x06;0x69南北红,东西绿XBYTE[0xf200]=0x69;0x6f只亮南北红XBYTE[0xf200]=0x6f;0x09南北红,东西黄XBYTE[0xf200]=0x09;在具体的实验代码编写过程中,我们会

4、用到EA=1;EX0=1;IT0=1;用于设定外部中断0为跳变沿触发方式,默认为电平触发方式。interrupt0函数是处理有救护车驶过时的情况。至此,程序编写完成,放入软件中进行编译和下载。1.上机调试说明将程序编写成功后,我们就上机进行调试。下载成功后,拨动k7这个拨动开关形成外部中断的信号,在单片机的实验板上我们可以清楚地看到随着时间灯南北东西的一对一对的红黄绿的交替闪烁。然后以按键开光来表示救护车的通过,然后看见所有的灯都变成红色。至此实验仿真过程结束。2.写出源程序清单及执行结果。源程序:#include

5、#include//可使用其中定义的宏来访问绝对地址#include#defineucharunsignedchar·#defineuintunsignedintvoiddelay(uintxms){unsignedinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voidmain(){EA=1;EX0=1;IT0=1;//设定外部中断0为跳变沿触发方式,默认为电平触发方式IP=0x01;//外部中断0设置为高优先级

6、中断XBYTE[0xf200]=0x0f;//单片机端口P1输出0xf200绝对物理地址,全红delay(5000);//延时5swhile(1){XBYTE[0xf200]=0x96;//南北绿,东西红delay(5000);//持续5s,之后为绿灯闪烁(绿转黄)XBYTE[0xf200]=0x9f;delay(1000);//闪烁频率为1sXBYTE[0xf200]=0x96;delay(1000);XBYTE[0xf200]=0x9f;delay(1000);XBYTE[0xf200]=0x96;delay(

7、1000);XBYTE[0xf200]=0x9f;delay(1000);XBYTE[0xf200]=0x06;//黄灯持续5sdelay(5000);XBYTE[0xf200]=0x69;//南北红,东西绿,持续5sdelay(5000);XBYTE[0xf200]=0x6f;delay(1000);//闪烁频率为1sXBYTE[0xf200]=0x69;delay(1000);XBYTE[0xf200]=0x6f;delay(1000);XBYTE[0xf200]=0x69;delay(1000);XBYTE[

8、0xf200]=0x6f;delay(1000);XBYTE[0xf200]=0x09;delay(5000);}}voidexter0()interrupt0//中断服务程序,中断为外部中断0{XBYTE[0xf200]=0x0f;delay(10000);//全红10s,急救车通过}1.心得体会本次实验中我们做的是一个交通灯的控制与救护车通过时的一个中断

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。