写在这里,以后可以翻一翻。
2.LED灯闪烁
![](https://i-blog.csdnimg.cn/blog_migrate/d4bb62a3c0e98e9ad13bbaeb2de894f3.png)
LED闪烁:简单理解就是先LED亮,然后延时500ms再亮,然后一直循环(重复),这样就是闪烁。
备注:相对于点亮LED灯实验,这个程序多了一个返回空函数和一个delay函数,
延时可以使用STC-ISP延时计算器,如下图,
注意开发板的频率,普中开发板是12MHZ, 清翔开发板是11.0592MHZ;
指令集选择STC-Y1,适用于STC89C系列;
然后点击复制代码,粘贴到keil里面。
![](https://i-blog.csdnimg.cn/blog_migrate/aaf8fcd2fd5704c7a940e7a537e279e4.png)
3.LED流水灯
流水灯:8个LED灯依次被点亮,且只有一个LED亮,借助16进制非常好理解。
1111 1110 表示第一个灯亮,1111 1101表示第2个灯亮,1111 1011表示第3个灯亮。
中间再加上延时,就形成了流水灯。
![](https://i-blog.csdnimg.cn/blog_migrate/1abc7677df9b1d490fd30b953e529d7e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8ad77d6bc371f4ed59dd2928d87c6282.png)
流水灯代码方案一
![](https://i-blog.csdnimg.cn/blog_migrate/f25aaef0cedd2b67bb4a44ce2602fbf7.png)
流水灯代码方案二(没太看懂,以后再来翻一翻)
![](https://i-blog.csdnimg.cn/blog_migrate/73f9c8a16d99fe0f4dccb656ea995f09.png)
4.独立按键控制LED亮灭
①需要注意独立按键是P3口,等于使用==,如果使用=,运行程序会报错。可以参考C51数据运算。
②IO口加了上拉电阻,默认是高电平,按下按键则接到地,被拉到低电平,LED灯就亮。
![](https://i-blog.csdnimg.cn/blog_migrate/9029de1df0c67af807977d49fb1850a3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d40198a4a7b09e419d36dc004cf32dba.png)
P0口有三个功能:
1、外部扩展存储器时,当做数据(Data)总线
2、外部扩展存储器时,当作地址(Address)总线
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:
1、扩展外部存储器时,当作地址总线使用
2、做一般I/O口使用,其内部有上拉电阻;
P3口有两个功能:
除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
![](https://i-blog.csdnimg.cn/blog_migrate/24046f58899fb03a131362023c87247d.png)
③代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/933534f98ecb71ac88cada10ff916456.png)
5.独立按键控制LED状态
①使用延时来消除按键的抖动,延时20ms
![](https://i-blog.csdnimg.cn/blog_migrate/5ac35df1561969457d3477b349dd4a72.png)
![](https://i-blog.csdnimg.cn/blog_migrate/49ca3b9c98bbe66113ae2fff7d453c30.png)
②代码如下(没看太懂,以后再来翻一翻)
![](https://i-blog.csdnimg.cn/blog_migrate/d24167f5bf3aba9fcad943a274f0c9d7.png)
6.独立按键控制LED显示二进制
每按一下按键,二进制数+1;8位LED灯按照二进制数显示;
无符号字符型,占8位,范围是0~255;LED灯也是8位。
![](https://i-blog.csdnimg.cn/blog_migrate/c6879210df1e592456145790249b2730.png)
7.独立按键控制LED位移
![](https://i-blog.csdnimg.cn/blog_migrate/451ef0a6e9735018e2087385564152e4.png)