AVR单片机设计-自制救护车报警鸣笛系统.docVIP

AVR单片机设计-自制救护车报警鸣笛系统.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR单片机程序设计 模拟救护车 学 院: 设计人: 班 级: 2011.12.10. ZNAVR单片机接口实验 ------自制救护车报警鸣笛系统 一.实验目的 利用单片机的IO口,通过3*3矩阵键盘来控制蜂鸣器与LED灯制作出救护车的报警鸣笛系统。可以使得救护车在各种时间段以及各种复杂天气(雾、雨、雪)中行驶时,通过该系统来使得车辆从远方就能分辨出该救护车的状态,并作出相应的动作。 该系统的两种状态分别是: (1)红十字灯长亮----一般状态,作为救护车标志。 (2)红十字灯闪烁并伴有鸣笛------紧急状态,汽车需要回避。 当救护车行驶时可以开启状态1,如遇突发状况,可迅速切换到状态2。 二.实验设备及器件 IBM PC机 1台 ZNAVR-I硬件试验平台 1台 并口下载器 1个 三.实验内容 为达到实验目的所说的效果,需要ZNAVR-I硬件试验平台上三种模块来进行设计。 蜂鸣器: 需要用2*5排线连接P4和P13端口,当PD.4为低电平时,蜂鸣器鸣叫;当PD.4为高电平时,蜂鸣器停止鸣叫。其原理图为: (其中R96,Q15和C32构成控制电路) 设计时需要对端口D中的引脚4进行设置。 LED灯设置: 需要用2*5排线连接P11和P15端口,将单片机与24个LED连接起来。其电路原理图为: 在该电路图中,LED8-LED31为3*8LED;矩阵R45-R52,R63-R70和R77-R84为相应LED的限流电阻;U13、U15和U17为3路串行--并行转换芯片74HC595;C23、C24和C29为去耦合电容。 设计时需要在智能开发环境里选择“工程管理—基本设置—HC595_165”,并对它进行设置。 键盘模块: 该模块是该设计的主要模块,我们将通过它来控制蜂鸣器模块和LED灯模块已达到想要的效果。下面将该模块进行详细且主要的说明。 首先是该模块的电路原理图: 在该电路图中,S1、S2、S3为轻触键盘;R97-R99为行上拉电阻;D11为防短路二极管;R1、R2、R3为输出;L1为输入。主控单片机可以通过R1、R2、R3发出一个电平,再由L1反馈给主控单片机一个电平,从而达到检测每个按键的状态。 当R1、R2、R3为高电平时,无论按键是否按下,L1均给主控单片机输入高电平,未能达到检测按键状态的效果。若R1、R2、R3为低电平时,按键未操作时,L1均给主控单片机输入高电平,当按键按下的时候,L1均给单片机输入低电平,从而达到主控单片机检测每个按键的状态。但又因为L1输入三个按键的状态,所以R1、R2、R3不能同时为低电平。当R1、R2、R3同时为低电平时,S1、S2、S3三者中任何一个按下,L1都会给主控单片机输入低电平,而此时主控单片机只可以检测到第一行有按键按下,但是具体是哪个按键按下,却检测不出来。所以,在同一时刻R1、R2、R3三者中只能有一个为低电平。单片机快速循环控制R1、R2、R3的高低电平来检测每个按键的状态。 其次是具体设置情况: 需要用2*5排线连接P11和P15端口。 在智能开发环境中,选择“工程管理—端口设置—端口B”,对引脚0、引脚1、引脚3、引脚5进行设置。 在智能开发环境中,选择“工程管理—基本设置—HC595_165”,并对它进行设置。 在智能开发环境中,选择“工程管理—全局函数设置--OpenLED” 并对它进行设置。 四.程序设计及分析 (1)程序展示: 为将以上三种模块串联起来,需要对程序进行如下设计: void Main_Logic(void) { /* *************************************************************** 定义局部变量 *************************************************************** */ uint8 i,j; /* *************************************************************** 初始化输入管脚 *************************************************************** */ /* ***

文档评论(0)

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

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

1亿VIP精品文档

相关文档