循环点亮led灯
单片机源程序如下:
- #include <reg52.h>
- #include <intrins.h>//这个就是循环移位的头文件
- #define uchar unsigned char//这个应该知道的吧
- #define uint unsigned int
- void DelayMS(uint x)//延时函数
- {
- uchar t;
- while(x--)
- {
- for(t=120;t>0;t--);
- }
- }
- void main()
- {
- uchar i;
- P2=0x01;//给P2管脚赋值,P2连的是发光二极管
- while(1)
- {
- for(i=7;i>3;i--)//移7次
- {
- P2=_crol_(P2,1);//循环左移,每次移一位
- DelayMS(150);//延时一下,这样人眼就能看出来,不延时的话人眼不能识别,机器处理的太快
- }
- for(i=7;i>0;i--)
- {
- P2=_cror_(P2,2);//循环右移,每次2位
- DelayMS(150);
- }
- }
- }
复制代码
所有资料51hei提供下载:
新建 Microsoft Word 文档 (3).docx
(12.46 KB, 下载次数: 10)
|