51单片机流水灯编程
本文旨在为初入单片机领域的新手提供基础知识的入门指导,帮助他们更好地理解和掌握单片机技术。我们将以ATMEL公司的AT89C52单片机为例,使用PROTEUS和KEIL软件进行讲解。本文将提供原理图和在KEIL环境下的注释,以期为即将接触单片机的人提供帮助。若有任何错误或疑问,欢迎在评论区留言,与我们交流。
单片机轻松入门之二:流水灯的实现
由于AT89C52的P0口内部没有上拉电阻,因此在作为输入或输出使用时,需要外接上拉电阻,一般推荐阻值为10k左右。
以下是相关程序代码:
-
include<reg52.h> ——引入头文件
-
define uchar unsigned char
-
define uint unsigned int ——定义宏
-
uchar code table[]={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f}; ——定义数据表
-
void delay(uchar x) ——延时子程序
{
for(x; x > 0; x--)
for(uchar i = 110; i > 0; i--);
}
-
void main() ——主程序
{
while(1)
{
-
for(uchar a = 0; a < 8; a++) //控制八个LED灯依次亮起
-
{
-
P0 = table[a]; //P0口输出数据表中的数据,点亮对应的LED灯
-
delay(100); //延时约100ms
-
}
-
}
}
仿真结果如附图所示,具体操作请参照实际环境。
往期回顾:
-
(点击查看) 前几期的精彩内容回顾。
-
(点击查看并附上动态操作图) 更多实用教程等你来发现。