学习情境1单片机控制LED彩灯的亮灭-项目3-1知识准备_第1页
学习情境1单片机控制LED彩灯的亮灭-项目3-1知识准备_第2页
学习情境1单片机控制LED彩灯的亮灭-项目3-1知识准备_第3页
学习情境1单片机控制LED彩灯的亮灭-项目3-1知识准备_第4页
学习情境1单片机控制LED彩灯的亮灭-项目3-1知识准备_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

项目-3使用数组实现LED灯的复杂闪烁效果1知识储备学习情境1-单片机控制LED灯的显示一、项目描述二、项目分析基于C语言的基本语法能够实现各种复杂的LED灯控制功能,例如移位元素以及数组等,就可以帮助LED灯实现各种漂亮的效果。该项目要求实现LED的复杂闪烁效果,包括:(1)使用数组存储P1口各引脚电平信号;(2)通过for循环依次读取数组中的每一个值;(3)实现:a)LED流水灯;b)全亮;c)偶数灯亮,奇数灯灭;D)奇数灯亮,偶数灯灭;从项目1到项目3,需要完成的任务功能渐趋复杂,需要同学们掌握的单片机开发软硬件知识也越来越多,尤其是对于C语言的编程要求变得更高。C语言是控制单片机完成复杂任务的核心。在该任务中,就需要我们采用C语言更加强大的语法来完成LED灯的复杂闪烁效果,这些语法包括C语言的移位运算、数组等。三、学习路线图引导问题1实现LED灯从LED1开始依次点亮要求LED灯从LED1开始依次点亮,即第一个灯亮一定的时间,然后第二个灯亮起(第一个灯不灭),然后第三个灯亮起(第一二两个灯不灭),以此类推移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。移位运算符分为左移和右移两种,均为双目运算符。C程序设计4-移位运算符将a这个数的各二进制位左移b位,要求b必须是非负整数,移动过程中,右边空出的位用0填补,高位左移溢出则舍弃该高位。例如:P1=0xFE,二进制位:P1<<1后结果为:11111100即,右边空出来的位补0,左边的舍弃。1.左移运算符格式:a<<b11111110将a这个数的各二进制位右移b位,要求b必须是非负整数,移到右端的低位被舍弃。其中,①对于无符号数,高位补0;②对于有符号数,如果采用算术移位,则空出部分用符号位填补,如果采用逻辑移位,则用0填补。例如:采用算数移位a=-5,其二进制位:11111111111111111111111111111011a>>3后的结果为:11111111111111111111111111111111即,-5为负数,它的符号位为1,因此左边填补三个符号位1,右边011依次被移出而舍弃。2.右移运算符格式:a>>b注意:只有有符号数右移才采用算术右移,否则其它情况都采用逻辑移位操作(逻辑左移或逻辑右移)。循环移位:在移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端,循环右移时,用从右边移出的位填充字的左侧。例如:a=01111011,循环左移2位正确结果:11101101在keilc51中,内部函数库INTRINS.H中,两个移位函数:_crol_与_cror_分别表示循环左移和循环右移。_crol_(m,n):将m循环左移n位,第一位的跑到最后一位上。_cror_(m,n):将m循环右移n位,最后一位的跑到第一位上。3.循环移位1.若a=0xDC,执行a<<3后,结果是多少?2.若a=0xDC,执行a>>3后,结果是多少?3.若a=0xDC,执行_crol_(a,3)后,结果是多少?4.若a=0xDC,执行_cror_(a,3)后,结果是多少?写出以下运算的结果(对一个得5分,错一个扣5分):引导问题2实现LED灯从LED8开始依次点亮要求LED灯从LED8开始依次点亮,即第8个灯亮一定的时间,然后第7个灯亮起(第8个灯不灭),然后第6个灯亮起(第8,7两个灯不灭),以此类推引导问题3从LED1开始,始终一个led点亮,并循环执行流水动作。分析(1)对单片机P1口赋初值:0xfe;(2)使用for循环执行8次,每循环一次点亮一个不同的LED灯;(3)为了更好的观察LED灯的亮灭,需要有延时程序;(4)左移后,需要将最右端自动赋值为1;(5)依次点亮后,需要重复上述情境。循环左移引导问题4从LED8开始,始终一个led点亮,并循环执行流水动作。分析小组讨论,共同完成将答案写到工作页上完成后展示循环右移引导问题5

温馨提示

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

评论

0/150

提交评论