新建
上传
首页
助手
最?/div>
资料?/div>
工具

// P1.0

接开?/p>

K1

?/p>

P1.1

接开?/p>

K2

?/p>

P2.0

?/p>

LED1,P2.1

?/p>

LED2

,实

现:

 

// 1. K1

合上?/p>

LED1

?/p>

0.5

秒周期闪烁,

LED2

?/p>

1

秒闪烁;

K

断开

时,两个都按

0.1

秒闪?/p>

 

// 2. K2

合上时执?/p>

1

动作?/p>

K2

断开?/p>

LED

常亮

 

// 

硬件?/p>

K

合上读到低电平(

0

),输出低电?/p>

LED

?/p>

 

#include

 

<reg51.h>

 

sbit K1=P1^0;sbit K2=P1^1; sbit LED1=P2^0;sbit LED2=P2^1; 

void

 main() 

{ 

 

TMOD=0X01; TH0=236; TL0=120;

// 5ms (65536-5000)/256;(65536-5000)%256

 

 

TR0=1;ET0=1;EA=1; 

 

while

(1); 

} 

 

void

 T0_ISR() interrupt 1 

// 0.005

秒执行一?/p>

 

{ 

 

static

 

char

 c1=0,c2=0; 

// 

两个

LED

闪烁周期计数?/p>

 

 

char

 m1,m2; 

// 

电平改变的时间(

5ms

的倍数?/p>

 

 

 

 

 

if

(K1==0) {m1=50;m2=100;} 

 

 

else

 {m1=10;m2=10;} 

 

if

(++c1==m1) { 

 

 

 

c1=0; 

 

 

if

(K2==0) LED1=!LED1; 

 

 

 

else

 LED1=0; 

 

} 

 

if

(++c2==m2) { 

 

 

 

c2=0; 

 

 

if

(K2==0) LED2=!LED2; 

 

 

 

else

 LED2=0; 

 

} 

 

TH0=236; TL0=120; 

// 

重装初?/p>

 

} 

 

 

 

 

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

// P1.0

接开?/p>

K1

?/p>

P1.1

接开?/p>

K2

?/p>

P2.0

?/p>

LED1,P2.1

?/p>

LED2

,实

现:

 

// 1. K1

合上?/p>

LED1

?/p>

0.5

秒周期闪烁,

LED2

?/p>

1

秒闪烁;

K

断开

时,两个都按

0.1

秒闪?/p>

 

// 2. K2

合上时执?/p>

1

动作?/p>

K2

断开?/p>

LED

常亮

 

// 

硬件?/p>

K

合上读到低电平(

0

),输出低电?/p>

LED

?/p>

 

#include

 

<reg51.h>

 

sbit K1=P1^0;sbit K2=P1^1; sbit LED1=P2^0;sbit LED2=P2^1; 

void

 main() 

{ 

 

TMOD=0X01; TH0=236; TL0=120;

// 5ms (65536-5000)/256;(65536-5000)%256

 

 

TR0=1;ET0=1;EA=1; 

 

while

(1); 

} 

 

void

 T0_ISR() interrupt 1 

// 0.005

秒执行一?/p>

 

{ 

 

static

 

char

 c1=0,c2=0; 

// 

两个

LED

闪烁周期计数?/p>

 

 

char

 m1,m2; 

// 

电平改变的时间(

5ms

的倍数?/p>

 

 

 

 

 

if

(K1==0) {m1=50;m2=100;} 

 

 

else

 {m1=10;m2=10;} 

 

if

(++c1==m1) { 

 

 

 

c1=0; 

 

 

if

(K2==0) LED1=!LED1; 

 

 

 

else

 LED1=0; 

 

} 

 

if

(++c2==m2) { 

 

 

 

c2=0; 

 

 

if

(K2==0) LED2=!LED2; 

 

 

 

else

 LED2=0; 

 

} 

 

TH0=236; TL0=120; 

// 

重装初?/p>

 

} 

 

 

 

 

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

// P1.0

接开?/p>

K1

?/p>

P1.1

接开?/p>

K2

?/p>

P2.0

?/p>

LED1,P2.1

?/p>

LED2

,实

现:

 

// 1. K1

合上?/p>

LED1

?/p>

0.5

秒周期闪烁,

LED2

?/p>

1

秒闪烁;

K

断开

时,两个都按

0.1

秒闪?/p>

 

// 2. K2

合上时执?/p>

1

动作?/p>

K2

断开?/p>

LED

常亮

 

// 

硬件?/p>

K

合上读到低电平(

0

),输出低电?/p>

LED

?/p>

 

#include

 

<reg51.h>

 

sbit K1=P1^0;sbit K2=P1^1; sbit LED1=P2^0;sbit LED2=P2^1; 

void

 main() 

{ 

 

TMOD=0X01; TH0=236; TL0=120;

// 5ms (65536-5000)/256;(65536-5000)%256

 

 

TR0=1;ET0=1;EA=1; 

 

while

(1); 

} 

 

void

 T0_ISR() interrupt 1 

// 0.005

秒执行一?/p>

 

{ 

 

static

 

char

 c1=0,c2=0; 

// 

两个

LED

闪烁周期计数?/p>

 

 

char

 m1,m2; 

// 

电平改变的时间(

5ms

的倍数?/p>

 

 

 

 

 

if

(K1==0) {m1=50;m2=100;} 

 

 

else

 {m1=10;m2=10;} 

 

if

(++c1==m1) { 

 

 

 

c1=0; 

 

 

if

(K2==0) LED1=!LED1; 

 

 

 

else

 LED1=0; 

 

} 

 

if

(++c2==m2) { 

 

 

 

c2=0; 

 

 

if

(K2==0) LED2=!LED2; 

 

 

 

else

 LED2=0; 

 

} 

 

TH0=236; TL0=120; 

// 

重装初?/p>

 

} 

 

 

 

 

 

Ͼλ">
Ͼλ
Ŀ

昆明理工大学《单片机原理及应用及C51程序设计》C语言程序设计例题 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

// P1.0

接开?/p>

K1

?/p>

P1.1

接开?/p>

K2

?/p>

P2.0

?/p>

LED1,P2.1

?/p>

LED2

,实

现:

 

// 1. K1

合上?/p>

LED1

?/p>

0.5

秒周期闪烁,

LED2

?/p>

1

秒闪烁;

K

断开

时,两个都按

0.1

秒闪?/p>

 

// 2. K2

合上时执?/p>

1

动作?/p>

K2

断开?/p>

LED

常亮

 

// 

硬件?/p>

K

合上读到低电平(

0

),输出低电?/p>

LED

?/p>

 

#include

 

<reg51.h>

 

sbit K1=P1^0;sbit K2=P1^1; sbit LED1=P2^0;sbit LED2=P2^1; 

void

 main() 

{ 

 

TMOD=0X01; TH0=236; TL0=120;

// 5ms (65536-5000)/256;(65536-5000)%256

 

 

TR0=1;ET0=1;EA=1; 

 

while

(1); 

} 

 

void

 T0_ISR() interrupt 1 

// 0.005

秒执行一?/p>

 

{ 

 

static

 

char

 c1=0,c2=0; 

// 

两个

LED

闪烁周期计数?/p>

 

 

char

 m1,m2; 

// 

电平改变的时间(

5ms

的倍数?/p>

 

 

 

 

 

if

(K1==0) {m1=50;m2=100;} 

 

 

else

 {m1=10;m2=10;} 

 

if

(++c1==m1) { 

 

 

 

c1=0; 

 

 

if

(K2==0) LED1=!LED1; 

 

 

 

else

 LED1=0; 

 

} 

 

if

(++c2==m2) { 

 

 

 

c2=0; 

 

 

if

(K2==0) LED2=!LED2; 

 

 

 

else

 LED2=0; 

 

} 

 

TH0=236; TL0=120; 

// 

重装初?/p>

 

} 

 

 

 

 

 



ļ׺.doc޸Ϊ.docĶ

  • ߽̳Ծ105
  • 꼶²̰Unit3-My-day
  • GSVѵֲ(42ҳ)
  • 19ԴҵĿҪ
  • ṹѧ
  • ᾧѧͿѧ ɺ κ˼
  • ѧѧ
  • 1105 CantorNOIP1999ռ顿 1106 ĸN
  • 2018-2024йװҵгͶǰо(Ŀ¼)
  • ϵͳṹѧɿκ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)