这是我第一次接触51单片机做的小实验,用的proteus仿真,也在实验箱上试过,是可以实现的,
是基础入门,还请大家见谅,麻烦大家多多指导 谢谢!
- #include "reg51.h"
- #include "intrins.h"
- #define uchar unsigned char
- #define uint unsigned int
- //
- #define out P1
- void delay(uint j);
- uchar led_state;
- //
- void main()
- {
- //中断使能以及触发定义
- IE = 0x85;
- IP = 0x04;
- IT0 = 0;
- IT1 = 0;
- //初始灯全灭
- P1 = 0xff;
-
- while(1)
- {
- P1 =~P1;
- delay(1000);//1s
- }
- }
- //延时函数
- void delay(uint j)
- {
- uchar i;
- for(;j>0;j--)
- {
- i=250;
- while(--i);
- i=249;
- while(--i);
- }
- }
- void int0_x(void) interrupt 0
- {
- uchar i,temp;
- temp=0xef;
- for(i=0;i<8;i++)
- {
- out=temp;
- delay(200);
- temp=_cror_(temp,1);
- }
- P1 = 0xff;
- }
- void int1_x(void) interrupt 2
- {
- led_state = 0xf0;
- P1 = led_state;
- delay(10);
- P1 = 0xff;
- }
复制代码
|