慢慢学,加油!!
单片机I/O口实验
利用单片机及8个LED发光二极管,制作一个单片机控制的流水灯。单片机的P2.0~P2.7脚接有8个LED发光二极管。运行程序,单片机控制8个发光二极管依次流水逐个点亮,反复循环。可对本实验进行改进,增加一个按键接到某一个I/O口线,按一下实现流水灯的停止。再按一下,实现流水灯的重新显示。
单片机源程序如下:
- #include "reg52.h"
- #include "intrins.h" //调用移位函数
- #define uint unsigned int
- #define uchar unsigned char
- sbit k1=P3^2;//k1连接P3^2口
- void delay()//定义一个延时函数
- {
- uint x,y;
- for(x=0;x<255;x++)
- for(y=0;y<255;y++);
- }
- void main()
- {
- if(k1==0)//按键一端接地,按下开关k1=0
- {
- delay();//延时
- if(k1==0)//两个if语句,用来消除按键抖动
- {
- P2=0xfe;//流水灯主要程序
- while(1)
- {
- delay();
- P2=_crol_(P2,1);
- if(k1==0)
- {
- delay();
- if(k1==0)//再按一次就把led灯全灭
- {
- P2=0xff;
- if(k1==0) break;//再按一次,跳出循环
- }
- }
- }
- }
- }
- }
复制代码
所有资料51hei提供下载:
独立按键控制LED.zip
(4.8 MB, 下载次数: 153)
|