_单片机汽车灯光控制器.docVIP

  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文档。上传文档
查看更多
____ 专业 _单片机原理与应用系统设计 实验报告 实验者 学号 班级 组别 同组者___________________ 实验评阅教师签名__________________ 实验编号________ 实验名称 ____单片机汽车灯光控制器 实验目的 进一步熟悉单片机I/O口的使用。 2、了解一个简单具体的单片机应用系统的软硬件设计。 二、实验相关知识 汽车灯光作为汽车的专用语言,直接反应了汽车的行驶方向,驾驶人的动机和意图。因此,为保证行车安全,必须保证车灯的齐全有效和正确使用。 汽车灯光种类非常多,包括:前照灯(包括远光、近光)、前位灯、后位灯、牌照灯、仪表灯、转向灯、制动灯、危险报警灯、倒车灯、前雾灯等。驾驶员通过按钮或开关对这些灯光进行控制。实际上这些按钮或开关都是接在汽车的控制器的输入端,当控制器的输入端输入端检测到按钮或开关有变化时,就输出信号继电器,打开相应的汽车灯光。 80C51系列单片机有4个8位的双向I/O口(P0-P3),完全可以胜任汽车灯光控制器。 实验内容 1、打开ISIS 7 Professional,参照“二;实验电路”设计仿真电路原理图。 2、编写程序实现: (1)分别实现控制左转向灯、右转向灯、倒车灯和故障灯。 (2)在打开倒车灯的同时,可以实现控制左转向灯、右转向灯。 (3)在打开倒车灯和故障灯的同时,实现控制左转向灯、右转向灯。 要求(1)、(2)、(3)倒车灯打开后常亮,其他灯按一定时间间隔闪烁。 实验连线 L1-L4连接P1.0-P1.3, P3.0-L, P3.1-R, P3.2-D , P3.3-U, GND-GND +5V连接+5V 程序 //硬件L1-L4分别接P10-P13,P30接L,P31接R,P32接D,P33接U,+5v接+5v,GND接GND。 #include REG52.H//片内寄存器定义 #include stdio.h//输入/输出函数库 #include intrins.h//内部函数库 /****************LED Demo**************** 描述:用单片机I/O口实现汽车灯光控制器 功能:分别实现控制左转向灯、右转向灯、倒车灯和故障灯 作者 日期:2013年5月25日 版次:Keil uVision4 **************** End ****************/ sbit leftSwitch=P3^0;//左转向灯开关 sbit rightSwitch=P3^1;//右转向灯开关 sbit backSwitch=P3^2;//倒车灯开关 sbit errSwitch=P3^3;//故障灯开关 sbit leftLed=P1^0;//左转向灯 sbit rightLed=P1^1;//右转向灯 sbit backLed=P1^2;//倒车灯 sbit errLed=P1^3;//故障灯 #define TURN_ON_leftLed leftLed=0 #define TURN_OFF_leftLed leftLed=1 #define TURN_ON_rightLed rightLed=0 #define TURN_OFF_rightLed rightLed=1 #define TURN_ON_backLed backLed=0 #define TURN_OFF_backLed backLed=1 #define TURN_ON_errLed errLed=0 #define TURN_OFF_errLed errLed=1 void time(unsigned int ucMs);//延时单位:ms void main (void) { while(1){ while (!leftSwitch){//打开左转向灯 TURN_ON_leftLed;time(200); TURN_OFF_leftLed;time(200); } while (!rightSwitch){//打开右转向灯 TURN_ON_rightLed;time(200); TURN_OFF_rightLed;time(200); } while (!backSwitch){//打开倒车灯 TURN_ON_backLed;time(200); TURN_OFF_backLed;time(200); } wh

文档评论(0)

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

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

1亿VIP精品文档

相关文档