Proteus + Keil单片机仿真教程(三)简易流水灯

一、实例目的

  • 熟悉Protues电路原理图绘制
  • 熟悉Keil程序编写编译方法
  • 熟悉Keil C51 延时程序的用法
  • 熟悉Keil C51 位移的方法
  • 熟悉单片机引脚的控制方法

二、程序示例图

 

 三、绘制原理图

略,本节可以继续使用上节用的原理图,具体参考:

Proteus + Keil单片机仿真教程(二)炫彩灯_爱折腾的博客-CSDN博客

四、程序代码:

  1. 传统方式

这里可以继续沿用上节的方法,每个LED发光二极管点亮并熄灭,间隔为100ms,代码如下:

效果如下:

        到此,这个程序就结束了,如果需要单片机引脚进行批量且复杂控制的时候,这种程序方法显然是不合适的,这里我们可以使用位移的方式进行控制。

       2.位移方式

        位移是源自二进制的位移,8051单片机的P0~P3每个接口都对应着八个引脚,就是八位的二进制,将上面的程序转换一下就是:

0 1 1 1 1 1 1 1 0x7F
1 0 1 1 1 1 1 1 0xBF
1 1 0 1 1 1 1 1 0xDF
1 1 1 0 1 1 1 1 0xEF
1 1 1 1 0 1 1 1 0xF7
1 1 1 1 1 0 1 1 0xFB
1 1 1 1 1 1 0 1 0xFD
1 1 1 1 1 1 1 0 0xFE

        LED发光二极管点亮顺序就是每次都是位移一个位,那么在程序里面就可以使用位移方式进行控制,在这里可以调用“intrains.h”函数快速实现这个功能,关于“intrins.h”的具体说明如下所示:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月25日
下一篇 2021年10月25日

相关推荐