无人机控制器应用技术 2.2.5 编程实现 2.2.5 编程实现(流水广告灯).pptVIP

  • 11
  • 0
  • 约1.09千字
  • 约 9页
  • 2020-09-16 发布于北京
  • 举报

无人机控制器应用技术 2.2.5 编程实现 2.2.5 编程实现(流水广告灯).ppt

Signature Date 无人机应用技术专业教学资源库 无人机控制器应用技术 单片机如何控制LED的其他效果 举例:使用使用C语言循环语句,使单片机驱动8个发光二极管模拟广告流水灯效果,实现单灯流水显示,每一个灯亮500ms 。 while(1) { P1=0xfe; delay(); // 1111 1110,字节操作,位操作 P1=0xfd; delay(); // 1111 1101 P1=0xfb; delay(); // 1111 1011 P1=0xf7; delay(); // 1111 0111 P1=0xef; delay(); // 1110 1111 P1=0xdf; delay(); // 1101 1111 P1=0xbf; delay(); // 1011 1111 P1=0x7f; delay(); // 0111 1111 } 举例:单灯流水左移,每一个灯亮500ms 方法1、顺序结构 D8 D7 D6 D5 D4 D3 D2 D1 #include regx52.h void Delay() { unsigned char i,j,k; for(i=0;i=100;i++) for(j=0;j=20;j++) for(k=0;k=75;k++) ; } void main() { unsigned char i; while(1) { P1=0xfe; Delay(); for(i=0;i7;i++) { P1=(P11)+1; Delay(); } } } P1左移1位显示 开始 延时0.5s 方法2、循环左移 Keil C自带有一个位左移和位右移运算符(和),其功能是将一个数的二进制代码全部同时左移或者右移若干位,移出的数据丢失,空白的地方补“0”。 位左移运算格式为an,表示把a的值左移n位,高位丢失n位,低位自动补上n个0;例如P1=(P12);表示把P1的值左移2位,右边补上2个“0”,然后再赋给P1,如果P1原来的值为0x5c,左移2位后P1=0x70。 KEIL C51相关知识: 课堂训练: 1、编写程序使P1口所接所有发光二极管实现两个相邻的发光二极管双灯流水,每次亮0.2s。 2、编写程序使8个发光管演示出开幕式、闭幕式效果。 3、用Keil C自带有位左移和位右移运算符(和)实现多种流水灯效果。 硬件电路设计 。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档