仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include "reg52.h"
- #include "intrins.h" //调用_cror_(a,b)和_crol_(a,b)//
- typedef unsigned char u8; //位宽宏定义typedf 8位一个字节。用u8代替unsigned char //
- typedef unsigned int u16; //16位两个字节//
- #define led P2
- sbit k0=P3^1;
- sbit k1=P3^0;
- void delay(u16 i)
- {
- while(i--);
- }
- void keypros()
- {
- if(k0 == 0)
- {
- delay(1000);
- if(k1 == 0)
- {
- u8 i=0;
- led=0xfe;
- delay(50000);
-
- {
- for(i=0;i<7;i++)
- {
- led=_crol_(led,1);
- delay(50000);
- }
- for(i=0;i<7;i++)
- {
- led=_cror_(led,1);
- delay(50000);
- }
- }
- }
- else
- {
- u8 i=0;
- led=0xff;
- }
- }
- }
- void main()
- {
- while(1)
- {
- keypros();
- }
- }
-
复制代码
所有资料51hei提供下载:
按键控制led流水灯.rar
(30.88 KB, 下载次数: 70)
|