|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机led闪烁源码" \# B( m1 k+ c0 u" W
: s7 \: E- k# A5 t i4 q( p( `! ?8 B* u' p. c/ r5 f
ed闪烁源码:
3 ~; F# A2 g0 h, _/******************************************************************************* R# c% x5 m/ q6 ^4 A
* * d7 B" I! z4 e
* 普中科技4 `+ t# ^) M# T, [) g7 W4 [$ e
--------------------------------------------------------------------------------- g. }5 \! F2 ~& Z, Z
* 实 验 名 : LED闪烁的简单试验6 R0 Z* U* O7 ~
* 实验说明 : 得到8盏LED交替亮灭的实验效果
# a! O* a2 K$ V' ]( p$ f* 连接方式 : 见连接图
+ J" P7 K! A0 e5 M: o* 注 意 :
4 I1 Q+ ?" d! N7 X' ^*******************************************************************************/' ?0 `3 j8 ?) v3 ?5 `& |! d
6 Z; g$ d4 V% K2 v5 _0 w- b# y& [
//--包含你要使用的头文件--//2 A- D' q( B/ k2 d* ^6 S
#include <reg51.h> //此文件中定义了51的一些特殊功能寄存器+ _5 R6 E; J9 ?; d4 i; q5 k& b
9 j7 M8 x) k9 p4 p% |& S
//--声明全局函数--//
4 x$ h: K5 y: f avoid Delay10ms(unsigned int c); //延时10ms
7 N2 O5 J6 f$ }2 w% |
, j2 h2 z* S! k- W/*******************************************************************************
- E( ~6 I" C1 Z' z* 函 数 名 : main
2 ~2 j, h$ k4 Z7 x9 n, D T1 C* 函数功能 : 主函数' b- F; u3 f/ |; a. E, F6 s
* 输 入 : 无
3 M6 \; p4 s5 K' B* 输 出 : 无
5 {- s; s; L. e" B: D*******************************************************************************/1 }" ~, f- q4 R3 d) m
* O) }/ Y6 j8 B3 `) O F2 |; Svoid main()/ i3 l6 x7 d a$ @& H
{ - ~, D) o9 C5 u1 t4 I* j
while(1)2 h0 [* V- z+ x( ~0 V+ e
{
( W$ _6 `- x; F* X; m //--数字前面加0x表示该数是十六进制的数,0x00就是十六进制的00--//
$ T1 _$ l9 J( r8 W //--P2口一共有8个IO口,即从P2.0到P2.7,而0x00二进制就是0000 0000--//
# G0 n& H7 \0 w' h2 u //--效果就是P2.0到P2.7都是0,即低电平。而如果你想给P2.1口赋高电平时--//
3 H# C0 n8 l& e' {! y //--二进制就是0000 0001,就是十六进制0x01.--//
5 @- o2 v6 v1 i3 B P0 = 0x00; //置P0口为低电平
0 S) R& t5 V- ?- [: q! K1 |7 E0 i6 X( x0 R
Delay10ms(50); //调用延时程序,修改括号里面的值可以调整延时时间
& u' C/ _! ^$ d Q
$ p0 l: ]( t- ^( l- ^4 g5 E9 G4 @ P0 = 0xff; //置P0口为高电平
R0 L8 V7 o! [
$ D4 M: ?5 p7 c Delay10ms(50); // 调用延时程序
& f. b+ p) w8 Y. L }
) ?) f/ ~( Q2 ]8 v1 v% p3 `' Z$ G
}% _ X& i d* H* U
1 c I( w% t7 L- _& G- X/ x+ d
/*******************************************************************************
, M+ D5 o9 B, |- M9 A+ u* 函 数 名 : Delay10ms& g* u1 o( z7 V/ [8 L
* 函数功能 : 延时函数,延时10ms* M$ S" `8 D, W7 P
* 输 入 : 无2 G2 V. k2 |6 A7 ^6 N; a' a% V
* 输 出 : 无
4 B8 h, d+ C) H3 b4 F1 ~% D*******************************************************************************/
# F9 D: j' C1 _- w4 I
; G5 ^. w& N* @ J2 v" Hvoid Delay10ms(unsigned int c) //误差 0us: @( g/ r! y; l" s$ h0 D
{/ \6 U' k3 ~8 R3 R3 w$ a4 ^
unsigned char a, b;( L7 t0 z; U, p& X, C* x6 B+ H
& m! I5 V/ ^7 W //--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//6 O4 I' x& K+ e0 e) h* v; \ S
for (;c>0;c--)
9 `) A" p- f2 W) d* L {5 ~: S, \" B* V' z! t1 i+ R4 B: N3 K
for (b=38;b>0;b--)
- K" y6 q q/ V8 d$ J {5 M9 P$ u3 x- x. G/ s! C. I
for (a=130;a>0;a--);
/ j) C1 |# s5 ?% g }. X* a9 b1 ^1 \# E) L8 A
W) I0 \3 J$ @) t+ R0 C, Y( W- z, w& s }# l0 r* @- l( _6 M4 z
. D1 }# y* b: N: g- V+ C}
7 W( A; w; \! j8 r% u J* `
0 p( p7 @9 |/ z% j
1 \/ ?. m) ]2 ~
: |/ Z4 I3 a2 G- B下载:7 c# y' P; B, ~" z+ i8 a5 p2 i; f
5 m+ O# H0 k. s* y. q
|
|