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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机技术与应用 实验报告 实验名称:外部中断实验(急救车与交通灯) 班 级: 学 号: 姓 名: 吕琳涛 指导老师: 谷雨 2013年 5月 20日 实验要求 由以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。 2. 实验目的 1.学习外部中断技术的基本使用方法。 2.学习中断处理程序的编程方法。 3. 程序说明: 在本次实验中,我们可以确定外部中断的作用是用于有救护车行驶过来时对程序的进行的简单的控制。对于正常的红绿灯的亮灭我们可以参考第一个实验中流水灯的设计理念。综上所述我们这一次的实验就是流水灯与外部中断的结合。 通过对七种情况的罗列 1 0 0 1 0 1 1 0 南北绿,东西红 0 1 1 0 1 0 0 1 南北红,东西绿 1 0 0 1 1 1 1 1 只亮东西红 0 1 1 0 1 1 1 1 只亮南北红 0 0 0 0 0 1 1 0 南北黄,东西红 0 0 0 0 1 0 0 1 南北红,东西黄 0 0 0 0 1 1 1 1 全红 我们可以利用XBYTE[0xf200]这个函数对这几种情况进行读取与显示,在不同情况进行显示的过程中我们用以前的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; 在具体的实验代码编写过程中,我们会用到 EA=1;EX0=1;IT0=1;用于设定外部中断0为跳变沿触发方式,默认为电平触发方式。 interrupt 0函数是处理有救护车驶过时的情况。 至此,程序编写完成,放入软件中进行编译和下载。 上机调试说明 将程序编写成功后,我们就上机进行调试。 下载成功后,拨动k7这个拨动开关形成外部中断的信号,在单片机的实验板上我们可以清楚地看到随着时间灯南北东西的一对一对的红黄绿的交替闪烁。 然后以按键开光来表示救护车的通过,然后看见所有的灯都变成红色。至此实验仿真过程结束。 写出源程序清单及执行结果。 源程序: #include reg52.h #includeabsacc.h //可使用其中定义的宏来访问绝对地址 #include intrins.h #define uchar unsigned char· #define uint unsigned int void delay(uint xms) { unsigned int i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void main() { EA=1; EX0=1; IT0=1; //设定外部中断0为跳变沿触发方式,默认为电平触发方式 IP=0x01; //外部中断0设置为高优先级中断 XBYTE[0xf200]=0x0f; //单片机端口P1输出0xf200绝对物理地址,全红 delay(5000); //延时5s while(1) { XBYTE[0xf200]=0x96; //南北绿,东西红 delay(5000); //持续5s,之后为绿灯闪烁(绿转黄) XBYTE[0xf200]=0x9f; delay(1000); //闪烁频

文档评论(0)

rpv75l07 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档