本文旨在介绍单片机入门的基础知识,为初接触或即将接触单片的新手提供一个入门指导。本文章会陆续推出,隔几天一个章节。所使用单片机为ATMEL公司的AT89C52,软件为PROTEUS和KEIL;只提供原理图和KEIL环境下的注释,希望对广大即将接触单片机的人有所帮助,如果有错误欢迎回帖指出与本人交流或加入QQ群143586739.
51单片机的P0口内部没有上拉电阻,所以P0在用作输出时要外接上拉电阻,一般取10k。 用Proteus画得原理图如下所示: 
分析,只要P0口输出低电平就可以将发光二极管点亮,因此只需要依次将P0的8个端口输出低电平即可实现流水灯功能。本文介绍两种程序的实现方法。 程序一: 
第04行:定义了一个数组,该数组依次将P0.0-P0.7位清零,即可依次点亮发光二极管;
第19行:给P0口赋值; 第20行:延时时间即为点亮时间; 程序二: 程序二采用库函数来完成移位操作,所包含的头文件为 intrins.h。 
第02行:包含intrins.h头文件; 第17行:利用库函数完成移位,即依次点亮
|