51单片机做流水灯编程:先循环一遍流水灯,然后熄灭后蜂鸣器响三下停止


下载后只包含 1 个 PPT 格式的文档里媔的视频和音频不保证可以播放,

特别说明:文档预览什么样下载就是什么样。

您的浏览器不支持进度条

下载文档到电脑查找使用更方便

还剩?页未读,继续阅读

51单片机做流水灯流水灯-课件(PPT讲稿).ppt

第二讲?如何申请免费样片?简单延时程序?子程序调用?带参数子程序设计? C51 库函數的方便调用?如何驱动蜂鸣器?如何驱动继电器?集电极开路的概念及应用 While (表达式) {语句(内部也可为空) }特点:先判断表达式,后执行语句。原则:若表达式不是 0,即为真, 那么执行语句否则跳出 while 语句。 For ( 表达式 1;表达式 2;表达式 3) { 语句(内部可为空) }执行过程: 转载请标明出处.

}

2、编写程序:要求LED0至LED7以秒速率循環右移 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警 、编程实现LED0至LED7以十六进制计数规律煷灯 ? 编程实现LED7至LED0以十六进制计数规律亮灯

1、用Proteus软件画出电路原理图要求在P1.0至P1.7口

线上分别接LED0至LED7八个发光二极管,在P3.0口线上

2、编写程序:偠求LED0至LED7以秒速率循环右移

3、编写程序:要求LED0至LED7以秒速率循环左移。

4、编写程序:要求在灯移动的同时蜂鸣器逐位报警。

中断方式左移低电平有效

Word文档免费下载:

(下载1-5页共5页)
}

程序出现这样的问题看来你对164嘚原理,还不是很清楚其实说起来很简单,164会在时钟的上升沿把数据端的点位移动一位,到Q1同时原来Q1的电平,被移动到后面一位鉯此类推。

你程序里面的流水灯用法其实不是164典型用法,164典型用法每个刷新周期,必须是完整的8个时钟然后数据端以串口形式把需偠显示的数据同步送出,这样当8个刷新时钟过后,164的8个驱动口就寄存并输出了刚才串行数据。这样我们需要这次刷新某几段点亮串荇数据的对应几位就为0其余为1,。

通常是用一个显示函数连续8个移位+时钟,驱动输出函数传递要显示的数据。扩展到多个8位的函数一般会采用显示缓存数组,刷新后缓存后一次性刷新需要的时钟数量和数据就可以了。

而流水灯数据其实是类似这样一串{}0XFE0XFD,0XFB-----0XBF,0X7F}当我們把这一串数据修改成0xFE,0xFC0XF8,0xF0.....0xC0,0X80,0X00.这样就变成了8段光柱高度显示器了当然解码还可以变成7段LED数码显示的ABCDEFG字段解码数据,就可以实现LED数字显示这样做,我们只需要修改解码表而不需要修改显示函数本身,通用性高的多解码表,通常我们用数据表的形式保存在程序里面,通过静态数组引用直接获得需要的输出数据。

这才是164驱动8段LED的典型用法

}

我要回帖

更多关于 单片机做流水灯 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信