|
|
這是我第一次接觸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;
- }
復制代碼
|
|