单片机应用技术-基于51单片机的智能小车设计与开发 课件 项目5:智能小车动态车灯_第1页
单片机应用技术-基于51单片机的智能小车设计与开发 课件 项目5:智能小车动态车灯_第2页
单片机应用技术-基于51单片机的智能小车设计与开发 课件 项目5:智能小车动态车灯_第3页
单片机应用技术-基于51单片机的智能小车设计与开发 课件 项目5:智能小车动态车灯_第4页
单片机应用技术-基于51单片机的智能小车设计与开发 课件 项目5:智能小车动态车灯_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用技术APPLICATIONTECHNIQUESFORMICROCONTROLLER《微控制器应用技术》课程团队模块二:数字输入输出技术应用项目5:智能小车动态车灯项目5:智能小车动态车灯动态车灯原理动态灯的灯光效果是在控制系统的控制按照设定的顺序和时间来发亮和熄灭。思考:什么是动态灯?应用场合能做什么?商户为了吸引顾客注意力,门口悬挂各种彩灯;有的是为了增加节日的气氛,用彩灯进行装饰;有的是为了美观……..智能小车想在运行过程中增加8个LED灯作为氛围灯,要求8个LED灯分别以不同模式动态地反复亮起,以提升智能小车的科技感,请使用STC15W4K32S4完成相应的功能块设计。项目5:智能小车动态车灯stepstep软件程序硬件电路序号名称型号/参数数量Proteus软件中对应元件名1单片机最小系统板STC15W4K32S41STC15W4K32S42LED发光二极管黄色8LED-YELLOW3电阻510Ω8RES项目5:智能小车动态车灯动态车灯硬件电路设计项目5:智能小车动态车灯硬件设计和组装注意事项在硬件设计和组装过程中,有几个注意事项需要大家牢记焊接前用万用表检测LED极性(长脚为阳极,短脚为阴极)和导通性,测量限流电阻阻值是否为510Ω,有损坏或参数不符的要更换。检查元器件状态1安全与检测3焊接顺序2先焊限流电阻,再焊LED,避免先焊接的LED,被电阻焊接的高温损坏。焊接后用放大镜检查是否有虚焊、漏焊,通电前用万用表测5V电源对GND的阻值,需大于100kΩ,防止短路损坏器件。项目5:智能小车动态车灯软件编程的核心逻辑和方法1软件实现的核心逻辑基于STC15W4K32S4单片机的P7口,通过控制不同引脚的高低电平,配合延时函数,让8个LED按设定模式亮灭。2实现动态显示的编程方法主要有三种

——穷举法、数组法和移位法,我们分别来看每种方法的特点和具体实现。项目5:智能小车动态车灯穷举法P7.7P7.6P7.5P7.4P7.3P7.2P7.1P7.0P7.7P7.6P7.5P7.4P7.3P7.2P7.1P7.01111111011111101111110111111011111101111110111111011111101111111第一次0xFE第二次0xFD第三次0xFB第四次0xF7第五次0xEF第六次0xDF第七次0xBF第八次0x7F8个LED灯从左向右反复循环流水点亮项目5:智能小车动态车灯穷举法8个LED灯从左向右反复循环流水点亮项目5:智能小车动态车灯动态车灯软件功能实现数组的字节操作实现数组就是一组有序的、相同类型的数据集合。先定义,后使用数组类型数组名常量表达式必须用常量表达式来指定数组长度,不可以出现变量。常量表达式也可以省略。数组元素的下标从0开始计算,比如led[0],led[1],led[2]项目5:智能小车动态车灯移位运算符实现左移运算符“<<”右移运算符“>>”运算的结果是把二进制位左移若干位,高位移出去,低位全部补0。a=10111111;执行命令a<<=1后,a=01111110。运算的结果是把二进制位右移若干位,低位移出去,高位全部补0。a=10111111;执行命令a>>=1后,a=01011111。a<<=3?a=11111000a>>=3?a=00010111项目5:智能小车动态车灯移位运算符实现P7.7P7.6P7.5P7.4P7.3P7.2P7.1P7.01111111011111101111110111111011111101111110111111011111101111111P7.7P7.6P7.5P7.4P7.3P7.2P7.1P7.0111111101111110011111101led=0xfeP7=ledled<<=1led=led+1P7=led项目5:智能小车动态车灯移位运算符实现项目5:智能小车动态车灯移位函数实现循环左移函数“_crol_()”循环右移函数“_cror_()”运算的结果是把二进制位左移若干位,高位移出去的部分补到低位。a=10111111;执行命令a=_crol_(a,1)后,a=01111111。运算的结果是把二进制位右移若干位,低位移出去的部分补到高位。a=10111111;执行命令a=_cror_(a,1)后,a=11011111。a=_crol_(a,3)?a=11111101a=_cror_(a,3)?a=11110111循环移位函数是在头文件intrins.h中定义的,因此源程序中要使用预处理语句“#include<intrins.h>”。项目5:智能小车动态车灯移位函数实现P7.7P7.6P7.5P7.4P7.3P7.2P7.1P7.01111111011111101111110111111011111101111110111111011111101111111项目5:智能小车动态车灯移位函数实现项目5:智能小车动态车灯巩固练习8个LED灯从两边向中间依次循环点亮P7.7P7.6P7.5P7.4P7.3P7.2P7.1P7.001111110101111011101101111100111a=0x10(对应P7.4)b=0x08(对应P7.3)P7=~(a+b)(按位取反是因为低电平点亮LED)每次让

温馨提示

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

最新文档

评论

0/150

提交评论